class EksCli::Route53::Client
Public Class Methods
new(cluster_name)
click to toggle source
# File lib/eks_cli/route53/client.rb, line 9 def initialize(cluster_name) @cluster_name = cluster_name end
Public Instance Methods
update_dns(hostname, k8s_service_name, k8s_ns, route53_hosted_zone_id, elb_hosted_zone_id)
click to toggle source
# File lib/eks_cli/route53/client.rb, line 13 def update_dns(hostname, k8s_service_name, k8s_ns, route53_hosted_zone_id, elb_hosted_zone_id) change_dns_target(hostname, k8s.get_elb(k8s_service_name, k8s_ns), route53_hosted_zone_id, elb_hosted_zone_id) end
Private Instance Methods
change_dns_target(route53_host, elb_host, route53_hosted_zone_id, elb_hosted_zone_id)
click to toggle source
# File lib/eks_cli/route53/client.rb, line 23 def change_dns_target(route53_host, elb_host, route53_hosted_zone_id, elb_hosted_zone_id) Log.info "Setting Route53 record #{route53_host} --> #{elb_host}" resp = client.change_resource_record_sets({ change_batch: { changes: [ { action: "UPSERT", resource_record_set: { name: route53_host, type: "A", alias_target: { dns_name: elb_host, evaluate_target_health: false, hosted_zone_id: elb_hosted_zone_id, }, }, }, ], }, hosted_zone_id: route53_hosted_zone_id, }) Log.info "Done: #{resp}" end
client()
click to toggle source
# File lib/eks_cli/route53/client.rb, line 59 def client @client ||= Aws::Route53::Client.new(region: config["region"]) end
config()
click to toggle source
# File lib/eks_cli/route53/client.rb, line 47 def config @config ||= Config[@cluster_name] end
elb_hosted_zone_id()
click to toggle source
# File lib/eks_cli/route53/client.rb, line 51 def elb_hosted_zone_id config["elb_hosted_zone_id"] end
k8s()
click to toggle source
# File lib/eks_cli/route53/client.rb, line 19 def k8s @k8s ||= K8s::Client.new(@cluster_name) end
route53_hosted_zone_id()
click to toggle source
# File lib/eks_cli/route53/client.rb, line 55 def route53_hosted_zone_id config["route53_hosted_zone_id"] end