Module: Awspec::Helper::Finder::Ec2
- Included in:
- Awspec::Helper::Finder
- Defined in:
- lib/awspec/helper/finder/ec2.rb
Instance Method Summary collapse
- #find_ec2(id) ⇒ Object
- #find_ec2_attribute(id, attribute) ⇒ Object
- #find_ec2_status(id) ⇒ Object
- #find_nat_gateway(gateway_id) ⇒ Object
- #find_network_interface(interface_id) ⇒ Object
- #select_ec2_by_vpc_id(vpc_id) ⇒ Object
- #select_eip_by_instance_id(id) ⇒ Object
- #select_nat_gateway_by_vpc_id(vpc_id) ⇒ Object
- #select_network_interface_by_vpc_id(vpc_id) ⇒ Object
Instance Method Details
#find_ec2(id) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/awspec/helper/finder/ec2.rb', line 4 def find_ec2(id) # instance_id or tag:Name begin res = ec2_client.describe_instances({ instance_ids: [id] }) rescue # Aws::EC2::Errors::InvalidInstanceIDMalformed # Aws::EC2::Errors::InvalidInstanceIDNotFound res = ec2_client.describe_instances({ filters: [{ name: 'tag:Name', values: [id] }] }) end # rubocop:enable Style/GuardClause res.reservations.first.instances.single_resource(id) if res.reservations.count == 1 end |
#find_ec2_attribute(id, attribute) ⇒ Object
21 22 23 24 25 |
# File 'lib/awspec/helper/finder/ec2.rb', line 21 def find_ec2_attribute(id, attribute) res = ec2_client.describe_instance_attribute({ instance_id: id, attribute: attribute }) end |
#find_ec2_status(id) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/awspec/helper/finder/ec2.rb', line 27 def find_ec2_status(id) res = ec2_client.describe_instance_status({ instance_ids: [id] }) res.instance_statuses.first if res.instance_statuses.count == 1 end |
#find_nat_gateway(gateway_id) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/awspec/helper/finder/ec2.rb', line 52 def find_nat_gateway(gateway_id) res = ec2_client.describe_nat_gateways({ filter: [{ name: 'nat-gateway-id', values: [gateway_id] }] }) res.nat_gateways.single_resource(gateway_id) end |
#find_network_interface(interface_id) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/awspec/helper/finder/ec2.rb', line 59 def find_network_interface(interface_id) res = ec2_client.describe_network_interfaces({ filters: [ { name: 'network-interface-id', values: [interface_id] } ] }) res.network_interfaces.single_resource(interface_id) end |
#select_ec2_by_vpc_id(vpc_id) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/awspec/helper/finder/ec2.rb', line 71 def select_ec2_by_vpc_id(vpc_id) res = ec2_client.describe_instances({ filters: [{ name: 'vpc-id', values: [vpc_id] }] }) instances = [] res.reservations.each do |reservation| reservation.instances.each do |instance| instances.push(instance) end end instances end |
#select_eip_by_instance_id(id) ⇒ Object
84 85 86 87 88 89 |
# File 'lib/awspec/helper/finder/ec2.rb', line 84 def select_eip_by_instance_id(id) res = ec2_client.describe_addresses({ filters: [{ name: 'instance-id', values: [id] }] }) res.addresses end |
#select_nat_gateway_by_vpc_id(vpc_id) ⇒ Object
91 92 93 94 95 96 |
# File 'lib/awspec/helper/finder/ec2.rb', line 91 def select_nat_gateway_by_vpc_id(vpc_id) res = ec2_client.describe_nat_gateways({ filter: [{ name: 'vpc-id', values: [vpc_id] }] }) res.nat_gateways end |
#select_network_interface_by_vpc_id(vpc_id) ⇒ Object
98 99 100 101 102 103 |
# File 'lib/awspec/helper/finder/ec2.rb', line 98 def select_network_interface_by_vpc_id(vpc_id) res = ec2_client.describe_network_interfaces({ filters: [{ name: 'vpc-id', values: [vpc_id] }] }) res.network_interfaces end |