From 991a4c35e8d5ebbcef3021db54b1b4b54f50314d Mon Sep 17 00:00:00 2001 From: David Nalley Date: Sat, 29 Oct 2011 19:53:10 -0400 Subject: [PATCH] rounding out API coverage in 'Virtual Machine section --- lib/fog/cloudstack/compute.rb | 3 +++ .../change_service_for_virtual_machine.rb | 20 +++++++++++++++++++ .../compute/migrate_virtual_machine.rb | 20 +++++++++++++++++++ .../compute/recover_virtual_machine.rb | 20 +++++++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb create mode 100644 lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb create mode 100644 lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb diff --git a/lib/fog/cloudstack/compute.rb b/lib/fog/cloudstack/compute.rb index 6d558d682..c73b7fbb5 100644 --- a/lib/fog/cloudstack/compute.rb +++ b/lib/fog/cloudstack/compute.rb @@ -20,6 +20,7 @@ module Fog request :assign_to_load_balancer_rule request :attach_volume request :authorize_security_group_ingress + request :change_service_for_virtual_machine request :create_account request :create_domain request :create_port_forwarding_rule @@ -82,8 +83,10 @@ module Fog request :list_virtual_machines request :list_volumes request :list_zones + request :migrate_virtual_machine request :query_async_job_result request :reboot_virtual_machine + request :recover_virtual_machine request :register_user_keys request :remove_from_load_balancer_rule request :reset_password_for_virtual_machine diff --git a/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb b/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb new file mode 100644 index 000000000..787c0d5aa --- /dev/null +++ b/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb @@ -0,0 +1,20 @@ +module Fog + module Compute + class Cloudstack + class Real + + # Changes the service offering for a virtual machine. The virtual machine must be in a "Stopped" state for this command to take effect. + # + # {CloudStack API Reference}[http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/changeServiceForVirtualMachine.html] + def change_service_for_virtual_machine(options={}) + options.merge!( + 'command' => 'changeServiceForVirtualMachine' + ) + + request(options) + end + + end + end + end +end diff --git a/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb b/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb new file mode 100644 index 000000000..c888ff1f2 --- /dev/null +++ b/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb @@ -0,0 +1,20 @@ +module Fog + module Compute + class Cloudstack + class Real + + # Attempts Migration of a virtual machine to the host specified + # + # {CloudStack API Reference}[http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/migrateVirtualMachine.html] + def migrate_virtual_machine(options={}) + options.merge!( + 'command' => 'migrateVirtualMachine' + ) + + request(options) + end + + end + end + end +end diff --git a/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb b/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb new file mode 100644 index 000000000..c4f60463a --- /dev/null +++ b/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb @@ -0,0 +1,20 @@ +module Fog + module Compute + class Cloudstack + class Real + + # Recovers a virtual machine. + # + # {CloudStack API Reference}[http://download.cloud.com/releases/2.2.0/api_2.2.4/global_admin/recoverVirtualMachine.html] + def recover_virtual_machine(options={}) + options.merge!( + 'command' => 'recoverVirtualMachine' + ) + + request(options) + end + + end + end + end +end