lib/fog/vcloud_director/models/compute/vapp.rb in fog-maestrodev-1.15.0.20130927082724 vs lib/fog/vcloud_director/models/compute/vapp.rb in fog-maestrodev-1.18.0.20131111203459
- old
+ new
@@ -28,26 +28,112 @@
def tags
requires :id
service.tags(:vm => self)
end
- def undeploy
- response = service.undeploy(id)
+ # @param [String] action The specified action is applied to all virtual
+ # machines in the vApp. All values other than **default** ignore
+ # actions, order, and delay specified in the StartupSection. One of:
+ # * powerOff (Power off the virtual machines. This is the default
+ # action if this attribute is missing or empty)
+ # * suspend (Suspend the virtual machines)
+ # * shutdown (Shut down the virtual machines)
+ # * force (Attempt to power off the virtual machines. Failures in
+ # undeploying the virtual machine or associated networks are ignored.
+ # All references to the vApp and its virtual machines are removed
+ # from the database)
+ # * default (Use the actions, order, and delay specified in the
+ # StartupSection)
+ def undeploy(action='powerOff')
+ begin
+ response = service.post_undeploy_vapp(id, :UndeployPowerAction => action)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
service.process_task(response.body)
end
+ # Power off all VMs in the vApp.
+ def power_off
+ requires :id
+ begin
+ response = service.post_power_off_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
+ service.process_task(response.body)
+ end
+
+ # Power on all VMs in the vApp.
def power_on
- response = service.post_vm_poweron(id)
+ requires :id
+ begin
+ response = service.post_power_on_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
service.process_task(response.body)
end
- def power_off
- response = service.post_vm_poweroff(id)
+ # Reboot all VMs in the vApp.
+ def reboot
+ requires :id
+ begin
+ response = service.post_reboot_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
service.process_task(response.body)
end
+ # Reset all VMs in the vApp.
+ def reset
+ requires :id
+ begin
+ response = service.post_reset_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
+ service.process_task(response.body)
+ end
+
+ # Shut down all VMs in the vApp.
+ def shutdown
+ requires :id
+ begin
+ response = service.post_shutdown_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
+ service.process_task(response.body)
+ end
+
+ # Suspend all VMs in the vApp.
+ def suspend
+ requires :id
+ begin
+ response = service.post_suspend_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
+ service.process_task(response.body)
+ end
+
def destroy
- response = service.delete_vapp(id)
+ requires :id
+ begin
+ response = service.delete_vapp(id)
+ rescue Fog::Compute::VcloudDirector::BadRequest => ex
+ Fog::Logger.debug(ex.message)
+ return false
+ end
service.process_task(response.body)
end
end
end