Skip to content

Instantly share code, notes, and snippets.

@jedipunkz
Last active August 29, 2015 14:10
Show Gist options
  • Save jedipunkz/4caf2d812f2aaef0431e to your computer and use it in GitHub Desktop.
Save jedipunkz/4caf2d812f2aaef0431e to your computer and use it in GitHub Desktop.
def self.search_ip(provider, server_name)
if provider == "openstack" then
server = Fog::Compute.new({
:provider => provider,
:openstack_auth_url => ENV['OS_AUTH_URL'] || "",
:openstack_username => ENV['OS_USERNAME'] || "",
:openstack_tenant => ENV['OS_TENANT_NAME'] || "",
:openstack_api_key => ENV['OS_API_KEY'] || "",
:openstack_region => ENV['OS_REGION_NAME'] || ""
})
instance = server.servers.find { |i| i.name = server_name }
return instance.addresses['dmz-net'][0]['addr']
elsif provider == "AWS" then
server = Fog::Compute.new({
:provider => provider,
:aws_access_key_id => ENV["AWS_ACCESS_KEY_ID"] || "",
:aws_secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"] || "",
:region => ENV["AWS_REGION"] || ""
})
instance = server.servers.find { |i| i.tags['Name'] =server_name }
return instance.dns_name
end
end
p Server.search_ip('openstack', 'instance-lb')
p Server.search_ip('AWS', 'instance-lb')
$ ruby fog-file.rb
"192.168.0.24"
"ec2-54-65-13-167.ap-northeast-1.compute.amazonaws.com"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment