You can specify a JSON file in your vRealize Automation REST API command line input. For example, when you enter a command to approve a machine request, you can include the name of a JSON file that contains all the parameters required to approve the request and complete the work item.

Template JSON File Values

Copy the following template to start constructing a properly formatted JSON file in a text editor. Replace the highlighted values with your obtained work item details. After you create the JSON file, you can include it, or its contents, when you approve a submitted machine request. See Syntax for Approving a Submitted Machine Request.

{
   "formData": {
      "entries": [
         {
            "key": "source-source-provider-Cafe.Shim.VirtualMachine.NumberOfInstances",
            "value": {
               "type": "integer",
               "value": 1
            }
         },
         {
            "key": "source-source-provider-VirtualMachine.Memory.Size",
            "value": {
               "type": "integer",
               "value": 512
            }
         },
         {
            "key": "source-source-provider-VirtualMachine.CPU.Count",
            "value": {
               "type": "integer",
               "value": 1
            }
         },
         {
            "key": "source-businessJustification",
            "value": {
               "type": "string",
               "value": "solves abx request"
            }
         },
         {
            "key": "source-source-provider-VirtualMachine.LeaseDays",
            "value": {
               "type": "integer",
               "value": 0
            }
         }
      ]
   },
   "workItemId": "5e3e9519-78ea-4409-a52c-e4aa3bc56511",
   "workItemActionId": "com.mycompany.csp.core.approval.action.approve"
}

Certain parameters are available to use in the JSON template.

表 1. JSON Template Value Table

JSON File Parameter Name

Description of Value

workItemId

Specifies the value of the corresponding work item ID obtained from the work item list.

source-source-provider-Cafe.Shim.VirtualMachine.NumberOfInstances value

Specifies the number of instances requested.

source-source-provider-VirtualMachine.Memory.Size

Specifies the amount of memory requested in GB.

source-source-provider-VirtualMachine.CPU.Count

Specifies the number of CPUs requested.

source-businessJustification

Specifies the text description of reason for request.

source-source-provider-VirtualMachine.LeaseDays

Specifies the number of days to lease.

workItemActionId

To approve a request, include the approve statement, for example com.mycompany.csp.core.approval.action.approve..

To reject a request, include the reject statement, for example com.mycompany.csp.core.approval.action.reject.

JSON Input File

Use the following JSON input file sample when constructing a file.

{
    "@type": "CatalogItemRequest",
    "catalogItemRef": {
        "id": "65fbca06-a28e-46f3-bced-c6e5fb3a66f9"
    },
    "organization": {
        "tenantRef": "MYCOMPANY",
        "subtenantRef": "cccd7a7e-5283-416b-beb0-45eb4e924dcb"
    },
    "requestedFor": "fritz@example.mycompany.com",
    "state": "SUBMITTED",
    "requestNumber": 0,
    "requestData": {
        "entries": [{
            "key": "provider-blueprintId",
            "value": {
                "type": "string",
                "value": "e16edcf9-6a10-4bc7-98e2-a33361aeb857"
            }
        },
        {
            "key": "provider-provisioningGroupId",
            "value": {
                "type": "string",
                "value": "cccd7a7e-5283-416b-beb0-45eb4e924dcb"
            }
        },
        {
            "key": "requestedFor",
            "value": {
                "type": "string",
                "value": "fritz@example.mycompany.com"
            }
        },
        {
            "key": "provider-VirtualMachine.CPU.Count",
            "value": {
                "type": "integer",
                "value": 1
            }
        },
        {
            "key": "provider-VirtualMachine.Memory.Size",
            "value": {
                "type": "integer",
                "value": 1024
            }
        },
        {
            "key": "provider-VirtualMachine.LeaseDays",
            "value": {
                "type": "integer",
                "value": 30
            }
        },
        {
            "key": "provider-__Notes",
            "value": {
                "type": "string",
                "value": "MYCOMPANY machine"
            }
        },
        {
            "key": "provider-VirtualMachine.Disk0.Size",
            "value": {
                "type": "string",
                "value": "1"
            }
        },
        {
            "key": "provider-VirtualMachine.Disk0.Letter",
            "value": {
                "type": "string",
                "value": "C"
            }
        },
        {
            "key": "provider-VirtualMachine.Disk0.Label",
            "value": {
                "type": "string",
                "value": "main"
            }
        }]
    }
}