Method: AWS::Utils#find_server_by_name

Defined in:
lib/conan/cloud/aws/utils.rb

#find_server_by_name(name, region = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/conan/cloud/aws/utils.rb', line 20

def find_server_by_name(name, region = nil)
  regions_to_search = region.nil? ? all_regions : [region]
  found_servers = []
  regions_to_search.each do |r|
    compute = Fog::Compute.new(:provider => :aws, :region => r)
    servers = compute.servers.all
    found_servers = found_servers + servers.select { |server| server.tags["name"] == ec2_name_tag(name) and server.state == 'running' }
  end
  found_servers.empty? ? nil : found_servers[0]
end