Class: VCloudCloud::Steps::AddCatalog
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
17
18
19
20
21
22
23
24
25
|
# File 'lib/cloud/vcloud/steps/add_catalog.rb', line 4
def perform(name, &block)
catalog = VCloudSdk::Xml::WrapperFactory.create_instance 'AdminCatalog'
catalog.name = name
link = client.org.add_catalog_link
begin
result = client.invoke :post,
link,
:payload => catalog,
:headers => { :content_type => link.type }
catalog = client.wait_entity result
client.flush_cache
return catalog
rescue RestClient::BadRequest
client.flush_cache
catalog = client.org.catalog_link(name)
if catalog
return client.resolve_link(catalog)
end
raise
end
end
|
#rollback ⇒ Object
27
28
29
30
|
# File 'lib/cloud/vcloud/steps/add_catalog.rb', line 27
def rollback
end
|