Class: CloudProviders::ElasticIp
- Inherits:
-
Ec2Helper
show all
- Defined in:
- lib/cloud_providers/ec2/helpers/elastic_ip.rb
Instance Attribute Summary
#init_opts, #name
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Ec2Helper
#as, #ec2, #elb, #pool, property, #rds
#after_initialized, #bootstrap_nodes!, #default_keypair_path, default_keypair_path, #method_missing, #run
Constructor Details
#initialize(raw_response = {}) ⇒ ElasticIp
7
8
9
10
11
|
# File 'lib/cloud_providers/ec2/helpers/elastic_ip.rb', line 7
def initialize(raw_response={})
@raw_response = raw_response
self.instance_id = raw_response["instanceId"]
self.public_ip = raw_response["publicIp"]
end
|
Class Method Details
.elastic_ips(ec2_instance) ⇒ Object
21
22
23
24
25
26
27
28
29
|
# File 'lib/cloud_providers/ec2/helpers/elastic_ip.rb', line 21
def self.elastic_ips(ec2_instance)
begin
@elastic_ips ||= ec2_instance.ec2.describe_addresses.addressesSet.item.map do |i|
new(i)
end
rescue Exception => e
[]
end
end
|
31
32
33
|
# File 'lib/cloud_providers/ec2/helpers/elastic_ip.rb', line 31
def self.reset!
@elastic_ips = @unused_elastic_ips = nil
end
|
.unused_elastic_ips(ec2_instance) ⇒ Object
17
18
19
|
# File 'lib/cloud_providers/ec2/helpers/elastic_ip.rb', line 17
def self.unused_elastic_ips(ec2_instance)
@unused_elastic_ips ||= elastic_ips(ec2_instance).select {|ip| ip.instance_id.nil? }
end
|
Instance Method Details
#assign_to(node) ⇒ Object
13
14
15
|
# File 'lib/cloud_providers/ec2/helpers/elastic_ip.rb', line 13
def assign_to(node)
puts "-----> Assigning #{public_ip} to node: #{node.instance_id}"
end
|