You can use REST API catalog service commands to complete a variety of tasks related to requesting a machine. This procedure provides sample command line syntax for machine request tasks. Supporting information regarding available input and output parameters, command-line entry samples, and sample JSON output samples is available in the subsequent topics that explain syntax for the various tasks.

About this task

The REST API catalog service includes Hypermedia as the Engine of Application State (HATEOAS) links that function as templates to assist users in completing common tasks that are supported by the API. They typical scenario for using a template is for the user to submit a template request for a given context.

For example, catalog-service/api/consumer/entitledCatalogItems/ dc808d12-3786-4f7c-b5a1-d5f997c8ad66/requests/template. Users can employ the returned template, either as is or modified, to create an appropriate request. The user then POSTs, or PUTs, the request to the target API. For example, catalog-service/api/consumer/entitledCatalogItems/dc808d12-3786-4f7c-b5a1-d5f997c8ad66/requests.

This procedure provides sample command line syntax for approving a machine request. Supporting information regarding available input and output parameters, command-line entry samples, and sample JSON output samples is available.

Prerequisites

  • Log in to vRealize Automation as a consumer and current business group user.

  • Verify that the host name and fully qualified domain name of the vRealize Automation instance are available.

  • Verify that you have a valid HTTP bearer token that matches your login credentials. See REST API Authentication.

Procedure

  1. List all shared catalog items in the catalog.

    You can browse the API and use HATEOAS links to navigate to additional API calls that are relevant to the current context.

    curl --insecure -H "Content-Type: application/json" 
    -H "Authorization: Bearer $token” https://$host/catalog-service/api/consumer/entitledCatalogItemViews
    Accept: application/json
    
    curl --insecure -H "Content-Type: application/json" 
    -H "Authorization: Bearer $token” 
    https://$host/catalog-service/api/consumer/entitledCatalogItems

    Alternatively, you can also search for a catalog item by name by substituting $catalogItemName with $catalogItemId.

  2. Locate the details of a specific catalog item by name.

    Note that the vRealize Automation API supports OData filtering.

    curl --insecure -H "Content-Type: application/json" 
    -H "Authorization: Bearer $token”  https://$host/catalog-service/api/consumer/entitledCatalogItemViews?$filter=name+eq+%27$catalogItemName%27
    curl --insecure -H "Content-Type: application/json" -H "Authorization: Bearer $token” 
    https://$host/catalog-service/api/consumer/entitledCatalogItems
  3. Get a template request for a catalog item.

    This request uses a HATEOAS link for a template request for this catalog item.

    curl --insecure -H "Content-Type: application/json" -H "Authorization: Bearer $token” https://$host/catalog-service/api/consumer/entitledCatalogItems/dc808d12-3786-4f7c-b5a1-d5f997c8ad66/requests/template
    Accept: application/json
    
  4. Review and edit the template request.

    The template request returned in preceding step is specific to the catalog item that corresponds to your template request. The fields and default values are populated based on the configuration of the underlying blueprint.

    Review the contents of the template and edit the values if you want to change them from the default prior to submitting the request. For example, you can specify a value for the description field or change the values for the machine resources if the blueprint allows for a range.

  5. Submit the request.
    curl --insecure -H "Content-Type: application/json"
    -H "Authorization: Bearer $token”
    https://$host/catalog-service/api/consumer/entitledCatalogItems/dc808d12-3786-4f7c-b5a1-d5f997c8ad66/requests --verbose --data
    @C:/Temp/requestMachine.json
    {
         $contentsOfTemplateFromPrecedingSections
    }
    
  6. (Optional) : View the details of your request.

    You can perform a GET on the URI in the Location header to retrieve the updated request details.

    curl --insecure -H "Content-Type: application/json" 
    -H "Authorization: Bearer $token” https://$host/catalog-service/api/consumer/requests/7aaf9baf-aa4e-47c4-997b-edd7c7983a5b
    Accept: application/json 
    

    The status information is particularly noteworthy in the request details. The phase field corresponds to the status that is displayed in the Requests tab in the user interface.