Class: VCloudCloud::Steps::AddCatalogItem
Instance Attribute Summary
#client, #state
Instance Method Summary
collapse
#cleanup, #initialize
Instance Method Details
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/cloud/vcloud/steps/add_catalog_item.rb', line 4
def perform(catalog_type, item, &block)
catalog = client.catalog catalog_type
catalog_item = VCloudSdk::Xml::WrapperFactory.create_instance 'CatalogItem'
catalog_item.name = item.name
catalog_item.entity = item
result = client.invoke :post,
catalog.add_item_link,
:payload => catalog_item,
:headers => { :content_type => VCloudSdk::Xml::MEDIA_TYPE[:CATALOG_ITEM] }
state[:catalog_item] = result
end
|
#rollback ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'lib/cloud/vcloud/steps/add_catalog_item.rb', line 18
def rollback
catalog_item = state[:catalog_item]
return unless catalog_item
client.invoke :delete, catalog_item
state.delete :catalog_item
end
|