mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
33 lines
882 B
Ruby
33 lines
882 B
Ruby
![]() |
module Fog
|
||
|
module Compute
|
||
|
class Ecloud
|
||
|
class VirtualMachineAssignedIp < Fog::Ecloud::Model
|
||
|
identity :href
|
||
|
|
||
|
attribute :network, :aliases => :Networks
|
||
|
attribute :address
|
||
|
|
||
|
def id
|
||
|
href.scan(/\d+/)[0]
|
||
|
end
|
||
|
|
||
|
def network=(network)
|
||
|
network = network.dup
|
||
|
network_address = network[:Network]
|
||
|
@network = self.connection.networks.new(network_address)
|
||
|
network_id = @network.href.match(/(\d+)$/)[1]
|
||
|
address_ip = network_address[:IpAddresses][:IpAddress]
|
||
|
@address = self.connection.ip_addresses.new(
|
||
|
:href => "/cloudapi/ecloud/ipaddresses/networks/#{network_id}/#{address_ip}",
|
||
|
:name => address_ip
|
||
|
)
|
||
|
end
|
||
|
attr_reader :network
|
||
|
|
||
|
def address=(address); end
|
||
|
attr_reader :address
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|