Sha256: 833ecbddb50dcc35d31c3c51ba109deb99315c300b8ad47150cee5264fe0d922
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
module Balancer class Destroy extend Memoist include AwsService include SecurityGroup def initialize(options) @options = options @name = options[:name] end def run puts "Destroying ELB and target groups associated with: #{@name}" return if @options[:noop] begin resp = elb.describe_load_balancers(names: [@name]) rescue Aws::ElasticLoadBalancingV2::Errors::LoadBalancerNotFound puts "Load balancer '#{@name}' not found. Exiting.".colorize(:red) exit 1 end load_balancer = resp.load_balancers.first # Must load resources to be deleted into memory to delete them later since there # are dependencies and they won't be available to query after deleting some of the # resources. resp = elb.describe_listeners(load_balancer_arn: load_balancer.load_balancer_arn) listeners = resp.listeners resp = elb.describe_target_groups(load_balancer_arn: load_balancer.load_balancer_arn) groups = resp.target_groups listeners.each do |listener| elb.delete_listener(listener_arn: listener.listener_arn) puts "Deleted listener: #{listener.listener_arn}" end groups.each do |group| elb.delete_target_group(target_group_arn: group.target_group_arn) puts "Deleted target group: #{group.target_group_arn}" end resp = elb.delete_load_balancer( load_balancer_arn: load_balancer.load_balancer_arn, ) puts "Deleted load balancer: #{load_balancer.load_balancer_arn}" destroy_security_group end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
balancer-0.2.0 | lib/balancer/destroy.rb |