Class: Aws::EC2::VpcAddress
- Inherits:
-
Object
- Object
- Aws::EC2::VpcAddress
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-ec2/vpc_address.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- #allocation_id ⇒ String
-
#association_id ⇒ String
The ID representing the association of the address with an instance in a VPC.
-
#domain ⇒ String
Indicates whether this Elastic IP address is for use with instances in EC2-Classic (‘standard`) or instances in a VPC (`vpc`).
-
#instance_id ⇒ String
The ID of the instance that the address is associated with (if any).
-
#network_interface_id ⇒ String
The ID of the network interface.
-
#network_interface_owner_id ⇒ String
The ID of the AWS account that owns the network interface.
-
#private_ip_address ⇒ String
The private IP address associated with the Elastic IP address.
-
#public_ip ⇒ String
The Elastic IP address.
Actions collapse
Associations collapse
- #association ⇒ NetworkInterfaceAssociation?
- #identifiers ⇒ Object deprecated private Deprecated.
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::Address
Returns the data for this VpcAddress.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ VpcAddress
constructor
A new instance of VpcAddress.
-
#load ⇒ self
(also: #reload)
Loads, or reloads #data for the current VpcAddress.
Constructor Details
#initialize(allocation_id, options = {}) ⇒ VpcAddress #initialize(options = {}) ⇒ VpcAddress
Returns a new instance of VpcAddress.
19 20 21 22 23 24 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 19 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @allocation_id = extract_allocation_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() end |
Instance Method Details
#allocation_id ⇒ String
29 30 31 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 29 def allocation_id @allocation_id end |
#associate(options = {}) ⇒ Types::AssociateAddressResult
154 155 156 157 158 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 154 def associate( = {}) = .merge(allocation_id: @allocation_id) resp = @client.associate_address() resp.data end |
#association ⇒ NetworkInterfaceAssociation?
184 185 186 187 188 189 190 191 192 193 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 184 def association if data.association_id NetworkInterfaceAssociation.new( id: data.association_id, client: @client ) else nil end end |
#association_id ⇒ String
The ID representing the association of the address with an instance in a VPC.
48 49 50 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 48 def association_id data.association_id end |
#data ⇒ Types::Address
Returns the data for this Aws::EC2::VpcAddress. Calls Client#describe_addresses if #data_loaded? is ‘false`.
100 101 102 103 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 100 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
108 109 110 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 108 def data_loaded? !!@data end |
#domain ⇒ String
Indicates whether this Elastic IP address is for use with instances in EC2-Classic (‘standard`) or instances in a VPC (`vpc`).
55 56 57 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 55 def domain data.domain end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
197 198 199 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 197 def identifiers { allocation_id: @allocation_id } end |
#instance_id ⇒ String
The ID of the instance that the address is associated with (if any).
35 36 37 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 35 def instance_id data.instance_id end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::EC2::VpcAddress. Returns ‘self` making it possible to chain methods.
vpc_address.reload.data
90 91 92 93 94 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 90 def load resp = @client.describe_addresses(allocation_ids: [@allocation_id]) @data = resp.addresses[0] self end |
#network_interface_id ⇒ String
The ID of the network interface.
61 62 63 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 61 def network_interface_id data.network_interface_id end |
#network_interface_owner_id ⇒ String
The ID of the AWS account that owns the network interface.
67 68 69 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 67 def network_interface_owner_id data.network_interface_owner_id end |
#private_ip_address ⇒ String
The private IP address associated with the Elastic IP address.
73 74 75 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 73 def private_ip_address data.private_ip_address end |
#public_ip ⇒ String
The Elastic IP address.
41 42 43 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 41 def public_ip data.public_ip end |
#release(options = {}) ⇒ EmptyStructure
175 176 177 178 179 |
# File 'lib/aws-sdk-ec2/vpc_address.rb', line 175 def release( = {}) = .merge(allocation_id: data.allocation_id) resp = @client.release_address() resp.data end |