Class: Fog::AWS::EC2::Address
- Inherits:
-
Model
- Object
- Model
- Fog::AWS::EC2::Address
show all
- Defined in:
- lib/fog/aws/models/ec2/address.rb
Instance Method Summary
collapse
Methods inherited from Model
aliases, attribute, #attributes, attributes, #collection, identity, #identity, #inspect, #merge_attributes
Constructor Details
#initialize(new_attributes = {}) ⇒ Address
Returns a new instance of Address.
14
15
16
17
18
19
|
# File 'lib/fog/aws/models/ec2/address.rb', line 14
def initialize(new_attributes = {})
new_attributes = {
:instance_id => ''
}.merge!(new_attributes)
super(new_attributes)
end
|
Instance Method Details
#addresses ⇒ Object
10
11
12
|
# File 'lib/fog/aws/models/ec2/address.rb', line 10
def addresses
@addresses
end
|
#destroy ⇒ Object
21
22
23
24
|
# File 'lib/fog/aws/models/ec2/address.rb', line 21
def destroy
connection.release_address(@public_ip)
true
end
|
#instance=(new_instance) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'lib/fog/aws/models/ec2/address.rb', line 26
def instance=(new_instance)
if !@public_ip
@instance = new_instance
elsif new_instance
@instance = nil
@instance_id = new_instance.instance_id
connection.associate_address(@instance_id, @public_ip)
end
end
|
#reload ⇒ Object
36
37
38
39
40
|
# File 'lib/fog/aws/models/ec2/address.rb', line 36
def reload
if new_address = addresses.get(@public_ip)
merge_attributes(new_address.attributes)
end
end
|
#save ⇒ Object
42
43
44
45
46
47
48
49
|
# File 'lib/fog/aws/models/ec2/address.rb', line 42
def save
data = connection.allocate_address
@public_ip = data.body['publicIp']
if @instance
self.instance = @instance
end
true
end
|