Add a VMware vSphere Endpoint
As a DevOps administrator, you create a publisher in vCenter Server to store all captured vSphere templates. Then you configure the publisher endpoint in vRealize Suite Lifecycle Manager. As a developer, you create a vSphere capture endpoint.
In addition, you can create a
vSphere test and deploy endpoint. But
because vRealize
Suite Lifecycle Manager uses
the vSphere subscriber for versioning
templates, your DevOps administrator must use vCenter
Server to create a subscriber to the publisher before you create your
endpoint. In this way, you can configure your test and deploy endpoint with the subscriber
that has template support.
Prerequisites
- Verify that the appliance name and fully qualified domain name of the vRealize Suite Lifecycle Manager instance are available.
- Verify that the URL variable is
assigned.
url='https://LCM-Hostname'
- Verify that the DevOps administrator has used vCenter Server to create the publisher that will be used to store templates captured from various vSphere capture points.
Procedure
-
As a DevOps administrator, configure a
vSphere publisher endpoint in
vRealize
Suite Lifecycle Manager. For the
server, use the FQDN, IP address, or host name of the vCenter
Server that you are adding to vRealize
Suite Lifecycle Manager. The parameter
contentLibraryId identifies the publisher content library.
curl -X POST \ '$url/lcm/cms/api/v1/endpoints' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "supportCapture":false, "supportTest":false, "supportRelease":false, "supportTemplates":true, "supportOnlySourceControlledContent":false, "storeTemplates":false, "requestedBy":"admin@local", "name":"system-virtualcenter", "enabled":false, "category":"vSphere", "systemEndpoint":true, "server": "{<VC_IP_FQDN>}", "userName": "{<vcUsername>}", "password": "{<vcPassword>}", "reviewRequired":false, "contentLibraryId":"6036cf9a-2833-40a0-9c46-13dbd567e5e1", "endpointType":"SERVER_ENDPOINT", "userIdentity":"admin@local", "contentLibraryName":"" }' | jq "."
-
Examine the response to check the
progress of the request and get the reference ID.
{ requestId":"eb405741-81fa-479c-912e-875644a1e392", "status":"IN_PROGRESS", "message":"Endpoint Successfully Created", "referenceId":"system-virtualcenter" }
-
Assign the reference ID of the endpoint
to a variable name.
vSpherePublisherEndpoint = '<referenceID>'
-
Get information about the vSphere publisher endpoint.
curl -X GET \ '$url/lcm/cms/api/v1/endpoints/{$vSpherePublisherEndpoint}' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' | jq "."
-
To validate the information provided to
create the vSphere publisher endpoint,
examine the response.
{ "id":"system-virtualcenter", "createdOn":1579251621392, "lastUpdatedOn":1579251621736, "errorMessage":"Endpoint policies are not configured", "supportCapture":false, "supportTest":false, "supportRelease":false, "supportTemplates":true, "supportOnlySourceControlledContent":false, "storeTemplates":false, "requestedBy":"admin@local", "name":"system-virtualcenter", "enabled":false, "category":"vSphere", "systemEndpoint":true, "server": "vCserver.my.company.com", "userName": "[email protected]", "password": "example_user_password", "reviewRequired":false, "contentLibraryId":"6036cf9a-2833-40a0-9c46-13dbd567e5e1", "endpointType":"SERVER_ENDPOINT", "userIdentity":"admin@local" }
-
As a developer, create a vSphere endpoint to capture templates.
curl -X POST \ '$url/lcm/cms/api/v1/endpoints' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "supportTemplates": false, "tagNames": ["tag1"], "endpointType": "CONTENT_ENDPOINT", "category": "vSphere", "name": "vc-endpoint", "server": "{<VC_IP_FQDN>}", "userName": "{<vcUsername>}", "password": "{<vcPassword>}", "supportCapture": true, "supportRelease": false }' | jq "."
-
Examine the response to check the
progress of the request and to get the reference ID.
{ "requestId":"eb405741-81fa-479c-912e-875644a1e392", "status":"IN_PROGRESS", "message":"Endpoint Successfully Created", "referenceId":"06f793ba-606f-4838-803d-c6819255d50b" }
-
Assign the reference ID of the endpoint to a variable name.
vSphereCaptureEndpoint = '<referenceID>'
-
Get information about the vSphere
capture endpoint.
curl -X GET \ '$url/lcm/cms/api/v1/endpoints/{$vSphereCaptureEndpoint}' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' | jq "."
-
To validate the information provided to create the vSphere capture endpoint, examine the response.
{ "id":"06f793ba-606f-4838-803d-c6819255d50b", "createdOn":1579251801788, "lastUpdatedOn":1579251801870, "supportCapture":true, "supportTest":false, "supportRelease":false, "supportTemplates":false, "supportOnlySourceControlledContent":false, "storeTemplates":false, "requestedBy":"admin@local", "name":"vc-endpoint", "enabled":true, "category":"vSphere", "systemEndpoint":false, "server": "vCserver.my.company.com", "userName": "[email protected]", "password": "example_user_password", "reviewRequired":false, "endpointType":"CONTENT_ENDPOINT", "userIdentity":"admin@local" }
- As a DevOps administrator, use vCenter Server to configure a library that subscribes to the vSphere environment where the developer wants to deploy templates.
-
As a developer, add a vSphere endpoint that is configured with
vCenter
Server details to deploy a
template to a network, datastore, or folder.
curl -X POST \ '$url/lcm/cms/api/v1/endpoints' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' \ -d '{ "supportCapture": false, "supportTest": true, "supportRelease": true, "supportTemplates": true, "supportOnlySourceControlledContent": false, "storeTemplates": false, "requestedBy": "admin@local", "name": "lcm-vc1", "enabled": true, "category": "vSphere", "systemEndpoint": false, "server": "{<VC_IP_FQDN>}", "userName": "{<vcUsername>}", "password": "{<vcPassword>}", "targetDatacenter": "example_DC", "vcTargetHostName": "example_cluster, "vmTargetDatastore": "example_datastore", "vmTargetFolderPath": "/example_folder/", "vmTargetNetwork": "example_network", "reviewRequired": false, "endpointType": "CONTENT_ENDPOINT", "userIdentity": "admin@local", "tagNames": [] }' | jq "."
-
Examine the response to check the progress of the request and to get the reference
ID.
{ "requestId":"eb405741-81fa-479c-912e-875644a1e392", "status":"IN_PROGRESS", "message":"Endpoint Successfully Created", "referenceId":"06f793ba-606f-4838-803d-c6819255d50b" }
-
Assign the reference ID of the endpoint to a variable name.
vSphereDeployEndpoint = '<referenceID>'
-
Get information about the vSphere deploy endpoint.
curl -X GET \ '$url/lcm/cms/api/v1/endpoints/{$vSphereDeployEndpoint}' \ -H 'Accept: application/json' \ -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \ -H 'Content-Type: application/json' | jq "."
-
To validate the information provided to create the vSphere deploy endpoint, examine the response.
{ "id":"06f793ba-606f-4838-803d-c6819255d50b", "createdOn":1579251801788, "lastUpdatedOn":1579251801870, "supportCapture": false, "supportTest": true, "supportRelease": true, "supportTemplates": true, "supportOnlySourceControlledContent": false, "storeTemplates": false, "requestedBy": "admin@local", "name": "lcm-vc1", "enabled": true, "category": "vSphere", "systemEndpoint": false, "server": "vCserver.my.company.com", "userName": "[email protected]", "password": "example_user_password", "targetDatacenter": "example_DC", "vcTargetHostName": "example_cluster, "vmTargetDatastore": "example_datastore", "vmTargetFolderPath": "/example_folder/", "vmTargetNetwork": "example_network", "reviewRequired": false, "endpointType": "CONTENT_ENDPOINT", "userIdentity": "admin@local", "tagNames": [] }
What to do next
- vSphere-Template
- vSphere-Custom Spec