Module: Awspec::Helper::Finder::Autoscaling
- Included in:
- Awspec::Helper::Finder
- Defined in:
- lib/awspec/helper/finder/autoscaling.rb
Instance Method Summary collapse
- #find_autoscaling_group(id) ⇒ Object
- #find_block_device_mapping(id, device_id) ⇒ Object
- #find_launch_configuration(id) ⇒ Object
- #select_alb_target_group_by_autoscaling_group_name(name) ⇒ Object
- #select_autoscaling_group_by_vpc_id(vpc_id) ⇒ Object
- #select_lb_target_group_by_autoscaling_group_name(name) ⇒ Object
Instance Method Details
#find_autoscaling_group(id) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 6 def find_autoscaling_group(id) res = autoscaling_client.describe_auto_scaling_groups({ auto_scaling_group_names: [id] }) res.auto_scaling_groups.single_resource(id) end |
#find_block_device_mapping(id, device_id) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 34 def find_block_device_mapping(id, device_id) ret = find_launch_configuration(id).block_device_mappings.select do |device| next true if device.device_name == device_id next true if device.virtual_name == device_id end ret.single_resource(device_id) end |
#find_launch_configuration(id) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 13 def find_launch_configuration(id) res = autoscaling_client.describe_launch_configurations({ launch_configuration_names: [id] }) res.launch_configurations.single_resource(id) end |
#select_alb_target_group_by_autoscaling_group_name(name) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 20 def select_alb_target_group_by_autoscaling_group_name(name) res = autoscaling_client.describe_load_balancer_target_groups({ auto_scaling_group_name: name }) res.load_balancer_target_groups end |
#select_autoscaling_group_by_vpc_id(vpc_id) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 42 def select_autoscaling_group_by_vpc_id(vpc_id) subnets = [] select_subnet_by_vpc_id(vpc_id).each { |subnet| subnets << subnet.subnet_id } req = {} selected = [] loop do res = autoscaling_client.describe_auto_scaling_groups(req) res.auto_scaling_groups.select do |auto_scaling_group| vpc_zone_identifiers = auto_scaling_group.vpc_zone_identifier.split(',') selected.push(auto_scaling_group) if vpc_zone_identifiers.any? do |vpc_zone_identifier| subnets.include?(vpc_zone_identifier) end end break if res.next_token.nil? req[:next_token] = res.next_token end selected end |
#select_lb_target_group_by_autoscaling_group_name(name) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/awspec/helper/finder/autoscaling.rb', line 27 def select_lb_target_group_by_autoscaling_group_name(name) res = autoscaling_client.describe_load_balancer_target_groups({ auto_scaling_group_name: name }) res.load_balancer_target_groups end |