module HubClustersCreator::Providers::Azure::Helpers
Helpers
providers a collection of useful methods
Private Instance Methods
deployment(group, name)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 72 def deployment(group, name) deployments(group).select { |x| x.name == name }.first end
deployment?(name, group)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 76 def deployment?(name, group) deployments(group).map(&:name).include?(name) end
deployments(group)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 80 def deployments(group) @client.deployments.list_by_resource_group(group) end
dns(src, dest, zone, ttl: 120)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 49 def dns(src, dest, zone, ttl: 120) raise ArgumentError, "the domain: #{zone} does not exist" unless domain?(zone) zone = domain(zone) resource_group = zone.id.split('/')[4] address = Azure::Dns::Mgmt::V2017_10_01::Models::ARecord.new address.ipv4address = dest record = Azure::Dns::Mgmt::V2017_10_01::Models::RecordSet.new record.name = src record.ttl = ttl record.arecords = [address] @dns.record_sets.create_or_update(resource_group, zone, src, 'A', record) end
domain?(name)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 64 def domain?(name) domains.map(&:name).include?(name) end
domains()
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 68 def domains @dns.zones.list end
hostname(fqdn)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 45 def hostname(fqdn) fqdn.split('.').first end
managed_cluster?(name)
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 84 def managed_cluster?(name) managed_clusters.map(&:name).include?(name) end
managed_clusters()
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 88 def managed_clusters @containers.managed_clusters.list end
resource_group?(name)
click to toggle source
resource_group? check is the resource group exists
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 93 def resource_group?(name) resource_groups.map(&:name).include?(name) end
resource_groups()
click to toggle source
resource_groups
returns a list of resource groups
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 98 def resource_groups @client.resource_groups.list end
wait(interval: 20, timeout: 900, max_retries: 10) { || ... }
click to toggle source
# File lib/hub-clusters-creator/providers/aks/helpers.rb, line 28 def wait(interval: 20, timeout: 900, max_retries: 10) max_attempts = timeout / interval retries = attempts = 0 while attempts < max_attempts begin return if yield rescue StandardError => e raise Exception, "failed waiting for resource, retry: #{retries}, error: #{e}" if retries > max_retries retries += 1 end sleep(interval) attempts += 1 end end