mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00

This renames most request methods in line with page names in the vCloud API documentation. Previous method names remain as deprecations.
57 lines
1.5 KiB
Ruby
57 lines
1.5 KiB
Ruby
require 'fog/core/model'
|
|
|
|
module Fog
|
|
module Compute
|
|
class VcloudDirector
|
|
|
|
class Vapp < Model
|
|
|
|
identity :id
|
|
|
|
attribute :name
|
|
attribute :type
|
|
attribute :href
|
|
attribute :description, :aliases => :Description
|
|
attribute :deployed, :type => :boolean
|
|
attribute :status
|
|
attribute :lease_settings, :aliases => :LeaseSettingsSection
|
|
attribute :network_section, :aliases => :"ovf:NetworkSection", :squash => :"ovf:Network"
|
|
attribute :network_config, :aliases => :NetworkConfigSection, :squash => :NetworkConfig
|
|
attribute :owner, :aliases => :Owner, :squash => :User
|
|
attribute :InMaintenanceMode, :type => :boolean
|
|
|
|
def vms
|
|
requires :id
|
|
service.vms(:vapp => self)
|
|
end
|
|
|
|
def tags
|
|
requires :id
|
|
service.tags(:vm => self)
|
|
end
|
|
|
|
def undeploy
|
|
# @todo Call #post_undeploy_vapp not #undeploy
|
|
response = service.undeploy(id)
|
|
service.process_task(response.body)
|
|
end
|
|
|
|
def power_on
|
|
response = service.post_power_on_vapp(id)
|
|
service.process_task(response.body)
|
|
end
|
|
|
|
def power_off
|
|
response = service.post_power_off_vapp(id)
|
|
service.process_task(response.body)
|
|
end
|
|
|
|
def destroy
|
|
response = service.delete_vapp(id)
|
|
service.process_task(response.body)
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|