Create an Environment using vRealize Suite Lifecycle Manager API
Before installing products, you download the product binaries and add licenses. To ensure a secure connection, you add an encryption certificate to your environment.
You can get product binaries using a
My VMware account or directly from local or NFS sources. To add licenses to your locker store,
you submit a request with your My VMware account information or with license information from
a text file. The following procedure includes steps that show how to get product binaries and
add licenses with or without a My VMware account.
Prerequisites
- Verify that all general prerequisites have been satisfied. See Installing and Importing Products Using vRealize Suite Lifecycle Manager APIs.
- Verify that you have the input data such as IP address and host that are required to generate a certificate.
Procedure
-
For each of the products you plan to install, list the version numbers.
curl -X GET \ '$url/lcm/lcops/api/v2/policy/products/{productId}/versions' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Accept: application/json' | jq "."
The response shows the available versions, such as for vRealize Automation.[ "8.0.1", "8.1.0", "8.2.0" ]
-
For each of the products and versions you plan to install, list the supported node
types.
curl -X GET \ '$url/lcm/lcops/api/v2/policy/products/{productId}/versions/{version}/node-types' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Accept: application/json' | jq "."
The response shows the supported node type, such as for vRealize Automation 8.2.0.[ "vrava-primary", "vrava-secondary" ]
-
If you have a My VMware account, you can
get the product binaries and add the licenses associated with your account.
-
List all product binaries associated
with your My VMware account.
curl -X GET \ '$url/lcm/lcops/api/v2/settings/my-vmware/product-binaries' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Accept: application/json' | jq "."
-
Examine the response to find the
product binaries that you want to download.
... { "productId": "vidm", "productVersion": "3.3.2", "productBinaryType": "Install", "productBinaryPath": null, "componentName": null, "mappingType": null, "productName": "VMware Identity Manager", "requestId": null, "removeBinary": null }, { "productId": "vra", "productVersion": "8.0.1", "productBinaryType": "upgrade", "productBinaryPath": null, "componentName": null, "mappingType": null, "productName": "vRealize Automation", "requestId": null, "removeBinary": null } ...
-
With the output from the response in
the request body, download the product binaries.
curl -X POST \ '$url/lcm/lcops/api/v2/settings/my-vmware/product-binaries/download' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '[ { "productId": "vidm", "productVersion": "3.3.2", "productBinaryType": "Install", "productBinaryPath": null, "componentName": null, "mappingType": null, "productName": "VMware Identity Manager", "requestId": null, "removeBinary": null }, { "productId": "vra", "productVersion": "8.0.1", "productBinaryType": "upgrade", "productBinaryPath": null, "componentName": null, "mappingType": null, "productName": "vRealize Automation", "requestId": null, "removeBinary": null }' ]| jq "."
The request triggers the API. The response shows the request ID.{ "requestId": "61c2fcc0-b6c2-4708-85fc-0a0e9112207d" }
You can use this request ID to track the status of the download.curl -X GET '$url /lcm/request/api/v2/requests/$requestId' -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' | jq "."
-
Get your My VMware account
information.
curl -X GET \ '$url/lcm/lcops/api/v2/settings/my-vmware/accounts' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Accept: application/json' | jq "."
The response shows your My VMware account information.{ "userName": "[email protected]", "password": "MyVMwarePassword" }
-
Using your My VMware account
information, add all licenses to your locker store.
curl -X POST \ '$url/lcm/lcops/api/v2/settings/my-vmware/accounts' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "userName": "[email protected]", "password": "MyVMwarePassword" }'| jq "."
-
List all product binaries associated
with your My VMware account.
-
If you do not have a My VMware account,
you can get and download the product binaries associated with the local or NFS source
mappings.
-
List the product binaries.
To get product binaries associated with local or NFS source mappings, the source types are:
"sourceType": "LOCAL"
"sourceType": "NFS"
curl -X POST \ '$url/lcm/lcops/api/v2/settings/product-binaries' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "sourceLocation": "10.153.164.9:/vCloudSuiteDeployment/binaries/OVA", "sourceType": "NFS" } | jq "."
The response shows all the product binaries that are present at the NFS location, such as in the following code snippet.... { "name": "Prelude_VA-8.0.0.6619-14842736_OVF10.ova", "filePath": "/data/nfsfiles/Prelude_VA-8.0.0.6619-14842736_OVF10.ova", "type": "install" }, { "name": "Prelude_VA-8.0.1.7355-15294185_OVF10.ova", "filePath": "/data/nfsfiles/Prelude_VA-8.0.1.7355-15294185_OVF10.ova", "type": "install" }, ...
-
Download the product binaries that
you want.
curl -X POST \ '$url/lcm/lcops/api/v2/settings/product-binaries/download' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '[ { "name": "Prelude_VA-8.0.0.6619-14842736_OVF10.ova", "filePath": "/data/nfsfiles/Prelude_VA-8.0.0.6619-14842736_OVF10.ova", "type": "install" }, { "name": "Prelude_VA-8.0.1.7355-15294185_OVF10.ova", "filePath": "/data/nfsfiles/Prelude_VA-8.0.1.7355-15294185_OVF10.ova", "type": "install" } ]| jq "."
The request triggers the API. The response shows the request ID.{ "requestId": "d1b7341c-e3bb-4049-b5a8-1bf9118c79ab" }
You can use this request ID to track the status of the download.curl -X GET '$url /lcm/request/api/v2/requests/$requestId' -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' | jq "."
-
List the product binaries.
- (Optional)
If you have a license in a text file
that was not added with your My VMware account, validate and add it to your locker
store.
curl -X POST \ '$url/lcm/lcops/api/v2/license/validate-and-add' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "alias": "license1", "serialKey": "AB0DC-EF280-48JH1-00024-1JK" }'| jq "."
The request triggers the API. The response includes a request ID.{ "vmid": "69def4ac-782f-4af7-9ce7-99a7b8557a09", "requestId": "071d88e6-6ef3-4ff3-abd9-21420ff4cca4", "action": "VALIDATE_AND_ADD_LICENSE", "message": "Validate and Add request queued for license license1" }
You can use this request ID to track the status of the download.curl -X GET '$url /lcm/request/api/v2/requests/$requestId' -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' | jq "."
-
Generate a new certificate for your locker.
For
alias
, choose a value that helps to remind you of the locker password.curl -X POST \ '$url/lcm/locker/api/v2/certificates' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "alias": "cert2", "c": "certificate2", "cN": "certificate2", "ip": ["10.196.15.13"], "host": ["*.sqa.local"], "cN": "vmware", "oU": "vmware", "size": "2048", "o": "vmware", "l": "IN", "sT": "IN", "c": "IN" }'| jq "."
The response body verifies details about the certificate, such as validity period and date of issue.... "validity": { "period": "1 year, 11 months and 29 days", "expiresOn": "2022-07-27T01:12:21.000+0000", "issuedOn": "2020-07-27T01:12:21.000+0000", "healthy": true }, ...