The vRealize Automation REST API for installation gives you the ability to create purely software-controlled installations for vRealize Automation.

The installation API requires a JSON formatted version of the same entries that the CLI based installation obtains from the ha.properties answer file. The following guidelines familiarize you with how the API works. From there, you should be able to design programmatic calls to the API to install vRealize Automation.

  • To access the API documentation, point a Web browser to the following vRealize Automation appliance page.

    https://vrealize-automation-appliance-FQDN:5480/config

  • To experiment with the API based installation, locate and expand the following PUT command.

    PUT /vra-install

  • Copy the unpopulated JSON from the install_json box to a text editor. Fill in the answer values the same way that you would for ha.properties. When your JSON formatted answers are ready, copy the code back to install_json and overwrite the unpopulated JSON.

    Alternatively, you can edit the following template JSON and copy the result to install_json.

    /usr/lib/vcac/tools/install/installationProperties.json

    You can also convert a completed ha.properties to JSON or vice versa.

  • In the action box, select validate and click Try It Out.

    The validate action runs the vRealize Automation prerequisite checker and fixer.

  • The validate response includes an alphanumeric command ID that you can insert into the following GET command.

    GET /commands/command-id/aggregated-status

    The response to the GET includes the progress of the validation operation.

  • When validation succeeds, you can run the actual installation by repeating the process. In the action box, just select install instead of validate.

    Installation can take a long time depending on the deployment size. Again, locate the command ID, and use the aggregated status GET command to obtain installation progress. The GET response might resemble the following example.

    "progress": "78%", "counts": {"failed": 0, "completed": 14, "total": 18, "queued": 3, "processing": 1}, "failed-commands": 0

  • If something goes wrong with the installation, you can trigger log collection for all nodes using the following command.

    PUT /commands/log-bundle

    Similar to installation, the returned alphanumeric command ID lets you monitor log collection status.