Class: CloudProviders::ElasticIp
- Inherits:
-
Ec2Helper
- Object
- CloudProvider
- Ec2Helper
- CloudProviders::ElasticIp
- Defined in:
- lib/cloud_providers/ec2/helpers/elastic_ip.rb
Instance Attribute Summary
Attributes inherited from CloudProvider
Class Method Summary collapse
Instance Method Summary collapse
- #assign_to(node) ⇒ Object
-
#initialize(raw_response = {}) ⇒ ElasticIp
constructor
A new instance of ElasticIp.
Methods inherited from Ec2Helper
#as, #ec2, #elb, #pool, property, #rds
Methods inherited from CloudProvider
#after_initialized, #bootstrap_nodes!, #default_keypair_path, default_keypair_path, #method_missing, #run
Constructor Details
#initialize(raw_response = {}) ⇒ ElasticIp
Returns a new instance of 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 |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class CloudProviders::CloudProvider
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 |
.reset! ⇒ Object
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 |