Syntax for Getting Resources Schema for a vSphere Reservation
POST /api/data-service/schema/{schemaClassId}/default/{fieldId}/values with a schemaClassId for vSphere, displays information about available resources for a vSphere reservation, such as storage and network information.
Overview
This example illustrates how to get a permissible value list for the resourcePool field. You can use the generated output as input for creating or updating a vSphere reservation.
Field ID | Data Type | Type Class | Permissible Value | Depends on Field |
---|---|---|---|---|
reservationNetworks | Complex Type | reservationNetwork | Yes | computeResource |
reservationVCNSTransportZone | Entity Reference | NetworkScopes | Yes | computeResource |
reservationVCNSSecurityGroups | Entity Reference | SecurityGroups | Yes | computeResource |
reservationMemory | Complex Type | reservationMemory | Yes | computeResource |
computeResource | Entity Reference | ComputeResource | Yes | NA |
machineQuota | Integer | N/A | No | NA |
reservationStorages | Complex Type | reservationStorage | Yes | computeResource |
resourcePool | Entity Reference | ResourcePools | Yes | computeResource |
reservationVCNSRoutedGateways | Complex Type | reservationVCNSRoutedGateway | Yes | computeResource |
For related information, see Syntax for Displaying a Schema Definition for a vSphere Reservation.
Input
Use the supported input parameters to control the command output.
Input | Description |
---|---|
URL | https://$vRA/reservation-service/api/data-service/schema/$schemaclassid/default/$fieldid/values |
Method | Post |
$vRA |
Specifies the appliance name and fully qualified domain name, or IP address of the vRealize Automation server. |
$token |
Specifies a valid HTTP bearer token with necessary credentials. |
$schemaclassid | Specifies the schema class ID.
This example illustrates how to use the resourcePool field of a vSphere reservation type as an example. The schema class ID of a vSphere reservation is Infrastructure.Reservation.Virtual.vSphere. For this example, the input value for $schemaclassid is Infrastructure.Reservation.Virtual.vSphere. |
$fieldId | Specifies the field ID of the resource.
For example, the field ID for the resource pool is resourcePool. For this example, the input value for $fieldId is resourcePool. |
HTTP body | Contains information about dependencies.
Because the dependency of this permissible value field is computeResource, you must provide a dependency definition in the HTTP body. |
Output
The command output contains property names and values based on the command input parameters.
Property | Description | |
---|---|---|
values | An array of data rows, each of which represents one of the resource pool objects returned in a pageable list. Each resource pool object contains an underlyingValue and label entry. | |
underlyingValue | JSON string representing one permissible
value for a field:
|
|
label | Specifies the resource pool label. This value matches the underlyingValue value. |
curl Command
The following example command returns vSphere reservation storage information.
curl -X POST --insecure -H "Accept:application/json" -H "Authorization: Bearer $token" https://$vRA/reservation-service/api/data-service/schema/Infrastructure.Reservation.Virtual.vSphere/default/resourcePool/values -d “{ "text": "", "dependencyValues": { "entries": [{ "key": "computeResource", "value": { "type": "entityRef", "componentId": null, "classId": "ComputeResource", "id": " cc254a84-95b8-434a-874d-bdfef8e8ad2c " } }] } }”
JSON Output
The following JSON output is returned based on the command input.
In the following example output, the CoreDev resource pool is shown. Copy the output underlyingValue section into an XML editor and use it as input to create or update a reservation. Note that other REST calls can be used such as reservationNetworks and reservationStorages to get other resources for the reservation.
{ "values": [{ "underlyingValue": { "type": "entityRef", "componentId": null, "classId": "ResourcePools", "id": " 4e51fabc-19e8-4e79-b413-d52309b3bb62", "label": " CoreDev" }, "label": " CoreDev" }, { "underlyingValue": { "type": "entityRef", "componentId": null, "classId": "ResourcePools", "id": "1186b5cc-cdef-4afb-8653-0ad41a36c194", "label": "Documentation" }, "label": "Documentation" }, //Omit other resource pool list ] }