3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/aws-dynamic-ip.rb', line 3
def self.fetch_ips(env, role)
client = ::Aws::EC2::Client.new(region: 'us-west-2' || ENV['AWS_REGION'])
ec2 = ::Aws::EC2::Resource.new(client: client)
ips = []
ec2.instances({ filters:
[
{ name: 'tag:env', values: [env.to_s]},
{ name: 'tag:role', values: [role]},
{ name: 'instance-state-name', values: ['running']}
]
}).each do |instance|
if instance.public_ip_address
ips << instance.public_ip_address
else
ips << instance.private_ip_address
end
end
puts "Fetched ips for #{env}:#{role} :: #{ips.join(',')}"
return ips
end
|