Class: VCloudCloud::Steps::AttachDetachDisk

Inherits:
VCloudCloud::Step show all
Defined in:
lib/cloud/vcloud/steps/attach_detach_disk.rb

Instance Attribute Summary

Attributes inherited from VCloudCloud::Step

#client, #state

Instance Method Summary collapse

Methods inherited from VCloudCloud::Step

#cleanup, #initialize, #rollback

Constructor Details

This class inherits a constructor from VCloudCloud::Step

Instance Method Details

#perform(action, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/cloud/vcloud/steps/attach_detach_disk.rb', line 4

def perform(action, &block)
  params = VCloudSdk::Xml::WrapperFactory.create_instance 'DiskAttachOrDetachParams'
  params.disk_href = state[:disk].href
  client.invoke_and_wait :post, state[:vm].send("#{action.to_s}_disk_link".to_sym),
      :payload => params,
      :headers => { :content_type => VCloudSdk::Xml::MEDIA_TYPE[:DISK_ATTACH_DETACH_PARAMS] }
  state[:vm] = client.reload state[:vm]
  state[:disk] = client.reload state[:disk]
end