mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
![freeformz](/assets/img/avatar_default.png)
Many changes: -Become more of a proper Fog Service. -Drop most of the Collection/Model customizations. -Add a hook for services to do something after #new with the instance -Move to the ToHashDocument parser ... so no more having to actually make parsers. -Fog::Vcloud::Extension is kind of like Fog::Service, but for writing extension modules to Fog::Vcloud. -Fix up existing specs/mocks (they're not complete atm, but the existing ones are up to date). -Fog::Vcloud::Terremark::Ecloud gets almost all extensions implemented (almost). -Fog::Vcloud::Terremark::Ecloud bumped to working with the current TMRK API release. -Factor out some TMRK/ecloud specifc mock data into the ecloud module. -Probably forgetting something.
51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
module Fog
|
|
module Vcloud
|
|
module Terremark
|
|
module Ecloud
|
|
class Ip < Fog::Vcloud::Model
|
|
|
|
ignore_attributes :xmlns_i, :xmlns
|
|
|
|
identity :href, :Href
|
|
|
|
attribute :name, :Name
|
|
attribute :status, :aliases => :Status
|
|
attribute :server, :aliases => :Server
|
|
attribute :rnat, :aliases => :RnatAddress
|
|
attribute :id, :aliases => :Id, :type => :integer
|
|
|
|
def rnat=(new_rnat)
|
|
@rnat = new_rnat
|
|
@changed = true
|
|
end
|
|
|
|
def save
|
|
if @changed
|
|
connection.configure_network_ip( href, _compose_network_ip_data )
|
|
end
|
|
true
|
|
end
|
|
|
|
def reload
|
|
super
|
|
@changed = false
|
|
true
|
|
end
|
|
|
|
private
|
|
def _compose_network_ip_data
|
|
{
|
|
:id => id,
|
|
:href => href,
|
|
:name => name,
|
|
:status => status,
|
|
:server => server,
|
|
:rnat => rnat
|
|
}
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|