vmware-vra 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 46c1f1139cc3262cb936510213d4ed55932ff3f5
4
- data.tar.gz: 93721afaaea8f983f84354539905fb49d0eec847
3
+ metadata.gz: eac729199b904cd20391694456f20306e8b11e5f
4
+ data.tar.gz: 5b98695fbb10313a0c3d836cf132a7ce31eccf2b
5
5
  SHA512:
6
- metadata.gz: 69fdf73780e7c7550e9a407ca87c2629a64f1be419ee597af5f03bab5f4f88306c7dde6c2b1725442a3e027193735a2904cc8b3a31b499c51d2278dabaf03500
7
- data.tar.gz: a92954fae6a63da0ee4cf1cce76a1934507e06edda6e9219f7e914aa431e49358fa9f2f999ae43fb34edd28b0cadf0a4a19474981e4e40c58461f98bebcf8972
6
+ metadata.gz: 06157a18438d667f5ac70aaea02d9ee9894473655ecb545a952ac151428242d62b82b6bfaf7e407417c7510a045fb69ec811db627dcd9d0aa16c316b2a9bd88a
7
+ data.tar.gz: 846208751739fe7ba682d9fc879f9590a137e9a6a25f2154ce5352fbd630819ac33079ef890339aafffcb4230b9ab64e55df6c713f567bcac3c4b77cacb4ed91
@@ -1,14 +1,27 @@
1
1
  # Change Log
2
2
 
3
- ## [2..5.2] (https://github.com/chef-partners/vmware-vra-gem/tree/2.5.2) (2018-01-04)
4
- [Full Changelog](https://github.com/chef-partners/vmware-vra-gem/compare/v2.5.1...2.5.2)
3
+ ## [v2.6.0](https://github.com/chef-partners/vmware-vra-gem/tree/v2.6.0)
5
4
 
6
- **Enhanced:**
5
+ [Full Changelog](https://github.com/chef-partners/vmware-vra-gem/compare/v2.5.2...v2.6.0)
7
6
 
8
- - Added a method to retrive catalog id from catalog name
7
+ **Closed issues:**
8
+
9
+ - undefined method `\[\]' for nil:NilClass if data for json content is of single entity [\#55](https://github.com/chef-partners/vmware-vra-gem/issues/55)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Accept subtenant name as input in kitchen.yml [\#67](https://github.com/chef-partners/vmware-vra-gem/pull/67) ([vinuphilip](https://github.com/vinuphilip))
14
+ - Lgustafson/fix 65 [\#66](https://github.com/chef-partners/vmware-vra-gem/pull/66) ([lgustafson](https://github.com/lgustafson))
15
+
16
+ ## [v2.5.2](https://github.com/chef-partners/vmware-vra-gem/tree/v2.5.2) (2018-01-22)
17
+ [Full Changelog](https://github.com/chef-partners/vmware-vra-gem/compare/v2.5.1...v2.5.2)
18
+
19
+ **Merged pull requests:**
20
+
21
+ - Added a method to retrieve catalog id's from catalog name [\#64](https://github.com/chef-partners/vmware-vra-gem/pull/64) ([rupeshpatel88](https://github.com/rupeshpatel88))
9
22
 
10
- ## [2.5.1](https://github.com/chef-partners/vmware-vra-gem/tree/2.5.1) (2017-10-19)
11
- [Full Changelog](https://github.com/chef-partners/vmware-vra-gem/compare/v2.5.0...2.5.1)
23
+ ## [v2.5.1](https://github.com/chef-partners/vmware-vra-gem/tree/v2.5.1) (2017-10-19)
24
+ [Full Changelog](https://github.com/chef-partners/vmware-vra-gem/compare/v2.5.0...v2.5.1)
12
25
 
13
26
  **Merged pull requests:**
14
27
 
data/README.md CHANGED
@@ -78,7 +78,15 @@ vra.catalog.fetch_catalog_items('my_catalog_name')
78
78
 
79
79
  vRA requires your sub-tenant (a.k.a. "business group") to be specified when requesting an item from the catalog. If the catalog item you are requesting is specifically created for a given business group, the gem will use that ID automatically without you needing to specify it.
80
80
 
81
- However, if there is no sub-tenant ID available for us to use, you will receive an error when you submit:
81
+ An easier option has been provided to end user to provide a friendly sub-tenant name instead of sub-tenant id, and the driver would take care of retrieving the sub-tenant id for the corresponding sub-tenant name. Tenant name is also required along with sub-tenant name to retrieve sub-tenant id.
82
+
83
+ To retrieve sub-tenant id from sub-tenant name:
84
+
85
+ ```
86
+ vra.fetch_subtenant_items('my_tenant', 'my_subtenant_name')
87
+ ```
88
+
89
+ However, if there is no sub-tenant ID or sub-tenant name available for us to use, you will receive an error when you submit:
82
90
 
83
91
  ```
84
92
  request = catalog_request.submit
@@ -218,5 +218,10 @@ module Vra
218
218
  rescue URI::InvalidURIError
219
219
  false
220
220
  end
221
+
222
+ def fetch_subtenant_items(tenant, subtenant_name)
223
+ http_get("/identity/api/tenants/#{tenant}/subtenants?%24filter=name+eq+'#{subtenant_name}'")
224
+ end
225
+
221
226
  end
222
227
  end
@@ -172,27 +172,24 @@ module Vra
172
172
 
173
173
  request_id = @resource_data["requestId"]
174
174
 
175
- resource_views = @client.http_get("/catalog-service/api/consumer/requests/#{request_id}/resourceViews")
176
-
177
- data_zero = JSON.parse(resource_views.body)["content"][0]["data"]["ip_address"]
178
- data_one = JSON.parse(resource_views.body)["content"][1]["data"]["ip_address"]
179
-
180
175
  print "Waiting For vRA to collect the IP"
181
- while (data_zero == "" || data_one == "") && (data_zero.nil? || data_one.nil?)
176
+
177
+ loop do
182
178
  resource_views = @client.http_get("/catalog-service/api/consumer/requests/#{request_id}/resourceViews")
183
- data_zero = JSON.parse(resource_views.body)["content"][0]["data"]["ip_address"]
184
- data_one = JSON.parse(resource_views.body)["content"][1]["data"]["ip_address"]
179
+
180
+ JSON.parse(resource_views.body)["content"].each do |content|
181
+ if content.has_key?("data") &&
182
+ !(content["data"]["ip_address"].nil? ||
183
+ content["data"]["ip_address"] == "")
184
+ addrs << content["data"]["ip_address"]
185
+ end
186
+ end
187
+
188
+ break unless addrs.empty?
189
+
185
190
  sleep 10
186
- print "."
187
191
  end
188
192
 
189
- ip_address = if JSON.parse(resource_views.body)["content"][0]["data"]["ip_address"].nil?
190
- JSON.parse(resource_views.body)["content"][1]["data"]["ip_address"]
191
- else
192
- JSON.parse(resource_views.body)["content"][0]["data"]["ip_address"]
193
- end
194
-
195
- addrs << ip_address
196
193
  addrs
197
194
  end
198
195
 
@@ -18,5 +18,5 @@
18
18
  #
19
19
 
20
20
  module Vra
21
- VERSION = "2.5.2"
21
+ VERSION = "2.6.0"
22
22
  end
@@ -0,0 +1 @@
1
+ {"links":[],"content":[{"@type":"CatalogResourceView","links":[{"@type":"link","rel":"GET: Catalog Item","href":"https://vra71.tirefi.re/catalog-service/api/consumer/entitledCatalogItemViews/2d6d5481-ebb0-4bdc-8af9-b75043a86386"},{"@type":"link","rel":"GET: Request","href":"https://vra71.tirefi.re/catalog-service/api/consumer/requests/bcd175ac-1c02-4a00-b4c8-fa585f23fd2d"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.changelease.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/c3595f52-e35a-448c-8409-7ce0c554cfba/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.changelease.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/c3595f52-e35a-448c-8409-7ce0c554cfba/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.changeowner.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/00f03ade-3850-40c8-93b8-4b093b5bf7c4/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.changeowner.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/00f03ade-3850-40c8-93b8-4b093b5bf7c4/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.destroy.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/306fbd9b-7129-405a-8c07-fedf32585f3d/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.destroy.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/306fbd9b-7129-405a-8c07-fedf32585f3d/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.archive.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/e5759af9-56d8-4598-ab7f-4ca6d45bd385/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.archive.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/e5759af9-56d8-4598-ab7f-4ca6d45bd385/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.scalein.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/6b358c70-ac66-4634-951b-73ab4e36c78d/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.scalein.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/6b358c70-ac66-4634-951b-73ab4e36c78d/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.cafe.composition@resource.action.deployment.scaleout.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/2c50de13-d5aa-4958-9af9-d2451675a2b3/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.cafe.composition@resource.action.deployment.scaleout.name}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/700f9e3c-c7bd-41d7-9683-5d3051a8e238/actions/2c50de13-d5aa-4958-9af9-d2451675a2b3/requests"},{"@type":"link","rel":"GET: Child Resources","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resourceViews?managedOnly=false&withExtendedData=true&withOperations=true&%24filter=parentResource%20eq%20%27700f9e3c-c7bd-41d7-9683-5d3051a8e238%27"}],"resourceId":"700f9e3c-c7bd-41d7-9683-5d3051a8e238","iconId":"composition.blueprint.png","name":"test-66303366","description":null,"status":null,"catalogItemId":"2d6d5481-ebb0-4bdc-8af9-b75043a86386","catalogItemLabel":"test","requestId":"bcd175ac-1c02-4a00-b4c8-fa585f23fd2d","resourceType":"composition.resource.type.deployment","owners":["vRA Admin"],"businessGroupId":"d0fb4a04-7099-4ba1-a262-b578e129a758","tenantId":"vsphere.local","dateCreated":"2016-12-01T19:59:55.000Z","lastUpdated":"2016-12-01T20:05:03.086Z","lease":{"start":"2016-12-01T19:59:54.988Z"},"costs":null,"costToDate":null,"totalCost":null,"parentResourceId":null,"hasChildren":true,"data":{}},{"@type":"CatalogResourceView","links":[{"@type":"link","rel":"GET: Request","href":"https://vra71.tirefi.re/catalog-service/api/consumer/requests/bcd175ac-1c02-4a00-b4c8-fa585f23fd2d"},{"@type":"link","rel":"GET: Parent Resource","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resourceViews/700f9e3c-c7bd-41d7-9683-5d3051a8e238"}],"resourceId":"a1337573-c379-4f40-aaec-ce81c0c16ce6","iconId":"existing_network","name":"VMNetwork","description":null,"status":null,"catalogItemId":null,"catalogItemLabel":null,"requestId":"bcd175ac-1c02-4a00-b4c8-fa585f23fd2d","resourceType":"Infrastructure.Network.Network.Existing","owners":["vRA Admin"],"businessGroupId":"d0fb4a04-7099-4ba1-a262-b578e129a758","tenantId":"vsphere.local","dateCreated":"2018-02-22T20:23:11.203Z","lastUpdated":"2018-02-22T20:30:09.724Z","lease":{"start":"2018-02-22T20:22:50.171Z","end":"2018-02-24T20:22:50.171Z"},"costs":null,"costToDate":null,"totalCost":null,"parentResourceId":"700f9e3c-c7bd-41d7-9683-5d3051a8e238","hasChildren":false,"data":{"Description":" ","Name":"VMNetwork","_hasChildren":false,"_leaseDays":2,"_number_of_instances":1,"cpu":"1","dns":{"componentTypeId":"com.vmware.csp.iaas.blueprint.service","componentId":null,"classId":"Infrastructure.Network.Network.DnsWins","typeFilter":null,"data":{"alternate_wins":null,"dns_search_suffix":"bogus.invalid","dns_suffix":"bogus.invalid","preferred_wins":null,"primary_dns":"172.16.20.50","secondary_dns":"172.16.20.51"}},"gateway":"172.16.20.1","ip_ranges":[{"componentTypeId":"com.vmware.csp.iaas.blueprint.service","componentId":null,"classId":"Infrastructure.Network.Network.IpRanges","typeFilter":null,"data":{"description":"","end_ip":"172.16.20.200","id":"51ca3210-5e10-4f03-a5a0-02daa701ca36","name":"VMNetwork","start_ip":"172.16.20.10"}}],"memory":"2048","network_profile":"VM Network","providerBindingId":"test","subnet_mask":"255.255.255.0"}},{"@type":"CatalogResourceView","links":[{"@type":"link","rel":"GET: Request","href":"https://vra71.tirefi.re/catalog-service/api/consumer/requests/bcd175ac-1c02-4a00-b4c8-fa585f23fd2d"},{"@type":"link","rel":"GET: Parent Resource","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resourceViews/700f9e3c-c7bd-41d7-9683-5d3051a8e238"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.ChangeLease}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/6bfd31da-dc94-4b3d-9d11-a76ca6466fee/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.ChangeLease}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/6bfd31da-dc94-4b3d-9d11-a76ca6466fee/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.window.ConnectViaVmrc.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/beeea7b5-b75c-46ab-b3f7-92e87419d025/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.window.ConnectViaVmrc.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/beeea7b5-b75c-46ab-b3f7-92e87419d025/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.noform.ConnectViaRdp.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/33b4eb4b-1602-4d1e-802b-41c54f56b97c/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.noform.ConnectViaRdp.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/33b4eb4b-1602-4d1e-802b-41c54f56b97c/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.nowindow.ConnectViaNativeVmrc.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/39fb6669-f224-45ed-9b48-4a48a828f10a/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@csp.places.iaas.item.nowindow.ConnectViaNativeVmrc.label}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/39fb6669-f224-45ed-9b48-4a48a828f10a/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.virtual.CreateSnapshot}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/ef01fe39-132d-4800-85b5-987a345202b2/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.virtual.CreateSnapshot}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/ef01fe39-132d-4800-85b5-987a345202b2/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.virtual.Destroy}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/4a0cfa3b-b686-43c7-9b31-600b99812b15/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.virtual.Destroy}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/4a0cfa3b-b686-43c7-9b31-600b99812b15/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Expire}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/5b0f7c6a-0bf1-497f-ab10-d0536ff0cdde/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Expire}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/5b0f7c6a-0bf1-497f-ab10-d0536ff0cdde/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.InstallTools}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/7bdb5a37-5a18-4365-bc4a-f1bba27df5f7/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.InstallTools}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/7bdb5a37-5a18-4365-bc4a-f1bba27df5f7/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reset}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/7b6538e2-6eec-4618-bc92-7aafaf9f147e/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reset}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/7b6538e2-6eec-4618-bc92-7aafaf9f147e/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.PowerOff}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/1f9ffa9a-b5cf-4337-b097-6c4dc0bd52b7/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.PowerOff}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/1f9ffa9a-b5cf-4337-b097-6c4dc0bd52b7/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reboot}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/37e2bb8f-ab3c-4e4c-854b-71f85c1db9ee/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reboot}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/37e2bb8f-ab3c-4e4c-854b-71f85c1db9ee/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reconfigure}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/14af2ac6-827d-4854-a797-fe2b587bc968/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reconfigure}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/14af2ac6-827d-4854-a797-fe2b587bc968/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reprovision}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/eed48ad5-3e8e-41f2-a206-75ae79041779/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Reprovision}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/eed48ad5-3e8e-41f2-a206-75ae79041779/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Shutdown}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/a4fd65a6-8abc-493e-8315-3345b673366f/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Shutdown}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/a4fd65a6-8abc-493e-8315-3345b673366f/requests"},{"@type":"link","rel":"GET Template: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Suspend}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/e1bdb142-1136-40a8-b49e-84ac5d3ed0b1/requests/template"},{"@type":"link","rel":"POST: {com.vmware.csp.component.iaas.proxy.provider@resource.action.name.machine.Suspend}","href":"https://vra71.tirefi.re/catalog-service/api/consumer/resources/3bf23388-38fb-44ef-ab1e-325ad1a1c582/actions/e1bdb142-1136-40a8-b49e-84ac5d3ed0b1/requests"}],"resourceId":"3bf23388-38fb-44ef-ab1e-325ad1a1c582","iconId":"Infrastructure.CatalogItem.Machine.Virtual.vSphere","name":"vra7-32","description":null,"status":"On","catalogItemId":null,"catalogItemLabel":null,"requestId":"bcd175ac-1c02-4a00-b4c8-fa585f23fd2d","resourceType":"Infrastructure.Virtual","owners":["vRA Admin"],"businessGroupId":"d0fb4a04-7099-4ba1-a262-b578e129a758","tenantId":"vsphere.local","dateCreated":"2016-12-01T20:03:59.946Z","lastUpdated":"2016-12-01T20:05:03.086Z","lease":{"start":"2016-12-01T19:59:54.988Z"},"costs":null,"costToDate":null,"totalCost":null,"parentResourceId":"700f9e3c-c7bd-41d7-9683-5d3051a8e238","hasChildren":false,"data":{"ChangeLease":true,"ChangeOwner":true,"Component":"vSphere_Machine_1","ConnectViaNativeVmrc":true,"ConnectViaRdp":true,"ConnectViaVmrc":true,"CreateSnapshot":true,"DISK_VOLUMES":[{"componentTypeId":"com.vmware.csp.component.iaas.proxy.provider","componentId":null,"classId":"dynamicops.api.model.DiskInputModel","typeFilter":null,"data":{"DISK_CAPACITY":28,"DISK_INPUT_ID":"DISK_INPUT_ID1","DISK_LABEL":"Hard disk 1"}}],"Destroy":true,"EXTERNAL_REFERENCE_ID":"vm-171","Expire":true,"IS_COMPONENT_MACHINE":false,"InstallTools":true,"MachineBlueprintName":"test","MachineCPU":1,"MachineDailyCost":0,"MachineDestructionDate":null,"MachineExpirationDate":null,"MachineGroupName":"tirefireadmins","MachineGuestOperatingSystem":null,"MachineInterfaceDisplayName":"vSphere (vCenter)","MachineInterfaceType":"vSphere","MachineMemory":4096,"MachineName":"vra7-32","MachineReservationName":"test","MachineStorage":28,"MachineType":"Virtual","NETWORK_LIST":[{"componentTypeId":"com.vmware.csp.component.iaas.proxy.provider","componentId":null,"classId":"dynamicops.api.model.NetworkViewModel","typeFilter":null,"data":{"NETWORK_MAC_ADDRESS":"00:50:56:8a:62:e1","NETWORK_NAME":"VM Network"}}],"PowerOff":true,"Reboot":true,"Reconfigure":true,"Reprovision":true,"Reset":true,"SNAPSHOT_LIST":[],"Shutdown":true,"Suspend":true,"VirtualMachine.Admin.UUID":"500a9c29-ab12-fc1f-6bd9-57c78eb2c3de","endpointExternalReferenceId":"1a19bcb7-e6b9-487d-b816-a10c91738fd1","ip_address":"172.16.20.147","machineId":"8bd21553-4609-41ef-bebf-60f7c66a28e0"}}],"metadata":{"size":20,"totalElements":2,"totalPages":1,"number":1,"offset":0}}
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "@type": "CatalogResource",
3
3
  "id": "31a7badc-6562-458d-84f3-ec58d74a6953",
4
+ "requestId": "bogus",
4
5
  "resourceTypeRef": {
5
6
  "id": "Infrastructure.Virtual",
6
7
  "label": "Virtual Machine"
@@ -323,13 +323,74 @@ describe Vra::Resource do
323
323
  end
324
324
 
325
325
  describe "#ip_addresses" do
326
- it "returns the correct IP addresses" do
327
- skip "broken and needs to be updated per changes -JJ 2017-04-14"
328
- stub_request(:post, "https://vra.corp.local/identity/api/tokens")
329
- .with(body: '{"username":"user@corp.local","password":"password","tenant":"tenant"}',
330
- headers: { "Accept" => "application/json", "Content-Type" => "application/json" })
331
- .to_return(status: 200, body: "", headers: {})
332
- expect(resource.ip_addresses).to eq [ "192.168.110.200", "192.168.220.200" ]
326
+ let(:authn_payload) do
327
+ {
328
+ "username" => "user@corp.local",
329
+ "password" => "password",
330
+ "tenant" => "tenant",
331
+ }.to_json
332
+ end
333
+
334
+ let(:resource_view_body) do
335
+ File.read(File.join(File.dirname(__FILE__),
336
+ "fixtures",
337
+ "resource",
338
+ "ip_address.txt"))
339
+ end
340
+
341
+ before do
342
+ stub_request(
343
+ :post,
344
+ "https://vra.corp.local/identity/api/tokens"
345
+ ).with(
346
+ :body => authn_payload,
347
+ :headers => { "Accept" => "application/json", "Content-Type" => "application/json" }
348
+ ).to_return(
349
+ :status => 200,
350
+ :body => '{"id":"12345"}',
351
+ :headers => {}
352
+ )
353
+
354
+ stub_request(
355
+ :head,
356
+ "https://vra.corp.local/identity/api/tokens/12345"
357
+ ).with(
358
+ :headers => { "Accept" => "application/json", "Authorization" => "Bearer 12345", "Content-Type" => "application/json" }
359
+ ).to_return(
360
+ :status => 204,
361
+ :body => "",
362
+ :headers => {}
363
+ )
364
+
365
+ stub_request(
366
+ :get,
367
+ "https://vra.corp.local/catalog-service/api/consumer/requests/bogus/resourceViews"
368
+ ).with(
369
+ headers: { "Accept" => "application/json", "Content-Type" => "application/json" }
370
+ ).to_return(
371
+ status: 200,
372
+ body: resource_view_body,
373
+ headers: {}
374
+ )
375
+ end
376
+
377
+ context "with IP address in the second element" do
378
+ it "returns the correct IP addresses" do
379
+ expect(resource.ip_addresses).to eq [ "172.16.20.147" ]
380
+ end
381
+ end
382
+
383
+ context "with IP address in the third element" do
384
+ let(:resource_view_body) do
385
+ File.read(File.join(File.dirname(__FILE__),
386
+ "fixtures",
387
+ "resource",
388
+ "ip_address_third_element.txt"))
389
+ end
390
+
391
+ it "returns the correct IP addresses" do
392
+ expect(resource.ip_addresses).to eq [ "172.16.20.147" ]
393
+ end
333
394
  end
334
395
 
335
396
  it "returns nil if there are no network interfaces" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmware-vra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Leff
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-22 00:00:00.000000000 Z
12
+ date: 2018-03-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi-yajl
@@ -175,6 +175,7 @@ files:
175
175
  - spec/fixtures/catalog_request_template.json
176
176
  - spec/fixtures/resource/catalog_request.json
177
177
  - spec/fixtures/resource/ip_address.txt
178
+ - spec/fixtures/resource/ip_address_third_element.txt
178
179
  - spec/fixtures/resource/no_ip_address.txt
179
180
  - spec/fixtures/resource/non_vm_resource.json
180
181
  - spec/fixtures/resource/resource_response.json
@@ -220,6 +221,7 @@ test_files:
220
221
  - spec/fixtures/catalog_request_template.json
221
222
  - spec/fixtures/resource/catalog_request.json
222
223
  - spec/fixtures/resource/ip_address.txt
224
+ - spec/fixtures/resource/ip_address_third_element.txt
223
225
  - spec/fixtures/resource/no_ip_address.txt
224
226
  - spec/fixtures/resource/non_vm_resource.json
225
227
  - spec/fixtures/resource/resource_response.json