Class: Vra::CatalogItem
- Inherits:
-
Object
- Object
- Vra::CatalogItem
- Defined in:
- lib/vra/catalog_item.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Instance Method Summary collapse
- #blueprint_id ⇒ Object
- #description ⇒ Object
- #fetch_catalog_item ⇒ Object
-
#initialize(client, opts) ⇒ CatalogItem
constructor
A new instance of CatalogItem.
- #name ⇒ Object
- #status ⇒ Object
- #subtenant_id ⇒ Object
- #subtenant_name ⇒ Object
- #tenant_id ⇒ Object
- #tenant_name ⇒ Object
Constructor Details
#initialize(client, opts) ⇒ CatalogItem
Returns a new instance of CatalogItem.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/vra/catalog_item.rb', line 24 def initialize(client, opts) @client = client @id = opts[:id] @catalog_item_data = opts[:data] if @id.nil? && @catalog_item_data.nil? raise ArgumentError, 'must supply an id or a catalog item data hash' end if ! @id.nil? && ! @catalog_item_data.nil? raise ArgumentError, 'must supply an id OR a catalog item data hash, not both' end if @catalog_item_data.nil? fetch_catalog_item else @id = @catalog_item_data['id'] end end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
23 24 25 |
# File 'lib/vra/catalog_item.rb', line 23 def client @client end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23 24 25 |
# File 'lib/vra/catalog_item.rb', line 23 def id @id end |
Instance Method Details
#blueprint_id ⇒ Object
78 79 80 |
# File 'lib/vra/catalog_item.rb', line 78 def blueprint_id @catalog_item_data['providerBinding']['bindingId'] end |
#description ⇒ Object
54 55 56 |
# File 'lib/vra/catalog_item.rb', line 54 def description @catalog_item_data['description'] end |
#fetch_catalog_item ⇒ Object
44 45 46 47 48 |
# File 'lib/vra/catalog_item.rb', line 44 def fetch_catalog_item @catalog_item_data = FFI_Yajl::Parser.parse(client.http_get!("/catalog-service/api/consumer/catalogItems/#{id}")) rescue Vra::Exception::HTTPNotFound raise Vra::Exception::NotFound, "catalog ID #{id} does not exist" end |
#name ⇒ Object
50 51 52 |
# File 'lib/vra/catalog_item.rb', line 50 def name @catalog_item_data['name'] end |
#status ⇒ Object
58 59 60 |
# File 'lib/vra/catalog_item.rb', line 58 def status @catalog_item_data['status'] end |
#subtenant_id ⇒ Object
70 71 72 |
# File 'lib/vra/catalog_item.rb', line 70 def subtenant_id @catalog_item_data['organization']['subtenantRef'] end |
#subtenant_name ⇒ Object
74 75 76 |
# File 'lib/vra/catalog_item.rb', line 74 def subtenant_name @catalog_item_data['organization']['subtenantLabel'] end |
#tenant_id ⇒ Object
62 63 64 |
# File 'lib/vra/catalog_item.rb', line 62 def tenant_id @catalog_item_data['organization']['tenantRef'] end |
#tenant_name ⇒ Object
66 67 68 |
# File 'lib/vra/catalog_item.rb', line 66 def tenant_name @catalog_item_data['organization']['tenantLabel'] end |