Class: AWS::EC2::ElasticIpCollection

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

Instance Method Summary collapse

Methods included from FilteredCollection

#filter, #initialize

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| ... } ⇒ ElasticIpCollection

Specify one or more criteria to filter elastic IP addresses by. A subsequent call to #each will limit the resutls returned by provided filters.

  • Chain multiple calls of #filter together to AND multiple conditions together.
  • Supply multiple values to a singler #filter call to OR those value conditions together.
  • '*' matches one or more characters and '?' matches any one character.

Valid Filters

  • domain - Whether the address is a EC2 address, or a VPC address. Valid values include 'standard' and 'vpc'
  • instance-id - Instance the address is associated with (if any).
  • public-ip - The Elastic IP address.
  • allocation-id - Allocation ID for the address. For VPC addresses only.
  • association-id - Association ID for the address. For VPC addresses only.

Yields:

  • (elastic_ip)

Yield Parameters:

Returns:

  • (ElasticIpCollection)

    A new collection that represents a subset of the elastic IP addresses associated with this account.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/aws/ec2/elastic_ip_collection.rb', line 71

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