2010-05-17 00:09:25 +08:00
|
|
|
module Fog
|
|
|
|
module Vcloud
|
|
|
|
module Terremark
|
|
|
|
module Ecloud
|
2010-06-18 07:58:09 +08:00
|
|
|
class Vdc < Fog::Vcloud::Model
|
2010-05-17 00:09:25 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
identity :href
|
2010-05-17 00:09:25 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
ignore_attributes :xmlns, :xmlns_xsi, :xmlns_xsd
|
|
|
|
|
|
|
|
attribute :name
|
|
|
|
attribute :type
|
|
|
|
attribute :description, :aliases => :Description
|
|
|
|
attribute :other_links, :aliases => :Link
|
|
|
|
attribute :compute_capacity, :aliases => :ComputeCapacity
|
|
|
|
attribute :storage_capacity, :aliases => :StorageCapacity
|
|
|
|
attribute :available_networks, :aliases => :AvailableNetworks, :squash => :Network
|
|
|
|
attribute :resource_entities, :aliases => :ResourceEntities, :squash => :ResourceEntity
|
2010-05-17 00:09:25 +08:00
|
|
|
attribute :deployed_vm_quota
|
|
|
|
attribute :instantiated_vm_quota
|
|
|
|
|
2010-05-28 05:17:59 +08:00
|
|
|
def public_ips
|
2010-06-18 07:58:09 +08:00
|
|
|
load_unless_loaded!
|
2010-05-28 05:17:59 +08:00
|
|
|
@public_ips ||= Fog::Vcloud::Terremark::Ecloud::PublicIps.new( :connection => connection,
|
2010-06-18 07:58:09 +08:00
|
|
|
:href => other_links.detect { |link| link[:type] == "application/vnd.tmrk.ecloud.publicIpsList+xml" }[:href] )
|
2010-05-28 05:17:59 +08:00
|
|
|
end
|
|
|
|
|
2010-05-28 09:27:12 +08:00
|
|
|
def internet_services
|
|
|
|
@internet_services ||= Fog::Vcloud::Terremark::Ecloud::InternetServices.
|
|
|
|
new( :connection => connection,
|
|
|
|
:href => href.to_s.gsub('vdc','extensions/vdc') + "/internetServices" )
|
|
|
|
end
|
|
|
|
|
2010-06-10 07:20:14 +08:00
|
|
|
def networks
|
|
|
|
@networks ||= Fog::Vcloud::Terremark::Ecloud::Networks.
|
|
|
|
new( :connection => connection,
|
|
|
|
:href => href )
|
|
|
|
end
|
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
def servers
|
|
|
|
@servers ||= Fog::Vcloud::Terremark::Ecloud::Servers.
|
|
|
|
new( :connection => connection,
|
|
|
|
:href => href )
|
|
|
|
end
|
|
|
|
|
|
|
|
def tasks
|
|
|
|
@tasks ||= Fog::Vcloud::Terremark::Ecloud::Tasks.
|
|
|
|
new( :connection => connection,
|
|
|
|
:href => href + "/tasksList" )
|
|
|
|
end
|
|
|
|
|
|
|
|
def catalog
|
|
|
|
@catalog ||= Fog::Vcloud::Terremark::Ecloud::Catalog.
|
|
|
|
new( :connection => connection,
|
|
|
|
:href => href + "/catalog" )
|
|
|
|
end
|
|
|
|
|
2010-05-17 00:09:25 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|