Class: AWS::EC2::ElasticIpCollection

Inherits:
Collection show all
Defined in:
lib/aws/ec2/elastic_ip_collection.rb

Instance Attribute Summary

Attributes included from Core::Model

#config

Instance Method Summary collapse

Methods included from FilteredCollection

#filter, #filtered_request, #initialize

Methods included from Core::Model

#client, #config_prefix, #initialize, #inspect

Instance Method Details

#[](public_ip) ⇒ ElasticIp

Returns The elastic IP with the given address.

Parameters:

  • public_ip (String)

    The public IP address of an elastic ip.

Returns:

  • (ElasticIp)

    The elastic IP with the given address.



40
41
42
# File 'lib/aws/ec2/elastic_ip_collection.rb', line 40

def [] public_ip
  super
end

#create(options = {}) ⇒ ElasticIp Also known as: allocate

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :vpc (Boolean) — default: false

    When true, the elastic ip address will be allocated to your VPC.

Returns:



25
26
27
28
29
30
31
32
33
34
# File 'lib/aws/ec2/elastic_ip_collection.rb', line 25

def create options = {}

  client_opts = {}
  client_opts[:domain] = 'vpc' if options[:vpc]

  response = client.allocate_address(client_opts)

  ElasticIp.new(response.public_ip, :config => config)

end

#each {|elastic_ip| ... } ⇒ Object

Yields once for each elastic IP address.

Yields:

  • (elastic_ip)

Yield Parameters:



75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/aws/ec2/elastic_ip_collection.rb', line 75

def each &block
  response = filtered_request(:describe_addresses)
  response.addresses_set.each do |address|

    elastic_ip = ElasticIp.new_from(
      :describe_addresses,
      address,
      address.public_ip,
      :config => config)

    yield(elastic_ip)

  end
end