1. Overview
VMware Cloud Foundation API Reference Guide
1.2. License information
License : VMware Cloud Foundation
Terms of service : http://www.vmware.com/
1.3. URI scheme
Host : sfo-vcf01.rainpole.io
BasePath : /
Schemes : HTTPS
1.4. Tags
-
AVNs : APIs for managing Solutions Networking (Application Virtual Networks)
-
BackupRestore : APIs for managing Backups and Restore
-
Bundles : APIs for managing Bundles
-
CEIP : APIs for managing CEIP status
-
Certificates : APIs for managing Certificates
-
Clusters : APIs for managing Clusters
-
Credentials : APIs for managing Credentials
-
DepotSettings : APIs for managing Depot Settings
-
Domains : APIs for managing Domains
-
FIPS mode details : APIs for getting FIPS mode details
-
Federation : APIs for managing Federation
-
Hosts : APIs for managing Hosts
-
License Keys : APIs for managing License Keys
-
Manifests : APIs for managing LCM Manifests
-
Members : APIs for managing Members of the Federation
-
Membership Token : APIs for managing Membership Token
-
NSX-T Clusters : APIs for managing NSX-T Clusters
-
Network Pools : APIs for managing Network Pools
-
NsxTEdgeClusters : APIs for managing NSX-T Edge Clusters
-
PSCs : APIs for managing PSCs
-
Personalities : APIs for managing Personalities
-
Progress : APIs for progress of Federation Tasks
-
Releases : APIs for managing Releases
-
SDDC : APIs for managing SDDC
-
SOS : APIs for managing SOS
-
SddcManagers : APIs for managing SDDC Managers
-
SystemPrechecks : APIs for managing System Prechecks
-
Tasks : APIs for managing Tasks
-
Tokens : APIs for managing Access and Refresh Token
-
Trusted Certificates : APIs for managing Trusted Certificates
-
Upgradables : APIs for managing Upgradables
-
Upgrades : APIs for managing Upgrades
-
Users : APIs for managing Users
-
VasaProviders : APIs for managing VASA Providers
-
VcfServices : APIs for managing VCF Services
-
VersionAliasesForBundleComponentType : APIs for managing Version Alias Configuration
-
WSA : APIs for managing Workspace ONE Access for vRealize
-
system : APIs for managing DNS & NTP configuration
-
vCenters : APIs for managing vCenters
-
vRA : APIs for managing vRealize Automation
-
vRLI : APIs for managing vRealize Log Insight
-
vROPs : APIs for managing vRealize Operations
-
vRSLCM : APIs for managing vRealize Suite Lifecycle Manager
1.5. API Versioning
-
API versioning is at the granularity of each resource.
-
API versioning is similar to URI versioning so that it is explicit i.e all APIs have the "/<version>/" prefix.
-
API version is independent of the product version and will evolve independently.
Tip
|
Reference APIs using the full path i.e "/v1/hosts" so that any future changes can be localized to a small scope in the automation code. This ensures that when the API version is incremented, you only need to update the references to the old APIs (which are now marked as deprecated) with the new APIs |
Note
|
|
Product Version | APIs |
---|---|
Product Version N |
|
Product Version N+1 |
|
Product Version N+2 |
|
Product Version N+3 |
|
1.6. Security
1.6.1. Overview
Cloud Builder APIs
-
All APIs are secured and need an username and password for invocation.
-
The APIs follow the Basic Authentication scheme.
-
To invoke the APIs, Cloud Builder "admin" account account and its password is required.
SDDC Manager APIs
-
All APIs are secured and need an access token for invocation.
-
The APIs follow the Bearer Authentication scheme.
Tip
|
For security reasons, you should periodically update the password of the SDDC Manager account. |
-
To use more secured APIs like Get the Credentials, Update or rotate passwords for a list of resources, Retry a failed credentials task for a given ID, the user should have the appropriate role mapped. Refer Authorization section for more details.
1.6.2. Authentication
-
An access token and a refresh token can be obtained using the Token API. Refer Create a token pair section
-
An access token has a validity of 1 hour and a refresh token has a validity of 24 hours.
-
If the access token has expired, a new access token can be obtained using the refresh token (provided the refresh token has not expired). Refer Refresh an access token section.
-
If the refresh token has expired, a new pair of access and refresh token can be obtained using the Token API. Refer Create a token pair section.
-
Refer below for various use cases of API invocation and the HTTP response code :-
API invocation | HTTP Response code |
---|---|
With a valid access token |
200 |
Without an access token |
401 |
With an expired access token |
401 |
With an access token with insufficient privileges |
403 |
With an expired or invalid refresh token |
404 |
1.6.3. Authorization
-
Every user can either have an ADMIN role or an OPERATOR role. Refer Get the Roles and Add users for information to fetch the Role ID and add users.
-
To invoke more secured APIs like Get the Credentials, Update or rotate passwords for a list of resources, Retry a failed credentials task for a given ID, the user MUST have the ADMIN role.
1.6.4. Changing the "admin" account password
Cloud Builder APIs
Note
|
Changing password of the Cloud Builder "admin" account is not supported. |
1.7. URL Encoding
While invoking any API, make sure to encode the URL twice using UTF-8 encoding scheme if the URL contains any non-ASCII character.
Example:
Character # is first encoded to %23, which is again encoded to %2523.
1.8. API Changelog
Note
|
Legacy APIs, that predated the launch of public APIs, will no longer be accessible. These legacy APIs use Basic Authentication mechanism which is not considered as an enterprise grade security mechanism and hence not recommended. All current public APIs use Token based authentication mechanism. |
Verb | Path | Parameter/Property |
---|---|---|
GET |
(New) /v1/system/health-summary |
Not Applicable |
GET |
(New) /v1/system/health-summary/{id} |
Not Applicable |
GET |
(New) /v1/system/health-summary/{id}/data |
Not Applicable |
POST |
(New) /v1/system/health-summary |
Not Applicable |
GET |
(New) /v1/system/support-bundles |
Not Applicable |
GET |
(New) /v1/system/support-bundles/{id} |
Not Applicable |
GET |
(New) /v1/system/support-bundles/{id}/data |
Not Applicable |
POST |
(New) /v1/system/support-bundles |
Not Applicable |
GET |
/v1/clusters |
|
GET |
/v1/clusters/{id} |
|
POST |
/v1/clusters |
|
PATCH |
/v1/clusters/{id} |
|
POST |
/v1/clusters/validations |
|
POST |
/v1/clusters/{id}/validations |
|
POST |
/v1/domains |
|
PATCH |
/v1/domains/{id} |
|
POST |
/v1/domains/validations |
|
POST |
/v1/domains/{domainId}/clusters/{clusterName}/queries |
|
GET |
/v1/domains/{domainId}/clusters/{clusterName}/queries/{queryId} |
|
POST |
/v1/domains/{domainId}/clusters/queries |
|
GET |
/v1/domains/{domainId}/clusters/queries/{queryId} |
|
2. Use cases
2.1. Access Token and Refresh Token
2.1.1. Create a token pair
-
SDDC Manager APIs are secured using token-based authentication.
-
As a first step before invocation of any API, an access token has to be obtained.
-
Invoking the Token API returns a token pair - access token and refresh token.
-
To invoke an API, the access token has to be passed in the Authorization header as a Bearer token.
Prerequisites
-
The following data is required :-
-
VCF Credentials
-
User created in SSO or AD domain and associated as an ADMIN or OPERATOR or VIEWER role in VCF
-
Username
-
Password
-
-
Note
|
For the sake of brevity, the Bearer tokens have been abbreviated in the code snippets throughout this document. |
Note
|
To create a token pair with "apiKey", refer Obtain access token for a service user section. |
Steps
-
Invoke the API with the right credentials.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tokens' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username" : "[email protected]",
"password" : "VMware123!"
}'
HTTP Request
POST /v1/tokens HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 77
Host: sfo-vcf01.rainpole.io
{
"username" : "[email protected]",
"password" : "VMware123!"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 683
{
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNTFlZWI5Yy1mNWNmLTQ3N2UtYTJhYS0yMzg4ZmFmYzMwNDAiLCJpYXQiOjE1ODIxMzgzMzQsInN1YiI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsImlzcyI6InZjZi1hdXRoIiwiYXVkIjoic2RkYy1zZXJ2aWNlcyIsIm5iZiI6MTU4MjEzODMzNCwiZXhwIjoxNTgyMTQxOTM0LCJ1c2VyIjoiYWRtaW5pc3RyYXRvckB2c3BoZXJlLmxvY2FsIiwibmFtZSI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsInNjb3BlIjpbIkJBQ0tVUF9DT05GSUdfUkVBRCIsIkNSRURFTlRJQUxfUkVBRCIsIlVTRVJfV1JJVEUiLCJPVEhFUl9XUklURSIsIkJBQ0tVUF9DT05GSUdfV1JJVEUiLCJPVEhFUl9SRUFEIiwiVVNFUl9SRUFEIiwiQ1JFREVOVElBTF9XUklURSJdfQ.ylzrCyo4ymTKtSv1flmUrW-b8mxjRl7T2uV3a8sWWMA",
"refreshToken" : {
"id" : "3c6b3c30-3bf2-480b-9539-8483699ab911"
}
}
2.1.2. Refresh an access token
-
Refresh token is a special type of token used to renew an access token when the access token expires.
-
A refresh token can be used any number of times to obtain an access token until it has not expired or been revoked.
Prerequisites
-
The following data is required
-
Refresh token is obtained when token pair is generated
-
Steps
-
Invoke the API by passing the refresh token.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tokens/access-token/refresh' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '"eb8d1a03-6644-4a76-b018-2c7b02c2a526"'
HTTP Request
PATCH /v1/tokens/access-token/refresh HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 38
Host: sfo-vcf01.rainpole.io
"eb8d1a03-6644-4a76-b018-2c7b02c2a526"
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 583
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNTFlZWI5Yy1mNWNmLTQ3N2UtYTJhYS0yMzg4ZmFmYzMwNDAiLCJpYXQiOjE1ODIxMzgzMzQsInN1YiI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsImlzcyI6InZjZi1hdXRoIiwiYXVkIjoic2RkYy1zZXJ2aWNlcyIsIm5iZiI6MTU4MjEzODMzNCwiZXhwIjoxNTgyMTQxOTM0LCJ1c2VyIjoiYWRtaW5pc3RyYXRvckB2c3BoZXJlLmxvY2FsIiwibmFtZSI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsInNjb3BlIjpbIkJBQ0tVUF9DT05GSUdfUkVBRCIsIkNSRURFTlRJQUxfUkVBRCIsIlVTRVJfV1JJVEUiLCJPVEhFUl9XUklURSIsIkJBQ0tVUF9DT05GSUdfV1JJVEUiLCJPVEhFUl9SRUFEIiwiVVNFUl9SRUFEIiwiQ1JFREVOVElBTF9XUklURSJdfQ.ylzrCyo4ymTKtSv1flmUrW-b8mxjRl7T2uV3a8sWWMA
2.1.3. Revoke a refresh token
-
As refresh tokens are generally issued with validity for longer durations, there is a possibility that they maybe compromised.
-
Revoking a refresh token means that an already issued refresh token cannot be used again to refresh an access token.
Prerequisites
-
The following data is required
-
Refresh token
-
Steps
-
Invoke the API by passing the refresh token which is to be revoked.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tokens/refresh-token' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '"eb8d1a03-6644-4a76-b018-2c7b02c2a526"'
HTTP Request
DELETE /v1/tokens/refresh-token HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 38
Host: sfo-vcf01.rainpole.io
"eb8d1a03-6644-4a76-b018-2c7b02c2a526"
HTTP Response
HTTP/1.1 204 No Content
2.2. User Management
2.2.1. Add users
-
This API is used to add users.
Prerequisites
-
The following data is required
-
Name of the SSO or AD domain
-
Username
-
Type of the user. For types supported, refer to User
-
Role ID
-
Steps
-
Fetch the role ID for the role.
Tip
|
Refer to Get the Roles |
-
Invoke the API to add a user.
Note
|
For the sake of brevity, the Bearer tokens in the Authorization header has been abbreviated in the code snippets throughout this document. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
}, {
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
}, {
"name" : "SERVICE_USER_1",
"type" : "SERVICE",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
} ]'
HTTP Request
POST /v1/users HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 437
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
}, {
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
}, {
"name" : "SERVICE_USER_1",
"type" : "SERVICE",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
}
} ]
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 884
{
"elements" : [ {
"id" : "8fe54904-6c4e-44ce-af89-2058e90b1f6f",
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
}, {
"id" : "cca58fb3-4c42-4743-877c-e40da138df95",
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
}, {
"id" : "29a5efaf-0d56-4cc4-956d-2c4b65ac0339",
"name" : "SERVICE_USER_1",
"domain" : "Nil",
"type" : "SERVICE",
"apiKey" : "4U894RcodKqgfYKN7EyagD6CaBR2jxd4",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
} ]
}
2.2.2. Add service users
-
This API is used to add service users.
Prerequisites
-
The following data is required
-
Username
-
Type of the user. The type would be SERVICE for service users. For types supported, refer to User.
-
Role ID
-
Steps
-
Fetch the role ID for the role.
Tip
|
Refer to Get the Roles |
-
Invoke the API to create a service user.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"name" : "service_account_1",
"type" : "SERVICE",
"role" : {
"id" : "0d5b7431-e13d-411a-8866-fd84a4a97506"
}
} ]'
HTTP Request
POST /v1/users HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 128
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"name" : "service_account_1",
"type" : "SERVICE",
"role" : {
"id" : "0d5b7431-e13d-411a-8866-fd84a4a97506"
}
} ]
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 337
{
"elements" : [ {
"id" : "f6ed4ea7-fa89-417c-8495-c3b4891799a0",
"name" : "service_account_1",
"domain" : "Nil",
"type" : "SERVICE",
"apiKey" : "L9lIamad2eYP4fsjUB8b7JpUkAYB1rVm",
"role" : {
"id" : "0d5b7431-e13d-411a-8866-fd84a4a97506"
},
"creationTimestamp" : "2021-09-13T23:21:33.028Z"
} ]
}
-
The response of the API contains the apiKey. With the apiKey, the service user can login and obtain access token.
Obtain access token for a service user
Prerequisites
-
The following data is required
-
API key
-
Steps
-
Invoke the API with the API key to generate an access token and refresh token.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tokens' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username" : "automationapp",
"apiKey" : "6598S0SIQC04sGjEr0nIeDlZx18GYRoT"
}'
HTTP Request
POST /v1/tokens HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 83
Host: sfo-vcf01.rainpole.io
{
"username" : "automationapp",
"apiKey" : "6598S0SIQC04sGjEr0nIeDlZx18GYRoT"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 683
{
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNTFlZWI5Yy1mNWNmLTQ3N2UtYTJhYS0yMzg4ZmFmYzMwNDAiLCJpYXQiOjE1ODIxMzgzMzQsInN1YiI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsImlzcyI6InZjZi1hdXRoIiwiYXVkIjoic2RkYy1zZXJ2aWNlcyIsIm5iZiI6MTU4MjEzODMzNCwiZXhwIjoxNTgyMTQxOTM0LCJ1c2VyIjoiYWRtaW5pc3RyYXRvckB2c3BoZXJlLmxvY2FsIiwibmFtZSI6ImFkbWluaXN0cmF0b3JAdnNwaGVyZS5sb2NhbCIsInNjb3BlIjpbIkJBQ0tVUF9DT05GSUdfUkVBRCIsIkNSRURFTlRJQUxfUkVBRCIsIlVTRVJfV1JJVEUiLCJPVEhFUl9XUklURSIsIkJBQ0tVUF9DT05GSUdfV1JJVEUiLCJPVEhFUl9SRUFEIiwiVVNFUl9SRUFEIiwiQ1JFREVOVElBTF9XUklURSJdfQ.ylzrCyo4ymTKtSv1flmUrW-b8mxjRl7T2uV3a8sWWMA",
"refreshToken" : {
"id" : "3c6b3c30-3bf2-480b-9539-8483699ab911"
}
}
2.2.3. Get the Users
-
This API is used to get all the users listed in the system.
-
This also gives other details associated with the user like domain, type of user and the role id.
Steps
-
Invoke the API to fetch all users.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/users HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 884
{
"elements" : [ {
"id" : "8fe54904-6c4e-44ce-af89-2058e90b1f6f",
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
}, {
"id" : "cca58fb3-4c42-4743-877c-e40da138df95",
"name" : "[email protected]",
"domain" : "vsphere.local",
"type" : "USER",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
}, {
"id" : "29a5efaf-0d56-4cc4-956d-2c4b65ac0339",
"name" : "SERVICE_USER_1",
"domain" : "Nil",
"type" : "SERVICE",
"apiKey" : "4U894RcodKqgfYKN7EyagD6CaBR2jxd4",
"role" : {
"id" : "9dbf721d-c817-4813-b32b-97f23af57af9"
},
"creationTimestamp" : "2021-09-13T23:21:33.792Z"
} ]
}
2.2.4. Delete a User
-
This API is used to delete a user.
Prerequisites
-
The following data is required
-
User ID
-
Steps
-
Invoke the API with the "user ID" to be deleted.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users/8fe54904-6c4e-44ce-af89-2058e90b1f6f' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/users/8fe54904-6c4e-44ce-af89-2058e90b1f6f HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
2.2.5. Get the Roles
-
This API is used to fetch all the roles supported by VCF.
-
Currently there are three roles that are supported - ADMIN, OPERATOR and VIEWER.
Prerequisites
None
Steps
-
Invoke the API to fetch the roles and role IDs
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/roles' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/roles HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 361
{
"elements" : [ {
"id" : "1d71786b-ccfa-45e0-8ed6-d9a4db4e0530",
"name" : "ADMIN",
"description" : "Administrator"
}, {
"id" : "5edc66cf-18f5-41df-bc5b-1dd6be73336f",
"name" : "OPERATOR",
"description" : "Operator"
}, {
"id" : "00c43164-7a02-4ec5-a817-a3c3ace2bc69",
"name" : "VIEWER",
"description" : "Viewer"
} ]
}
2.2.6. Get SSO Domain
-
This API is used to fetch the SSO domains known to the system.
Prerequisites
-
None
Steps
-
Invoke the API by specifying the "SSO domain name".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sso-domains' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/sso-domains HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 38
{
"elements" : [ "vsphere.local" ]
}
2.2.7. Get SSO Domain entities
-
This API is used to fetch all domain entities in a particular domain known to the system.
-
This includes users and subdomains.
Prerequisites
-
The following data is required
-
SSO Domain name
-
Steps
-
Invoke the API by specifying the "SSO domain name".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sso-domains/vsphere.local/entities' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/sso-domains/vsphere.local/entities HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 786
{
"elements" : [ {
"id" : "[email protected]",
"name" : "USER_1",
"type" : "USER"
}, {
"id" : "[email protected]",
"name" : "USER_2",
"type" : "USER"
}, {
"id" : "[email protected]",
"name" : "USER_3",
"type" : "USER"
}, {
"id" : "[email protected]",
"name" : "USER_4",
"type" : "USER"
}, {
"id" : "ä[email protected]",
"name" : "äUSER_5",
"type" : "USER"
}, {
"id" : "vsphere.local\\\\group_1",
"name" : "",
"type" : "GROUP"
}, {
"id" : "vsphere.local\\\\group_2",
"name" : "",
"type" : "GROUP"
}, {
"id" : "vsphere.local\\\\group_3",
"name" : "",
"type" : "GROUP"
}, {
"id" : "vsphere.local\\\\group_4",
"name" : "",
"type" : "GROUP"
} ]
}
2.2.8. Get local account details
-
This API is used to check whether or not the local account is configured.
Prerequisites
None
Steps
-
Invoke the API to check whether or not the local account is configured.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users/local/admin' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/users/local/admin HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 141
{
"isConfigured" : false,
"name" : "admin@local",
"type" : "USER",
"role" : {
"id" : "a93c2288-89e7-49ea-a65b-e30d2845e544"
}
}
2.2.9. Update password for local account
-
This API is used to update the local account password or to configure local account if it wasn’t configured during the bringup
Prerequisites
-
The following data is required
-
Old Password
-
New Password
-
Note
|
Provide only "newPassword" if you are configuring the local account for the first time. |
-
New password must be in compliance with these password policies.
Password requirements:
-
Length: 12-127 characters
-
Allowed special characters: ! % @ $ ^ # ? *
-
At least 1 small letter, capital letter, number and special character should be present
-
At least 2 alphabetic characters should be present
-
A character cannot be repeated more than 3 times consecutively
-
Steps
-
Invoke the API to update the local account password or to configure local account.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/users/local/admin' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"oldPassword" : "VMware123!",
"newPassword" : "VMware12345!"
}'
HTTP Request
PATCH /v1/users/local/admin HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 68
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"oldPassword" : "VMware123!",
"newPassword" : "VMware12345!"
}
HTTP Response
HTTP/1.1 204 No Content
2.3. SDDCs (Management Domain)
Note
|
The /v1/sddcs APIs are available only on the Cloud Builder appliance |
2.3.1. Create an SDDC
Create an SDDC workflow executes automatically the following:
-
Configures networking on each host.
-
Configures vSAN storage on the hosts.
-
Deploys and configures the management stack - vCenter and NSX
-
Deploys and configures SDDC Manager which provides the ability to perform Day 2 operations
Prerequisites
-
The following data is required
-
ID of the SDDC instance
-
Detailed list of host
-
Tip
|
Refer to: SddcHostSpec. |
-
vCenter details
Tip
|
Refer to: SddcVcenterSpec. |
-
Cluster details
Tip
|
Refer to: SddcClusterSpec. |
-
Detailed list of Distributed Virtual Switches
Tip
|
Refer to: DvsSpec. |
-
Detailed list of networks
Tip
|
Refer to: SddcNetworkSpec. |
-
DNS details
Tip
|
Refer to: DnsSpec. |
-
List of NTP servers
-
Name of the task to execute
-
The following data is optional
-
vSAN details
-
Tip
|
Refer to: VsanSpec. |
-
NSX-T details
Tip
|
Refer to: SddcNsxtSpec. |
Note
|
In order to configure NSX-T Host Overlay Using a Static IP Pool, please provide ipAddressPoolSpec in nsxtSpec. Otherwise, DHCP will be chosen. Example specifications can seen below. |
-
SDDC Manager details
Tip
|
Refer to: SddcManagerSpec. |
-
List of PSC’s details
Tip
|
Refer to: PscSpec. |
-
VxManager details
Tip
|
Refer to: VxManagerSpec. |
-
Name of network pool associated with the management domain
-
List of names of the components to be excluded
-
Version of the Distributed Virtual Switch
-
Boolean to identify whether Customer Experience Improvement Program should be enabled
-
Boolean to identify whether Federal Information Processing Standards should be enabled
-
Remote Site details
Tip
|
Refer to: RemoteSiteSpec. |
-
Passphrase for the certificates to be used for vCenter and NSX
-
License for the ESXi hosts
-
Boolean to identify if ESXi thumbprint validation is to be skipped
-
Security details
Tip
|
Refer to: SecuritySpec. |
-
Boolean to identify if vSAN should be cleaned up
Note
|
Should be true only if this is the very first run |
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/validations' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}'
HTTP Request
POST /v1/sddcs/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7380
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 9202
{
"id" : "26c27804-f837-4e4f-b50f-1625af792f0f",
"executionStatus" : "COMPLETED",
"validationChecks" : [ ],
"additionalProperties" : {
"sddcSpec" : "{\n \"dvSwitchVersion\": \"7.0.0\",\n \"skipEsxThumbprintValidation\": true,\n \"managementPoolName\": \"bringup-networkpool\",\n \"sddcManagerSpec\": {\n \"hostname\": \"sfo-vcf01\",\n \"ipAddress\": \"10.0.0.4\",\n \"netmask\": \"255.255.255.0\",\n \"localUserPassword\": \"xxxxxxx\",\n \"rootUserCredentials\": {\n \"username\": \"root\",\n \"password\": \"xxxxxxx\"\n },\n \"secondUserCredentials\": {\n \"username\": \"vcf\",\n \"password\": \"xxxxxxx\"\n }\n },\n \"sddcId\": \"sddcId-public-api-01\",\n \"esxLicense\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n \"taskName\": \"workflowconfig/workflowspec-ems.json\",\n \"ntpServers\": [\n \"10.0.0.250\"\n ],\n \"dnsSpec\": {\n \"subdomain\": \"vrack.vsphere.local\",\n \"domain\": \"vsphere.local\",\n \"nameserver\": \"10.0.0.250\",\n \"secondaryNameserver\": \"10.0.0.250\"\n },\n \"networkSpecs\": [\n {\n \"subnet\": \"10.0.0.0/22\",\n \"vlanId\": \"0\",\n \"mtu\": \"1500\",\n \"networkType\": \"MANAGEMENT\",\n \"gateway\": \"10.0.0.250\"\n },\n {\n \"subnet\": \"10.0.4.0/24\",\n \"includeIpAddressRanges\": [\n {\n \"startIpAddress\": \"10.0.4.7\",\n \"endIpAddress\": \"10.0.4.48\"\n },\n {\n \"startIpAddress\": \"10.0.4.3\",\n \"endIpAddress\": \"10.0.4.6\"\n }\n ],\n \"includeIpAddress\": [\n \"10.0.4.50\",\n \"10.0.4.49\"\n ],\n \"vlanId\": \"0\",\n \"mtu\": \"8940\",\n \"networkType\": \"VSAN\",\n \"gateway\": \"10.0.4.253\"\n },\n {\n \"subnet\": \"10.0.8.0/24\",\n \"includeIpAddressRanges\": [\n {\n \"startIpAddress\": \"10.0.8.3\",\n \"endIpAddress\": \"10.0.8.50\"\n }\n ],\n \"vlanId\": \"0\",\n \"mtu\": \"8940\",\n \"networkType\": \"VMOTION\",\n \"gateway\": \"10.0.8.253\"\n }\n ],\n \"nsxtSpec\": {\n \"nsxtManagerSize\": \"medium\",\n \"nsxtManagers\": [\n {\n \"hostname\": \"sfo-m01-nsx01a\",\n \"ip\": \"10.0.0.31\"\n },\n {\n \"hostname\": \"sfo-m01-nsx01b\",\n \"ip\": \"10.0.0.32\"\n },\n {\n \"hostname\": \"sfo-m01-nsx01c\",\n \"ip\": \"10.0.0.33\"\n }\n ],\n \"rootNsxtManagerPassword\": \"xxxxxxx\",\n \"nsxtAdminPassword\": \"xxxxxxx\",\n \"nsxtAuditPassword\": \"xxxxxxx\",\n \"rootLoginEnabledForNsxtManager\": \"true\",\n \"sshEnabledForNsxtManager\": \"true\",\n \"overLayTransportZone\": {\n \"zoneName\": \"sfo-m01-tz-overlay01\",\n \"networkName\": \"net-overlay\"\n },\n \"vlanTransportZone\": {\n \"zoneName\": \"sfo-m01-tz-vlan01\",\n \"networkName\": \"net-vlan\"\n },\n \"vip\": \"10.0.0.30\",\n \"vipFqdn\": \"sfo-m01-nsx01\",\n \"nsxtLicense\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n \"transportVlanId\": 0,\n \"ipAddressPoolSpec\": {\n \"name\": \"sfo01-m01-cl01-tep01\",\n \"description\": \"ESXi Host Overlay TEP IP Pool\",\n \"subnets\": [\n {\n \"ipAddressPoolRanges\": [\n {\n \"start\": \"172.16.14.101\",\n \"end\": \"172.16.14.108\"\n }\n ],\n \"cidr\": \"172.16.14.0/24\",\n \"gateway\": \"172.16.14.1\"\n }\n ]\n }\n },\n \"vsanSpec\": {\n \"vsanName\": \"sfo-m01-cl01-ds-vsan01\",\n \"licenseFile\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n \"datastoreName\": \"sfo-m01-cl01-ds-vsan01\"\n },\n \"dvsSpecs\": [\n {\n \"mtu\": 8940,\n \"niocSpecs\": [\n {\n \"trafficType\": \"VSAN\",\n \"value\": \"HIGH\"\n },\n {\n \"trafficType\": \"VMOTION\",\n \"value\": \"LOW\"\n },\n {\n \"trafficType\": \"VDP\",\n \"value\": \"LOW\"\n },\n {\n \"trafficType\": \"VIRTUALMACHINE\",\n \"value\": \"HIGH\"\n },\n {\n \"trafficType\": \"MANAGEMENT\",\n \"value\": \"NORMAL\"\n },\n {\n \"trafficType\": \"NFS\",\n \"value\": \"LOW\"\n },\n {\n \"trafficType\": \"HBR\",\n \"value\": \"LOW\"\n },\n {\n \"trafficType\": \"FAULTTOLERANCE\",\n \"value\": \"LOW\"\n },\n {\n \"trafficType\": \"ISCSI\",\n \"value\": \"LOW\"\n }\n ],\n \"dvsName\": \"sfo-m01-cl01-vds01\",\n \"vmnics\": [\n \"vmnic0\",\n \"vmnic1\"\n ],\n \"networks\": [\n \"MANAGEMENT\",\n \"VSAN\",\n \"VMOTION\"\n ]\n }\n ],\n \"clusterSpec\": {\n \"clusterName\": \"sfo-m01-cl01\",\n \"clusterEvcMode\": \"\",\n \"resourcePoolSpecs\": [\n {\n \"cpuSharesLevel\": \"high\",\n \"cpuSharesValue\": 0,\n \"name\": \"sfo-m01-cl01-rp-sddc-mgmt\",\n \"memorySharesValue\": 0,\n \"cpuReservationPercentage\": 0,\n \"memoryLimit\": -1,\n \"memoryReservationPercentage\": 0,\n \"cpuReservationExpandable\": true,\n \"memoryReservationExpandable\": true,\n \"memorySharesLevel\": \"normal\",\n \"cpuLimit\": -1,\n \"type\": \"management\"\n },\n {\n \"cpuSharesLevel\": \"high\",\n \"cpuSharesValue\": 0,\n \"name\": \"sfo-m01-cl01-rp-sddc-network\",\n \"memorySharesValue\": 0,\n \"cpuReservationPercentage\": 0,\n \"memoryLimit\": -1,\n \"memoryReservationPercentage\": 0,\n \"cpuReservationExpandable\": true,\n \"memoryReservationExpandable\": true,\n \"memorySharesLevel\": \"normal\",\n \"cpuLimit\": -1,\n \"type\": \"network\"\n },\n {\n \"cpuSharesLevel\": \"normal\",\n \"cpuSharesValue\": 0,\n \"name\": \"sfo-m01-cl01-rp-sddc-compute\",\n \"memorySharesValue\": 0,\n \"cpuReservationPercentage\": 0,\n \"memoryLimit\": -1,\n \"memoryReservationPercentage\": 0,\n \"cpuReservationExpandable\": true,\n \"memoryReservationExpandable\": true,\n \"memorySharesLevel\": \"normal\",\n \"cpuLimit\": -1,\n \"type\": \"compute\"\n },\n {\n \"name\": \"sfo-m01-cl01-rp-user-compute\",\n \"type\": \"compute\",\n \"cpuReservationMhz\": 2100,\n \"cpuLimit\": -1,\n \"cpuReservationExpandable\": true,\n \"cpuSharesLevel\": \"normal\",\n \"memoryReservationMb\": 3128,\n \"memoryReservationExpandable\": true,\n \"memorySharesLevel\": \"normal\",\n \"memorySharesValue\": 0\n }\n ]\n },\n \"pscSpecs\": [\n {\n \"pscId\": \"psc-1\",\n \"pscSsoSpec\": {\n \"ssoDomain\": \"vsphere.local\"\n },\n \"adminUserSsoPassword\": \"xxxxxxx\"\n }\n ],\n \"vcenterSpec\": {\n \"vcenterIp\": \"10.0.0.6\",\n \"vcenterHostname\": \"sfo-m01-vc01\",\n \"licenseFile\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n \"rootVcenterPassword\": \"xxxxxxx\",\n \"vmSize\": \"tiny\"\n },\n \"hostSpecs\": [\n {\n \"credentials\": {\n \"username\": \"root\",\n \"password\": \"xxxxxxx\"\n },\n \"ipAddressPrivate\": {\n \"subnet\": \"255.255.252.0\",\n \"cidr\": \"\",\n \"ipAddress\": \"10.0.0.100\",\n \"gateway\": \"10.0.0.250\"\n },\n \"hostname\": \"sfo01-m01-esx01\",\n \"vSwitch\": \"vSwitch0\",\n \"serverId\": \"host-0\",\n \"association\": \"sfo-m01-dc01\"\n },\n {\n \"credentials\": {\n \"username\": \"root\",\n \"password\": \"xxxxxxx\"\n },\n \"ipAddressPrivate\": {\n \"subnet\": \"255.255.252.0\",\n \"cidr\": \"\",\n \"ipAddress\": \"10.0.0.101\",\n \"gateway\": \"10.0.0.250\"\n },\n \"hostname\": \"sfo01-m01-esx02\",\n \"vSwitch\": \"vSwitch0\",\n \"serverId\": \"host-1\",\n \"association\": \"sfo-m01-dc01\"\n },\n {\n \"credentials\": {\n \"username\": \"root\",\n \"password\": \"xxxxxxx\"\n },\n \"ipAddressPrivate\": {\n \"subnet\": \"255.255.255.0\",\n \"cidr\": \"\",\n \"ipAddress\": \"10.0.0.102\",\n \"gateway\": \"10.0.0.250\"\n },\n \"hostname\": \"sfo01-m01-esx03\",\n \"vSwitch\": \"vSwitch0\",\n \"serverId\": \"host-2\",\n \"association\": \"sfo-m01-dc01\"\n },\n {\n \"credentials\": {\n \"username\": \"root\",\n \"password\": \"xxxxxxx\"\n },\n \"ipAddressPrivate\": {\n \"subnet\": \"255.255.255.0\",\n \"cidr\": \"\",\n \"ipAddress\": \"10.0.0.103\",\n \"gateway\": \"10.0.0.250\"\n },\n \"hostname\": \"sfo01-m01-esx04\",\n \"vSwitch\": \"vSwitch0\",\n \"serverId\": \"host-3\",\n \"association\": \"sfo-m01-dc01\"\n }\n ]\n}\n"
}
}
-
Poll the task until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is
"SUCCEEDED". -
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is
"FAILED". -
Validate the input specification.
Note
|
Make changes to the input specification and re-validate using a new API invocation. |
-
Download the validation report (optional).
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/validations/86027e2d-30be-4492-b699-7c94c74654b0/report' -i -u 'admin:VMwareInfra@1' -X GET \
-H 'Content-Type: application/octet-stream'
HTTP Request
GET /v1/sddcs/validations/86027e2d-30be-4492-b699-7c94c74654b0/report HTTP/1.1
Content-Type: application/octet-stream
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: form-data; name="validation-report-26c27804-f837-4e4f-b50f-1625af792f0f"; filename="validation-report-26c27804-f837-4e4f-b50f-1625af792f0f"
Note
|
The report can be downloaded while the "executionStatus" is "IN_PROGRESS" or "COMPLETED" and the "resultStatus" is "SUCCEEDED" or "FAILED". |
-
Trigger the task using the valid input specification
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}'
HTTP Request
POST /v1/sddcs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7380
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428
Content-Type: application/json
Content-Length: 2497
{
"id" : "97f5c5fe-187f-46d3-b446-73e310187428",
"name" : "Bringup",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-12-09T15:32:22.300Z",
"sddcSubTasks" : [ {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
"processingStateDescription" : "Deploy vCenter Server",
"name" : "Deploy vCenter Server",
"description" : "Deploy vCenter Server",
"localizableNamePack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:21.942Z",
"updateTimestamp" : "2019-12-09T15:32:21.942Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "NSXConfiguration",
"processingStateDescription" : "Deploy and Configure NSX",
"name" : "Deploy NSX Manager",
"description" : "Deploy and Configure NSX for vSphere",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.012Z",
"updateTimestamp" : "2019-12-09T15:32:22.012Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
"processingStateDescription" : "Deploy SDDC Manager",
"name" : "Deploy SDDC Manager",
"description" : "Deploy SDDC Manager",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.083Z",
"updateTimestamp" : "2019-12-09T15:32:22.083Z"
} ]
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get an SDDC. |
-
If the "status" is "COMPLETED_WITH_SUCCESS", the task is completed successfully.
-
If the "status" is "COMPLETED_WITH_FAILURE", the task can be re-executed.
Tip
|
Refer to: Retry an SDDC creation. |
2.3.2. Get the SDDCS
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs' -i -u 'admin:VMwareInfra@1' -X GET
HTTP Request
GET /v1/sddcs HTTP/1.1
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2634
{
"elements" : [ {
"id" : "97f5c5fe-187f-46d3-b446-73e310187428",
"name" : "Bringup",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-12-09T15:32:22.300Z",
"sddcSubTasks" : [ {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
"processingStateDescription" : "Deploy vCenter Server",
"name" : "Deploy vCenter Server",
"description" : "Deploy vCenter Server",
"localizableNamePack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:21.942Z",
"updateTimestamp" : "2019-12-09T15:32:21.942Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "NSXConfiguration",
"processingStateDescription" : "Deploy and Configure NSX",
"name" : "Deploy NSX Manager",
"description" : "Deploy and Configure NSX for vSphere",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.012Z",
"updateTimestamp" : "2019-12-09T15:32:22.012Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
"processingStateDescription" : "Deploy SDDC Manager",
"name" : "Deploy SDDC Manager",
"description" : "Deploy SDDC Manager",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.083Z",
"updateTimestamp" : "2019-12-09T15:32:22.083Z"
} ]
} ]
}
2.3.3. Get an SDDC
Prerequisites
-
The following data is required
-
ID of the SDDC
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428' -i -u 'admin:VMwareInfra@1' -X GET \
-H 'Accept: application/json'
HTTP Request
GET /v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428 HTTP/1.1
Accept: application/json
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497
{
"id" : "97f5c5fe-187f-46d3-b446-73e310187428",
"name" : "Bringup",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-12-09T15:32:22.300Z",
"sddcSubTasks" : [ {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
"processingStateDescription" : "Deploy vCenter Server",
"name" : "Deploy vCenter Server",
"description" : "Deploy vCenter Server",
"localizableNamePack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:21.942Z",
"updateTimestamp" : "2019-12-09T15:32:21.942Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "NSXConfiguration",
"processingStateDescription" : "Deploy and Configure NSX",
"name" : "Deploy NSX Manager",
"description" : "Deploy and Configure NSX for vSphere",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.012Z",
"updateTimestamp" : "2019-12-09T15:32:22.012Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
"processingStateDescription" : "Deploy SDDC Manager",
"name" : "Deploy SDDC Manager",
"description" : "Deploy SDDC Manager",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.083Z",
"updateTimestamp" : "2019-12-09T15:32:22.083Z"
} ]
}
2.3.4. Retry an SDDC creation
Used to retry a failed SDDC creation task/workflow.
Prerequisites
-
The following data is required
-
ID of the failed task
-
-
The following data is optional
-
SDDC deployment details
-
Tip
|
Refer to: SddcSpec. |
Note
|
If the SDDC creation details are provided retry of the SDDC creation is performed with the updated information. |
Steps
-
Invoke the API without providing SDDC creation details
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Accept: application/json'
HTTP Request
PATCH /v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a HTTP/1.1
Accept: application/json
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497
{
"id" : "97f5c5fe-187f-46d3-b446-73e310187428",
"name" : "Bringup",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-12-09T15:32:22.300Z",
"sddcSubTasks" : [ {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
"processingStateDescription" : "Deploy vCenter Server",
"name" : "Deploy vCenter Server",
"description" : "Deploy vCenter Server",
"localizableNamePack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:21.942Z",
"updateTimestamp" : "2019-12-09T15:32:21.942Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "NSXConfiguration",
"processingStateDescription" : "Deploy and Configure NSX",
"name" : "Deploy NSX Manager",
"description" : "Deploy and Configure NSX for vSphere",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.012Z",
"updateTimestamp" : "2019-12-09T15:32:22.012Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
"processingStateDescription" : "Deploy SDDC Manager",
"name" : "Deploy SDDC Manager",
"description" : "Deploy SDDC Manager",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.083Z",
"updateTimestamp" : "2019-12-09T15:32:22.083Z"
} ]
}
-
Invoke the API by providing SDDC creation details
cURL Request
$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}'
HTTP Request
PATCH /v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7380
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"dvSwitchVersion" : "7.0.0",
"skipEsxThumbprintValidation" : true,
"managementPoolName" : "bringup-networkpool",
"sddcManagerSpec" : {
"hostname" : "sfo-vcf01",
"ipAddress" : "10.0.0.4",
"netmask" : "255.255.255.0",
"localUserPassword" : "xxxxxxx",
"rootUserCredentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"secondUserCredentials" : {
"username" : "vcf",
"password" : "xxxxxxx"
}
},
"sddcId" : "sddcId-public-api-01",
"esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"taskName" : "workflowconfig/workflowspec-ems.json",
"ntpServers" : [ "10.0.0.250" ],
"dnsSpec" : {
"subdomain" : "vrack.vsphere.local",
"domain" : "vsphere.local",
"nameserver" : "10.0.0.250",
"secondaryNameserver" : "10.0.0.250"
},
"networkSpecs" : [ {
"subnet" : "10.0.0.0/22",
"vlanId" : "0",
"mtu" : "1500",
"networkType" : "MANAGEMENT",
"gateway" : "10.0.0.250"
}, {
"subnet" : "10.0.4.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.4.7",
"endIpAddress" : "10.0.4.48"
}, {
"startIpAddress" : "10.0.4.3",
"endIpAddress" : "10.0.4.6"
} ],
"includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VSAN",
"gateway" : "10.0.4.253"
}, {
"subnet" : "10.0.8.0/24",
"includeIpAddressRanges" : [ {
"startIpAddress" : "10.0.8.3",
"endIpAddress" : "10.0.8.50"
} ],
"vlanId" : "0",
"mtu" : "8940",
"networkType" : "VMOTION",
"gateway" : "10.0.8.253"
} ],
"nsxtSpec" : {
"nsxtManagerSize" : "medium",
"nsxtManagers" : [ {
"hostname" : "sfo-m01-nsx01a",
"ip" : "10.0.0.31"
}, {
"hostname" : "sfo-m01-nsx01b",
"ip" : "10.0.0.32"
}, {
"hostname" : "sfo-m01-nsx01c",
"ip" : "10.0.0.33"
} ],
"rootNsxtManagerPassword" : "xxxxxxx",
"nsxtAdminPassword" : "xxxxxxx",
"nsxtAuditPassword" : "xxxxxxx",
"rootLoginEnabledForNsxtManager" : "true",
"sshEnabledForNsxtManager" : "true",
"overLayTransportZone" : {
"zoneName" : "sfo-m01-tz-overlay01",
"networkName" : "net-overlay"
},
"vlanTransportZone" : {
"zoneName" : "sfo-m01-tz-vlan01",
"networkName" : "net-vlan"
},
"vip" : "10.0.0.30",
"vipFqdn" : "sfo-m01-nsx01",
"nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"transportVlanId" : 0,
"ipAddressPoolSpec" : {
"name" : "sfo01-m01-cl01-tep01",
"description" : "ESXi Host Overlay TEP IP Pool",
"subnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "172.16.14.101",
"end" : "172.16.14.108"
} ],
"cidr" : "172.16.14.0/24",
"gateway" : "172.16.14.1"
} ]
}
},
"vsanSpec" : {
"vsanName" : "sfo-m01-cl01-ds-vsan01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-m01-cl01-ds-vsan01"
},
"dvsSpecs" : [ {
"mtu" : 8940,
"niocSpecs" : [ {
"trafficType" : "VSAN",
"value" : "HIGH"
}, {
"trafficType" : "VMOTION",
"value" : "LOW"
}, {
"trafficType" : "VDP",
"value" : "LOW"
}, {
"trafficType" : "VIRTUALMACHINE",
"value" : "HIGH"
}, {
"trafficType" : "MANAGEMENT",
"value" : "NORMAL"
}, {
"trafficType" : "NFS",
"value" : "LOW"
}, {
"trafficType" : "HBR",
"value" : "LOW"
}, {
"trafficType" : "FAULTTOLERANCE",
"value" : "LOW"
}, {
"trafficType" : "ISCSI",
"value" : "LOW"
} ],
"dvsName" : "sfo-m01-cl01-vds01",
"vmnics" : [ "vmnic0", "vmnic1" ],
"networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
} ],
"clusterSpec" : {
"clusterName" : "sfo-m01-cl01",
"clusterEvcMode" : "",
"resourcePoolSpecs" : [ {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-mgmt",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "management"
}, {
"cpuSharesLevel" : "high",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-network",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "network"
}, {
"cpuSharesLevel" : "normal",
"cpuSharesValue" : 0,
"name" : "sfo-m01-cl01-rp-sddc-compute",
"memorySharesValue" : 0,
"cpuReservationPercentage" : 0,
"memoryLimit" : -1,
"memoryReservationPercentage" : 0,
"cpuReservationExpandable" : true,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"cpuLimit" : -1,
"type" : "compute"
}, {
"name" : "sfo-m01-cl01-rp-user-compute",
"type" : "compute",
"cpuReservationMhz" : 2100,
"cpuLimit" : -1,
"cpuReservationExpandable" : true,
"cpuSharesLevel" : "normal",
"memoryReservationMb" : 3128,
"memoryReservationExpandable" : true,
"memorySharesLevel" : "normal",
"memorySharesValue" : 0
} ]
},
"pscSpecs" : [ {
"pscId" : "psc-1",
"pscSsoSpec" : {
"ssoDomain" : "vsphere.local"
},
"adminUserSsoPassword" : "xxxxxxx"
} ],
"vcenterSpec" : {
"vcenterIp" : "10.0.0.6",
"vcenterHostname" : "sfo-m01-vc01",
"licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"rootVcenterPassword" : "xxxxxxx",
"vmSize" : "tiny"
},
"hostSpecs" : [ {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.100",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx01",
"vSwitch" : "vSwitch0",
"serverId" : "host-0",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.252.0",
"cidr" : "",
"ipAddress" : "10.0.0.101",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx02",
"vSwitch" : "vSwitch0",
"serverId" : "host-1",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.102",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx03",
"vSwitch" : "vSwitch0",
"serverId" : "host-2",
"association" : "sfo-m01-dc01"
}, {
"credentials" : {
"username" : "root",
"password" : "xxxxxxx"
},
"ipAddressPrivate" : {
"subnet" : "255.255.255.0",
"cidr" : "",
"ipAddress" : "10.0.0.103",
"gateway" : "10.0.0.250"
},
"hostname" : "sfo01-m01-esx04",
"vSwitch" : "vSwitch0",
"serverId" : "host-3",
"association" : "sfo-m01-dc01"
} ]
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497
{
"id" : "97f5c5fe-187f-46d3-b446-73e310187428",
"name" : "Bringup",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-12-09T15:32:22.300Z",
"sddcSubTasks" : [ {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
"processingStateDescription" : "Deploy vCenter Server",
"name" : "Deploy vCenter Server",
"description" : "Deploy vCenter Server",
"localizableNamePack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
"messageKey" : "DeployVcAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:21.942Z",
"updateTimestamp" : "2019-12-09T15:32:21.942Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "NSXConfiguration",
"processingStateDescription" : "Deploy and Configure NSX",
"name" : "Deploy NSX Manager",
"description" : "Deploy and Configure NSX for vSphere",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
"messageKey" : "DeployNsxManager.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.012Z",
"updateTimestamp" : "2019-12-09T15:32:22.012Z"
}, {
"sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
"processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
"processingStateDescription" : "Deploy SDDC Manager",
"name" : "Deploy SDDC Manager",
"description" : "Deploy SDDC Manager",
"localizableNamePack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.name"
},
"localizableDescriptionPack" : {
"component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
"messageKey" : "DeploySddcManagerOnClusterAction.desc"
},
"status" : "INITIALIZED",
"creationTimestamp" : "2019-12-09T15:32:22.083Z",
"updateTimestamp" : "2019-12-09T15:32:22.083Z"
} ]
}
2.4. Customer Experience Improvement Program
2.4.1. Get CEIP Status
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ceip' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/ceip HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 83
{
"status" : "ENABLED",
"instanceId" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc"
}
2.4.2. Update CEIP Status
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ceip' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"status" : "ENABLE"
}'
HTTP Request
PATCH /v1/system/ceip HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"status" : "ENABLE"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/3f39d4a1-78d2-11e8-af85-f1cf26258cdc
Content-Length: 79
{
"id" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc",
"status" : "IN_PROGRESS"
}
-
Track the task status using the "id" from the previous response. The GET URL is set in the header response and can be used directly. Refer to: Get a Task.
-
If the "status" is "IN_PROGRESS", the task is still in progress.
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
-
Tip
|
To retry task refer to: Retry a Task. |
2.5. Network Pools
2.5.1. Create a Network Pool
-
Used to create a Network pool in the system. The added network pool would be used during domain deployments, host commission/expansion flows.
-
If a network pool which is already added before is added, you will get an error with HTTP status 400.
-
If a malformed network pool is added (payload for network parameters, name which is already exist), you will get an error.
Prerequisites
-
The following data is required
-
Name
-
List of networks associated with network pool in which each network has
-
Network type - It can be VSAN, VMOTION or NFS Type.
-
VLAN ID - Valid Vlan id range is 0 to 4096.
-
MTU - Valid MTU range is 1500 to 9216.
-
Subnet - Networks of diferent types (e.g. VSAN/VMOTION/NFS) must not have overlapping subnets
-
Subnet mask
-
gateway - The gateway defined for the specified subnet
-
List of IP address ranges - the start and end IP address of each IP Pool should be part of the subnet
-
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "engineering-networkpool",
"networks" : [ {
"type" : "VSAN",
"vlanId" : 3002,
"mtu" : 9001,
"subnet" : "192.168.8.0",
"mask" : "255.255.252.0",
"gateway" : "192.168.8.1",
"ipPools" : [ {
"start" : "192.168.8.5",
"end" : "192.168.8.8"
} ]
} ]
}'
HTTP Request
POST /v1/network-pools HTTP/1.1
Content-Type: application/json
Content-Length: 304
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "engineering-networkpool",
"networks" : [ {
"type" : "VSAN",
"vlanId" : 3002,
"mtu" : 9001,
"subnet" : "192.168.8.0",
"mask" : "255.255.252.0",
"gateway" : "192.168.8.1",
"ipPools" : [ {
"start" : "192.168.8.5",
"end" : "192.168.8.8"
} ]
} ]
}
HTTP Response
HTTP/1.1 201 Created
Location: /v1/network-pools/76d74e0d-c044-46df-bbd3-561b291dcb9b
Content-Type: application/json
Content-Length: 165
{
"id" : "76d74e0d-c044-46df-bbd3-561b291dcb9b",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "46115f0b-8838-4205-a1ba-a6a6124f34d6"
} ]
}
2.5.2. Get the Network Pools
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/network-pools HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 375
{
"elements" : [ {
"id" : "500e45b8-82dc-4c25-a918-543d317b2fc2",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "56e99b81-030c-4b67-ad55-c17e50a8ce72"
} ]
}, {
"id" : "451e01cc-d55a-46f3-a5ec-5a2d5abf8d9e",
"name" : "finance-networkpool",
"networks" : [ {
"id" : "491cc9f9-293e-4d43-8d56-5c4aed7b6d77"
} ]
} ]
}
2.5.3. Get a Network Pool
Prerequisites
-
The following data is required
-
ID of the network pool
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/627cab6b-219e-4ee5-b7a1-4fa33a68f084' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/network-pools/627cab6b-219e-4ee5-b7a1-4fa33a68f084 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 165
{
"id" : "627cab6b-219e-4ee5-b7a1-4fa33a68f084",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "53fcce0f-0431-459e-876f-d85058652f3c"
} ]
}
2.5.4. Get a Network of a Network Pool
Prerequisites
-
The following data is required
-
ID of the network
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/4dcd1ed6-037d-430d-9633-af0b066db9ed/networks/02639e0d-09ff-42f3-8124-72dc4eadbe7b' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 270
{
"id" : "02639e0d-09ff-42f3-8124-72dc4eadbe7b",
"type" : "VSAN",
"vlanId" : 3002,
"mtu" : 9216,
"subnet" : "192.168.8.0",
"mask" : "255.255.252.0",
"gateway" : "192.168.8.1",
"ipPools" : [ {
"start" : "192.168.8.5",
"end" : "192.168.8.8"
} ]
}
2.5.5. Rename a Network Pool
Prerequisites
-
Network pool must exist.
Steps
-
Get the ID of the network pool. Filter the response by the network pool’s current name to get the corresponding ID.
-
Create a network pool update spec. Create a JSON with the "name" field containing the desired new network pool name.
-
Invoke the network pool rename (update) task using the input spec and network pool ID.
Note
|
Running the updateNetworkPool API will ensure that the requested new name is valid. The API call will fail if the requested new name is invalid. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/7b202441-6e6f-4c20-b88f-f7450280c26f' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new_name"
}'
HTTP Request
PATCH /v1/network-pools/7b202441-6e6f-4c20-b88f-f7450280c26f HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "new_name"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 165
{
"id" : "7b202441-6e6f-4c20-b88f-f7450280c26f",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "ce907cb9-e278-4b6e-84fb-ffb24669d221"
} ]
}
2.5.6. Delete a Network Pool
-
Used to delete a Network pool.
-
Deleting a networkpool which is being used, will give an error.
-
Deleting a networkpool which does not exist, will give a HTTP response code 404.
Prerequisites
-
The following data is required
-
ID of the network pool
-
Steps
-
Invoke the API
Tip
|
Refer to: Get the Network Pools to retrieve all network pools in the system and use the ID of network pool to be deleted. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/c965b176-01dc-4a54-b60c-47400465a28b' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/network-pools/c965b176-01dc-4a54-b60c-47400465a28b HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
2.5.7. Add an IP Pool to a Network of a Network Pool
Prerequisites
-
The following data is required
-
ID of the network pool
-
Tip
|
Refer to: Get the Network Pools |
-
ID of the network.
Tip
|
Refer to: Get a Network of a Network Pool |
-
The start and end IP addresses for the IP pool
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/baa47936-36fc-4a3b-bc09-77c4b293349c/networks/ea25d8a9-916e-4818-b48b-e8ad435a1a69/ip-pools' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}'
Request Body
POST /v1/network-pools/baa47936-36fc-4a3b-bc09-77c4b293349c/networks/ea25d8a9-916e-4818-b48b-e8ad435a1a69/ip-pools HTTP/1.1
Content-Type: application/json
Content-Length: 54
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}
Response Body
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 270
{
"id" : "83eae557-a26e-4bea-8c5e-8f3fa72d86d0",
"type" : "VSAN",
"vlanId" : 3002,
"mtu" : 9216,
"subnet" : "192.168.8.0",
"mask" : "255.255.252.0",
"gateway" : "192.168.8.1",
"ipPools" : [ {
"start" : "192.168.8.5",
"end" : "192.168.8.8"
} ]
}
2.5.8. Delete an IP Pool from a Network of a Network Pool
Prerequisites
-
The following data is required
-
ID of the IP pool
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/network-pools/6a6429cf-d2f2-47b6-a7d6-bb3c35f9a407/networks/cc0f1f96-ff7e-42b8-8171-b7e93e28f93a/ip-pools' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}'
Response Body
DELETE /v1/network-pools/6a6429cf-d2f2-47b6-a7d6-bb3c35f9a407/networks/cc0f1f96-ff7e-42b8-8171-b7e93e28f93a/ip-pools HTTP/1.1
Content-Type: application/json
Content-Length: 54
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}
Response Body
HTTP/1.1 204 No Content
2.6. Tasks
2.6.1. Get the Tasks
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tasks' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/tasks HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1888
{
"elements" : [ {
"id" : "8c3192bb-6e20-41d4-a9e2-ef0927def1f6",
"name" : "Commissioning host(s) sfo01-w01-esx05.rainpole.io to VMware Cloud Foundation",
"status" : "Failed",
"creationTimestamp" : "2019-06-20T12:03:18.890Z",
"subTasks" : [ {
"name" : "HostVibValidationAction",
"description" : "Validate the hosts for any disallowed VIBS",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
}, {
"name" : "HostMaintenanceModeValidationAction",
"description" : "Verifies that none of the hosts are in maintenance mode",
"status" : "FAILED",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
}, {
"name" : "FetchDnsAndNtpAction",
"description" : "Fetches DNS \\u0026 NTP IPs",
"status" : "PENDING",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
} ],
"errors" : [ {
"errorCode" : "COMMISION_HOST_FAILED",
"message" : "Failed to Commissioning host(s) sfo01-w01-esx05.rainpole.io to VMware Cloud Foundation",
"causes" : [ ]
} ],
"resources" : [ {
"resourceId" : "f41b4df7-bbd1-4a3f-a1f1-f8bb7ae12816",
"type" : "HOST"
} ],
"resolutionStatus" : "UNRESOLVED",
"isCancellable" : false
}, {
"id" : "67333728-3fbc-4d84-a270-61f75aea1efe",
"name" : "Credentials rotate operation",
"status" : "Successful",
"creationTimestamp" : "2019-06-20T12:03:18.890Z",
"subTasks" : [ {
"name" : "sfo-vcf01.rainpole.io:FTP",
"description" : "Password rotate for sfo-vcf01.rainpole.io and credential type FTP",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
} ],
"resources" : [ {
"resourceId" : "8b3901aa-1ff7-488e-a9a9-aa742f0108ad",
"type" : "HOST"
} ],
"resolutionStatus" : "UNRESOLVED",
"isCancellable" : false
} ]
}
2.6.2. Get a Task
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API by providing the ID of the task as input.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tasks/ada38b3a-d3d7-4b94-b1a3-1f7b100665d7' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/tasks/ada38b3a-d3d7-4b94-b1a3-1f7b100665d7 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 942
{
"id" : "ada38b3a-d3d7-4b94-b1a3-1f7b100665d7",
"name" : "Vi workload Domain Creation",
"status" : "FAILED",
"creationTimestamp" : "1970-01-19T21:12:55.349Z",
"subTasks" : [ {
"name" : "HostVibValidationAction",
"description" : "Validate the hosts for any disallowed VIBS",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
}, {
"name" : "HostMaintenanceModeValidationAction",
"description" : "Verifies that none of the hosts are in maintenance mode",
"status" : "FAILED",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
}, {
"name" : "FetchDnsAndNtpAction",
"description" : "Fetches DNS \\u0026 NTP IPs",
"status" : "PENDING",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
} ],
"resources" : [ {
"resourceId" : "98d2e8a0-5ec5-4ce4-8904-edb1e5a018ed",
"type" : "HOST"
} ],
"resolutionStatus" : "UNRESOLVED",
"isCancellable" : false
}
2.6.3. Retry a Task
Used to retry a failed task/workflow.
Prerequisites
-
The following data is required
-
ID of the failed task
-
Steps
-
Invoke the API by providing the ID of the task as input.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/tasks/199e4a85-7d94-4e9c-8fd7-62b14ecf1509' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
PATCH /v1/tasks/199e4a85-7d94-4e9c-8fd7-62b14ecf1509 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Note
|
The credentials' update/rotate password tasks cannot be retried using this API. Refer to Retry a failed credentials task for a given ID section. |
2.7. Hosts
2.7.1. Commission the Hosts
Prerequisites
-
The following data is required
-
Username of each host
-
Password of each host
-
FQDN of each host
-
Network pool name to which each host has to be associated with (Optional)
-
Network pool ID to which each host has to be associated with
-
Tip
|
Refer to: Get the Network Pools and Get a Network of a Network Pool |
-
The host, if intended to be used for a vSAN domain, should be vSAN compliant and certified as per the VMware Hardware Compatibility Guide.
-
BIOS, HBA, SSD, HDD, etc. of the host must match the VMware Hardware Compatibility Guide.
-
The host must have the drivers and firmware versions specified in the VMware Hardware Compatibility Guide.
-
The host must have the supported version of ESXi (i.e 6.7.0-13006603) pre-installed on it.
-
SSH and syslog must be enabled on the host.
-
The host must be configured with DNS server for forward and reverse lookup and FQDN.
-
The host name must be same as the FQDN.
-
The host must have a standard switch with two NIC ports with a minimum 10 Gbps speed.
-
The management IP must be configured to the first NIC port.
-
Ensure that the host has a standard switch and the default uplinks with 10Gb speed are configured starting with traditional numbering (e.g., vmnic0) and increasing sequentially.
-
Ensure that the host hardware health status is healthy without any errors.
-
All disk partitions on HDD / SSD are deleted.
-
The hosts, if intended to be used for vSAN, domain must be associated with vSAN enabled network pool.
-
The hosts, if intended to be used for NFS, domain must be associated with NFS enabled network pool.
-
The hosts, if intended to be used for VMFS on FC, domain must be associated with either a NFS enabled or vMotion enabled network pool.
-
The hosts, if intended to be used for VVOL, domain must be associated with either a NFS enabled or vMotion enabled network pool.
Steps
-
Validate the input specification.
For VSAN storage type
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : null,
"sslThumbprint" : null
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]'
HTTP Request
POST /v1/hosts/validations HTTP/1.1
Content-Type: application/json
Content-Length: 668
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : null,
"sslThumbprint" : null
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/hosts/validations/2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a
Content-Type: application/json
Content-Length: 526
{
"id" : "2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating host sfo01-m01-esx01.rainpole.io",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating host sfo01-m01-esx02.rainpole.io",
"resultStatus" : "UNKNOWN"
} ]
}
For vVol storage type
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VVOL",
"vvolStorageProtocolType" : "ISCSI",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VVOL",
"vvolStorageProtocolType" : "NFS",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]'
HTTP Request
POST /v1/hosts/validations HTTP/1.1
Content-Type: application/json
Content-Length: 694
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VVOL",
"vvolStorageProtocolType" : "ISCSI",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VVOL",
"vvolStorageProtocolType" : "NFS",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/hosts/validations/3eb776de-5de6-40e4-b753-7b95e14fb164
Content-Type: application/json
Content-Length: 526
{
"id" : "3eb776de-5de6-40e4-b753-7b95e14fb164",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating host sfo01-m01-esx01.rainpole.io",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating host sfo01-m01-esx02.rainpole.io",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/validations/2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts/validations/2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 436
{
"id" : "2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating host sfo01-m01-esx01.rainpole.io",
"resultStatus" : "SUCCEEDED"
}, {
"description" : "Validating host sfo01-m01-esx02.rainpole.io",
"resultStatus" : "UNKNOWN"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/validations/2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts/validations/2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 468
{
"id" : "2bcfa20e-3c53-4bbb-9f3d-ce112c5c943a",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "Validating host sfo01-m01-esx01.rainpole.io",
"resultStatus" : "SUCCEEDED"
}, {
"description" : "Validating host sfo01-m01-esx02.rainpole.io",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
Note
|
Make changes to the input specification and re-validate using a new API invocation. |
-
Trigger the task using the valid input specification.
Note
|
It is recommended to validate host commission input specification before triggering the host commission operation. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : null,
"sslThumbprint" : null
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]'
HTTP Request
POST /v1/hosts HTTP/1.1
Content-Type: application/json
Content-Length: 668
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool",
"sshThumbprint" : null,
"sslThumbprint" : null
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"vvolStorageProtocolType" : null,
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool",
"sshThumbprint" : "sshThumbprint",
"sslThumbprint" : "sslThumbprint"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/e3d41b20-ce71-4ac5-88b3-412468f6ebd6
Content-Type: application/json
Content-Length: 246
{
"id" : "e3d41b20-ce71-4ac5-88b3-412468f6ebd6",
"name" : "Commission Hosts - [esx-1.vrack.vsphere.local, esx-2.vrack.vsphere.local] to VMware Cloud Foundation",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:11:27.321Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
Related APIs
Validate the input spec for hosts operations
Get the status of the validation of the input specification to commission the Hosts
Commission the Hosts
Get a Task
Retry a Task
Get the Network Pools
Get the Networks of a Network Pool
Get a Network of a Network Pool
Create a Network Pool
Add an IP Pool to a Network of a Network Pool
Delete an IP Pool from a Network of a Network Pool
2.7.2. Get the Hosts
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4582
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.101",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"status" : "UNASSIGNED_USEABLE",
"hybrid" : true
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "sfo01-m01-esx03.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.102",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"status" : "UNASSIGNED_UNUSEABLE",
"hybrid" : true
} ]
}
Get ASSIGNED Hosts
This API can be used to fetch all the hosts that are currently assigned to any domain and hence cannot be used for other domain tasks
Steps
-
Invoke the API by specifying the "status" as "ASSIGNED".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?status=ASSIGNED' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?status=ASSIGNED HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
Get UNASSIGNED_USEABLE Hosts
This API can be used to fetch all the hosts that are currently not assigned to any domain and hence can be used for other domain tasks
Steps
-
Invoke the API by specifying the "status" as "UNASSIGNED_USEABLE".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?status=UNASSIGNED_USEABLE' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?status=UNASSIGNED_USEABLE HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1479
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "sfo01-m01-esx02.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.101",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"status" : "UNASSIGNED_USEABLE",
"hybrid" : true
} ]
}
Get UNASSIGNED_UNUSEABLE Hosts
This API can be used to fetch all the hosts that are currently not assigned to any domain and can be used for other domain tasks after completion of cleanup operation
Note
|
Cleanup operations must be performed to get these host back into "UNASSIGNED" and "USEABLE" state. |
Steps
-
Invoke the API by specifying the "status" as "UNASSIGNED_UNUSEABLE".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?status=UNASSIGNED_UNUSEABLE' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?status=UNASSIGNED_UNUSEABLE HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1481
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "sfo01-m01-esx03.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.102",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"status" : "UNASSIGNED_UNUSEABLE",
"hybrid" : true
} ]
}
Get Hosts by Domain
This API can be used to fetch all the hosts that are currently assigned to a given domain.
Steps
-
Invoke the API by specifying the "domainId".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?domainId=377236f7-4965-4179-895e-eeb4eb9a6ad1' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?domainId=377236f7-4965-4179-895e-eeb4eb9a6ad1 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
Get Hosts by Cluster
This API can be used to fetch all the hosts that are currently assigned to a given cluster.
Steps
-
Invoke the API by specifying the "clusterId".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?clusterId=4205afdd-94f5-403e-a051-1a9bba09ef40' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?clusterId=4205afdd-94f5-403e-a051-1a9bba09ef40 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
Get Hosts by Network Pool
This API can be used to fetch all the hosts that are currently assigned to a given network pool.
Steps
-
Invoke the API by specifying the "networkpoolId".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?networkpoolId=1205afdd-84f5-403e-a052-1a9bba09ef41' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?networkpoolId=1205afdd-84f5-403e-a052-1a9bba09ef41 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
Get Hosts by Storage Type
This API can be used to fetch all the hosts that are currently configured with the given storage type.
Note
|
Supported storage type is "VMFS_FC" , "VVOL". |
Steps
-
Invoke the API by specifying the "storageType".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?storageType=VMFS_FC' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?storageType=VMFS_FC HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
Get Hosts by Datastore Name
This API can be used to fetch all the hosts that are currently configured with the given datastore.
Steps
-
Invoke the API by specifying the "datastoreName".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts?datastoreName=datastore1' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts?datastoreName=datastore1 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1664
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
} ]
}
2.7.3. Get a Host
Prerequisites
-
The following data is required
-
ID of the host
-
Steps
-
Invoke the API by providing the ID of the host as input.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/c0703437-6746-470b-9e1c-f9d3bbc9b1c1' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts/c0703437-6746-470b-9e1c-f9d3bbc9b1c1 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1519
{
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"isPrimary" : false,
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.0,
"usedFrequencyMHz" : 0.0,
"cores" : 2,
"cpuCores" : [ {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
}, {
"frequencyMHz" : 2497.0,
"model" : "Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz",
"manufacturer" : "Intel"
} ]
},
"memory" : {
"totalCapacityMB" : 79999.0,
"usedCapacityMB" : 0.0
},
"storage" : {
"totalCapacityMB" : 781250.0,
"usedCapacityMB" : 0.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2",
"speed" : 0
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3",
"speed" : 0
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"networkpool" : {
"id" : "1205afdd-84f5-403e-a052-1a9bba09ef41"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED",
"compatibleStorageType" : "VMFS_FC",
"hybrid" : false
}
2.7.4. Get the Hosts based on a Criterion
This API is used to get the hosts that meets a specific criterion.
Steps
-
Invoke the Get Host Criterion API to list all the criteria supported.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/criteria' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts/criteria HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 535
{
"elements" : [ {
"name" : "HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS",
"arguments" : {
"storageType" : "Storage type of host",
"clusterId" : "ID of the cluster"
},
"description" : "Return all hosts that are compatible with a cluster"
}, {
"name" : "UNMANAGED_HOSTS_IN_HCIMGR",
"arguments" : {
"hciManagerFqdn" : "HCI Manager FQDN",
"hciManagerSslThumbprint" : "HCI Manager SSL Thumbprint"
},
"description" : "Return all the unmanaged hosts discovered by HCI manager"
} ]
}
-
Pick one of the criterion and post a query
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/queries' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS",
"arguments" : {
"storageType" : "VSAN",
"clusterId" : ""
},
"description" : "fetch all the hosts compatible with a cluster"
}'
HTTP Request
POST /v1/hosts/queries HTTP/1.1
Content-Type: application/json
Content-Length: 196
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS",
"arguments" : {
"storageType" : "VSAN",
"clusterId" : ""
},
"description" : "fetch all the hosts compatible with a cluster"
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/hosts/queries/76758279-14e1-43af-be09-04e203794def
Content-Type: application/json
Content-Length: 127
{
"queryInfo" : {
"status" : "IN_PROGRESS",
"completed" : false,
"processing" : true,
"failure" : false
}
}
-
Read the tracking URL returned as Location header in the previous step.
-
Poll the tracking URL until the "status" is not "IN_PROGRESS".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts/queries/23dbc8bc-4981-4006-bf2d-5f0c9467ab79' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/hosts/queries/23dbc8bc-4981-4006-bf2d-5f0c9467ab79 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3363
{
"queryInfo" : {
"status" : "COMPLETED",
"completed" : true,
"processing" : false,
"failure" : false
},
"result" : {
"elements" : [ {
"id" : "44806db8-4401-4d74-be0a-f9067d048314",
"esxiVersion" : "6.7.0-14320388",
"fqdn" : "sfo01-m01-esx01.rainpole.io",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
}, {
"ipAddress" : "10.0.4.3",
"type" : "VSAN"
}, {
"ipAddress" : "10.0.8.3",
"type" : "VMOTION"
} ],
"cpu" : {
"frequencyMHz" : 19155.640625,
"usedFrequencyMHz" : 767.0,
"cores" : 8,
"cpuCores" : [ {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
}, {
"frequencyMHz" : 2394.455078125,
"model" : "intel",
"manufacturer" : "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
} ]
},
"memory" : {
"totalCapacityMB" : 63999.42578125,
"usedCapacityMB" : 29454.0
},
"storage" : {
"totalCapacityMB" : 1757712.0,
"usedCapacityMB" : 587753.125,
"disks" : [ {
"capacityMB" : 146484.375,
"diskType" : "HDD"
}, {
"capacityMB" : 146484.375,
"diskType" : "HDD"
}, {
"capacityMB" : 146484.375,
"diskType" : "FLASH"
}, {
"capacityMB" : 146484.375,
"diskType" : "HDD"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:ed:4e:e1:e2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:ed:f3:29:03"
}, {
"deviceName" : "vmnic2",
"macAddress" : "02:00:ed:f0:44:b6"
}, {
"deviceName" : "vmnic3",
"macAddress" : "02:00:ed:f0:91:45"
} ],
"domain" : {
"id" : "7572b048-51b3-44c6-bf62-356b3baef8f9"
},
"networkpool" : {
"id" : "bea95488-1fbb-4fe7-8bf7-e431c4afdd68",
"name" : "bringup-networkpool"
},
"cluster" : {
"id" : "a481407c-7e00-4489-afb1-c89f21dc8c84"
},
"status" : "ASSIGNED",
"bundleRepoDatastore" : "lcm-bundle-repo",
"hybrid" : false
} ]
}
}
2.7.5. Decommission the Hosts
Prerequisites
-
The following data is required
-
FQDN of each host
-
-
The host must not be assigned to a domain i.e "status" must be "UNASSIGNED_USEABLE".
Tip
|
Refer to: Get the Hosts to fetch the hosts with the required "status" |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/hosts' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io"
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io"
} ]'
HTTP Request
DELETE /v1/hosts HTTP/1.1
Content-Type: application/json
Content-Length: 94
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"fqdn" : "sfo01-m01-esx01.rainpole.io"
}, {
"fqdn" : "sfo01-m01-esx02.rainpole.io"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/0d5776e4-e381-4ffa-8f46-6ccd12d79a91
Content-Type: application/json
Content-Length: 248
{
"id" : "0d5776e4-e381-4ffa-8f46-6ccd12d79a91",
"name" : "Decommission Hosts - [esx-1.vrack.vsphere.local, esx-2.vrack.vsphere.local] to VMware Cloud Foundation",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:11:27.133Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.8. License Keys
2.8.1. Add a License Key
-
This API is used to add a license key.
-
Adding a license key which is already added , will give an error.
Tip
|
Refer to: Get a License Key to check if a license key is already present. |
-
Adding an incorrect (key size and format) or an invalid license key (invalid or expired), will give an error.
Prerequisites
-
The following data is required
-
License key
-
Product type
-
License key description
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "NSXT",
"description" : "NSXT license key"
}'
HTTP Request
POST /v1/license-keys HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 109
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "NSXT",
"description" : "NSXT license key"
}
HTTP Response
HTTP/1.1 201 Created
Location: /v1/license-keys/XX0XX-XX0XX-XX0XX-XX0XX-XX0XX
2.8.2. Get the License Keys
-
This API is used to get all the license keys.
-
This also gives the license key metrics like usage and validity of a license key.
-
License keys can be filtered based on product type and/or license key status.
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/license-keys HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 912
{
"elements" : [ {
"id" : "855817b5-ea6c-4a9e-988f-87fd534c3c5e",
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "VCENTER",
"description" : "vCenter license key",
"isUnlimited" : false,
"licenseKeyUsage" : {
"total" : 5,
"remaining" : 4,
"used" : 1,
"licenseUnit" : "INSTANCE"
},
"licenseKeyValidity" : {
"licenseKeyStatus" : "ACTIVE",
"expiryDate" : "2029-05-23T16:12:53.001Z"
}
}, {
"id" : "ec0dbeeb-0dc7-4617-b14b-9040a996586a",
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "NSXT",
"description" : "NSX-T license key",
"isUnlimited" : false,
"licenseKeyUsage" : {
"total" : 15,
"remaining" : 14,
"used" : 1,
"licenseUnit" : "VM"
},
"licenseKeyValidity" : {
"licenseKeyStatus" : "ACTIVE",
"expiryDate" : "2029-05-23T16:12:53.001Z"
}
} ]
}
Get License Keys By Product Type
Steps
-
Invoke the API by specifying the _"productType".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys?productType=VCENTER,ESXI' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/license-keys?productType=VCENTER,ESXI HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 471
{
"elements" : [ {
"id" : "17940cf0-1c67-41ef-8801-e29a47c89ef5",
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "VCENTER",
"description" : "vCenter license key",
"isUnlimited" : false,
"licenseKeyUsage" : {
"total" : 5,
"remaining" : 4,
"used" : 1,
"licenseUnit" : "INSTANCE"
},
"licenseKeyValidity" : {
"licenseKeyStatus" : "ACTIVE",
"expiryDate" : "2029-05-23T16:12:53.001Z"
}
} ]
}
Get License Keys By Status Of The License Key
Steps
-
Invoke the API by specifying the _"licenseKeyStatus".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys?licenseKeyStatus=ACTIVE,NEVER_EXPIRES' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/license-keys?licenseKeyStatus=ACTIVE,NEVER_EXPIRES HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 471
{
"elements" : [ {
"id" : "cb6bf6e4-87ea-4b38-86da-acf4433a81ad",
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "VCENTER",
"description" : "vCenter license key",
"isUnlimited" : false,
"licenseKeyUsage" : {
"total" : 5,
"remaining" : 4,
"used" : 1,
"licenseUnit" : "INSTANCE"
},
"licenseKeyValidity" : {
"licenseKeyStatus" : "ACTIVE",
"expiryDate" : "2029-05-23T16:12:53.001Z"
}
} ]
}
2.8.3. Get a License Key
-
This API is used to get the license key metrics like usage and validity of a license key.
-
If the license key does not exist, you will get an error.
Prerequisites
-
The following data is required
-
License key
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys/XX0XX-XX0XX-XX0XX-XX0XX-XX0XX' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/license-keys/XX0XX-XX0XX-XX0XX-XX0XX-XX0XX HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 416
{
"id" : "b7e85ae5-65ec-4f69-bdd3-6c2a8aa620b0",
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX",
"productType" : "VCENTER",
"description" : "vCenter license key",
"isUnlimited" : false,
"licenseKeyUsage" : {
"total" : 5,
"remaining" : 4,
"used" : 1,
"licenseUnit" : "INSTANCE"
},
"licenseKeyValidity" : {
"licenseKeyStatus" : "ACTIVE",
"expiryDate" : "2029-05-23T16:12:53.001Z"
}
}
2.8.4. Delete a License Key
-
This API is used to delete a license key.
Warning
|
Deleting a license key which is in use, will give an error. |
Prerequisites
-
The following data is required
-
License key
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/license-keys/XX0XX-XX0XX-XX0XX-XX0XX-XX0XX' -i -X DELETE \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/license-keys/XX0XX-XX0XX-XX0XX-XX0XX-XX0XX HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
2.9. Domains
A workload domain is a policy based resource container with specific availability and performance attributes that combines compute (vSphere), storage (vSAN/NFS/VMFS on FC/VVOL) and networking (NSX) into a single consumable entity.
2.9.1. Create a Domain
The Create a Domain workflow automatically:
-
Deploys an additional vCenter Server Appliance for the new domain within the management domain.
-
By leveraging a separate vCenter Server instance per domain, software updates can be applied without impacting other domains. It also allows for each domain to have additional isolation as needed.
-
Connects the specified ESXi servers to this vCenter Server instance and groups them into a cluster. Each host is configured with the port groups applicable for the domain.
-
Configures networking on each ESXi host.
-
If vSAN or NFS storage is provided, they are configured on the ESXi hosts. If VMFS on FC storage provided, it’s consumed.
-
For the first domain in your environment, the workflow deploys a cluster of three NSX-T Managers in the management domain. The workflow also configures an anti-affinity rule between the managers to prevent them from being on the same host for High Availability. Each subsequent NSX-T domains will share this NSX-T Manager Cluster or create its own.
-
From NSX-T version 3.0 onwards NSX-T manager uses vSphere Distributed Switch(VDS) created by vCenter to configure transport nodes and handle overlay traffic.
-
In case of single vSphere Distributed Switch domain, the same vSphere Distributed Switch will be used for configuring overlay traffic.
-
For a domain which creates multiple vSphere Distributed Switches, the boolean isUsedByNsxt in the VdsSpec should be set to true to identify the vSphere Distributed Switch which should be used by NSX-T for configuring overlay traffic.
Refer to: VdsSpec. -
In case of multiple vSphere Distributed Switches, at least one vSphere Distributed Switch has to be marked for use by NSX-T.
-
NSX Edges are needed to enable overlay VI networks and public networks for north-south traffic. Note that edges need to be deployed separately.
-
Clusters part of the domain can be configured to use IP address pools to assign IP addresses for the TEP interfaces of the hosts by specifying IpAddressPoolSpec inside the NsxTClusterSpec. If the IpAddressPoolSpec is not specified in the input spec, IP addresses for the TEP interfaces of the host are assigned from DHCP.
The result is a workload-ready SDDC environment.
Prerequisites
-
The following data is required
-
Name of the domain
-
vCenter details
-
Name of the vCenter
-
Network details
-
IP Address of the vCenter
-
FQDN of the vCenter
-
Gateway
-
Subnet mask
-
-
Password for the root user (8-20 characters)
-
Name of the datacenter where vCenter needs to be deployed
-
-
List of clusters
-
For each cluster
-
Name of the cluster
-
List of hosts
-
For each host
-
ID of the host (UUID)
-
License key for the host
-
List of VDS names to associate with host
-
ID of the vmNic host to be associated with VDS, once added to cluster
-
-
-
Datastore details
NoteOnly one of "vsanDatastoreSpec" (For VSAN), "nfsDatastoreSpec" (For NFS), "vmfsDatastoreSpec" (For VMFS on FC) or "vvolDatastoreSpec" (For VVOL) must be specified. -
For VSAN
-
Number of host failures to tolerate (can be 0, 1, or 2)
-
License key for the vSAN datastore
{ "vsanDatastoreSpec" : { "failuresToTolerate" : 1, "licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", "datastoreName" : "sfo-w01-cl01-ds-vsan01" } }
-
-
For NFS
-
List of NFS server names
-
Shared directory path
-
User tag used to annotate NFS share
-
Boolean to identify if the mount directory should be read-only
{ "nfsDatastoreSpecs" : [ { "nasVolume" : { "serverName" : [ "10.0.0.250" ], "path" : "/nfs_mount/my_read_write_folder", "readOnly" : false }, "datastoreName" : "sfo-w01-cl01-ds-nfs01" } ] }
-
-
For VMFS on FC
-
Ensure that the ESXi hosts have the given VMFS on FC datastore name configured.
{ "vmfsDatastoreSpec" : { "fcSpec" : [ { "datastoreName" : "sfo-w01-cl01-ds-fc01" } ] } }
-
-
For VVOL
-
Ensure that Vasa provider is pre-configured
-
Vasa provider guid
-
Vasa container guid
-
Protocol type for vVol container
-
Vasa user guid
-
-
{ "vvolDatastoreSpecs" : [ { "name" : "sfo-w01-cl01-ds-vvol01", "vasaProviderSpec" : { "vasaProviderId" : "42de6c36-e85e-483b-89c1-4aee5e8deebe", "storageContainerId" : "908ce3e4-4e8d-414b-84e7-847ba9883521", "storageProtocolType" : "ISCSI", "userId" : "d0ed4dd6-1375-4b12-af8c-96c18c46d319" } } ] }
-
Network Details
-
List of VDS details
-
For each VDS
Port group names and the corresponding transport type. Note that EDGE_INFRA_OVERLAY_UPLINK should not be specified in the input spec.
DVS host Infrastructure traffic resource type
Maximum allowed usage for a traffic class
Amount of bandwidth to be reserved for the host infrastructure traffic class
-
-
NSX cluster Details For NSX-T
-
VLAN ID of Geneve
-
IP address pool spec if the TEP IP assignment is done from the IP pool
For DHCP{ "nsxTClusterSpec" : { "geneveVlanId" : 2 } }
For creating a new IP pool during the domain creation
{ "nsxTClusterSpec" : { "geneveVlanId" : 2, "ipAddressPoolSpec" : { "name" : "static-ip-pool-01", "subnets" : [ { "ipAddressPoolRanges" : [ { "start" : "10.0.11.50", "end" : "10.0.11.70" }, { "start" : "10.0.11.80", "end" : "10.0.11.150" } ], "cidr" : "10.0.11.0/24", "gateway" : "10.0.11.250" } ] } } }
For using an existing IP pool during the domain creation
{ "nsxTClusterSpec" : { "geneveVlanId" : 2, "ipAddressPoolSpec" : { "name" : "static-ip-pool-01" } } }
NoteTo create a new IP address pool during domain creation, "subnets", the list of IpAddressPoolSubnetSpec in the input spec must not be empty. Only the IP address pool name has to be sent in the input spec while using an existing IP address pool.
-
-
-
-
-
NSX details
-
For NSX-T
-
NSX Manager virtual machine details
-
Name of the NSX Manager virtual machine
-
Network details
-
IP Address of the virtual machine
-
Fully-qualified domain name
-
Gateway
-
Subnet mask
-
-
-
FormFactor of the NSX-T manager. Supported values are "small", "medium" and "large"
NoteNSX-T manager of "large" form factor will be deployed if nothing is explicitly specified in the payload. -
Virtual IP address which would act as proxy/alias for NSX-T managers
-
Fully-qualified domain name for VIP so that common SSL certificates can be installed across all managers
-
License key for NSX-T
-
NSX-T manager admin Password (basic authorization and SSH)
-
-
{ "nsxManagerSpecs" : [ { "name" : "sfo-w01-nsx01a", "networkDetailsSpec" : { "ipAddress" : "10.0.0.44", "dnsName" : "sfo-w01-nsx01a.sfo.rainpole.io", "gateway" : "10.0.0.250", "subnetMask" : "255.255.255.0" } }, { "name" : "sfo-w01-nsx01b", "networkDetailsSpec" : { "ipAddress" : "10.0.0.45", "dnsName" : "sfo-w01-nsx01b.sfo.rainpole.io", "gateway" : "10.0.0.250", "subnetMask" : "255.255.255.0" } }, { "name" : "sfo-w01-nsx01c", "networkDetailsSpec" : { "ipAddress" : "10.0.0.46", "dnsName" : "sfo-w01-nsx01c.sfo.rainpole.io", "gateway" : "10.0.0.250", "subnetMask" : "255.255.255.0" } } ], "vip" : "10.0.0.166", "vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io", "licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", "nsxManagerAdminPassword" : "VMware123!", "formFactor" : "large" }
-
-
Network pool should be configured.
Tip
|
Refer to Create a Network Pool |
-
Hosts should be commissioned.
Tip
|
Refer to Commission the Hosts |
-
A DHCP server must be configured on the Geneve VLAN of the respective domains. When NSX-T creates VTEPs for the hosts in the domain, they are assigned IP addresses from the DHCP server. Ensure that host configuration has a minimum of two active vmNics.
There must be a free uplink on each host to be used for the domain. -
Evaluate if you need to have pNICs on multiple vSphere Distributed Switches if it is NSX-T domain. At least two pNICs are needed on a single switch. Below is a spec sample:
{ "vmNics" : [ { "id" : "vmnic0", "vdsName" : "sfo-w01-cl01-vds01" }, { "id" : "vmnic1", "vdsName" : "sfo-w01-cl01-vds01" }, { "id" : "vmnic2", "vdsName" : "sfo-w01-cl01-vds02" }, { "id" : "vmnic3", "vdsName" : "sfo-w01-cl01-vds02" } ] }
Steps
-
Validate the input specification.
Note
|
The below example is for creating a domain using vSAN storage (i.e "vsanDatastoreSpec") and NSX-T (i.e "nsxTSpec" and "nsxTClusterSpec") |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainName" : "sfo-w01",
"vcenterSpec" : {
"name" : "sfo-w01-vc01",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "sfo-w01-vc01.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "VMware123!",
"datacenterName" : "sfo-w01-dc01",
"vmSize" : "tiny",
"storageSize" : "lstorage"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl01",
"hostSpecs" : [ {
"id" : "8807aa56-9fe3-471b-b9e4-a94625faa385",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "60d60875-63f1-496f-a657-5f52519599ab",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "fe45ae91-4aea-4a15-b00a-89f369007024",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-w01-cl01-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl01-vds01",
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl01-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl01-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 2
}
}
}
} ]
},
"nsxTSpec" : {
"nsxManagerSpecs" : [ {
"name" : "sfo-w01-nsx01a",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "sfo-w01-nsx01a.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01b",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.45",
"dnsName" : "sfo-w01-nsx01b.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01c",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.46",
"dnsName" : "sfo-w01-nsx01c.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
} ],
"vip" : "10.0.0.166",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "VMware123!",
"formFactor" : "large"
}
}'
HTTP Request
POST /v1/domains/validations HTTP/1.1
Content-Type: application/json
Content-Length: 3925
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainName" : "sfo-w01",
"vcenterSpec" : {
"name" : "sfo-w01-vc01",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "sfo-w01-vc01.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "VMware123!",
"datacenterName" : "sfo-w01-dc01",
"vmSize" : "tiny",
"storageSize" : "lstorage"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl01",
"hostSpecs" : [ {
"id" : "8807aa56-9fe3-471b-b9e4-a94625faa385",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "60d60875-63f1-496f-a657-5f52519599ab",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "fe45ae91-4aea-4a15-b00a-89f369007024",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-w01-cl01-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl01-vds01",
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl01-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl01-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 2
}
}
}
} ]
},
"nsxTSpec" : {
"nsxManagerSpecs" : [ {
"name" : "sfo-w01-nsx01a",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "sfo-w01-nsx01a.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01b",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.45",
"dnsName" : "sfo-w01-nsx01b.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01c",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.46",
"dnsName" : "sfo-w01-nsx01c.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
} ],
"vip" : "10.0.0.166",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "VMware123!",
"formFactor" : "large"
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
{
"id" : "50817936-882f-48db-8904-0013186a66d9",
"description" : "Validating Domain Creation Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "DomainCreationSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
NoteMake changes to the input specification and re-validate using a new API invocation.
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainName" : "sfo-w01",
"vcenterSpec" : {
"name" : "sfo-w01-vc01",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "sfo-w01-vc01.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "VMware123!",
"datacenterName" : "sfo-w01-dc01",
"vmSize" : "tiny",
"storageSize" : "lstorage"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl01",
"hostSpecs" : [ {
"id" : "05af5007-5722-4eeb-9d59-70dd4206de24",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "a6290f19-ebb8-4718-8fee-d14844f11041",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "2f0b9e3d-fb5d-4e64-97c0-7f7c64bc6af7",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-w01-cl01-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl01-vds01",
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl01-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl01-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 2
}
}
}
} ]
},
"nsxTSpec" : {
"nsxManagerSpecs" : [ {
"name" : "sfo-w01-nsx01a",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "sfo-w01-nsx01a.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01b",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.45",
"dnsName" : "sfo-w01-nsx01b.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01c",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.46",
"dnsName" : "sfo-w01-nsx01c.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
} ],
"vip" : "10.0.0.166",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "VMware123!",
"formFactor" : "large"
}
}'
HTTP Request
POST /v1/domains HTTP/1.1
Content-Type: application/json
Content-Length: 3925
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainName" : "sfo-w01",
"vcenterSpec" : {
"name" : "sfo-w01-vc01",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "sfo-w01-vc01.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "VMware123!",
"datacenterName" : "sfo-w01-dc01",
"vmSize" : "tiny",
"storageSize" : "lstorage"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl01",
"hostSpecs" : [ {
"id" : "05af5007-5722-4eeb-9d59-70dd4206de24",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "a6290f19-ebb8-4718-8fee-d14844f11041",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
}, {
"id" : "2f0b9e3d-fb5d-4e64-97c0-7f7c64bc6af7",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl01-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl01-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl01-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "sfo-w01-cl01-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl01-vds01",
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl01-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl01-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl01-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 2
}
}
}
} ]
},
"nsxTSpec" : {
"nsxManagerSpecs" : [ {
"name" : "sfo-w01-nsx01a",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "sfo-w01-nsx01a.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01b",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.45",
"dnsName" : "sfo-w01-nsx01b.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
}, {
"name" : "sfo-w01-nsx01c",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.46",
"dnsName" : "sfo-w01-nsx01c.sfo.rainpole.io",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
} ],
"vip" : "10.0.0.166",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "VMware123!",
"formFactor" : "large"
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/c8d69df2-8394-4d93-b3af-1eed6a7ac581
Content-Length: 142
{
"id" : "c8d69df2-8394-4d93-b3af-1eed6a7ac581",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2022-02-08T08:13:41.253Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.9.2. Get the Domains
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2205
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5",
"name" : "sfo-w01",
"status" : "ACTIVE",
"vcenters" : [ {
"id" : "c0703437-6756-470b-9e1c-f9d3bbc9b1c6",
"fqdn" : "sfo-w01-vc01.sfo.rainpole.io"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655"
} ],
"nsxtCluster" : {
"id" : "e9a878ef-00b3-4ed3-9f35-de79eb874e9a",
"vip" : "10.0.0.30"
},
"capacity" : {
"cpu" : {
"used" : {
"value" : 21.445999393465698,
"unit" : "GHz"
},
"total" : {
"value" : 67.03999810397931,
"unit" : "MHz"
}
},
"memory" : {
"used" : {
"value" : 156.0361328125,
"unit" : "GB"
},
"total" : {
"value" : 312.484375,
"unit" : "GB"
}
},
"storage" : {
"used" : {
"value" : 562.3904687464237,
"unit" : "MB"
},
"total" : {
"value" : 858.1875,
"unit" : "GB"
}
}
}
}, {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"name" : "sfo-w02",
"vcenters" : [ {
"id" : "c0703437-6846-470b-9e1c-f9d3bbc9b1c9",
"fqdn" : "sfo-w02-vc01.sfo.rainpole.io"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782677"
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782633"
} ],
"nsxtCluster" : {
"id" : "e9a878ef-00b3-4ed3-9f35-de79eb874e9a",
"vip" : "10.0.0.30"
},
"capacity" : {
"cpu" : {
"used" : {
"value" : 21.445999393465698,
"unit" : "GHz"
},
"total" : {
"value" : 67.03999810397931,
"unit" : "GHz"
}
},
"memory" : {
"used" : {
"value" : 156.0361328125,
"unit" : "GB"
},
"total" : {
"value" : 312.484375,
"unit" : "GB"
}
},
"storage" : {
"used" : {
"value" : 562.3904687464237,
"unit" : "GB"
},
"total" : {
"value" : 858.1875,
"unit" : "GB"
}
}
}
} ]
}
2.9.3. Get a Domain
Prerequisites
-
The following data is required
-
ID of the domain
-
Steps
-
Invoke the API using the ID of the domain
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/c0703437-6746-470b-9e1c-f9d3bbc9b1c5' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/c0703437-6746-470b-9e1c-f9d3bbc9b1c5 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 978
{
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5",
"name" : "sfo-w01",
"status" : "ACTIVE",
"vcenters" : [ {
"id" : "c0703437-6756-470b-9e1c-f9d3bbc9b1c6",
"fqdn" : "sfo-w01-vc01.sfo.rainpole.io"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655"
} ],
"nsxtCluster" : {
"id" : "e9a878ef-00b3-4ed3-9f35-de79eb874e9a",
"vip" : "10.0.0.30"
},
"capacity" : {
"cpu" : {
"used" : {
"value" : 21.445999393465698,
"unit" : "GHz"
},
"total" : {
"value" : 67.03999810397931,
"unit" : "MHz"
}
},
"memory" : {
"used" : {
"value" : 156.0361328125,
"unit" : "GB"
},
"total" : {
"value" : 312.484375,
"unit" : "GB"
}
},
"storage" : {
"used" : {
"value" : 562.3904687464237,
"unit" : "MB"
},
"total" : {
"value" : 858.1875,
"unit" : "GB"
}
}
}
}
2.9.4. Get Domain Endpoints
Prerequisites
-
The following data is required
-
ID of the domain
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/edf4a9d1-6799-456f-8538-409f7d76818b/endpoints' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/edf4a9d1-6799-456f-8538-409f7d76818b/endpoints HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 190
{
"elements" : [ {
"type" : "VCENTER",
"url" : "https://sfo-w01-vc01.sfo.rainpole.io"
}, {
"type" : "NSX_MANAGER",
"url" : "https://sfo-w01-nsx01.sfo.rainpole.io"
} ]
}
2.9.5. Rename a Domain
Prerequisites
-
Domain must exist.
Steps
-
Get the ID of the domain. Filter the response by the domain’s current name to get the corresponding ID.
Tip
|
Get the Domains |
-
Create a domain update spec. Create a JSON with the "name" field containing the desired new name.
Note
|
When renaming a domain, the "name" field must be the only value in the update spec. |
Tip
|
DomainUpdateSpec |
-
Invoke the validate update domain spec API to ensure the requested new name is valid.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new_name"
}'
HTTP Request
POST /v1/domains/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "new_name"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 286
{
"id" : "3889ac9a-d38d-4c9d-9d78-6fba607d3a6f",
"description" : "Validating Domain Update Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "DomainUpdateSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
Tip
|
If "resultStatus" is "FAILED", make changes to the input specification and re-validate using a new API invocation. |
-
Invoke the domain rename (update) task using the validated input spec and domain ID.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new_name"
}'
HTTP Request
PATCH /v1/domains/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "new_name"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 29
{
"status" : "SUCCESSFUL"
}
2.9.6. Delete a Domain
When you delete a domain, the clusters within the domain are deleted and the hosts are returned to the free pool.
Note
|
A domain cannot be deleted if the clusters of the domain have remote vSAN datastores configured. If so, unmount the remote vSAN datastores from vCenter and then retry domain deletion. Please refer to the 'VMware Cloud Foundation Operations and Administration Guide' for more details. |
Warning
|
Deleting a domain is an irreversible operation. All clusters and VMs within the domain are deleted and the underlying datastores are destroyed. |
Warning
|
Deleting a domain puts the host "status" to UNASSIGNED_UNUSEABLE. Cleanup the hosts to change the "status" to UNASSIGNED_USEABLE. |
Note
|
The network pools used by the domain are not deleted as part of task and must be deleted separately. |
Prerequisites
-
The following data is required
-
ID of the domain that has to be deleted.
-
Tip
|
Back up the data on the domain. |
Tip
|
Migrate the VMs that you want to retain, to another domain. |
Steps
-
Initialize the deletion.
Warning
|
It is not possible to delete a domain without having marked it for deletion. This 2-step deletion ensures that a domain is not deleted accidentally. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"markForDeletion" : true
}'
HTTP Request
PATCH /v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f HTTP/1.1
Content-Type: application/json
Content-Length: 30
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"markForDeletion" : true
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 113
{
"name" : "Mark domain with id f74c2d97-621a-4984-9ab6-5d84effde82f for deletion",
"status" : "SUCCESSFUL"
}
-
Trigger the deletion.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/04f89a8a-6240-4574-a0ca-09fd5e515e58
Content-Length: 142
{
"id" : "04f89a8a-6240-4574-a0ca-09fd5e515e58",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2022-02-08T08:13:38.641Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10. Clusters
2.10.1. Create a Cluster
After you add the primary cluster, you can add more clusters to expand the domain.
Prerequisites
-
The following data is required
-
ID of the domain in which the cluster is to be created
-
Cluster details
-
Name of the cluster
-
Hosts details
-
ID of the host (UUID)
-
License key for the host
-
List of VDS names to associate with host
-
ID of the vmNic host to be associated with VDS / N-VDS, once added to cluster
-
-
Datastore details
NoteOnly one of "vsanDatastoreSpec" (For VSAN), "nfsDatastoreSpec" (For NFS) or "vmfsDatastoreSpec" (For VMFS on FC) or vvolDatastoreSpec (For VVOL) must be specified. -
For VSAN
-
Number of host failures to tolerate (can be 0, 1, or 2)
-
License key for the vSAN datastore
{ "vsanDatastoreSpec" : { "failuresToTolerate" : 1, "licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", "datastoreName" : "sfo-w01-cl01-ds-vsan01" } }
-
-
For NFS
-
List of NFS server names
-
Shared directory path
-
User tag used to annotate NFS share
-
Boolean to identify if the mount directory should be read-only
{ "nfsDatastoreSpecs" : [ { "nasVolume" : { "serverName" : [ "10.0.0.250" ], "path" : "/nfs_mount/my_read_write_folder", "readOnly" : false }, "datastoreName" : "sfo-w01-cl01-ds-nfs01" } ] }
-
-
For VMFS on FC
-
Ensure that the ESXi hosts have the given VMFS on FC datastore name configured.
-
-
{ "vmfsDatastoreSpec" : { "fcSpec" : [ { "datastoreName" : "sfo-w01-cl01-ds-fc01" } ] } }
-
For VVOL
-
Ensure that the ESXi hosts have the given VVOL datastore name configured.
-
Vasa provider guid
-
Vasa container guid
-
Protocol type for vVol container
-
Vasa user guid
{ "vvolDatastoreSpecs" : [ { "name" : "sfo-w01-cl01-ds-vvol01", "vasaProviderSpec" : { "vasaProviderId" : "42de6c36-e85e-483b-89c1-4aee5e8deebe", "storageContainerId" : "908ce3e4-4e8d-414b-84e7-847ba9883521", "storageProtocolType" : "ISCSI", "userId" : "d0ed4dd6-1375-4b12-af8c-96c18c46d319" } } ] }
-
-
-
Network Details
-
List of VDS details
-
For each VDS
Port group names and the corresponding transport type. Note that EDGE_INFRA_OVERLAY_UPLINK should not be specified in the input spec.
DVS host Infrastructure traffic resource type
Maximum allowed usage for a traffic class
Amount of bandwidth to be reserved for the host infrastructure traffic class
-
-
NSX cluster Details
-
For NSX-T
VLAN ID of the Geneve -
IP address pool spec if the TEP IP assignment is done from IP pool
For DHCP{ "nsxTClusterSpec" : { "geneveVlanId" : 2 } }
For creating new IP pool during domain creation
{ "nsxTClusterSpec" : { "geneveVlanId" : 2, "ipAddressPoolSpec" : { "name" : "static-ip-pool-01", "subnets" : [ { "ipAddressPoolRanges" : [ { "start" : "10.0.11.50", "end" : "10.0.11.70" }, { "start" : "10.0.11.80", "end" : "10.0.11.150" } ], "cidr" : "10.0.11.0/24", "gateway" : "10.0.11.250" } ] } } }
For using an existing IP pool during domain creation
{ "nsxTClusterSpec" : { "geneveVlanId" : 2, "ipAddressPoolSpec" : { "name" : "static-ip-pool-01" } } }
NoteTo create a new IP address pool during domain creation, "subnets", the list of IpAddressPoolSubnetSpec in the input spec must not be empty. Only the IP address pool name has to be sent in the input spec while using an existing IP address pool { "nsxTClusterSpec" : { "geneveVlanId" : 2 } }
-
-
-
-
-
Network pool must be configured.
-
Logical VMware Cloud Foundation container (Workload Domain) must be provisioned.
Note
|
NSX-T management cluster is configured when the domain is created. |
-
Prerequisites for vSAN, NFS or VMFS on FC or VVOL must be met.
-
License key details may be provisioned in vCenter.
-
Host configuration must have minimum two active vmNics.
-
There must be at least three hosts available in the VMware Cloud Foundation inventory.
-
Ensure that the hosts you want to add to the cluster are in UNASSIGNED_USEABLE state.
-
You must have valid host and vSAN (if using vSAN storage) license key specified with adequate sockets available for the host to be added.
-
A DHCP server must be configured on the Geneve VLAN of the respective domains. When NSX-T creates VTEPs for the hosts in the domain, they are assigned IP addresses from the DHCP server.
-
Evaluate if you want to have pNICs on multiple vSphere Distributed Switches in the NSX-T domain. At least two pNICs are needed on a single switch. Below is a spec sample:
{ "vmNics" : [ { "id" : "vmnic0", "vdsName" : "sfo-w01-cl01-vds01" }, { "id" : "vmnic1", "vdsName" : "sfo-w01-cl01-vds01" }, { "id" : "vmnic2", "vdsName" : "sfo-w01-cl01-vds02" }, { "id" : "vmnic3", "vdsName" : "sfo-w01-cl01-vds02" } ] }
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainId" : "606f80c3-857a-4fad-825d-c4a5705ede22",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl02",
"hostSpecs" : [ {
"id" : "6d028b96-f7f1-4007-a108-2600931bdb99",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "4d8a7356-fbee-48a2-86de-56ac5fd07f05",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "f26fb345-e0ba-4c1b-a7d8-8e0c3a8c96b9",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXX-XXXX",
"datastoreName" : "sfo-w01-cl02-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl02-vds01",
"isUsedByNsxt" : false,
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl02-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl02-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
}
}
},
"advancedOptions" : {
"evcMode" : "",
"highAvailability" : {
"enabled" : false
}
}
} ],
"skipFailedHosts" : false
}
}'
HTTP Request
POST /v1/clusters/validations HTTP/1.1
Content-Type: application/json
Content-Length: 2886
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainId" : "606f80c3-857a-4fad-825d-c4a5705ede22",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl02",
"hostSpecs" : [ {
"id" : "6d028b96-f7f1-4007-a108-2600931bdb99",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "4d8a7356-fbee-48a2-86de-56ac5fd07f05",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "f26fb345-e0ba-4c1b-a7d8-8e0c3a8c96b9",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXX-XXXX",
"datastoreName" : "sfo-w01-cl02-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl02-vds01",
"isUsedByNsxt" : false,
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl02-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl02-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
}
}
},
"advancedOptions" : {
"evcMode" : "",
"highAvailability" : {
"enabled" : false
}
}
} ],
"skipFailedHosts" : false
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 292
{
"id" : "e0904d41-0c05-44e6-96fe-66cd6765f7c0",
"description" : "Validating Cluster Creation Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "ClusterCreationSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
NoteMake changes to the input specification and re-validate using a new API invocation.
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainId" : "bc3d7030-269e-43ed-81e8-75f65123c324",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl02",
"hostSpecs" : [ {
"id" : "a4ab1a97-7e74-4e71-b4cc-4765714fe0e6",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "f52e3bf0-3672-4ca3-8ab1-f776580c66a8",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "42998308-51a2-4474-bf06-3a3136223b63",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXX-XXXX",
"datastoreName" : "sfo-w01-cl02-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl02-vds01",
"isUsedByNsxt" : false,
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl02-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl02-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
}
}
},
"advancedOptions" : {
"evcMode" : "",
"highAvailability" : {
"enabled" : false
}
}
} ],
"skipFailedHosts" : false
}
}'
HTTP Request
POST /v1/clusters HTTP/1.1
Content-Type: application/json
Content-Length: 2886
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainId" : "bc3d7030-269e-43ed-81e8-75f65123c324",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "sfo-w01-cl02",
"hostSpecs" : [ {
"id" : "a4ab1a97-7e74-4e71-b4cc-4765714fe0e6",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "f52e3bf0-3672-4ca3-8ab1-f776580c66a8",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
}, {
"id" : "42998308-51a2-4474-bf06-3a3136223b63",
"licenseKey" : "XXXX-XXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXX-XXXX",
"datastoreName" : "sfo-w01-cl02-ds-vsan01"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "sfo-w01-cl02-vds01",
"isUsedByNsxt" : false,
"portGroupSpecs" : [ {
"name" : "sfo-w01-cl02-vds01-pg-mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vsan",
"transportType" : "VSAN"
}, {
"name" : "sfo-w01-cl02-vds01-pg-vmotion",
"transportType" : "VMOTION"
} ]
}, {
"name" : "sfo-w01-cl02-vds02",
"isUsedByNsxt" : true
} ],
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
}
}
},
"advancedOptions" : {
"evcMode" : "",
"highAvailability" : {
"enabled" : false
}
}
} ],
"skipFailedHosts" : false
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/1bfb6cce-bd4f-4d17-8afd-87a6f66a1a38
Content-Length: 166
{
"id" : "1bfb6cce-bd4f-4d17-8afd-87a6f66a1a38",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:12:59.755Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10.2. Get the Clusters
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/clusters HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1737
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655",
"name" : "sfo-m01-cl01",
"primaryDatastoreName" : "sfo-m01-cl01-ds-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782677",
"name" : "sfo-w01-cl01",
"primaryDatastoreName" : "sfo-w01-cl01-ds-nfs01",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470z-9e1c-f9d3bbc9b1c6"
}, {
"id" : "c0703431-6742-470t-9e1d-f9d3bbc9b1c1"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782633",
"name" : "sfo-w02-cl01",
"primaryDatastoreName" : "sfo-w02-cl01-ds-nfs01",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e1c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-470r-9e1d-f9d3bbc9b1c4"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782677",
"name" : "sfo-w03-cl01",
"primaryDatastoreName" : "sfo-w03-cl01-ds-fc01",
"primaryDatastoreType" : "FC",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e2c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-460r-9e1d-f9d3bbc9b1c4"
} ],
"isStretched" : false
}, {
"id" : "2345e44e-974e-4f43-9862-7f0326782898",
"name" : "sfo-w04-cl01",
"primaryDatastoreName" : "sfo-w04-cl01-ds-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ],
"isStretched" : true
} ]
}
Get the Stretched Clusters
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters?isStretched=true' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/clusters?isStretched=true HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 365
{
"elements" : [ {
"id" : "2345e44e-974e-4f43-9862-7f0326782898",
"name" : "sfo-w04-cl01",
"primaryDatastoreName" : "sfo-w04-cl01-ds-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ],
"isStretched" : true
} ]
}
Get the Vanilla Clusters
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters?isStretched=false' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/clusters?isStretched=false HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1393
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655",
"name" : "sfo-m01-cl01",
"primaryDatastoreName" : "sfo-m01-cl01-ds-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782677",
"name" : "sfo-w01-cl01",
"primaryDatastoreName" : "sfo-w01-cl01-ds-nfs01",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470z-9e1c-f9d3bbc9b1c6"
}, {
"id" : "c0703431-6742-470t-9e1d-f9d3bbc9b1c1"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782633",
"name" : "sfo-w02-cl01",
"primaryDatastoreName" : "sfo-w02-cl01-ds-nfs01",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e1c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-470r-9e1d-f9d3bbc9b1c4"
} ],
"isStretched" : false
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782677",
"name" : "sfo-w03-cl01",
"primaryDatastoreName" : "sfo-w03-cl01-ds-fc01",
"primaryDatastoreType" : "FC",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e2c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-460r-9e1d-f9d3bbc9b1c4"
} ],
"isStretched" : false
} ]
}
2.10.3. Get a Cluster
Prerequisites
-
The following data is required
-
ID of the cluster
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/8045e44e-974e-4f43-9862-7f0326782655' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/clusters/8045e44e-974e-4f43-9862-7f0326782655 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 321
{
"id" : "8045e44e-974e-4f43-9862-7f0326782655",
"name" : "sfo-m01-cl01",
"primaryDatastoreName" : "sfo-m01-cl01-ds-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ],
"isStretched" : false
}
Get list of VDSes of a cluster
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/vdses' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/vdses HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1984
[ {
"id" : "bbcb8e27-2af5-4662-9631-d7982e132bbc",
"name" : "sfo-w01-cl01-vds01",
"isUsedByNsxt" : true,
"mtu" : 1500,
"portGroups" : [ {
"name" : "sfo-w01-cl01-vds01-pg-mgmt",
"transportType" : "MANAGEMENT",
"portBindingType" : "EPHEMERAL",
"vlanId" : 0
}, {
"name" : "sfo-w01-cl01-vds01-pg-vsan",
"transportType" : "VSAN",
"portBindingType" : "STATIC",
"vlanId" : 0
}, {
"name" : "sfo-w01-cl01-vds01-pg-vmotion",
"transportType" : "VMOTION",
"portBindingType" : "STATIC",
"vlanId" : 0
} ],
"niocBandwidthAllocations" : [ {
"type" : "vsan",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "high"
}
}
}, {
"type" : "vmotion",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
}, {
"type" : "vdp",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
}, {
"type" : "nfs",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
}, {
"type" : "hbr",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
}, {
"type" : "iSCSI",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
}, {
"type" : "virtualMachine",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "high"
}
}
}, {
"type" : "management",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "normal"
}
}
}, {
"type" : "faultTolerance",
"niocTrafficResourceAllocation" : {
"sharesInfo" : {
"shares" : 0,
"level" : "low"
}
}
} ]
} ]
2.10.4. Expand a Cluster
Adding an individual host to a cluster adds the resources of that host to the cluster. You can add multiple hosts at a time to a cluster.
Prerequisites
-
The following data is required
-
ID of the cluster
-
For each host
-
ID of the host (UUID)
-
List of VDS names to associate with host
-
ID of the vmNic, host is associated to
-
Availability zone name to which host is mapped, if expand operation to be performed is on a stretched cluster
-
-
Is inter-rack cluster expansion - required, only if Cluster contains NSX-T Edge Cluster
-
License key of ESXi
-
-
The cluster in a domain to which hosts are to be added must exist.
-
There must be a host available in the VMware Cloud Foundation inventory.
-
The hosts to be added must have been commissioned.
-
Ensure that the host you want to add is in an active state.
-
For expanding a cluster which uses more than 2 vmnics, get the hosts which are compatible with the cluster using hosts query API with the criterion "HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS".
Tip
|
Refer to: Get the Hosts based on a Criterion. |
-
You must have a valid ESXi license specified with adequate sockets available for the host to be added.
-
Ensure that the host to be added to the cluster matches the configuration of the hosts already in the cluster. This ensures a balanced configuration of the cluster.
-
Cluster should be in Stretched state, if expansion to be performed is on Stretched cluster.
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterUpdateSpec" : {
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "b55559cf-4f7e-4263-afa8-06fd5c54495f",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ]
}
}
}'
HTTP Request
POST /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations HTTP/1.1
Content-Type: application/json
Content-Length: 608
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterUpdateSpec" : {
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "b55559cf-4f7e-4263-afa8-06fd5c54495f",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ]
}
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 294
{
"id" : "8dd19d88-f971-417d-b258-a289c1dfd7c5",
"description" : "Validating Cluster Expansion Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "ClusterExpansionSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
NoteMake changes to the input specification and re-validate using a new API invocation.
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "a9a64962-2272-4df2-83a9-2d67263e7da9",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ]
}
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 536
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "a9a64962-2272-4df2-83a9-2d67263e7da9",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds01"
}, {
"id" : "vmnic2",
"vdsName" : "sfo-w01-cl02-vds02"
}, {
"id" : "vmnic3",
"vdsName" : "sfo-w01-cl02-vds02"
} ]
}
} ]
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/b63c2a53-3959-4773-8b8d-b32d39f3ea15
Content-Length: 166
{
"id" : "b63c2a53-3959-4773-8b8d-b32d39f3ea15",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:12:56.490Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10.5. Compact a Cluster
When a host is removed from a cluster in a domain, the vSAN members are reduced. Ensure that you have enough hosts remaining to facilitate the configured vSAN availability. Failure to do so might result in the datastore being marked as read-only or in data loss.
Prerequisites
-
The following data is required
-
For each host to be removed
-
ID of the host
-
-
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "5437e512-2530-41bd-a507-9b85780c08e5"
} ]
}
}'
HTTP Request
POST /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations HTTP/1.1
Content-Type: application/json
Content-Length: 115
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "5437e512-2530-41bd-a507-9b85780c08e5"
} ]
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 296
{
"id" : "3c5aca2e-be93-4a17-b55d-a1361a274058",
"description" : "Validating Cluster Compaction Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "ClusterCompactionSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
NoteMake changes to the input specification and re-validate using a new API invocation.
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "5985a8b8-bf41-4547-b661-4b2325c23ddd"
} ]
}
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 115
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "5985a8b8-bf41-4547-b661-4b2325c23ddd"
} ]
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/d11e9dc7-d092-4e1d-b8e9-0075ded0a1fd
Content-Length: 166
{
"id" : "d11e9dc7-d092-4e1d-b8e9-0075ded0a1fd",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:13:01.571Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10.6. Stretch a Cluster
Convert a Standard vSAN cluster to a Stretched cluster
Prerequisites
-
The following data is required
-
ID of the cluster
-
Secondary AZ overlay vLAN Id
-
For each host
-
ID of the host (UUID)
-
License key of ESXi
-
-
For each Witness host
-
ID of witness host
-
FQDN of witness host
-
vSAN subnet cidr of witness host
-
-
-
The following data is optional
-
Witness traffic shared with vSAN (or Management VMK)
-
Edge cluster configured Multi-AZ
-
-
The cluster must exist.
-
There must be a host available in the VMware Cloud Foundation inventory.
-
The hosts to be added must have been commissioned.
-
Ensure that the host you want to add is in an active state.
-
You must have a valid ESXi license specified with adequate sockets available for the host to be added.
-
Ensure that the host to be added to the cluster matches the configuration of the hosts already in the cluster. This ensures a balanced configuration of the cluster.
-
vSAN witness should be configured.
-
Underlying physical network should have proper MTUs and vSAN/vMotion connectivity between availability zones and the witness.
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterStretchSpec" : {
"hostSpecs" : [ {
"id" : "81031313-0833-41de-8d13-000a9f614985",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01",
"moveToNvds" : false
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds02",
"moveToNvds" : true
} ]
}
} ],
"witnessSpec" : {
"vsanIp" : "10.0.4.88",
"fqdn" : "witness-vsan.sfo.rainpole.io",
"vsanCidr" : "10.0.4.0/24"
},
"witnessTrafficSharedWithVsanTraffic" : false,
"secondaryAzOverlayVlanId" : 0
}
}'
HTTP Request
POST /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations HTTP/1.1
Content-Type: application/json
Content-Length: 711
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterStretchSpec" : {
"hostSpecs" : [ {
"id" : "81031313-0833-41de-8d13-000a9f614985",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01",
"moveToNvds" : false
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds02",
"moveToNvds" : true
} ]
}
} ],
"witnessSpec" : {
"vsanIp" : "10.0.4.88",
"fqdn" : "witness-vsan.sfo.rainpole.io",
"vsanCidr" : "10.0.4.0/24"
},
"witnessTrafficSharedWithVsanTraffic" : false,
"secondaryAzOverlayVlanId" : 0
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
{
"id" : "144faea7-edea-497f-9e14-e273308fd7b2",
"description" : "Validating Cluster Stretch Spec",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "ClusterStretchSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
NoteMake changes to the input specification and re-validate using a new API invocation.
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterStretchSpec" : {
"hostSpecs" : [ {
"id" : "0ddb6867-d801-4642-b1ca-482fc5a7a10f",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01",
"moveToNvds" : false
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds02",
"moveToNvds" : true
} ]
}
} ],
"witnessSpec" : {
"vsanIp" : "10.0.4.88",
"fqdn" : "witness-vsan.sfo.rainpole.io",
"vsanCidr" : "10.0.4.0/24"
},
"witnessTrafficSharedWithVsanTraffic" : false,
"secondaryAzOverlayVlanId" : 0
}
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 711
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterStretchSpec" : {
"hostSpecs" : [ {
"id" : "0ddb6867-d801-4642-b1ca-482fc5a7a10f",
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"username" : "root",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmnic0",
"vdsName" : "sfo-w01-cl02-vds01",
"moveToNvds" : false
}, {
"id" : "vmnic1",
"vdsName" : "sfo-w01-cl02-vds02",
"moveToNvds" : true
} ]
}
} ],
"witnessSpec" : {
"vsanIp" : "10.0.4.88",
"fqdn" : "witness-vsan.sfo.rainpole.io",
"vsanCidr" : "10.0.4.0/24"
},
"witnessTrafficSharedWithVsanTraffic" : false,
"secondaryAzOverlayVlanId" : 0
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/0b28ad71-f723-4489-9e91-a541ffe44a1f
Content-Length: 166
{
"id" : "0b28ad71-f723-4489-9e91-a541ffe44a1f",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:13:00.271Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10.7. Unstretch a Cluster
Convert a Stretched cluster to a Standard vSAN cluster
Prerequisites
-
The following data is required
-
ID of the cluster
-
-
The cluster must exist.
-
Cluster should be in Stretched state.
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"clusterUnstretchSpec" : { }
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 34
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"clusterUnstretchSpec" : { }
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/dc935f50-d24b-4644-9fab-192f61dfe580
Content-Length: 166
{
"id" : "dc935f50-d24b-4644-9fab-192f61dfe580",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:12:58.934Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.10.8. Delete a Cluster
Warning
|
Datastores on the ESXi hosts in the cluster that will be deleted are destroyed. |
Note
|
You cannot delete the last cluster in a domain. Instead, the domain can be deleted. A cluster cannot be deleted if it has remote vSAN datastores configured. If so, unmount the remote vSAN datastores from vCenter and then retry cluster deletion. Please refer to the 'VMware Cloud Foundation Operations and Administration Guide' for more details. |
Prerequisites
-
The following data is required
-
ID of the cluster to be deleted
-
-
Ensure that a cluster with the given ID exists.
-
The cluster has been marked for deletion.
-
Migrate or backup the VMs and data on the data store associated with the cluster to another location.
Steps
-
Initialize the deletion.
Warning
|
It is not possible to delete a cluster without having marked it for deletion. This 2-step deletion ensures that a cluster is not deleted accidentally. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"markForDeletion" : true
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Content-Length: 30
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"markForDeletion" : true
}
HTTP Response
HTTP/1.1 200 OK
-
Trigger the deletion.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/c6589992-24bc-4dda-8689-558b9c1dbdf5
Content-Length: 166
{
"id" : "c6589992-24bc-4dda-8689-558b9c1dbdf5",
"name" : "Add Cluster Workflow",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:12:58.274Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.11. Multi Site Management
2.11.1. Create a Multi Site Management Federation
A federation is a group of Cloud Foundation instances, such that each member can view information about the other Cloud Foundation instances in the group. The federation creator is granted the controller role by default.
You can create multiple federations within your organization, but global visibility is available only within a federation. Members can belong to only a single federation at a time.
Prerequisites
-
The following data is required
-
Name of the federation
-
Member Details
-
FQDN of the Member
-
Role of the Member (CONTROLLER)
-
Site Type (DATACENTER)
-
Site Name
-
City where the site is located
-
State where the site is located (Optional)
-
Country where the site is located
-
Location coordinates
-
Longitude
-
Latitude
-
-
-
-
Ensure, VCF Instance Role is set to NOT_JOINED.
Tip
|
Refer to: Get fact about a VMware Cloud Foundation |
Steps
-
Trigger the Create Federation
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation' -i -X PUT \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer etYWR....' \ -d '{ "federationName" : "New Federation", "memberJoinDetail" : { "role" : "CONTROLLER", "fqdn" : "sfo-vcf01.rainpole.io", "siteType" : "DATACENTER", "siteName" : "Palo Alto Epic Center", "country" : "USA", "state" : "California", "city" : "Palo Alto", "coordinate" : { "longitude" : -122.838, "latitude" : 37.286 } } }'
HTTP Request
PUT /v1/sddc-federation HTTP/1.1
Content-Type: application/json
Content-Length: 369
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
{
"federationName" : "New Federation",
"memberJoinDetail" : {
"role" : "CONTROLLER",
"fqdn" : "sfo-vcf01.rainpole.io",
"siteType" : "DATACENTER",
"siteName" : "Palo Alto Epic Center",
"country" : "USA",
"state" : "California",
"city" : "Palo Alto",
"coordinate" : {
"longitude" : -122.838,
"latitude" : 37.286
}
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 246
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : "67e1515d-4400-4876-8d1c-809085294bc0",
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
-
Create federation API returns a task object. Task object has the task id.
-
Poll for the status of the workflow using the task ID with request
TIP: Refer to: Get a Task -
Validate the input specification.
-
Validates if VCF instance Role is other than CONTROLLER
-
-
Initialize the fabric services
-
Initialize the topics
-
Initialize persistent store
-
Add member to federation
-
Update persistent store with new member details
-
If the "status" is "SUCCEEDED", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
-
2.11.2. Invite
You can invite Cloud Foundation instances to join a federation. They can be invited as a controller or a regular member.
In the InvitationSpec or http/curl request if inviteeRole is MEMBER, the vcf instance will have limited access and will not be able to view federation details.
Inorder to view federation details, use inviteeRole as CONTROLLER or MANAGER.
Since a federation can include a maximum of three controllers, you may want to assign the controller role to the primary data centers within the federation.
Prerequisites
-
Federation must be created.
-
You must have the controller role to invite a member to a federation.
-
Only one member can be invited at a time.
-
The following data is required
-
Role of the Invitee
-
FQDN of the Invitee
-
Steps
-
Trigger the task using the valid invite spec.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/membership-tokens' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWR....' \
-d '{
"inviteeRole" : "MEMBER",
"inviteeFqdn" : "sfo-vcf01.rainpole.io",
"tokenExpiryHours" : 0.0
}'
HTTP Request
POST /v1/sddc-federation/membership-tokens HTTP/1.1
Content-Type: application/json
Content-Length: 101
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
{
"inviteeRole" : "MEMBER",
"inviteeFqdn" : "sfo-vcf01.rainpole.io",
"tokenExpiryHours" : 0.0
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 203
{
"controllerFqdn" : [ "sfo-vcf01.rainpole.io" ],
"inviteeRole" : "MEMBER",
"inviteeFqdn" : "sfo-vcf01.rainpole.io",
"invitationToken" : "43f525b6-6c11-41c2-92de-f020650f3b7a",
"error" : null
}
-
This is a sync call, and on success should get a token, role and name.
-
If there is a failure, appropriate error is returned. Perform relevant corrective actions before retrying this API.
2.11.3. Join the Federation
You can join a federation as a controller/manager/member depending on the assigned role in the invitation.
Use the token you received as part of the invitation, to trigger a join API.
An invitation is valid for ten days. You must request a new invitation after this period.
Prerequisites
-
The following data is required
-
Controller FQDN
-
You can provide any of the controllers FQDN to join the federation. However, it is preferred to provide
the FQDN of the controller who sent out the invitation.
-
-
Token
-
Token you received from the controller as part of the invitation.
-
-
Member Details
-
Role of the invitee, this should match the role you provided during invite.
-
FQDN of the invitee
-
Type of the site, it will always be "DATACENTER" for 1.0 release
-
Name of the site
-
Country
-
State
-
City
-
Coordinate of the site
-
Longitude
-
Latitude
-
-
-
Steps
Provide above inputs and invoke the API.
If the request goes through successfully, we should see this new member on the world map.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWR....' \
-d '{
"controllerFqdn" : "sfo-vcf01.rainpole.io",
"joinToken" : "test",
"commonName" : "nyc-vcf01.rainpole.io",
"memberJoinDetail" : {
"role" : "MEMBER",
"fqdn" : "nyc-vcf01.rainpole.io",
"siteType" : "DATACENTER",
"siteName" : "New York Epic Center",
"country" : "USA",
"state" : "New York",
"city" : "New York",
"coordinate" : {
"longitude" : -74.006,
"latitude" : 40.712
}
}
}'
HTTP Request
POST /v1/sddc-federation/members HTTP/1.1
Content-Type: application/json
Content-Length: 433
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
{
"controllerFqdn" : "sfo-vcf01.rainpole.io",
"joinToken" : "test",
"commonName" : "nyc-vcf01.rainpole.io",
"memberJoinDetail" : {
"role" : "MEMBER",
"fqdn" : "nyc-vcf01.rainpole.io",
"siteType" : "DATACENTER",
"siteName" : "New York Epic Center",
"country" : "USA",
"state" : "New York",
"city" : "New York",
"coordinate" : {
"longitude" : -74.006,
"latitude" : 40.712
}
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 246
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : "6a8d1586-cb60-4564-984d-8352f2ec1e39",
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
2.11.4. Get progress
Use this API to get progress of long running operations in the system. When operations like bootstrap, join or teardown are triggered, as part of response
you receive a request ID. Use this request ID to track the status of the operation.
Prerequisites
-
Request ID
Steps
-
Provide a valid request ID and invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/tasks/e579c77c-8e26-4499-bf6a-2027abfd7f5c' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWR....'
HTTP Request
GET /v1/sddc-federation/tasks/e579c77c-8e26-4499-bf6a-2027abfd7f5c HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 212
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : null,
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
2.11.5. Get Multi Site Management Federation Details
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation' -i -X GET \
-H 'Authorization: Bearer etYWR....'
HTTP Request
GET /v1/sddc-federation HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3212
[ {
"memberDetails" : {
"role" : "CONTROLLER",
"fqdn" : "sfo-vcf01.rainpole.io",
"siteType" : "DATACENTER",
"siteName" : "Palo Alto Epic Center",
"country" : "USA",
"state" : "California",
"city" : "Palo Alto",
"coordinate" : {
"longitude" : -122.838,
"latitude" : 37.286
}
},
"memberInventory" : {
"capacity" : {
"summary" : {
"domainCount" : 2,
"aggregatedCapacity" : {
"cpu" : {
"free" : 58.795,
"total" : 79.799,
"used" : 21.00399,
"unallocated" : 0.0,
"unit" : "GHZ"
},
"hostCount" : {
"total" : 10,
"unallocated" : 4,
"used" : 6
},
"datastores" : [ {
"used" : 0.866,
"datastoreName" : "sfo-m01-cl01-ds-vsan01",
"datastoreType" : "VSAN",
"freeSpace" : 5.839,
"capacity" : 6.705,
"unallocated" : 2.694,
"unit" : "TB"
}, {
"used" : 0.866,
"datastoreName" : "sfo-m01-cl01-ds-vsan02",
"datastoreType" : "VSAN",
"freeSpace" : 5.839,
"capacity" : 6.705,
"unallocated" : 2.694,
"unit" : "TB"
} ],
"memory" : {
"free" : 76.109,
"total" : 375.0,
"used" : 298.89,
"unallocated" : 0.0,
"unit" : "GB"
}
},
"domainTypeInfo" : [ {
"type" : null,
"domainCount" : 2,
"aggregatedCapacity" : {
"cpu" : {
"free" : 58.795,
"total" : 79.799,
"used" : 21.00399,
"unallocated" : 0.0,
"unit" : "GHZ"
},
"hostCount" : {
"total" : 10,
"unallocated" : 4,
"used" : 6
},
"datastores" : [ {
"used" : 0.866,
"datastoreName" : "sfo-m01-cl01-ds-vsan01",
"datastoreType" : "VSAN",
"freeSpace" : 5.839,
"capacity" : 6.705,
"unallocated" : 2.694,
"unit" : "TB"
}, {
"used" : 0.866,
"datastoreName" : "sfo-m01-cl01-ds-vsan02",
"datastoreType" : "VSAN",
"freeSpace" : 5.839,
"capacity" : 6.705,
"unallocated" : 2.694,
"unit" : "TB"
} ],
"memory" : {
"free" : 76.109,
"total" : 375.0,
"used" : 298.89,
"unallocated" : 0.0,
"unit" : "GB"
}
}
} ],
"domainInfo" : null
}
},
"inventoryInfo" : null,
"softwareInfo" : {
"pendingUpdates" : 1
},
"creationTime" : null,
"createTime" : "1595522545"
},
"memberLiveness" : {
"livelinessCode" : "GREEN",
"livelinessDetails" : [ "The vcf site Palo Alto Epic Centeris live" ]
},
"memberHealth" : {
"healthCode" : "GREEN",
"healthDetails" : [ "Category: CPU, usage: 60.0, and it is normal." ]
}
} ]
This API can be used to get list of all VCF instances in the federation with details.
* VCF instance details
* VCF instance inventory
* VCF instance liveness
* VCF instance health
2.11.6. Get Members
Get the details of the members.
Prerequisites
-
Federation must be created.
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members' -i -X GET \
-H 'Authorization: Bearer etYWR....'
HTTP Request
GET /v1/sddc-federation/members HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 413
{
"memberDetail" : {
"role" : "CONTROLLER",
"fqdn" : "sfo-vcf01.rainpole.io",
"siteType" : "DATACENTER",
"siteName" : "Palo Alto Epic Center",
"country" : "USA",
"state" : "California",
"city" : "Palo Alto",
"coordinate" : {
"longitude" : -122.838,
"latitude" : 37.286
}
},
"federationName" : "New Federation",
"permissions" : [ "JOIN" ],
"error" : null
}
2.11.7. Leave from the federation
Leaving a federation removes the Multi-Instance Management view from your SDDC Manager dashboard.
If you are a controller, you can leave a federation only if there is at least one more controller in the federation.
If you are the only controller member in a federation, you must dismantle a federation instead of leaving it.
Prerequisites
-
The following data is required
-
ID (FQDN) of the member to be deleted, specified as a path variable.
-
If member ID is equal to the FQDN of invoking SDDC Manager, it is treated as leave.
-
Otherwise, it is treated as evicting the member (specified by ID) by invoking SDDC Manager. In this case the invoking SDDC Manager must be a Controller.
-
-
-
The Request param 'force' is optional
-
If force is set to true, the leaving member will not contact controller, but shut down local system.
Default value for force is false, in which case leaving member will issue REST request to a remote controller asking for leave.
-
-
If the invoking SDDC Manager is the only member in the federation, do not use leave, but teardown instead.
Steps
-
If ID is the same as FQDN of invoking SDDC Manager and force is false
-
This member will issue rest request to a remote controller asking for leave, if the remote response
is successful, it will then shut down its local system. Persistent store will be archived and cleaned up.
-
-
If ID is the same as FQDN of invoking SDDC Manager and force is true
-
This member will not contact remote controller but shut down its local system directly. Persistent store will be archived and cleaned up.
-
-
If ID is the different from FQDN of invoking SDDC Manager
-
The invoking SDDC Manager will evict the member (specified by ID) from federation and ask the evictee to clean its system.
force variable in this case doesn’t matter.
-
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members/nyc-vcf01.rainpole.io' -i -X DELETE \
-H 'Authorization: Bearer etYWR....'
HTTP Request
DELETE /v1/sddc-federation/members/nyc-vcf01.rainpole.io HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 202 Accepted
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 246
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : "26335c7d-89ff-4167-8411-bd7ea853f768",
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
To Force remove the member use following:
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members/nyc-vcf01.rainpole.io?force=true' -i -X DELETE \
-H 'Authorization: Bearer etYWR....'
HTTP Request
DELETE /v1/sddc-federation/members/nyc-vcf01.rainpole.io?force=true HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 202 Accepted
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 246
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : "57005788-32ee-4457-834e-dbed9eed3912",
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
2.11.8. Tear Down Federation
You can dismantle a federation if you are the last controller member in the federation.
Only members with the controller role can dismantle a federation.
Prerequisites
-
No request body is needed.
-
Invoking SDDC Manager must be of Controller role, and the only one in the federation.
Steps
-
When Teardown API is invoked, it does the following
-
All fabric services previously set up will be shut down.
-
Persistent store will be archived and cleaned up.
-
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation' -i -X DELETE \
-H 'Authorization: Bearer etYWR....'
HTTP Request
DELETE /v1/sddc-federation HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 246
{
"status" : "SUCCEEDED",
"operation" : null,
"taskId" : "62565abd-576b-46ac-bb34-2d5654dbab2b",
"remoteOperationTask" : null,
"progressDetails" : null,
"created" : null,
"lastUpdated" : null,
"errors" : null,
"payload" : null
}
2.12. AVNs
2.12.1. Validate AVN Creation
-
Validating the Application virtual networks (AVNs) specification before creation.
-
AVNs are used in deploying vRealize vRealize Suite components.
-
AVNs are backed by overlay segments using the encapsulation protocol of NSX-T.
-
AVNs use a single IP network address space, to span across data centers.
Prerequisites
The following data is required for the Validate AVN Creation Spec:
-
TODO
Tip
|
Refer to: AvnsCreationSpec. |
Steps
-
Validate the input specification using Validate AVN Creation Spec.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/avns/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterId" : "52309268-2a1f-4c2c-b8ea-3dd78b6d5677",
"avns" : [ {
"name" : "sfo-m01-seg01",
"regionType" : "REGION_A",
"subnet" : "192.168.20.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.20.1",
"mtu" : 9000,
"routerName" : "sfo-m01-seg01-t0-gw01"
}, {
"name" : "xreg-m01-seg01",
"regionType" : "X_REGION",
"subnet" : "192.168.30.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.30.1",
"mtu" : 9000,
"routerName" : "xreg-m01-seg01-t0-gw01"
} ]
}'
HTTP Request
POST /v1/avns/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 535
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterId" : "52309268-2a1f-4c2c-b8ea-3dd78b6d5677",
"avns" : [ {
"name" : "sfo-m01-seg01",
"regionType" : "REGION_A",
"subnet" : "192.168.20.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.20.1",
"mtu" : 9000,
"routerName" : "sfo-m01-seg01-t0-gw01"
}, {
"name" : "xreg-m01-seg01",
"regionType" : "X_REGION",
"subnet" : "192.168.30.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.30.1",
"mtu" : 9000,
"routerName" : "xreg-m01-seg01-t0-gw01"
} ]
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 235
{
"id" : "835ec0ba-8790-4d2b-ad86-9750521dfcdc",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "AVNsCreationSpecValidation",
"resultStatus" : "SUCCEEDED"
} ]
}
2.12.2. Create AVN
-
Creating Application virtual networks (AVNs).
-
AVNs are used in deploying vRealize vRealize Suite components.
-
AVNs are backed by overlay segments using the encapsulation protocol of NSX-T.
-
AVNs use a single IP network address space, to span across data centers.
Prerequisites
The following data is required for the Create AVNs:
-
TODO
Tip
|
Refer to: AvnsCreationSpec. |
Steps
-
Invoke the Create AVNs. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/avns' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterId" : "52309268-2a1f-4c2c-b8ea-3dd78b6d5677",
"avns" : [ {
"name" : "sfo-m01-seg01",
"regionType" : "REGION_A",
"subnet" : "192.168.20.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.20.1",
"mtu" : 9000,
"routerName" : "sfo-m01-seg01-t0-gw01"
}, {
"name" : "xreg-m01-seg01",
"regionType" : "X_REGION",
"subnet" : "192.168.30.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.30.1",
"mtu" : 9000,
"routerName" : "xreg-m01-seg01-t0-gw01"
} ]
}'
HTTP Request
POST /v1/avns HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 535
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterId" : "52309268-2a1f-4c2c-b8ea-3dd78b6d5677",
"avns" : [ {
"name" : "sfo-m01-seg01",
"regionType" : "REGION_A",
"subnet" : "192.168.20.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.20.1",
"mtu" : 9000,
"routerName" : "sfo-m01-seg01-t0-gw01"
}, {
"name" : "xreg-m01-seg01",
"regionType" : "X_REGION",
"subnet" : "192.168.30.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.30.1",
"mtu" : 9000,
"routerName" : "xreg-m01-seg01-t0-gw01"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/7318b90c-34a4-47a4-813e-a4eb1403aebc
Content-Length: 209
{
"id" : "7318b90c-34a4-47a4-813e-a4eb1403aebc",
"name" : "Deploying Overlay AVNs for default cluster of management domain",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:19:10.068Z"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.12.3. Get the AVNs
This API is used to fetch all configured AVNs
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/avns' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/avns HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 312
[ {
"id" : "sfo-m01-seg01",
"name" : "sfo-m01-seg01",
"regionType" : "REGION_A",
"subnet" : "192.168.20.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.20.1",
"mtu" : 9000,
"portGroupName" : "sfo-m01-seg01-pg",
"domainName" : "rainpole.io",
"routerName" : "sfo-m01-seg01-t0-gw01"
} ]
2.12.4. Get the AVNs by RegionType
This API is used to fetch all configured AVNs for a given region type
Prerequisites
-
The following data is required
-
RegionType of the AVN
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/avns?regionType=X_REGION' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/avns?regionType=X_REGION HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 316
[ {
"id" : "xreg-m01-seg01",
"name" : "xreg-m01-seg01",
"regionType" : "X_REGION",
"subnet" : "192.168.30.0",
"subnetMask" : "255.255.255.0",
"gateway" : "192.168.30.1",
"mtu" : 9000,
"portGroupName" : "xreg-m01-seg01-pg",
"domainName" : "rainpole.io",
"routerName" : "xreg-m01-seg01-t0-gw01"
} ]
2.13. vRealize Suite Lifecycle Manager
2.13.1. vRealize Suite Lifecycle Manager Deployment
To deploy and manage the vRealize Suite products after the initial greenfield deploy of VMware Cloud Foundation, you must first deploy vRealize Suite Lifecycle Manager. To guarantee the success of the vRealize Suite Lifecycle Manager deployment operation, you should pre-validate the deployment input.
Prerequisites
-
The following data is required:
-
Application Virtual Networks are configured
-
Unique vRealize Suite Lifecycle Manager hostname and corresponding IP address from the X-Region Application Virtual Network
-
vRealize Suite Lifecycle Manager API and root passwords
-
Free IP address from the X-Region Application Virtual Network for the Standalone Tier 1 router
-
-
Additional prerequisites:
-
The vRealize Suite Lifecycle Manager bundle needs to be downloaded and applied on the SDDC Manager
-
Application Virtual Network should have connectivity to the management VLAN
-
Note
|
vRealize Suite Lifecycle Manager deployment is not available if vRealize Suite Lifecycle Manager is successfully deployed as only one instance of it is allowed in the system. In this case, calling the API will produce an error and the user will be provided with information about the allowed HTTP methods for the given endpoint. This information can be found in the "allow" field from the response headers. |
Steps
-
Assemble the vRealize Suite Lifecycle Manager deployment input specification.
Tip
|
Refer to VrslcmDeploymentSpec |
-
Trigger the vRealize Suite Lifecycle Manager deployment input specification validations. For help using the vRealize Suite Lifecycle Manager validation API refer to: Get the status of the validations for vRealize Lifecycle Manager deployment
Warning
|
The triggered validations return a response containing a validation report ID. With that ID, poll the vRealize Suite Lifecycle Manager validations API. While the validations are running, the "executionStatus" is "IN_PROGRESS". You should poll the API until the "executionStatus" is "COMPLETED". |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vrslcms/validations/77c17ee9-7fa6-455f-ace6-602e43c76887' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vrslcms/validations/77c17ee9-7fa6-455f-ace6-602e43c76887 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 170
{
"id" : "9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c",
"description" : "Validating vRealize Suite Lifecycle Manager input parameters",
"executionStatus" : "IN_PROGRESS"
}
-
Once the validations are completed, you can get the overall result of the validations and a detailed list with all checks that have been done and the corresponding status of each check.
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of only warnings in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED_WITH_WARNINGS".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
-
Tip
|
The validation checks have two severity levels - warning and error. If a failed validation check is marked as an error, the issue must be resolved before proceeding with the deployment. If the issue is marked as a warning, you are advised to look at it and do the best to fix it. You could ignore it and proceed on your own risk without fixing it, but this might affect the deployment and make it fail at a later stage. NOTE: Make changes to the input specification and re-validate using a new API invocation |
-
Once there are no errors and warnings in the validation response, you can proceed with the vRealize Suite Lifecycle Manager deployment. Although the warnings are not forced to be resolved, you should give the best to resolve the uncovered issues by the validations.
-
Trigger the vRealize Suite Lifecycle Manager deployment. This will start a long-running task whose details can be obtained form the HTTP response.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vrslcms' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"fqdn" : "vrslcm.vrack.vsphere.local",
"sshPassword" : "VMware123!",
"apiPassword" : "VMware123!"
}'
HTTP Request
POST /v1/vrslcms HTTP/1.1
Content-Type: application/json
Content-Length: 107
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"fqdn" : "vrslcm.vrack.vsphere.local",
"sshPassword" : "VMware123!",
"apiPassword" : "VMware123!"
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c
Allow: GET
Content-Type: application/json
Content-Length: 131
{
"id" : "9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
-
Track the task status using the "id" from the previous response. The GET URL is set in the header response and can be used directly. Refer to: Get a Task.
-
If the "status" is "IN_PROGRESS", the task is still in progress.
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
-
Tip
|
Refer to: Retry a Task. |
If the workflow fails after trying to restart the task, perform the vRealize Suite Lifecycle Manager rollback
Tip
|
Refer to: vRealize Suite Lifecycle Manager Rollback. |
2.13.2. vRealize Suite Lifecycle Manager Rollback
When vRealize Suite Lifecycle Manager deployment fails, you can perform rollback to get the environment in a clean state and start a fresh vRealize Suite Lifecycle Manager deployment.
Prerequisites
-
Failed vRealize Suite Lifecycle Manager deployment operation.
Note
|
vRealize Suite Lifecycle Manager rollback is not available if vRealize Suite Lifecycle Manager is successfully deployed. In this case, calling the API will produce an error and the user will be provided with information about the allowed HTTP methods for the given endpoint. This information can be found in the "allow" field from the response headers. |
Steps
-
Trigger the vRealize Suite Lifecycle Manager rollback.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vrslcm' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/vrslcm HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c
Content-Type: application/json
Content-Length: 131
{
"id" : "9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
-
Track the task status using the "id" from the previous response. The GET URL is set in the header response and can be used directly.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "IN_PROGRESS", the task is still in progress.
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.14. Workspace ONE Access for vRealize
2.14.1. Workspace ONE Access for vRealize
In order to have Workspace ONE Access you need to first deploy vRealize Suite Lifecycle Manager. After vRealize Suite Lifecycle Manager is deployed please refer to its public API documentation to deploy Workspace ONE Access.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager, Get all existing Workspace ONE Access instances |
Steps
-
Deploy vRealize Suite Lifecycle Manager.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating global environment.
Tip
|
Refer to vRSLCM create environment API guide |
2.15. vRealize Automation
2.15.1. vRealize Automation
In order to have vRealize Automation you need to first deploy vRealize Suite Lifecycle Manager and then Workspace ONE Access. After vRealize Suite Lifecycle Manager is deployed please refer to its public API documentation to deploy Workspace ONE Access and vRealize Automation.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager, Get all existing vRealize Automation instances |
Steps
-
Deploy vRealize Suite Lifecycle Manager.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating global environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating vRealize Automation environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
Refer to vRealize Automation Public API documentation for connection vRealize Automation to workload domains.
2.16. vRealize Operations
2.16.1. vRealize Operations Manager
In order to have vRealize Operations Manager you need to first deploy vRealize Suite Lifecycle Manager and then Workspace ONE Access. After vRealize Suite Lifecycle Manager is deployed please refer to its public API documentation to deploy Workspace ONE Access and vRealize Operations Manager.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager, Get all existing vRealize Operations instances |
Steps
-
Deploy vRealize Suite Lifecycle Manager.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating global environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating vRealize Operations Manager environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
vRealize Operations Manager is being automatically connected to the management domain after deployment.
-
Refer to Connect vRealize Operations to workload domain for connecting vRealize Operations Manager to workload domains.
2.16.2. Connect vRealize Operations to workload domain
You can connect vRealize Operations product deployment in Cloud Foundation to your workload domains.
Prerequisites
-
Before you can connect the management domain or workload domains to vRealize Operations, it must be deployed and in "ACTIVE" state.
Tip
|
For more information refer to Get all existing vRealize Operations instances |
Steps
-
Assemble the vRealize Operations domain specification.
Tip
|
Refer to DomainIntegration |
-
Trigger the vRealize Operations domain connection.
Tip
|
For help using the vRealize Log Insight domain connection API refer to: Connect/disconnect workload domains with vRealize Operations |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vrops/domains' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainId" : "539ff90b-d70e-4082-bc52-435de9d7cd7c",
"status" : "ENABLED"
}'
HTTP Request
PUT /v1/vrops/domains HTTP/1.1
Content-Type: application/json
Content-Length: 81
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainId" : "539ff90b-d70e-4082-bc52-435de9d7cd7c",
"status" : "ENABLED"
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c
Content-Type: application/json
Content-Length: 131
{
"id" : "9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
Note
|
This operation is a long-running task which details can be obtained form the HTTP response. |
-
Track the task status using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "IN_PROGRESS", the task is still in progress.
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
For task re-execution refer to: Retry a Task. |
Note
|
To see the domain connection status of vRealize Operations refer to: Gets vRealize Operations integration status for workload domains |
2.17. vRealize Log Insight
2.17.1. vRealize Log Insight
In order to have vRealize Log Insight you need to first deploy vRealize Suite Lifecycle Manager and then Workspace ONE Access. After vRealize Suite Lifecycle Manager is deployed please refer to its public API documentation to deploy Workspace ONE Access and vRealize Log Insight.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager, Get all existing vRealize Log Insight instances |
Steps
-
Deploy vRealize Suite Lifecycle Manager.
Tip
|
Refer to Deploy vRealize Suite Lifecycle Manager |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating global environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
Refer to vRealize Suite Lifecycle Manager Public API documentation for creating vRealize Log Insight environment.
Tip
|
Refer to vRSLCM create environment API guide |
-
vRealize Log Insight is being automatically connected to the management domain after deployment.
-
Refer to Connect vRealize Log Insight to workload domains for connection vRealize Log Insight to workload domains.
2.17.2. Connect vRealize Log Insight to workload domains
You can connect vRealize Log Insight product deployment in Cloud Foundation to your workload domains.
Prerequisites
-
Verify that the vRealize Log Insight cluster is online and operational.
Tip
|
Refer to Get all existing vRealize Log Insight instances |
Steps
-
Assemble the vRealize Log Insight domain specification.
Tip
|
Refer to Vrli |
-
Trigger the vRealize Log Insight domain connection.
Tip
|
For help using the vRealize Log Insight domain connection API refer to: Connects vRealize Log Insight with domain |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vrli/domains' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"domainId" : "a46a59c1-ccd4-4676-bbe3-231e457c20f8",
"status" : "ENABLED"
}'
HTTP Request
PUT /v1/vrli/domains HTTP/1.1
Content-Type: application/json
Content-Length: 81
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"domainId" : "a46a59c1-ccd4-4676-bbe3-231e457c20f8",
"status" : "ENABLED"
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c
Allow: PUT
Content-Type: application/json
Content-Length: 130
{
"id" : "9b56b98b-ba62-42cb-9ac1-f65e2d20ff9c",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
Note
|
This operation is a long-running task which details can be obtained form the HTTP response. |
-
Track the task status using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "IN_PROGRESS", the task is still in progress.
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
For task re-execution refer to: Retry a Task. |
2.18. Backup and Restore
Back up and restore solution is provided to backup SDDC manager and configure NSX manager backup.
2.18.1. Configure backup of SDDC manager and NSX manager
It is essential to review the basic principles in a file-based solution for backup. In such a solution, the state of a product is periodically exported to a file that is stored in a domain different than the one where the product is running. If the product needs to be restored, the OVA is re-deployed and a selected backup-file is used to restore the state.
NSX Manager files are backed up by default in the SDDC Manager VM which also has to be backed up. You can configure an external SFTP server as a backup location which is the recommended solution. NSX Manager is backed up every 1 hour
This section provides the steps to configure NSX backup location and the SDDC Manager backup location to an external SFTP server along with encryption configuration for both SDDC Manager and NSX Manager backup.
Backup of SDDC manager can be scheduled by setting the schedule for SDDC Manager in the configuration. The state change driven backups are enabled by default with SDDC Manager scheduled backups and can not be enabled when the scheduled backups are disabled. User must disable state change driven backups when disabling scheduled backups. User can also set a backup retention policy for SDDC Manager backups. When the scheduled backups of SDDC Manager are enabled, the below default retention policy is set for SDDC Manager backups.
{"numberOfMostRecentBackups" : 10, "numberOfDaysOfHourlyBackups" : 2, "numberOfDaysOfDailyBackups" : 15}
SDDC Manager’s backup retention policy is designed to retain as many latest backups as possible and also to retain optimal number of backups for a long period of time. Using this policy, user can retain a given number of most recent backups, and hourly backups(only the latest backup is retained in an hour) for a given number of days, and daily backups(only the latest backup is retained per day) for a given number of days. For example, as per the above default policy, the very recent 10 backups will be retained, and on top of that hourly backups will be retained for last 2 days, and on top of that daily backups will be retained for last 15 days.
Prerequisites
-
The following data is required
-
Encryption
-
Twelve or more characters.
-
At least one upper-case letter.
-
At least two digits.
-
At least one special character.
-
-
Note
|
SDDC Manager does not store previously-used passphrases. You must store the passphrase in a secure location separate from the backup files and from the Cloud Foundation environment you are protecting. |
-
FTP server details to save the backup file :
-
IP or FQDN of the server
-
port
-
protocol, which is SFTP
-
username
-
password
-
ssh fingerprint
-
directory path to save the backup file
-
-
SDDC manager schedule details :
-
Frequency of the schedule
-
Schedule details
-
-
The user credentials should have the role of an ADMIN
Tip
|
To get fingerprint execute the below command |
ssh-keygen -lf <(ssh-keyscan -t ssh-rsa -p <port-number> <server-IP-address> 2>/dev/null)
Note
|
Fingerprint should be SHA-256 RSA key. |
Steps
-
Trigger the task using the valid input specification.
Note
|
To trigger the API, the user should have a role of an ADMIN in VCF. |
Note
|
Resource Type allowed for scheduling backup is SDDC_MANAGER. |
Note
|
Only absolute path is accepted for directory path |
Note
|
Scheduling frequency WEEKLY takes the fields daysOfTheWeek, hoursOfTheDay and minuteOfTheHour. Scheduling frequency HOURLY takes the field minuteOfTheHour. |
Tip
|
Refer to Security section to set the role as ADMIN for the user. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/backup-configuration' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"encryption" : {
"passphrase" : "VMwareBackup@1"
},
"backupLocations" : [ {
"server" : "10.92.33.23",
"port" : 22,
"protocol" : "SFTP",
"username" : "backup",
"password" : "FTPServer@1",
"directoryPath" : "/vmware/backup",
"sshFingerprint" : "SHA256:w2NgXhG2XXXXXXXX"
} ],
"backupSchedules" : [ {
"resourceType" : "SDDC_MANAGER",
"takeScheduledBackups" : true,
"frequency" : "WEEKLY",
"daysOfWeek" : [ "SUNDAY", "THURSDAY" ],
"hourOfDay" : 12,
"minuteOfHour" : 34,
"takeBackupOnStateChange" : true,
"retentionPolicy" : {
"numberOfMostRecentBackups" : 15,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfDaysOfDailyBackups" : 20
}
} ]
}'
Request Body
PUT /v1/system/backup-configuration HTTP/1.1
Content-Type: application/json
Content-Length: 732
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"encryption" : {
"passphrase" : "VMwareBackup@1"
},
"backupLocations" : [ {
"server" : "10.92.33.23",
"port" : 22,
"protocol" : "SFTP",
"username" : "backup",
"password" : "FTPServer@1",
"directoryPath" : "/vmware/backup",
"sshFingerprint" : "SHA256:w2NgXhG2XXXXXXXX"
} ],
"backupSchedules" : [ {
"resourceType" : "SDDC_MANAGER",
"takeScheduledBackups" : true,
"frequency" : "WEEKLY",
"daysOfWeek" : [ "SUNDAY", "THURSDAY" ],
"hourOfDay" : 12,
"minuteOfHour" : 34,
"takeBackupOnStateChange" : true,
"retentionPolicy" : {
"numberOfMostRecentBackups" : 15,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfDaysOfDailyBackups" : 20
}
} ]
}
Response Body
HTTP/1.1 202 Accepted
Location: /v1/tasks/fb7d6213-9e99-4cf1-9cb9-d987db4e2658
Content-Type: application/json
Content-Length: 210
{
"id" : "fb7d6213-9e99-4cf1-9cb9-d987db4e2658",
"name" : "Configure backup on VCF Components and register backup locations",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Note
|
The SFTP server credentials are saved before configuring any NSX managers. In case configuring the NSX manager failed, an attempt is still made to configure as many NSX managers as possible before failing the task. |
Tip
|
Refer to: Retry a Task. |
2.18.2. Edit the Backup Configuration
Prerequisites
-
The following data is required
-
The configuration which has to be edited (Backup location or Encryption or Backup schedules or all).
-
User credentials with role as an ADMIN in VCF.
-
Note
|
In case you are editing the passphrase, you must store the passphrase in a secure location separate from the backup files and from the Cloud Foundation environment. The encryption passphrase is mapped to the backup file. Editing the passphrase will not update the configured passphrase for previously backed up file. |
Note
|
In case you are editing the backup location, previously collected NSX backups must be manually migrated to the new location. All the parameters of backup location have to be given as input while editing the backup location. |
Note
|
Editing backup configuration updates all the NSX manager’s backup configuration. |
Steps
-
Invoke the API
Tip
|
To get the current backup configuration Refer to: Get the Backup Configuration |
-
The example shown is to edit only the backup location whereas encryption and backup schedule is unchanged.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/backup-configuration' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"backupLocations" : [ {
"server" : "10.92.33.24",
"port" : 22,
"protocol" : "SFTP",
"username" : "backup",
"password" : "FTPServer@2",
"directoryPath" : "/vmware/backup",
"sshFingerprint" : "SHA256:w2NgXhG2XXXXXXXX"
} ]
}'
Request Body
PATCH /v1/system/backup-configuration HTTP/1.1
Content-Type: application/json
Content-Length: 255
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"backupLocations" : [ {
"server" : "10.92.33.24",
"port" : 22,
"protocol" : "SFTP",
"username" : "backup",
"password" : "FTPServer@2",
"directoryPath" : "/vmware/backup",
"sshFingerprint" : "SHA256:w2NgXhG2XXXXXXXX"
} ]
}
Response Body
HTTP/1.1 202 Accepted
Location: /v1/tasks/fa8409a2-0408-4ae6-9bf0-54cc469de3ac
Content-Type: application/json
Content-Length: 210
{
"id" : "fa8409a2-0408-4ae6-9bf0-54cc469de3ac",
"name" : "Configure backup on VCF Components and register backup locations",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
-
The example shown is to edit only the backup schedule whereas backup location and encryption is unchanged.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/backup-configuration' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"backupSchedules" : [ {
"resourceType" : "SDDC_MANAGER",
"takeScheduledBackups" : true,
"frequency" : "WEEKLY",
"daysOfWeek" : [ "MONDAY" ],
"hourOfDay" : 12,
"minuteOfHour" : 23,
"takeBackupOnStateChange" : true,
"retentionPolicy" : {
"numberOfMostRecentBackups" : 15,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfDaysOfDailyBackups" : 20
}
} ]
}'
Request Body
PATCH /v1/system/backup-configuration HTTP/1.1
Content-Type: application/json
Content-Length: 407
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"backupSchedules" : [ {
"resourceType" : "SDDC_MANAGER",
"takeScheduledBackups" : true,
"frequency" : "WEEKLY",
"daysOfWeek" : [ "MONDAY" ],
"hourOfDay" : 12,
"minuteOfHour" : 23,
"takeBackupOnStateChange" : true,
"retentionPolicy" : {
"numberOfMostRecentBackups" : 15,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfDaysOfDailyBackups" : 20
}
} ]
}
Response Body
HTTP/1.1 202 Accepted
Location: /v1/tasks/bbbb7495-05fb-4c9d-902c-80558f9ea1bb
Content-Type: application/json
Content-Length: 209
{
"id" : "bbbb7495-05fb-4c9d-902c-80558f9ea1bb",
"name" : "Configure backup on VCF Components and register backup schedule",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2019-05-10T11:13:22.551Z"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
2.18.3. Get the Backup Configuration
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/backup-configuration' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/backup-configuration HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 603
{
"backupLocations" : [ {
"server" : "10.92.33.24",
"port" : 22,
"protocol" : "SFTP",
"username" : "backup",
"directoryPath" : "/vmware/backup"
} ],
"backupSchedules" : [ {
"resourceType" : "SDDC_MANAGER",
"takeScheduledBackups" : true,
"frequency" : "WEEKLY",
"daysOfWeek" : [ "MONDAY" ],
"hourOfDay" : 12,
"minuteOfHour" : 23,
"takeBackupOnStateChange" : true,
"retentionPolicy" : {
"numberOfMostRecentBackups" : 15,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfDaysOfDailyBackups" : 20
}
} ],
"isConfigured" : true
}
Note
|
"isConfigured" notifies if the backup has been configured. |
Note
|
Encryption details which was configured is not returned due to security reasons. |
2.18.4. Initiate Backup of SDDC Manager
Back up the SDDC Manager VM regularly to avoid downtime and data loss in case of a system failure. If the SDDC Manager VM does fail, you can restore VM to the last backup
In case you need to restore the SDDC Manager VM, you select the backup file to restore and download the appropriate OVA file. You can deploy this OVA either through vCenter Server or the OVF tool. You then load the state on the newly deployed SDDC Manager VM.
Prerequisites
-
The following action needs to be performed
-
Backup must be configured
-
-
Computer that runs the backup automation script (or where you manually run the APIs). This computer may also be used to coordinate and support a restore operation. It can also host the FTP server required to protect the NSX Manager instances.
-
Reliable and secure storage volume on which the backup files are stored. The computer and the storage need to be in a different fault domain.
Note
|
Only resourceType:SDDC_MANAGER is supported currently. |
Tip
|
Refer to: Configure backup of SDDC manager and NSX manager |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/backups/tasks' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ]
}'
HTTP Request
POST /v1/backups/tasks HTTP/1.1
Content-Type: application/json
Content-Length: 64
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: 3b48ffc5-fafd-46e5-88ee-ce3ccc4d7a93
Content-Type: application/json
Content-Length: 252
{
"id" : "3b48ffc5-fafd-46e5-88ee-ce3ccc4d7a93",
"name" : "SDDC Manager Backup Operation",
"status" : "IN_PROGRESS",
"resources" : [ {
"type" : "BACKUP",
"name" : "vcf-backup-sddc-manager-vrack-vsphere-local-2019-07-29-12-02-46"
} ]
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
-
The backup files are saved in the /nfs/vmware/vcf/nfs-mount/sddc-manager-backup directory on the SDDC Manager VM.
-
In this example, the full filename of the backup file will be vcf-backup-sddc-manager-vrack-vsphere-local-2019-07-29-12-02-46.tar.gz
Tip
|
To inspect the contents of a backup tar file, use the decrypt command described in Initiate Restore of SDDC Manager |
Note
|
Make sure to copy the backup file to a known location along with the corresponding passphrases. |
2.18.5. Initiate Restore of SDDC Manager
In case of a failure, you can restore SDDC Manager from a saved backup.
Prerequisites
-
The following data is required
-
Backup file name and location of the backup file
-
Encryption passphrase used to encrypt the backup file
-
Note
|
Only resourceType:SDDC_MANAGER is supported currently |
Steps
-
Power off the original SDDC Manager VM.
-
Rename the VM to something like sddc-manager-original using the management domain vCenter Server.
-
Identify the backup file to be used for the restore operation.
Tip
|
In most cases, you should select the most recently taken backup. |
-
The backup file contains sensitive data about your Cloud Foundation instance, including passwords in plain text. It is recommended you control access to the decrypted files and securely delete them when you are done with the restore operation.
-
Using a computer that has access to the secure secondary storage where the backup files are stored, navigate to the backup file and extract the contents of the encrypted tar file using the following command.
OPENSSL_FIPS=1 openssl enc -d -aes-256-cbc -md sha256 -in filename-of-selected-file | tar -xz
-
At the prompt, enter the passphrase that you configured before backing up SDDC Manager.
-
The extracted metadata.json file contains the networking details and fips enablement details required for new SDDC manager deployment in further steps.
-
In order to restore SDDC Manager, you need to deploy the SDDC Manager OVA.
-
The link to download the OVA is found in the metadata.json file in the backup file.
-
Download the SDDC Manager OVA from the link provided.
-
Deploy SDDC Manager VM from vCenter Server or with the OVF Tool either in fips or non fips mode as specified in the metadata.json.
-
Deploy SDDC Manager VM from vCenter server
-
Log in to the management domain vCenter Server using a web browser that is running on a system that has access to the downloaded SDDC Manager OVA.
-
In the vSphere Client, expand SDDC-Datacenter > SDDC-Cluster1.
-
Right-click on Mgmt-ResourcePool and select Deploy OVF Template.
-
The Deploy OVF Template wizard appears.
-
Use the local file option and choose the downloaded SDDC Manager OVA
-
Specify the VM name as sddc-manager.
-
Select the location of the SDDC Manager VM as SDDC-Datacenter > Management VMs and click Next.
-
Specify the compute resource destination. See the metadata.json file for the name of the pool and click Next.
-
Verify the template details and click Next.
-
Read the license terms and click the checkbox at the bottom of the page to accept the license agreements.
-
On the storage page, keep the vSAN datastore selection. The datastore name is in the metadata.json file and click Next.
-
On the networks page:
-
Do not change the default setting for Source Network.
-
In Destination Network, select the port group that is listed in the metadata.json file.
-
Do not change the default setting for IP allocation and IP protocol.
-
-
Click Next.
-
For the fields on the Customize template page, refer to the metadata.json file. Note the following:
-
Specify the backup user password from the security_password_vault.jsonfile.
-
For the root, vcf, and admin user accounts, you can re-use the same passwords from the original SDDC Manager deployment or assign new ones. For password considerations, refer to the About the Deployment Parameter Workbook section in the VMware Cloud Foundation Deployment Guide.
-
Select the fips mode if the fips_enabled flag is set to true in metadata.json
-
Leave the DNS and NTP fields empty
-
(Optional) Existing PSC Settings section.
-
-
Click Next.
-
Review the OVF details and click Finish. The OVF deployment begins. You can view the details in the Tasks pane.
-
Power on the newly deployed SDDC Manager VM and wait for the vCenter Server UI to report its IP address has been assigned.
-
SSH in to the SDDC Manager and log in as the vcf user.
-
-
Deploy SDDC Manager VM with the OVF tool
-
Install the OVF tool on a system that has access to the SDDC Manager OVA that you downloaded.
-
Prerequisites
-
Download the OVF tool and install it on a system that has access to the SDDC Manager OVA that you downloaded
-
Retrieve the DNS name or IP address of a host from the management domain.
-
Log into the management domain vCenter Server
-
navigate to the management domain cluster
-
select an active host that is not reporting any vSAN errors
-
-
Retrieve the root password for the selected host. Search for the host’s DNS name in the security_password_vault.json, which displays the root password.
-
-
Run the following command with information from the metadata.json file.
-
-
For non-fips mode
+
ovftool --noSSLVerify --skipManifestCheck --powerOn --diskMode=thin --acceptAllEulas -- allowExtraConfig --ipProtocol=IPv4 --ipAllocationPolicy=fixedPolicy --datastore=datastoreName -- name=sddc-manager --X:injectOvfEnv --X:waitForIp --prop:ROOT_PASSWORD=Password -- prop:VCF_PASSWORD=Password --prop:LOCAL_USER_PASSWORD=Password --prop:BACKUP_PASSWORD=Password --prop:vami.gateway.SDDC-Manager=gatewayIP --prop:vami.ip0.SDDC-Manager=SDDC_Manager_IP -- prop:vami.netmask0.SDDC-Manager=networkMask --prop:vami.hostname=hostName -- prop:vami.searchpath.SDDC-Manager=searchPath --prop:vami.domain.SDDC-Manager=domain -- network=portGroupName --prop:guestinfo.ntp="ntp" --prop:vami.DNS.SDDC-Manager="dns" --X:logFile=./ovftool.log --X:logLevel=verbose OVA_filename vi://root:password_for_selected_host>@host_DNS_name_or_ IP
For the fips mode
+
ovftool --noSSLVerify --skipManifestCheck --powerOn --diskMode=thin --acceptAllEulas -- allowExtraConfig --ipProtocol=IPv4 --ipAllocationPolicy=fixedPolicy --datastore=datastoreName -- name=sddc-manager --X:injectOvfEnv --X:waitForIp --prop:ROOT_PASSWORD=Password -- prop:VCF_PASSWORD=Password --prop:LOCAL_USER_PASSWORD=Password --prop:FIPS_ENABLE=True --prop:BACKUP_PASSWORD=Password --prop:vami.gateway.SDDC-Manager=gatewayIP --prop:vami.ip0.SDDC-Manager=SDDC_Manager_IP -- prop:vami.netmask0.SDDC-Manager=networkMask --prop:vami.hostname=hostName -- prop:vami.searchpath.SDDC-Manager=searchPath --prop:vami.domain.SDDC-Manager=domain -- network=portGroupName --prop:guestinfo.ntp="ntp" --prop:vami.DNS.SDDC-Manager="dns" --X:logFile=./ovftool.log --X:logLevel=verbose OVA_filename vi://root:password_for_selected_host>@host_DNS_name_or_ IP
+
OUTPUT: Opening OVA source: /mnt/iso/sddc-foundation-bundle-4.0.0.0-16156896/sddc_manager_ova/VCF-SDDC-Manager-Appliance-4.0.0.0-16156896_OVF10.ova The manifest does not validate Opening VI target: vi://[email protected]:443/ Deploying to VI: vi://[email protected]:443/ Transfer Completed Powering on VM: sddc-manager Task Completed Waiting for IP address... Received IP address: 10.0.0.4 Completed successfully
Note
|
Refer to attribute "fips_enabled" in metadata.json for the FIPS mode |
+
Navigate to the management domain vCenter Server.
Move the sddc-manager VM into the Management VM folder.
Move the sddc-manager VM into the Management Resource Pool. The name of this pool is available in the metadata.json file.
To confirm that SDDC Manager has been deployed correctly, ssh in to the VM as the vcf user.
-
Take a snapshot of the SDDC Manager VM.
-
Copy the encrypted backup file to the /tmp directory on the SDDC Manager VM.
-
Trigger the task using the valid input specification.
Note
|
This API follows the Token-Based Authentication scheme. To invoke this API, a token is required. Generate token using the local account by providing the correct password of local user that was supplied during the deployment of SDDC Manager VM with the OVF tool. Note that the username of local account is admin@local Here is the example command on how to generate token using local account: curl -d '{"username" : "admin@local", "password" : "Password"}' -H "Content-Type: application/json" -X POST http://sfo-vcf01.rainpole.io/v1/tokens |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/restores/tasks' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ],
"backupFile" : "/tmp/backup.tar.gz",
"encryption" : {
"passphrase" : "VMwareBackup@1"
}
}'
HTTP Request
POST /v1/restores/tasks HTTP/1.1
Content-Type: application/json
Content-Length: 163
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ],
"backupFile" : "/tmp/backup.tar.gz",
"encryption" : {
"passphrase" : "VMwareBackup@1"
}
}
HTTP Response
HTTP/1.1 202 Accepted
Location: 345318f7-4e30-4ad2-b477-68e36774dbdf
Content-Type: application/json
Content-Length: 79
{
"id" : "345318f7-4e30-4ad2-b477-68e36774dbdf",
"status" : "IN_PROGRESS"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Note
|
This API follows the Token-Based Authentication scheme. To invoke this API, a token is required. Generate token using the local account by providing the correct password of local user that was supplied during the deployment of SDDC Manager VM with the OVF tool. Note that the username of local account is admin@local Here is the example command on how to generate token using local account: curl -d '{"username" : "admin@local", "password" : "Password"}' -H "Content-Type: application/json" -X POST http://sfo-vcf01.rainpole.io/v1/tokens |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/restores/tasks/d14d42ea-3061-4874-a2ed-651253db37a3' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/restores/tasks/d14d42ea-3061-4874-a2ed-651253db37a3 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2545
{
"id" : "875ca777-32af-4aed-8241-bfc58f1f9602",
"name" : "SDDC Manager Restore Operation",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:14:45.306Z",
"subTasks" : [ {
"name" : "ExtractSDDCManagerBackup",
"description" : "Decrypt and Extract Backup and Validate SDDC Manager for Restore operation",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:14:46.132Z",
"completionTimestamp" : "2020-05-26T17:14:51.712Z"
}, {
"name" : "StopSDDCManagerServices",
"description" : "Stop all VCF SDDC Manager Services",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:14:51.714Z",
"completionTimestamp" : "2020-05-26T17:15:23.950Z"
}, {
"name" : "RestoreSDDCManagerConfiguration",
"description" : "Restore SDDC Manager Configuration files",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:15:23.954Z",
"completionTimestamp" : "2020-05-26T17:15:24.638Z"
}, {
"name" : "RestoreSDDCManagerDatabase",
"description" : "Restore SDDC Manager Database",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:15:24.642Z",
"completionTimestamp" : "2020-05-26T17:16:11.931Z"
}, {
"name" : "StartSDDCManagerServices",
"description" : "Start and Validate all VCF SDDC Manager Services",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:16:11.940Z",
"completionTimestamp" : "2020-05-26T17:19:57.841Z"
}, {
"name" : "RestoreSDDCSystemConfiguration",
"description" : "Restore SDDC Manager System Configuration",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:19:57.846Z",
"completionTimestamp" : "2020-05-26T17:20:45.278Z"
}, {
"name" : "PostRestoreRemediation",
"description" : "Post Restore Remediation",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:20:45.475Z",
"completionTimestamp" : "2020-05-26T17:20:51.559Z"
}, {
"name" : "PostRestoreNfsRefresh",
"description" : "Refresh NFS post restore",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:20:51.563Z",
"completionTimestamp" : "2020-05-26T17:21:05.918Z"
}, {
"name" : "UnquiesceSystem",
"description" : "Unquiesce the system after Restore operation",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2020-05-26T17:21:05.922Z",
"completionTimestamp" : "2020-05-26T17:21:06.013Z"
} ],
"errors" : [ ],
"resources" : [ ],
"resolutionStatus" : "UNRESOLVED",
"isCancellable" : false
}
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED" , perform the following steps to retry.
-
Copy the contents of /var/log/vmware/vcf/sddc-support/ to a filesystem that is external to SDDC Manager. This preserves the restore log file.
-
Revert the SDDC Manager VM to the snapshot taken in step 12.
-
Take a new snapshot.
-
Perform steps 13 - 16.
-
If this attempt fails, contact VSDDC ManagerMware Support.
-
-
Verify SDDC Manager VM operations after restore:
-
SSH in to the SDDC Manager as the vcf user.
-
Run the following command:
sudo /opt/vmware/sddc-support/sos --health-check
-
When prompted, enter the vcf user password.
-
A green status indicates that the health is normal, yellow provides a warning that attention might be required, and red indicates that the component needs immediate attention. Possible reasons for yellow or red status are that you used an SDDC Manager backup with unresolved workflows, you used a backup taken before a workflow was completed successfully, you restored other products in addition to SDDC Manager, or some components are not operational. Call VMware Support if you need help with resolving the yellow or red status
-
If the status was green,
-
Download the applicable install and upgrade bundles.
-
Download the upgrade bundles applicable to your environment.
-
-
2.19. Depot Settings
2.19.1. Get Depot Settings
Online:
-
Get Depot Settings API is used to retrieve the existing My VMware Account information.
Offline:
-
Get Depot Settings API returns no account information.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/depot' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/settings/depot HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211
{
"vmwareAccount" : {
"username" : "acmeuser",
"password" : "acmepassword",
"status" : "DEPOT_CONNECTION_SUCCESSFUL",
"message" : "Depot Status: Success"
},
"dellEmcSupportAccount" : null
}
2.19.2. Update Depot Settings
Online:
-
Update Depot Settings API is used to update SDDC Manager with the My VMware Account. This account is used for Downloading Upgrade/Install Bundles(Please refer to Update Bundle for Downloading).
Offline:
-
Use the Bundle Transfer Utility tool (Please refer to the VMware Cloud Foundation documentation for more information) to manually download the bundles from the depot on your local computer and then copy them to SDDC Manager. Once the bundles are available in the SDDC Manager. Use the Upload a Bundle API to upload it to SDDC Manager.
Prerequisites
The following data is required:
-
Username of My VMware Account.
-
Password of My VMware Account.
Tip
|
Refer to: DepotSettings and DepotAccount. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/depot' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"vmwareAccount" : {
"username" : "acmeuser",
"password" : "acmepassword"
}
}'
HTTP Request
PUT /v1/system/settings/depot HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 90
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"vmwareAccount" : {
"username" : "acmeuser",
"password" : "acmepassword"
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 211
{
"vmwareAccount" : {
"username" : "acmeuser",
"password" : "acmepassword",
"status" : "DEPOT_CONNECTION_SUCCESSFUL",
"message" : "Depot Status: Success"
},
"dellEmcSupportAccount" : null
}
2.20. Prechecks
2.20.1. Perform System Precheck
Precheck System API is used to perform the required system level health checks and upgrade pre-checks for an upgrade to be successful. Make sure to run these checks before performing any upgrade.
Tip
|
Refer to: Get the Upgradables to query for the list of upgradables which can be used for performing Domain, Cluster level checks. |
Prerequisites
The following data is required:
-
Resource ID. Ex: Domain ID, Cluster ID.
-
Resource Type. Ex: DOMAIN, CLUSTER.
Tip
|
Refer to: PrecheckSpec and Resource. |
Note
|
Supported Resource Type’s are DOMAIN, CLUSTER. For Cluster level checks, the Cluster ID’s can be retrieved based on the Host’s that are available for upgrade, Refer to: Get the Hosts and Get the Clusters API’s. |
Steps
-
Invoke the API. This API returns a precheck task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/prechecks' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"resources" : [ {
"resourceId" : "bbd38966-8537-46f1-9a54-06fbfe7079c6",
"type" : "DOMAIN"
} ]
}'
HTTP Request
POST /v1/system/prechecks HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 110
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"resources" : [ {
"resourceId" : "bbd38966-8537-46f1-9a54-06fbfe7079c6",
"type" : "DOMAIN"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/system/prechecks/tasks/94949fb8-b9bb-446c-a7b8-e4175ba5caf7
Content-Length: 667
{
"id" : "94949fb8-b9bb-446c-a7b8-e4175ba5caf7",
"name" : "Precheck Task",
"type" : "PRECHECK",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:59.499Z",
"completionTimestamp" : "2021-09-13T23:54:59.499Z",
"subTasks" : [ {
"name" : "Upgrade - DOMAIN ",
"description" : "Upgrade - DOMAIN ",
"status" : "PENDING",
"creationTimestamp" : "2021-09-13T23:54:59.499Z",
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ]
} ],
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the precheck task API with the ID from the response of the previous API.
Tip
|
Refer to: Get System Precheck Task. |
2.20.2. Get System Precheck Task
Get Precheck Task by ID API is used to retrieve a precheck task.
Prerequisites
-
The following data is required
-
ID of the precheck task
-
Steps
-
Invoke the API. This API returns a precheck task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/prechecks/tasks/94949fb8-b9bb-446c-a7b8-e4175ba5caf7' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 667
{
"id" : "94949fb8-b9bb-446c-a7b8-e4175ba5caf7",
"name" : "Precheck Task",
"type" : "PRECHECK",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:55:00.066Z",
"completionTimestamp" : "2021-09-13T23:55:00.066Z",
"subTasks" : [ {
"name" : "Upgrade - DOMAIN ",
"description" : "Upgrade - DOMAIN ",
"status" : "PENDING",
"creationTimestamp" : "2021-09-13T23:55:00.066Z",
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ]
} ],
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ],
"isCancellable" : false
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 667
{
"id" : "94949fb8-b9bb-446c-a7b8-e4175ba5caf7",
"name" : "Precheck Task",
"type" : "PRECHECK",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:55:00.066Z",
"completionTimestamp" : "2021-09-13T23:55:00.066Z",
"subTasks" : [ {
"name" : "Upgrade - DOMAIN ",
"description" : "Upgrade - DOMAIN ",
"status" : "PENDING",
"creationTimestamp" : "2021-09-13T23:55:00.066Z",
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ]
} ],
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
} ],
"isCancellable" : false
}
2.21. Bundles
2.21.1. Upload a Bundle
Offline:
-
Upload a Bundle API is used to upload Bundles which are downloaded using Bundle Transfer Utility tool.
Tip
|
Please refer to the VMware Cloud Foundation documentation for more information on the Bundle Transfer Utility tool. |
Prerequisites
The following data is required:
-
Bundle file path.
-
Bundle manifest file path.
-
Bundle manifest signature file path.
Tip
|
Refer to: BundleUploadSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"bundleFilePath" : "/home/vcf/bundles/bundle-11237.tar",
"manifestFilePath" : "/home/vcf/bundles/bundle-11237.manifest",
"signatureFilePath" : "/home/vcf/bundles/bundle-11237.manifest.sig"
}'
HTTP Request
POST /v1/bundles HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 198
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"bundleFilePath" : "/home/vcf/bundles/bundle-11237.tar",
"manifestFilePath" : "/home/vcf/bundles/bundle-11237.manifest",
"signatureFilePath" : "/home/vcf/bundles/bundle-11237.manifest.sig"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/433325b4-33da-4766-9fac-8afdbc22fa52
Content-Length: 366
{
"id" : "433325b4-33da-4766-9fac-8afdbc22fa52",
"name" : "Upload BUNDLE - PSC:6.7.0-13010631 VCENTER:6.7.0-13010631",
"type" : "BUNDLE_UPLOAD",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:55:01.159Z",
"resources" : [ {
"resourceId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "BUNDLE"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.21.2. Get the Bundles
-
Get the Bundles API is used to get all the bundles.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/bundles HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1499
{
"elements" : [ {
"id" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "VMWARE_SOFTWARE",
"description" : "ESX update bundle - 13004448(67EP7)==>13010696 (vsphere67U2)",
"version" : "253.0.0-111959",
"severity" : null,
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"isCumulative" : false,
"isCompliant" : null,
"sizeMB" : 453.0,
"downloadStatus" : "SUCCESSFUL",
"components" : [ {
"description" : "ESX_HOST Update Bundle",
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"toVersion" : "6.7.0-13006603",
"fromVersion" : "6.7.0-13004448",
"imageType" : "PATCH",
"id" : "a65d9d83-88b9-475f-a2ba-ee5d9be34f8d",
"type" : "HOST"
} ]
}, {
"id" : "7a1733dc-6e8f-4744-b621-7ba3f66b62f5",
"type" : "VMWARE_SOFTWARE",
"description" : "vCenter update bundle",
"version" : "253.0.0-111959",
"severity" : null,
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"isCumulative" : false,
"isCompliant" : null,
"sizeMB" : 453.0,
"downloadStatus" : "SUCCESSFUL",
"components" : [ {
"description" : "vCenter Update Bundle",
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"toVersion" : "6.7.0-13006603",
"fromVersion" : "6.7.0-13004448",
"imageType" : "PATCH",
"id" : "a67d9d83-88b9-475f-a2ba-ee5d9be34f4d",
"type" : "VCENTER"
} ]
} ]
}
2.21.3. Get a Bundle
-
Get a Bundle API is used to get a specific bundle.
Prerequisites
-
The following data is required:
-
ID of the Bundle
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles/7dc56a95-2b32-46b0-adb6-66fd2e6b7291' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/bundles/7dc56a95-2b32-46b0-adb6-66fd2e6b7291 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 674
{
"id" : "7a1733dc-6e8f-4744-b621-7ba3f66b62f5",
"type" : "VMWARE_SOFTWARE",
"description" : "vCenter update bundle",
"version" : "253.0.0-111959",
"severity" : null,
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"isCumulative" : false,
"isCompliant" : null,
"sizeMB" : 453.0,
"downloadStatus" : "SUCCESSFUL",
"components" : [ {
"description" : "vCenter Update Bundle",
"vendor" : "VMware",
"releasedDate" : "2019-05-10T10:29:10.645Z",
"toVersion" : "6.7.0-13006603",
"fromVersion" : "6.7.0-13004448",
"imageType" : "PATCH",
"id" : "a67d9d83-88b9-475f-a2ba-ee5d9be34f4d",
"type" : "VCENTER"
} ]
}
2.21.4. Update Bundle for Downloading
Online:
-
Update a Bundle for downloading from depot API is used to Download Bundles from the depot.
Tip
|
Refer to: Update Depot Settings to configure My VMware and Dell EMC Support Account in SDDC Manager. |
Prerequisites
-
The following data is required
-
ID of the bundle to be downloaded.
-
Tip
|
Refer to: BundleUpdateSpec and BundleDownloadSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles/7dc56a95-2b32-46b0-adb6-66fd2e6b7291' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"bundleDownloadSpec" : {
"downloadNow" : true
}
}'
HTTP Request
PATCH /v1/bundles/7dc56a95-2b32-46b0-adb6-66fd2e6b7291 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 59
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"bundleDownloadSpec" : {
"downloadNow" : true
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6cfb8de3-01ee-4bf0-ad74-a4db7e853c2c
Content-Length: 370
{
"id" : "6cfb8de3-01ee-4bf0-ad74-a4db7e853c2c",
"name" : "Download BUNDLE - PSC:6.7.0-13010631 VCENTER:6.7.0-13010631",
"type" : "BUNDLE_DOWNLOAD",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:59.844Z",
"resources" : [ {
"resourceId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "BUNDLE"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.22. Personality
2.22.1. Upload a Personality with RAW mode.
Used when the vSphere cluster image/personality is to be exported to LCM from non VCF deployed vCenter.
Prerequisites
The following data is required:
-
vSphere exported software spec json file path
-
vSphere exported cluster settings json file path
-
vSphere exported cluster image zip file path
-
vSphere exported cluster image iso file path
Tip
|
Refer to: PersonalityUploadSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/personalities' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"uploadMode" : "RAW",
"uploadSpecRawMode" : {
"personalityInfoJSONFilePath" : "/home/vcf/personality/info.json",
"personalityJSONFilePath" : "/home/vcf/personality/spec.json",
"personalityZIPFilePath" : "/home/vcf/personality/offline.zip",
"personalityISOFilePath" : "/home/vcf/personality/bundle.iso"
},
"name" : "Sample Raw Personality"
}'
HTTP Request
POST /v1/personalities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 366
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"uploadMode" : "RAW",
"uploadSpecRawMode" : {
"personalityInfoJSONFilePath" : "/home/vcf/personality/info.json",
"personalityJSONFilePath" : "/home/vcf/personality/spec.json",
"personalityZIPFilePath" : "/home/vcf/personality/offline.zip",
"personalityISOFilePath" : "/home/vcf/personality/bundle.iso"
},
"name" : "Sample Raw Personality"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/a5a565bd-4cbc-496b-a5d6-310b0687fc9e
Content-Length: 245
{
"id" : "a5a565bd-4cbc-496b-a5d6-310b0687fc9e",
"name" : "PERSONALITY_UPLOAD",
"type" : "PERSONALITY_UPLOAD",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:59.575Z",
"resources" : [ ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.22.2. Upload a Personality with REFERRED mode.
Used when the vSphere cluster image/personality is to be exported to LCM from VCF deployed vCenter.
Prerequisites
The following data is required:
-
vCenter Id
-
Cluster Id
-
Name of the personality
Tip
|
Refer to: PersonalityUploadSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/personalities' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"uploadMode" : "REFERRED",
"uploadSpecReferredMode" : {
"vCenterId" : "7f1cfee8-547c-4d1f-9477-a652bc0a606e",
"clusterId" : "356ca516-236b-417a-8bee-76cae8a5874a"
},
"name" : "vSphere7.0-Dell-SystemAdmin"
}'
HTTP Request
POST /v1/personalities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 224
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"uploadMode" : "REFERRED",
"uploadSpecReferredMode" : {
"vCenterId" : "7f1cfee8-547c-4d1f-9477-a652bc0a606e",
"clusterId" : "356ca516-236b-417a-8bee-76cae8a5874a"
},
"name" : "vSphere7.0-Dell-SystemAdmin"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/a5a565bd-4cbc-496b-a5d6-310b0687fc9e
Content-Length: 245
{
"id" : "a5a565bd-4cbc-496b-a5d6-310b0687fc9e",
"name" : "PERSONALITY_UPLOAD",
"type" : "PERSONALITY_UPLOAD",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:59.982Z",
"resources" : [ ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.22.3. Get a cluster image/personality by name
-
Get Personalities By Id API is used to get a specific vSphere cluster image by the name.
Prerequisites
-
The following data is required:
-
Name of the cluster image
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/personalities?personalityName=esx-personality' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/personalities?personalityName=esx-personality HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 865
{
"version" : "1",
"personalityId" : "bbd38966-8537-46f1-9a54-06fbfe7079c6",
"personalityName" : "test-display-name",
"description" : "test-desc",
"createdBy" : "USER",
"imageChecksum" : "test-checksum",
"displayName" : "test-display-name",
"releaseDate" : 1631577298724,
"tags" : [ ],
"vsphereExportedZipPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.zip",
"vsphereExportedIsoPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.iso",
"vsphereExportedJsonPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.json",
"softwareInfo" : {
"baseImage" : {
"version" : "7.0.0-0.0.30340198"
}
}
}
2.22.4. Get a cluster image/personality by Id
-
Get Personalities By Id API is used to get a specific vSphere cluster image by the Id.
Prerequisites
-
The following data is required:
-
Id of the cluster image
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/personalities/af318b39-cdf3-4db4-a8b9-1570846e3481' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/personalities/af318b39-cdf3-4db4-a8b9-1570846e3481 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 865
{
"version" : "1",
"personalityId" : "bbd38966-8537-46f1-9a54-06fbfe7079c6",
"personalityName" : "test-display-name",
"description" : "test-desc",
"createdBy" : "USER",
"imageChecksum" : "test-checksum",
"displayName" : "test-display-name",
"releaseDate" : 1631577299775,
"tags" : [ ],
"vsphereExportedZipPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.zip",
"vsphereExportedIsoPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.iso",
"vsphereExportedJsonPath" : "https://sddc-manager.vrack.vsphere.local/vmware/vcf/personalities/personality/bbd38966-8537-46f1-9a54-06fbfe7079c6/pers.json",
"softwareInfo" : {
"baseImage" : {
"version" : "7.0.0-0.0.30340198"
}
}
}
2.22.5. Get all the Personalities/cluster images by base version
-
Get the Personalities API is used to get all the personalities by the base version.
Similarly the api can be used for filtering based on the other Personality attributes such as addOnName,
addOnVendorName, componentName and componentVendorNames.
Prerequisites
-
The following data is required:
-
Base Version of the Personality
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/personalities?baseOSVersion=6.7.0-15160138' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/personalities?baseOSVersion=6.7.0-15160138 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 22
{
"elements" : [ ]
}
2.23. Manifests
2.23.1. Get latest supported LCM manifest
-
Get manifest API is used to get the latest supported LCM manifest
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/manifests' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/manifests HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1943
{
"version" : 1,
"sequenceNumber" : 2,
"creationTime" : "2021-09-13T23:55:00.270Z",
"publishedDate" : "2021-09-13T23:55:00.270Z",
"releases" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "0983221d-271c-46d9-826b-392d7a1372fb",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "567a40c7-49ec-4c27-ada4-927256d44b1f",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "f9c299f3-cf77-464e-9432-dd6337bec9b4",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "428c9f46-17c1-4de3-933c-dd7d91d9885b",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "fe35f667-af4e-4133-93bf-9ffb752fa35b",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ],
"recalledBundles" : [ ]
}
2.23.2. Save/Upload supported LCM manifest with updated sequence number to LCM.
-
Save/Load manifest API is used to save/upload supported LCM manifest with updated sequence number to LCM.
Prerequisites
The following data is required:
-
Manifest Version
-
Sequence Number
-
Creation time of the manifest file
-
Collection of Releases till date
Tip
|
Refer to: Manifest. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/manifests' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"version" : 1,
"sequenceNumber" : 2,
"creationTime" : "2021-09-13T23:54:58.131Z",
"publishedDate" : "2021-09-13T23:54:58.131Z",
"releases" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "f9ab0d1e-288e-40d3-ad02-317566800441",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "9a7c4073-6f05-4d90-bf3a-3f1710c8a917",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "f1838391-84b7-4497-a7aa-eaa061ea5db2",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "65afad1a-623a-415b-9269-d9180016d342",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "4622bbf1-d7d7-4244-a40d-3fff6d0b1efb",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ],
"recalledBundles" : [ ]
}'
HTTP Request
POST /v1/manifests HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1939
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"version" : 1,
"sequenceNumber" : 2,
"creationTime" : "2021-09-13T23:54:58.131Z",
"publishedDate" : "2021-09-13T23:54:58.131Z",
"releases" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "f9ab0d1e-288e-40d3-ad02-317566800441",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "9a7c4073-6f05-4d90-bf3a-3f1710c8a917",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "f1838391-84b7-4497-a7aa-eaa061ea5db2",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "65afad1a-623a-415b-9269-d9180016d342",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "4622bbf1-d7d7-4244-a40d-3fff6d0b1efb",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ],
"recalledBundles" : [ ]
}
HTTP Response
HTTP/1.1 202 Accepted
2.24. Releases
2.24.1. Get all releases
-
Get Releases. API is used to get the information for all the VMware Cloud Foundation releases along with the versions of each product within the given release.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/releases' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/releases HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4329
{
"elements" : [ {
"product" : "vcf",
"version" : "3.0.0",
"description" : "VMware Cloud Foundation 3.0.0 Release",
"releaseDate" : "2018-09-20T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "3.0.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "6.5.0-9451637",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "6.5.0-9298722",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_MANAGER",
"version" : "6.4.1-8599035",
"publicName" : "NSX-V Data Center"
}, {
"name" : "VROPS",
"version" : "6.7.0-8183617",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "e634ba5d-6f0b-479f-abe3-b7b2e8e62f04",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "2.3.0"
}, {
"bundleId" : "8c0603b3-638f-4994-8e06-3e080fcc227b",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "2.3.0"
}, {
"bundleId" : "c42d5f36-ed52-49b6-923d-30499302680f",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "2.3.0"
}, {
"bundleId" : "c15c847c-d211-4641-aadd-dc26ed1fad86",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "2.3.0"
}, {
"bundleId" : "826a7fe8-ab04-4565-b12e-387220cc2b23",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "2.3.0"
} ]
}, {
"product" : "vcf",
"version" : "3.5.0",
"description" : "VMware Cloud Foundation 3.5.0 Release",
"releaseDate" : "2018-12-13T08:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "3.5.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "6.7.0-10244745",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "6.7.0-10764712",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_MANAGER",
"version" : "6.4.4-11197766",
"publicName" : "NSX-V Data Center"
}, {
"name" : "VROPS",
"version" : "7.0.0-10098133",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ ]
}, {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "6c925104-85f7-4102-a7fc-4de78ef694b7",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "468dee10-5242-4c33-b82f-df6b12baa280",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "f400f9e5-9e5c-48e3-bf3b-93b805f1200e",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "e03e37c6-7553-4a77-8dde-16e57e17a84c",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "7308e534-4c4b-48cb-9354-5091e5563225",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ]
}
2.24.2. Get release for a given version
-
This API is used to get the release for a specified version.
Prerequisites
-
The following data is required:
-
Version of the Release
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/releases?versionEq=4.1.0' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/releases?versionEq=4.1.0 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1780
{
"elements" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "80f67bcf-1677-444a-b074-efa4ae9f8abb",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "ddfc5bff-74be-464d-bb78-c37106b3f7ed",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "8c75bf0f-9908-4df2-9298-190485a3fc03",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "f37e3f17-f5c7-40ff-9964-147c8331993b",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "e1237fca-f560-4bb2-ba72-f816bca5ee4d",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ]
}
2.24.3. Get future releases for a given version
-
This API is used to get all future releases for a given version.
Prerequisites
-
The following data is required:
-
Version of a Release
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/releases?versionGt=2.3.0' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/releases?versionGt=2.3.0 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2576
{
"elements" : [ {
"product" : "vcf",
"version" : "3.5.0",
"description" : "VMware Cloud Foundation 3.5.0 Release",
"releaseDate" : "2018-12-13T08:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "3.5.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "6.7.0-10244745",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "6.7.0-10764712",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_MANAGER",
"version" : "6.4.4-11197766",
"publicName" : "NSX-V Data Center"
}, {
"name" : "VROPS",
"version" : "7.0.0-10098133",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ ]
}, {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "493f2958-fd4b-437f-9ce5-d6b27269cae6",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "103c29cb-3a93-4130-8735-fc43299d0e3b",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "92ae82d4-e05d-4716-87f7-3ff2289df976",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "56c8da2d-3f65-4ccd-b5b6-b11f67e74d1f",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "0155521b-73ca-485d-b52e-8c8df0fecf75",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ]
}
2.24.4. Get applicable target releases for a given version
-
This API is used to get all applicable target releases for a given version.
Prerequisites
-
The following data is required:
-
Version of a Release
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/releases?applicableForVersion=2.3.0' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/releases?applicableForVersion=2.3.0 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1780
{
"elements" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "32ee7b6f-de41-497f-a36c-27899185b1fd",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "e21f4762-1e93-4ec9-a672-d2be23b3cf37",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "4bf457e6-b16e-42a9-a587-7b6b67b8b6a1",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "888e4f94-71e7-443d-8bcf-0595f963aa22",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "4d315b0d-c48b-40e2-a907-99cfa143c3fa",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ]
}
2.24.5. Get Current Release for Domain
-
This API is used to get the release for a specified domain ID.
Prerequisites
-
The following data is required:
-
ID of a domain
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/releases?domainId=mgmt-domain-1' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/releases?domainId=mgmt-domain-1 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1780
{
"elements" : [ {
"product" : "vcf",
"version" : "4.1.0",
"description" : "VMware Cloud Foundation 4.1.0 Release",
"releaseDate" : "2020-10-06T07:00:00.000Z",
"bom" : [ {
"name" : "DOMAIN_MANAGER",
"version" : "4.1.0",
"publicName" : "SDDC Manager"
}, {
"name" : "VCENTER",
"version" : "7.0.1-16860138",
"publicName" : "vCenter Server Appliance"
}, {
"name" : "HOST",
"version" : "7.0.1-16850804",
"publicName" : "VMware ESXi"
}, {
"name" : "NSX_T_MANAGER",
"version" : "3.0.2-16887200",
"publicName" : "NSX-T Data Center"
}, {
"name" : "VROPS",
"version" : "8.1.1-16522874",
"publicName" : "VMware vRealize Operations Manager"
} ],
"updates" : [ ],
"patchBundles" : [ {
"bundleId" : "799e3fb4-6b22-43d2-835d-c549244b686d",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "5120b444-1214-4b62-af0e-8613c4a23fbe",
"bundleType" : "EVORACK",
"bundleElements" : [ "SDDC_MANAGER_VCF" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "fb05e282-576e-459e-ba7e-5ced3d201b73",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "VCENTER" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "05639d5d-b151-4b7e-a9a7-33dfee94aa7e",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "ESX_HOST" ],
"cumulativeFromVcfVersion" : "3.7.0"
}, {
"bundleId" : "7ff23332-2f82-497c-99a0-5ff5df7ddf95",
"bundleType" : "VMWARE_SOFTWARE",
"bundleElements" : [ "NSX_MANAGER" ],
"cumulativeFromVcfVersion" : "3.7.0"
} ]
} ]
}
2.25. Upgradables
2.25.1. Get the Upgradables
Get the Upgradables API provides the list of upgradables in the system. Each upgradable provides information about the bundle, resource and its associated software components that can be prechecked and upgraded. The upgradables can be of different types ex: AVAILABLE, PENDING, SCHEDULED etc.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/upgradables' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/upgradables HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 381
{
"elements" : [ {
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"bundleType" : "SDDC_MANAGER",
"resource" : {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
},
"softwareComponents" : [ {
"id" : "329d6d92-a3bf-42e8-a0f9-8af6beaf65ca",
"type" : "SDDC_MANAGER"
} ],
"status" : "AVAILABLE"
} ]
}
2.25.2. Get the Upgradables for a Domain
This API provides the list of upgradables for a given domain. Each upgradable provides information about the bundle, resource and its associated software components that can be prechecked and upgraded. The upgradables can be of different types ex: AVAILABLE, PENDING, SCHEDULED etc.
Prerequisites
-
ID of a domain
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgradables/domains/293f9253-a1c0-4dd1-b989-f13d1b0ee1c1' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/upgradables/domains/293f9253-a1c0-4dd1-b989-f13d1b0ee1c1 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
{
"elements" : [ {
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"bundleType" : "SDDC_MANAGER",
"resource" : {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
},
"softwareComponents" : [ ],
"status" : "AVAILABLE"
} ]
}
2.25.3. Get the Target VCF Release Upgradables for a Domain
This API provides the list of upgradables for a given domain and target VCF release. Each upgradable provides information about the bundle, resource and its associated software components that can be prechecked and upgraded. The upgradables can be of different types ex: AVAILABLE, PENDING, SCHEDULED etc.
Prerequisites
-
ID of a domain
-
Version of a Target Release
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgradables/domains/293f9253-a1c0-4dd1-b989-f13d1b0ee1c1?targetVersion=4.1.0.0' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/upgradables/domains/293f9253-a1c0-4dd1-b989-f13d1b0ee1c1?targetVersion=4.1.0.0 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
{
"elements" : [ {
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"bundleType" : "SDDC_MANAGER",
"resource" : {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
},
"softwareComponents" : [ ],
"status" : "AVAILABLE"
} ]
}
2.26. Version Aliases
2.26.1. Get Version Aliases
-
Get Version Alias Configuration API is used to get version alias configuration.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/settings/version-aliases HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 177
{
"elements" : [ {
"bundleComponentType" : "VCENTER",
"versionAliases" : [ {
"version" : "6.7.0-14765156",
"aliases" : [ "6.7.0-14765268" ]
} ]
} ]
}
2.26.2. Update Version Aliases
Update Version Alias Configurations
* Update Version Alias Configurations API is used to update multiple version alias configurations.
Prerequisites
-
The following data is required
-
Bundle component type
-
One or more version aliases
-
Tip
|
Refer to: VersionAliasesForBundleComponentTypeSpec |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"versionAliasesForBundleComponentTypes" : [ {
"bundleComponentType" : "VCENTER",
"versionAliases" : [ {
"version" : "6.7.0-14765156",
"aliases" : [ "6.7.0-14765268" ]
} ]
} ],
"forceUpdate" : true
}'
HTTP Request
PUT /v1/system/settings/version-aliases HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 230
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"versionAliasesForBundleComponentTypes" : [ {
"bundleComponentType" : "VCENTER",
"versionAliases" : [ {
"version" : "6.7.0-14765156",
"aliases" : [ "6.7.0-14765268" ]
} ]
} ],
"forceUpdate" : true
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 177
{
"elements" : [ {
"bundleComponentType" : "VCENTER",
"versionAliases" : [ {
"version" : "6.7.0-14765156",
"aliases" : [ "6.7.0-14765268" ]
} ]
} ]
}
Update Version Alias Configuration
* Update Version Alias Configuration API is used to update a specific version alias configuration.
Prerequisites
-
The following data is required
-
Bundle component type
-
Version
-
Alias specification
-
Tip
|
Refer to: AliasSpec |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases/VCENTER/6.7.0-14765156' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"aliases" : [ "6.7.0-14765268" ],
"forceUpdate" : true
}'
HTTP Request
PUT /v1/system/settings/version-aliases/VCENTER/6.7.0-14765156 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 62
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"aliases" : [ "6.7.0-14765268" ],
"forceUpdate" : true
}
HTTP Response
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 177
{
"elements" : [ {
"bundleComponentType" : "VCENTER",
"versionAliases" : [ {
"version" : "6.7.0-14765156",
"aliases" : [ "6.7.0-14765268" ]
} ]
} ]
}
2.26.3. Delete Version Aliases
Delete Version Aliases
* Delete Version Alias Configuration API is used to delete version alias configurations by bundle component type, version and alias version.
Prerequisites
-
The following data is required
-
Bundle component type
-
Bundle component version
-
One or more alias versions to be removed
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases/VCENTER/6.7.0-14765156' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ "6.7.0-14765268" ]'
HTTP Request
DELETE /v1/system/settings/version-aliases/VCENTER/6.7.0-14765156 HTTP/1.1
Content-Type: application/json
Content-Length: 20
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ "6.7.0-14765268" ]
HTTP Response
HTTP/1.1 204 No Content
Delete Version Alias by Type and Version
* Delete Version Alias Configuration API is used to delete a version alias configuration by bundle component type and version.
Prerequisites
-
The following data is required
-
Bundle component type
-
Bundle component version
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases/VCENTER/6.7.0-14765156' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/system/settings/version-aliases/VCENTER/6.7.0-14765156 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
Delete Version Alias by Type
* Delete Version Alias for a bundle component type API is used to delete a version alias configuration by bundle component type.
Prerequisites
-
The following data is required
-
Bundle component type
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/settings/version-aliases/VCENTER' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/system/settings/version-aliases/VCENTER HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
2.27. Upgrades
2.27.1. Perform Upgrade
Perform Upgrade API is used to perform upgrades. Upgrades are sequential. So in order to upgrade to a release, your environment must be on the version before that release. Upgrades are applied on a workload domain basis. The management domain contains the core infrastructure, so you must upgrade the management domain before upgrading the other workload domains. You must upgrade all required components to keep your system in an optimum state.
Note
|
Performing upgrades is supported on VMware Cloud Foundation 3.5 BOM resources and above. |
Steps to Perform Upgrade.
-
Download the required bundle.
-
Online bundle download - Follow the VMware cloud Foundation online bundle download guide to download bundles in environment.
-
Execute Get Depot Settings API to retrieve the existing My VMware Account information.
-
Execute Update Depot Settings API to update the existing My VMware Account information.
-
Execute Update Bundle for Downloading API to Download Bundles from VMware depot account.
-
-
Offline bundle download - Use the Bundle Transfer Utility tool. Please refer https://docs.vmware.com/en/VMware-Cloud-Foundation/4.0/vcf-40-lifecycle/GUID-8FA44ACE-8F04-47DA-845E-E0863094F7B0.html. to manually download the bundles from the depot on your local computer and then copy them to SDDC Manager.
-
Execute Upload a Bundle API to upload it to SDDC Manager.
-
-
-
Execute Get the Upgradables API to retrieve the list of upgradables (bundle and resource detail) in the system.
-
Execute Prechecks API to perform required system level health checks.
-
Perform upgrade and monitor the upgrade progress.
2.27.2. Domain Upgrade
Prerequisites
The following data is required:
-
Bundle ID.
-
Resource Type. Ex: DOMAIN.
-
One or more Resource upgrade specifications.
-
Each Resource upgrade specification should contain.
-
Resource ID. Ex: Domain ID.
-
Upgrade scheduled time or Upgrade now option.
-
-
The following data is optional:
-
A boolean for parallel ESXi upgrade (default is 'true')
-
A boolean for quickboot run for ESXi upgrade (default is 'false')
-
Tip
|
Refer to: UpgradeSpec and ResourceUpgradeSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "DOMAIN",
"parallelUpgrade" : true,
"resourceUpgradeSpecs" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"scheduledTimestamp" : "2021-09-13T23:54:58.316Z",
"upgradeNow" : false,
"enableQuickboot" : true
} ]
}'
HTTP Request
POST /v1/upgrades HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 321
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "DOMAIN",
"parallelUpgrade" : true,
"resourceUpgradeSpecs" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"scheduledTimestamp" : "2021-09-13T23:54:58.316Z",
"upgradeNow" : false,
"enableQuickboot" : true
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6215b1d5-fd38-4573-b7a7-25c7ed8cc50d
Content-Length: 478
{
"id" : "6215b1d5-fd38-4573-b7a7-25c7ed8cc50d",
"name" : "Upgrade DOMAIN - [acme-domain] using BUNDLE - PSC:6.7.0-13010631 VCENTER:6.7.0-13010631",
"type" : "UPGRADE",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.315Z",
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
}, {
"resourceId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "BUNDLE"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.27.3. Cluster Upgrade
Note
|
For Cluster level upgrades, the Cluster ID’s can be retrieved based on the Host’s that are available for upgrade, Refer to: Get the Hosts and Get the Clusters API’s. |
Prerequisites
The following data is required:
-
Bundle ID.
-
Resource Type. Ex: CLUSTER.
-
One or more Resource upgrade specifications.
-
Each Resource upgrade specification should contain.
-
Resource ID. Ex: Cluster ID.
-
Upgrade scheduled time or Upgrade now option.
-
-
The following data is optional:
-
A boolean for parallel ESXi upgrade (default is 'true')
-
A boolean for quickboot run for ESXi upgrade (default is 'false')
-
Tip
|
Refer to: UpgradeSpec and ResourceUpgradeSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "CLUSTER",
"parallelUpgrade" : true,
"resourceUpgradeSpecs" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"scheduledTimestamp" : "2021-09-14T00:55:00.829Z",
"upgradeNow" : false,
"enableQuickboot" : true
} ]
}'
HTTP Request
POST /v1/upgrades HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 322
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "CLUSTER",
"parallelUpgrade" : true,
"resourceUpgradeSpecs" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"scheduledTimestamp" : "2021-09-14T00:55:00.829Z",
"upgradeNow" : false,
"enableQuickboot" : true
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6215b1d5-fd38-4573-b7a7-25c7ed8cc50d
Content-Length: 456
{
"id" : "6215b1d5-fd38-4573-b7a7-25c7ed8cc50d",
"name" : "Upgrade DOMAIN - [acme-domain] using BUNDLE - HOST:6.7.0-13006603",
"type" : "UPGRADE",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:55:00.829Z",
"resources" : [ {
"resourceId" : "293f9253-a1c0-4dd1-b989-f13d1b0ee1c1",
"type" : "DOMAIN"
}, {
"resourceId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "BUNDLE"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.27.4. vLCM Cluster Upgrade
Note
|
For vLCM Cluster level upgrades, the Cluster ID’s can be retrieved based on the Host’s that are available for upgrade, Refer to: Get the Hosts and Get the Clusters API’s. |
Prerequisites
The following data is required:
-
Bundle ID.
-
Resource Type. Ex: CLUSTER.
-
Optional Draft Mode.
-
One or more Resource upgrade specifications.
-
Each Resource upgrade specification should contain.
-
Resource ID. Ex: Cluster ID.
-
Upgrade scheduled time or Upgrade now option.
-
Personality Spec
-
Personality ID
-
Optional Hardware Support Specs
-
-
-
The following data is optional:
-
A boolean for quickboot run for ESXi upgrade (default is 'false')
-
Tip
|
Refer to: UpgradeSpec, ResourceUpgradeSpec, PersonalitySpec and HardwareSupportSpec. |
Steps
-
Invoke the API. This API returns a task which can be polled and monitored. If the API is invoked with draftMode set to true, see Step 3
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "CLUSTER",
"draftMode" : false,
"resourceUpgradeSpecs" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"scheduledTimestamp" : "2021-09-14T00:54:58.004Z",
"upgradeNow" : false,
"personalitySpec" : {
"personalityId" : "af318b39-cdf3-4db4-a8b9-1570846e3481",
"hardwareSupportSpecs" : [ {
"name" : "HSM",
"packageSpec" : {
"name" : "HSP",
"version" : "1.0.0"
}
} ]
},
"enableQuickboot" : true
} ]
}'
HTTP Request
POST /v1/upgrades HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 575
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "CLUSTER",
"draftMode" : false,
"resourceUpgradeSpecs" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"scheduledTimestamp" : "2021-09-14T00:54:58.004Z",
"upgradeNow" : false,
"personalitySpec" : {
"personalityId" : "af318b39-cdf3-4db4-a8b9-1570846e3481",
"hardwareSupportSpecs" : [ {
"name" : "HSM",
"packageSpec" : {
"name" : "HSP",
"version" : "1.0.0"
}
} ]
},
"enableQuickboot" : true
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6215b1d5-fd38-4573-b7a7-25c7ed8cc50d
Content-Length: 452
{
"id" : "6215b1d5-fd38-4573-b7a7-25c7ed8cc50d",
"name" : "Upgrade SDDC_MANAGER - [] using BUNDLE - HOST:6.7.0-13006603",
"type" : "UPGRADE",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.003Z",
"resources" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"type" : "CLUSTER"
}, {
"resourceId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"type" : "BUNDLE"
} ],
"isCancellable" : false
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
-
If the upgrade is created with draftMode set to true, the upgrade status will be in "DRAFT" state and you can trigger a hardware compatibility and compliance check before scheduling the upgrade. Invoke the API, with the upgrade ID from step 1, to trigger/start the hardware compatibility and compliance check.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7/prechecks' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
POST /v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7/prechecks HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/94949fb8-b9bb-446c-a7b8-e4175ba5caf7
Content-Length: 2008
{
"id" : "94949fb8-b9bb-446c-a7b8-e4175ba5caf7",
"name" : "PRECHECK",
"type" : "PRECHECK",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.229Z",
"completionTimestamp" : "2021-09-13T23:54:58.229Z",
"subTasks" : [ {
"name" : "vLCM Precheck for cluster: acme-cluster",
"description" : "vLCM Precheck for cluster: acme-cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.230Z",
"stages" : [ {
"name" : "vLCM cluster health check",
"description" : "Perform Stage - Perform Stage - Precheck if the cluster are in a good state to be updated with the desired software image",
"status" : "UNKNOWN",
"errors" : [ ]
} ],
"resources" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"type" : "CLUSTER"
} ],
"subTasks" : [ {
"name" : "vLCM Precheck for host: 10.0.0.100",
"description" : "vLCM Precheck for host: 10.0.0.100",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.230Z",
"stages" : [ {
"name" : "vLCM image scan",
"description" : "Perform Stage - Perform Stage - Host compliance",
"status" : "UNKNOWN",
"errors" : [ ]
}, {
"name" : "vLCM image baseOS scan",
"description" : "Perform Stage - Perform Stage - Validating the baseOS version.",
"status" : "FAILED",
"errors" : [ {
"errorCode" : "com.vmware.vcIntegrity.lifecycle.HostScan.BaseImageDowngrade",
"errorType" : "ERROR",
"message" : "Desired Base Image version 7.0.0-1.20.16321839 is a downgrade of the installed version ESXi.",
"remediationMessage" : "Replace the Base Image in the desired state with one of the same or higher version."
} ]
} ],
"resources" : [ {
"resourceId" : "7066be3a-cdb7-4f04-add1-798a53818fab",
"type" : "ESX"
} ],
"subTasks" : [ ]
} ]
} ],
"isCancellable" : false
}
Tip
|
Refer to: performPrechecks |
-
Poll the status of the hardware compatibility and compliance check task using the task API with the ID from the response of the previous API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7/prechecks/d78f43b5-d904-411c-8a1d-0a39c23b5dd7' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7/prechecks/d78f43b5-d904-411c-8a1d-0a39c23b5dd7 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2008
{
"id" : "94949fb8-b9bb-446c-a7b8-e4175ba5caf7",
"name" : "PRECHECK",
"type" : "PRECHECK",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.904Z",
"completionTimestamp" : "2021-09-13T23:54:58.904Z",
"subTasks" : [ {
"name" : "vLCM Precheck for cluster: acme-cluster",
"description" : "vLCM Precheck for cluster: acme-cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.904Z",
"stages" : [ {
"name" : "vLCM cluster health check",
"description" : "Perform Stage - Perform Stage - Precheck if the cluster are in a good state to be updated with the desired software image",
"status" : "UNKNOWN",
"errors" : [ ]
} ],
"resources" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"type" : "CLUSTER"
} ],
"subTasks" : [ {
"name" : "vLCM Precheck for host: 10.0.0.100",
"description" : "vLCM Precheck for host: 10.0.0.100",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2021-09-13T23:54:58.904Z",
"stages" : [ {
"name" : "vLCM image scan",
"description" : "Perform Stage - Perform Stage - Host compliance",
"status" : "UNKNOWN",
"errors" : [ ]
}, {
"name" : "vLCM image baseOS scan",
"description" : "Perform Stage - Perform Stage - Validating the baseOS version.",
"status" : "FAILED",
"errors" : [ {
"errorCode" : "com.vmware.vcIntegrity.lifecycle.HostScan.BaseImageDowngrade",
"errorType" : "ERROR",
"message" : "Desired Base Image version 7.0.0-1.20.16321839 is a downgrade of the installed version ESXi.",
"remediationMessage" : "Replace the Base Image in the desired state with one of the same or higher version."
} ]
} ],
"resources" : [ {
"resourceId" : "7066be3a-cdb7-4f04-add1-798a53818fab",
"type" : "ESX"
} ],
"subTasks" : [ ]
} ]
} ],
"isCancellable" : false
}
-
Once the hardware compatibility and compliance check task is completed and result is reviewed, schedule the upgrade.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"scheduledTimestamp" : "2021-09-14T00:55:00.327Z",
"upgradeNow" : false
}'
HTTP Request
PATCH /v1/upgrades/d78f43b5-d904-411c-8a1d-0a39c23b5dd7 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 79
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"scheduledTimestamp" : "2021-09-14T00:55:00.327Z",
"upgradeNow" : false
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 502
{
"id" : "d78f43b5-d904-411c-8a1d-0a39c23b5dd7",
"bundleId" : "7dc56a95-2b32-46b0-adb6-66fd2e6b7291",
"resourceType" : "CLUSTER",
"resourceUpgradeSpecs" : [ {
"resourceId" : "be57cd46-84d2-408f-80a4-d38b668f1ba9",
"shutdownVms" : null,
"toVersion" : null,
"scheduledTimestamp" : "2021-09-14T00:55:00.326Z",
"upgradeNow" : null,
"personalitySpec" : null,
"enableQuickboot" : false
} ],
"status" : "SCHEDULED",
"taskId" : "d78f43b5-d904-411c-8a1d-0a39c23b5dd7"
}
Tip
|
Refer to Commit/Reschedule Upgrade |
-
Poll the status of the upgrade task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.28. Credentials
2.28.1. Get the Credentials
This API is used to fetch all credentials known to the system.
Prerequisites
-
The following data is required
-
Resource type, name, IP address, accountType or the domain name associated with the resource is required to filter the results. For allowable resource type values, refer : Get the Credentials
-
"pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time.
-
Get All Credentials in Page
Steps
-
Invoke the API by specifying the "pageNumber" and "pageSize" filters.
Tip
|
Other filters like "resourceName", "resourceIp", "resourceType" and "domainName" can be additionally used as search criteria. |
Tip
|
If no value for "pageNumber" and "pageSize" filters is specified, the API returns all known records in a single page. |
Tip
|
Page number starts with 0. |
Tip
|
A page size value equal to 0 will return all known records in a single page. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?pageNumber=0&pageSize=15' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials?pageNumber=0&pageSize=15 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 7985
{
"elements" : [ {
"id" : "85735d06-ef2d-491d-9867-4e949d7165f2",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "11707d85-9d1a-4308-86e0-5bfbdea904d0",
"resourceName" : "sfo01-m01-esx01.rainpole.io",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "1b101f90-be16-4056-a531-04f002b95d32",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "c318961d-3ba5-4574-94c1-8699603b7e77",
"resourceName" : "sfo01-m01-esx03.rainpole.io",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "328b6041-8728-421a-a9a9-8471b33a7290",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "c61e8bfe-7846-4fad-abfa-9db6bf0bb059",
"resourceName" : "sfo01-m01-esx04.rainpole.io",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "ffe3e82e-53a8-4588-a267-bcbf4d54a05b",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "baec1b32-28df-4648-a95f-b5cfbf8984ef",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "1c97c85b-6428-4c33-a2c0-3a5101dcd928",
"credentialType" : "SSO",
"accountType" : "USER",
"username" : "[email protected]",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "fa501625-572a-433a-bcde-be8c8735b76c",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "8b563742-0423-4fa6-ba59-4b2fcdf5e1ff",
"credentialType" : "SSO",
"accountType" : "SERVICE",
"username" : "[email protected]",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "2e453b86-0ef3-4dcb-9315-cdb06faa7c5f",
"resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "6332bd07-f813-481e-8e57-813a16b28d57",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "86f142da-0fbe-436a-8541-7e369cd4af09",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "f12dd678-f9b2-420e-a515-4a046a3e8f93",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "d9a99517-29de-4319-a8cd-e05d1bce7103",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "f328a44f-099c-434c-8d16-ed6b7974c0d7",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "d93b688b-d6f1-4763-9953-a9e894281199",
"resourceName" : "sfo-vrli01.rainpole.io",
"resourceIp" : "10.0.0.15",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "e05a3d3c-05a2-4ade-ba82-115a4f3490ed",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "852646c0-9be3-4a9a-86a5-bc466516b09c",
"resourceName" : "sfo-vrli01b.rainpole.io",
"resourceIp" : "10.0.0.16",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "be3e15dd-b92a-4bef-9bab-d4e29ab45b52",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "ca942adf-fac3-4d22-ae2f-05358c40fc53",
"resourceName" : "xreg-vrops01a.rainpole.io",
"resourceIp" : "10.0.1.33",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "50654473-fade-441e-ba12-da8effdc1da3",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "8baaa2e8-58d0-4e41-b69f-92ed0ea3fc7c",
"resourceName" : "xreg-vrops01.rainpole.io",
"resourceIp" : "10.0.0.31",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "ec5fb3f8-1821-48db-84ef-24466f6da6d8",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "86b527c8-7c5c-45e6-85c9-6e8c9a2c5092",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
}, {
"id" : "cefb756c-ae12-4495-8e0c-660bcb100d33",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin@localhost",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.892Z",
"modificationTimestamp" : "2022-02-08T08:10:26.892Z",
"resource" : {
"resourceId" : "7fb92e63-5c71-4b56-82f3-901441b8c00b",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 15,
"totalElements" : 15,
"totalPages" : 1
}
}
Get All Credentials
Steps
-
Invoke the API.
Tip
|
For a scaled environment, it is always recommended to provide "resourceType" filter for avoiding timeouts. |
Tip
|
"pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 7985
{
"elements" : [ {
"id" : "8de1f5da-7b1a-4ad9-a3ab-57429703af80",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "01f963af-9def-4839-b60a-497ed73f0bef",
"resourceName" : "sfo01-m01-esx01.rainpole.io",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "81c90af9-4ee5-4978-88f6-b325088e5adb",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "2940a071-1563-4d6f-9edf-c0b06fb1034d",
"resourceName" : "sfo01-m01-esx03.rainpole.io",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "6d4296b4-4700-49ba-aad7-69d4d8611976",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "c939a171-6bf5-4e07-8f47-614613de620a",
"resourceName" : "sfo01-m01-esx04.rainpole.io",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "11450c75-7ba6-49eb-b0c4-51472d83cdf8",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "baec1b32-28df-4648-a95f-b5cfbf8984ef",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "45d8d206-099d-4944-9365-6b71a937bf77",
"credentialType" : "SSO",
"accountType" : "USER",
"username" : "[email protected]",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "8f7dacb7-d633-411d-ba21-d72ebfa148f4",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "ed1c1cca-1aaa-4e8c-9b86-c752bd3380cb",
"credentialType" : "SSO",
"accountType" : "SERVICE",
"username" : "[email protected]",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "09f3855e-9461-4a14-ad26-9fd58f36fbd0",
"resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "7514f035-2e5e-4a75-a7eb-8635a517588a",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "f349794a-1a90-4a32-9d25-768a3ba4820c",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "112feb83-237b-41bf-bfc6-147e602448f6",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "a62f63e1-6345-4cd4-b569-755f770fdf35",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "9cc3e06b-24fa-4e43-9eac-7002f45b72f6",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.601Z",
"modificationTimestamp" : "2022-02-08T08:10:24.601Z",
"resource" : {
"resourceId" : "6da2745a-a065-4e9c-8d29-abb468b1d844",
"resourceName" : "sfo-vrli01.rainpole.io",
"resourceIp" : "10.0.0.15",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "4ba91e77-9409-420d-a19b-2d19cbc5e74e",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.602Z",
"modificationTimestamp" : "2022-02-08T08:10:24.602Z",
"resource" : {
"resourceId" : "7f003cbf-c051-4a42-9896-155e32b3551f",
"resourceName" : "sfo-vrli01b.rainpole.io",
"resourceIp" : "10.0.0.16",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "aba38991-56d9-447d-86ae-1418d4376610",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.602Z",
"modificationTimestamp" : "2022-02-08T08:10:24.602Z",
"resource" : {
"resourceId" : "55f79e14-3bad-4ada-8b7d-32e6d25a636b",
"resourceName" : "xreg-vrops01a.rainpole.io",
"resourceIp" : "10.0.1.33",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "85d7fc9b-e605-4fdc-8071-482c0f8a64dc",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.602Z",
"modificationTimestamp" : "2022-02-08T08:10:24.602Z",
"resource" : {
"resourceId" : "df4a1f6d-0a60-41aa-8940-7a81803b3aa4",
"resourceName" : "xreg-vrops01.rainpole.io",
"resourceIp" : "10.0.0.31",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "c6e24c89-6bb9-49e6-9c66-cfe7f35d9f85",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.602Z",
"modificationTimestamp" : "2022-02-08T08:10:24.602Z",
"resource" : {
"resourceId" : "efb1c925-b3ed-48bd-9951-1401cde7e40c",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
}, {
"id" : "3d90709d-2fcd-4e3b-8d8a-75c0f5292766",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin@localhost",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.602Z",
"modificationTimestamp" : "2022-02-08T08:10:24.602Z",
"resource" : {
"resourceId" : "dca113f9-691f-4a9c-956c-dbfa2a184008",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 15,
"totalElements" : 15,
"totalPages" : 1
}
}
Get Credentials by "resourceName"
This API can be used to fetch the credentials associated with a resource with a specific name.
Steps
-
Invoke the API by specifying the "resourceName".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceName=sfo01-mo1-esx02.rainpole.io' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials?resourceName=sfo01-mo1-esx02.rainpole.io HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 656
{
"elements" : [ {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.759Z",
"modificationTimestamp" : "2022-02-08T08:10:26.759Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
Get Credentials by "resourceIp"
This API can be used to fetch the credentials associated with a resource with a specific IP address.
Steps
-
Invoke the API by specifying the "resourceIp".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceIp=10.0.0.101' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials?resourceIp=10.0.0.101 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 656
{
"elements" : [ {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:25.144Z",
"modificationTimestamp" : "2022-02-08T08:10:25.144Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
Get Credentials by "resourceType"
This API can be used to fetch the credentials associated with all the resources with a specific resource type.
Steps
-
Invoke the API by specifying the "resourceType".
Tip
|
"pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceType=ESXI' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials?resourceType=ESXI HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2219
{
"elements" : [ {
"id" : "c1a7f9d6-f7ae-470e-beb6-2e14f7c03e4c",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.422Z",
"modificationTimestamp" : "2022-02-08T08:10:24.422Z",
"resource" : {
"resourceId" : "6c38d668-affe-476e-8c2b-fc7ed9f0990a",
"resourceName" : "sfo01-m01-esx01.rainpole.io",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.422Z",
"modificationTimestamp" : "2022-02-08T08:10:24.422Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "dfd833d3-a879-4ada-8fca-d7bda3653ca0",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.422Z",
"modificationTimestamp" : "2022-02-08T08:10:24.422Z",
"resource" : {
"resourceId" : "d24b8a75-0e37-48ef-9c6b-34fd9b983510",
"resourceName" : "sfo01-m01-esx03.rainpole.io",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "37ac6df4-9684-45d9-bfd3-86e109353fc0",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:24.422Z",
"modificationTimestamp" : "2022-02-08T08:10:24.422Z",
"resource" : {
"resourceId" : "1e2878db-5400-447e-a109-64a0a24f4300",
"resourceName" : "sfo01-m01-esx04.rainpole.io",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 4,
"totalElements" : 4,
"totalPages" : 1
}
}
Get Credentials by "domainName"
This API can be used to fetch the credentials associated with all the resources belonging to a specific domain.
Steps
-
Invoke the API by specifying the "domainName".
Tip
|
"pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?domainName=MGMT' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials?domainName=MGMT HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 7985
{
"elements" : [ {
"id" : "6c6d04df-7c43-49ee-907d-94036dcaaa2b",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "b3f26ac9-6912-4819-a5ac-80425b7b6984",
"resourceName" : "sfo01-m01-esx01.rainpole.io",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "b59bf496-7b47-42e1-8d27-39007f88244c",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "5b147342-5808-4e76-9650-65e5eeb24d90",
"resourceName" : "sfo01-m01-esx03.rainpole.io",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "30ccb477-4fd0-41b4-894e-1137484219cb",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "765959c3-93e4-4fe4-9ee1-e478d9c3f20f",
"resourceName" : "sfo01-m01-esx04.rainpole.io",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "56374339-dd5a-46ac-9ce8-28049e274b0e",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "baec1b32-28df-4648-a95f-b5cfbf8984ef",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "50ca7fac-7517-4ba8-8583-90b19f3e6da7",
"credentialType" : "SSO",
"accountType" : "USER",
"username" : "[email protected]",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "9cb9b83b-3fd6-4af2-894c-0ee7aaed7da3",
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceIp" : "10.0.0.6",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "9bd837e1-879e-4f6b-b8da-cb550513c7d9",
"credentialType" : "SSO",
"accountType" : "SERVICE",
"username" : "[email protected]",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "d20ef2e8-43ad-4760-a5a3-9a1c7ee441e1",
"resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "fe8ccb85-ff57-45f0-977d-c00eab44388f",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "5018e274-8466-4633-b40e-6c588ac13462",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "510838c1-2400-42ef-a14d-54fd2e2fd70c",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "3c39356c-d34e-4451-bea2-7ce7e7678b37",
"resourceName" : "sfo01-m01-nsx01.rainpole.io",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSXT_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "ca75152a-489a-471b-9a4e-52ab69c82e79",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "01c6b5d4-56c9-4932-a245-89cb958638ed",
"resourceName" : "sfo-vrli01.rainpole.io",
"resourceIp" : "10.0.0.15",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "707b84d3-791c-4838-b407-2da315c28dd8",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "cb66be71-5725-462d-a1ea-1564b9540957",
"resourceName" : "sfo-vrli01b.rainpole.io",
"resourceIp" : "10.0.0.16",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "9ebdcc78-27dd-4262-9ad2-4c9dc259d46e",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "1d12bafe-240a-4a29-996b-0333429871af",
"resourceName" : "xreg-vrops01a.rainpole.io",
"resourceIp" : "10.0.1.33",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "2d95ed29-a073-47ac-8658-3b3fc580440d",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "eca766da-f0fa-49c6-b6f6-9f3f5357d2fc",
"resourceName" : "xreg-vrops01.rainpole.io",
"resourceIp" : "10.0.0.31",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "d640828f-0be7-489a-96af-e22c8f5c0de5",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.632Z",
"modificationTimestamp" : "2022-02-08T08:10:26.632Z",
"resource" : {
"resourceId" : "071c5bd2-3a0a-4cb6-9e58-c2d54b5ce3c3",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
}, {
"id" : "b1927913-4602-416f-b7dd-6698879ab480",
"credentialType" : "API",
"accountType" : "USER",
"username" : "admin@localhost",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.633Z",
"modificationTimestamp" : "2022-02-08T08:10:26.633Z",
"resource" : {
"resourceId" : "8c39a813-2361-42f4-9c11-eaa2e643b3bf",
"resourceName" : "xreg-vrslcm01.rainpole.io",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 15,
"totalElements" : 15,
"totalPages" : 1
}
}
Note
|
SSH services might be disabled for a few accounts. The user needs to enable SSH service in the product in order to use SSH credentials. In order to connect to the "enable" user of NSX_MANAGER, firstly enable SSH services using API credentials, connect to the API user and then enter enable mode using "enable" user credentials. |
2.28.2. Get a Credential
This API is used to fetch credential for an ID.
Prerequisites
-
The following data is required
-
ID of the credential
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials/ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 489
{
"id" : "ef5ef7f6-4ffc-47c9-8ea2-2ff8e1fa01b9",
"credentialType" : "SSH",
"accountType" : "USER",
"username" : "root",
"password" : "VMwareInfra@1",
"creationTimestamp" : "2022-02-08T08:10:26.411Z",
"modificationTimestamp" : "2022-02-08T08:10:26.411Z",
"resource" : {
"resourceId" : "9ad8ab0a-6cba-4fd8-956c-315891e8c8df",
"resourceName" : "sfo01-m01-esx02.rainpole.io",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}
2.28.3. Update the Passwords
This API is used to update passwords for list of resources by supplying new passwords.
Prerequisites
-
The following data is required
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource. |
-
New password must be in compliance with these password policies.
Password requirements:
-
Length: 8-20 characters
-
Allowed special characters: ! @ # $ ^ *
-
At least 1 small letter, capital letter, number and special character should be present
-
Cannot include: Three same consecutive characters
-
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 265
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/19bdd9f9-772a-464c-909c-8032a6652fec
Content-Type: application/json
Content-Length: 100
{
"id" : "19bdd9f9-772a-464c-909c-8032a6652fec",
"name" : "UPDATE",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry the Update Passwords Task. |
Warning
|
The password once updated cannot be rolled back. |
Note
|
The password is updated in the order of the input. |
Note
|
The passwords of the dependent resources of the requested resources will also get updated. |
2.28.4. Rotate the Passwords
This API is used to rotate passwords for list of resources using system generated passwords.
Prerequisites
-
The following data is required
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 229
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/a742a5a4-cd16-4e2b-a923-dd6383dcc974
Content-Type: application/json
Content-Length: 100
{
"id" : "a742a5a4-cd16-4e2b-a923-dd6383dcc974",
"name" : "ROTATE",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry the Rotate Passwords Task. |
Warning
|
The password once rotated cannot be rolled back. |
Note
|
The password is rotated in the order of the input. |
Note
|
The generated password adheres to the password compliance. Refer to: Password Compliance Guide. |
Note
|
The passwords of the dependent resources of the requested resources will also get rotated. |
2.28.5. Retry the Update Passwords Task
This API is used to retry a failed update passwords task.
Prerequisites
-
The following data is required
-
ID of the last triggered failed update passwords task
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource and ID of the failed task. |
-
New password must be in compliance with the password policies.
Tip
|
Refer to: Password Compliance Guide. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/08520678-0fae-474c-8d29-3379a88ee1e3' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials/tasks/08520678-0fae-474c-8d29-3379a88ee1e3 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 265
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/08520678-0fae-474c-8d29-3379a88ee1e3
Content-Type: application/json
Content-Length: 100
{
"id" : "08520678-0fae-474c-8d29-3379a88ee1e3",
"name" : "UPDATE",
"status" : "IN_PROGRESS"
}
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed by providing previous credentials rotate specification or by amending the credentials rotate specification for FAILED resources.
Tip
|
Refer to: Retry the Update Passwords Task. |
-
The failed task can be cancelled.
Tip
|
Refer to: Cancel the Update/Rotate Passwords Task. |
Warning
|
The password once updated cannot be rolled back. |
Note
|
The password is updated in the order of the input. |
Note
|
Retry should be performed if updating passwords task has failed. |
Note
|
Retry should be performed on the same list of resources as in the failed operation specification. |
Tip
|
Refer to: Get the Resource Credentials for Credentials Task for the list of resources in the failed task. |
Note
|
The passwords of the dependent resources of the requested resources will also get updated. |
2.28.6. Retry the Rotate Passwords Task
This API is used to retry a failed rotate passwords task.
Prerequisites
-
The following data is required
-
ID of the last triggered failed rotate passwords task
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource and ID of the failed task. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/a4ef569c-251e-4727-b6c5-b7f548c6f966' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials/tasks/a4ef569c-251e-4727-b6c5-b7f548c6f966 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 229
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01-mo1-esx02.rainpole.io",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/a4ef569c-251e-4727-b6c5-b7f548c6f966
Content-Type: application/json
Content-Length: 100
{
"id" : "a4ef569c-251e-4727-b6c5-b7f548c6f966",
"name" : "ROTATE",
"status" : "IN_PROGRESS"
}
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed by providing previous credentials rotate specification or by amending the credentials rotate specification for FAILED resources.
Tip
|
Refer to: Retry the Rotate Passwords Task. |
-
The failed task can be cancelled.
Tip
|
Refer to: Cancel the Update/Rotate Passwords Task. |
Warning
|
The password once rotated cannot be rolled back. |
Note
|
The password is rotated in the order of the input. |
Note
|
The generated password adheres to the password compliance. Refer to: Password Compliance Guide. |
Note
|
Retry should be performed if some password rotation task has failed. |
Note
|
Retry should be performed on the same list of resources as in the failed operation specification. |
Tip
|
Refer to: Get the Resource Credentials for Credentials Task for the list of resources in the failed task. |
Note
|
The passwords of the dependent resources of the requested resources will also get rotated. |
2.28.7. Cancel the Update/Rotate Passwords Task
-
This API is used to cancel a failed update or rotate passwords task.
Prerequisites
-
The following data is required
-
ID of the last triggered failed update/rotate passwords task
-
Tip
|
Refer to: Get the Credentials Tasks section to get the ID of the failed task. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/133ee2ec-e291-49d3-8f5c-2a2ac1ef412c' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/credentials/tasks/133ee2ec-e291-49d3-8f5c-2a2ac1ef412c HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 74
{
"id" : "133ee2ec-e291-49d3-8f5c-2a2ac1ef412c",
"status" : "FAILED"
}
Warning
|
The password once updated or rotated cannot be rolled back. |
Note
|
The password is updated or rotated in the order of the input. |
Note
|
Cancel should be performed to release the internal global lock held at VCF instance level if some password updation or rotation task has failed after several retries. |
2.28.8. Get the Credentials Tasks
This API is used to fetch all credentials tasks in reverse chronological order.
Note
|
"oldPassword" and "newPassword" fields won’t be listed and will come as empty string. Refer Get a Credentials Subtask for fetching passwords details. |
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials/tasks HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1597
{
"elements" : [ {
"id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
"name" : "Credentials rotate operation",
"type" : "ROTATE",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"subTasks" : [ {
"id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
"resourceName" : "vra01svr01a.rainpole.io",
"name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
}, {
"id" : "900e8ce0-4ff4-4a76-a7e0-8e44748aa46e",
"resourceName" : "vra01svr01b.rainpole.io",
"name" : "Password rotate for resource : vra01svr01b.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
}, {
"id" : "1b3b962d-fff7-4dcc-98ed-0a15b495afa5",
"resourceName" : "vra01svr01c.rainpole.io",
"name" : "Password rotate for resource : vra01svr01c.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
} ]
} ]
}
2.28.9. Get a Credentials Task
This API is used to fetch a credentials task for an ID.
Note
|
"oldPassword" and "newPassword" fields won’t be listed and will come as empty string. Refer Get a Credentials Subtask for fetching passwords details. |
Prerequisites
-
The following data is required
-
ID of the credentials task
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1494
{
"id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
"name" : "Credentials rotate operation",
"type" : "ROTATE",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"subTasks" : [ {
"id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
"resourceName" : "vra01svr01a.rainpole.io",
"name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
}, {
"id" : "900e8ce0-4ff4-4a76-a7e0-8e44748aa46e",
"resourceName" : "vra01svr01b.rainpole.io",
"name" : "Password rotate for resource : vra01svr01b.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
}, {
"id" : "1b3b962d-fff7-4dcc-98ed-0a15b495afa5",
"resourceName" : "vra01svr01c.rainpole.io",
"name" : "Password rotate for resource : vra01svr01c.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "",
"newPassword" : "",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
} ]
}
2.28.10. Get the Resource Credentials for Credentials Task
This API is used to fetch resource credentials for a credentials task ID.
Prerequisites
-
The following data is required
-
ID of the credentials task
-
Tip
|
Refer to: Get the Credentials Tasks to get the ID of credentials tasks. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 578
[ {
"resourceName" : "vra01svr01a.rainpole.io",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "EvoSDDC2020!"
} ]
}, {
"resourceName" : "vra01svr01b.rainpole.io",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "EvoSDDC2018!"
} ]
}, {
"resourceName" : "vra01svr01c.rainpole.io",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "EvoSDDC2017!"
} ]
} ]
2.28.11. Get a Credentials Subtask
This API is used to fetch details of a subtask corresponding to a credentials task ID and subtask ID.
Prerequisites
-
The following data is required
-
ID of the credentials task
-
ID of the credentials subtask
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/subtasks/acb6fa7b-a81b-41d8-bb53-0c1611609dd7' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/subtasks/acb6fa7b-a81b-41d8-bb53-0c1611609dd7 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 664
{
"id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
"name" : "Credentials rotate operation",
"type" : "ROTATE",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"subTasks" : [ {
"id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
"resourceName" : "vra01svr01a.rainpole.io",
"name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"oldPassword" : "EvoSDDC2019!",
"newPassword" : "EvoSDDC2020!",
"entityType" : "VRA",
"username" : "root",
"credentialType" : "SSH"
} ]
}
2.28.12. Remediate expired Passwords
If the password is expired, then the customer requires to manually reset the account in the product and then reach out to GSS to sync credentials store of VCF with new password for the product.
Hence this new API will accept the new password from the client, validates by testing the connectivity and then performs credentials store update. This API is generalized so that the same API can be used for both service accounts and user accounts.
For service accounts, Password will be auto rotated post rememdiaton with correct password.
Please note: Credentials store sync is irreversible operation, ie when credentials store sync is successful and password rotation failed due to other issues, then we wont be reverting credentials store with older non working password.
Prerequisites
-
The following data is required
-
Name or ID of the resource
-
Type of the resource
-
Username of the resource
-
Working password of the resource
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "REMEDIATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 243
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "REMEDIATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/594470ec-5abe-4987-843f-b95dfd9b635c
Content-Type: application/json
Content-Length: 103
{
"id" : "594470ec-5abe-4987-843f-b95dfd9b635c",
"name" : "REMEDIATE",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry the Rotate Passwords Task. |
Warning
|
The password once rotated cannot be rolled back. |
Note
|
Currently we support only one credential at a time for remediation. |
Note
|
The password is rotated in the order of the input. |
Note
|
The generated password adheres to the password compliance. Refer to: Password Compliance Guide. |
Note
|
The passwords of the dependent resources of the requested resources will also get rotated. |
2.28.13. Configure auto-rotate schedule for Credentials
This API is used to configure schedule for auto-rotate of the passwords for the list of selected credentials.
Prerequisites
-
The following data is required
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
enableAutoRotatePolicy refers to property for enable/disable the auto-rotate schedule
-
frequencyInDays refers to frequency in number of days for auto-rotate schedule
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource. |
Steps
-
Trigger the task using the valid input specification.
set enableAutoRotatePolicy to True
set frequencyInDays to number of days auto-rotate schedule should execute.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "UPDATE_AUTO_ROTATE_POLICY",
"elements" : [ {
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceType" : "VCENTER",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ],
"autoRotatePolicy" : {
"frequencyInDays" : 30,
"enableAutoRotatePolicy" : true
}
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 344
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "UPDATE_AUTO_ROTATE_POLICY",
"elements" : [ {
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceType" : "VCENTER",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ],
"autoRotatePolicy" : {
"frequencyInDays" : 30,
"enableAutoRotatePolicy" : true
}
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/5275518f-9579-4656-86e7-ac7ef0618618
Content-Type: application/json
Content-Length: 119
{
"id" : "5275518f-9579-4656-86e7-ac7ef0618618",
"name" : "UPDATE_AUTO_ROTATE_POLICY",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry the Rotate Passwords Task. |
2.28.14. Disable auto-rotate schedule for credentials
This API is used to disable configured schedule for auto-rotate of passwords for the list of selected credentials.
Prerequisites
-
The following data is required
-
Name or ID of the resource
-
Type of the resource
-
Credential type of the resource
-
Username of the resource
-
enableAutoRotatePolicy refers to property for enable/disable the auto-rotate schedule
-
Tip
|
Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource. |
Steps
-
Trigger the task using the valid input specification.
set enableAutoRotatePolicy to True
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "UPDATE_AUTO_ROTATE_POLICY",
"elements" : [ {
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceType" : "VCENTER",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ],
"autoRotatePolicy" : {
"enableAutoRotatePolicy" : false
}
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 317
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "UPDATE_AUTO_ROTATE_POLICY",
"elements" : [ {
"resourceName" : "sfo01-m01-vc01.rainpole.io",
"resourceType" : "VCENTER",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ],
"autoRotatePolicy" : {
"enableAutoRotatePolicy" : false
}
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/e976f853-524f-429c-b396-081be479d5e7
Content-Type: application/json
Content-Length: 119
{
"id" : "e976f853-524f-429c-b396-081be479d5e7",
"name" : "UPDATE_AUTO_ROTATE_POLICY",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task or Get a Credentials Task. |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry the Rotate Passwords Task. |
2.29. Certificates
2.29.1. Install Certificates By Online Mode
The following steps have to be followed to install certificates signed by VCF supporting certificate authorities (Microsoft CA and OpenSSL CA).
Prerequisites
-
VCF environment.
Steps
-
Check if certificate authority is configured or not by invoking the API. If certificate authority is configured, proceed directly to step-3.
Note
|
Operations are performed on domain named MGMT. |
Note
|
The following returns the list of all configured cerificate authorities. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/certificate-authorities HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 386
{
"elements" : [ {
"id" : "OpenSSL",
"commonName" : "test.openssl.eng.vmware.com",
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU"
}, {
"id" : "Microsoft",
"username" : "Admin",
"serverUrl" : "https://AD-vcf.eng.vmware.com/certsrv",
"templateName" : "Vcms"
} ]
}
Tip
|
Refer to: Get certificate authorities information |
-
Configure certificate authority if it is not configured by invoking the API
Configure "Microsoft" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"microsoftCertificateAuthoritySpec" : {
"username" : "Admin",
"secret" : "VMwareInfra@1",
"serverUrl" : "https://AD-vcf.eng.vmware.com/certsrv",
"templateName" : "Vcms"
}
}'
HTTP Request
PUT /v1/certificate-authorities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 194
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"microsoftCertificateAuthoritySpec" : {
"username" : "Admin",
"secret" : "VMwareInfra@1",
"serverUrl" : "https://AD-vcf.eng.vmware.com/certsrv",
"templateName" : "Vcms"
}
}
HTTP Response
HTTP/1.1 200 OK
Configure "OpenSSL" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"openSSLCertificateAuthoritySpec" : {
"commonName" : "test.openssl.eng.vmware.com",
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU"
}
}'
HTTP Request
PUT /v1/certificate-authorities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 239
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"openSSLCertificateAuthoritySpec" : {
"commonName" : "test.openssl.eng.vmware.com",
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU"
}
}
HTTP Response
HTTP/1.1 200 OK
Tip
|
Refer to: Create a certificate authority |
-
Reconfigure the certificate authority if required by invoking the API
Reconfigure "Microsoft" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"microsoftCertificateAuthoritySpec" : {
"templateName" : "Vcms1"
}
}'
HTTP Request
PATCH /v1/certificate-authorities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 78
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"microsoftCertificateAuthoritySpec" : {
"templateName" : "Vcms1"
}
}
HTTP Response
HTTP/1.1 200 OK
Reconfigure "OpenSSL" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"openSSLCertificateAuthoritySpec" : {
"commonName" : "test1.openssl.eng.vmware.com"
}
}'
HTTP Request
PATCH /v1/certificate-authorities HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 97
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"openSSLCertificateAuthoritySpec" : {
"commonName" : "test1.openssl.eng.vmware.com"
}
}
HTTP Response
HTTP/1.1 200 OK
Tip
|
Refer to: Configure existing certificate authority |
-
Verify that the certificate authority is successfully configured by invoking the API with type of CA as the ID
Verify configuration for "Microsoft" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities/Microsoft' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/certificate-authorities/Microsoft HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 132
{
"id" : "Microsoft",
"username" : "Admin",
"serverUrl" : "https://AD-vcf.eng.vmware.com/certsrv",
"templateName" : "Vcms"
}
Verify configuration for "OpenSSL" certificate authority
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/certificate-authorities/OpenSSL' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/certificate-authorities/OpenSSL HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 203
{
"id" : "OpenSSL",
"commonName" : "test.openssl.eng.vmware.com",
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU"
}
Tip
|
Refer to: Get certificate authority information |
-
After the successful certificate authority configuration, generate CSR by invoking the API
Tip
|
If "resources" field is not given then operations are performed on all the resources in the domain. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/csrs' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"csrGenerationSpec" : {
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU",
"email" : "[email protected]",
"keySize" : "2048",
"keyAlgorithm" : "RSA"
},
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER",
"sans" : [ "sfo-m01-nsx01.rainpole.io", "10.0.0.6" ]
} ]
}'
HTTP Request
PUT /v1/domains/MGMT/csrs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 415
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"csrGenerationSpec" : {
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU",
"email" : "[email protected]",
"keySize" : "2048",
"keyAlgorithm" : "RSA"
},
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER",
"sans" : [ "sfo-m01-nsx01.rainpole.io", "10.0.0.6" ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/b1b0531b-4a7f-41a7-8f18-78df8f9097b3
Content-Type: application/json
Content-Length: 79
{
"id" : "b1b0531b-4a7f-41a7-8f18-78df8f9097b3",
"status" : "IN_PROGRESS"
}
Tip
|
Refer to: Generate CSR(s) |
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", execute the generate CSR request again.
-
If the generation of CSR is successful, fetch the contents of the CSR to check for which resources CSR is generated by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/csrs' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/csrs HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1154
{
"elements" : [ {
"csrEncodedContent" : "-----BEGIN CERTIFICATE REQUEST-----\nMIICtDCCAZwCAQAwbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMQswCQYDVQQH\nEwJQQTEMMAoGA1UECxMDVkNGMQ8wDQYDVQQKEwZWTXdhcmUxJzAlBgNVBAMTHm5z\neE1hbmFnZXIudnJhY2sudnNwaGVyZS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAKtumknTB1do77E5rCXGRgqT6iqTgW0moiDZS6USGkeTQMvj\nR5JnQjq11xJl0y1meSdA6ufft8xndOr1b8alRs4+FreuJLl/8HBIVLRECrfkfIn0\nImwZzGFih2wwrCD/evb/7paNcdt97+KF2nwqB5ADysyFkjYs0uiJxxE5i8HsST1L\n+AStKeAV0lOk/2n/qgHPUcnjH7KchJAet9DFuKBWUW7QIryQffuiQrdAFqcEPHJC\nubHyqnoBPktosD3SXs1UickNiTyXIRC1NGHK/w7VTTJfBxkXxIdejazVGjCAW8w0\n/N4iW3rCaxSpnggWLGYFbGEkhikgtkpj8zIRjk8CAwEAAaAAMA0GCSqGSIb3DQEB\nCwUAA4IBAQBkxJTuymqggHLhWbtnvtA3mU4freKzF2XDUUP+K5kz43j2IXNbsCJI\nWDpY9OCVj9NHZ+uFTvQLvCb3E+6h0vE4Dw2PVUuOpz/Ag1qmgYIxtC5vzN4gLKih\nUNROG5wYryYKO8YL4MB3XIQdx9b8y8Fxyh3ZHIvdghhUPBooWzeCUXVPD8Le4p52\nD8yMGREtSQL4avLughd+SFd0fvKQq+/K42WOFn7PYVfgLBqdW1YCjEIfAdsG+bhG\n3CIBan84uV3cKFSM4NtxCvHZnuRZmx6+0Frtt1w9sndjKvHrA6ozoHO9O1gl/E9D\nY1rzOB7KFzGiZHAMT2Cf/x/xGo8rTGFZ\n-----END CERTIFICATE REQUEST-----",
"resource" : {
"fqdn" : "sfo-m01-nsx01.rainpole.io"
}
} ]
}
Tip
|
Refer to: Get available CSR(s) in json format |
-
After successful CSR generation, generate the certificates signed by supported certificates authorities (either OpenSSL or Microsoft) by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/certificates' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"caType" : "Microsoft",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}'
HTTP Request
PUT /v1/domains/MGMT/certificates HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 124
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"caType" : "Microsoft",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/b6c471ec-32a6-430e-86c7-733b8fd09cdd
Content-Type: application/json
Content-Length: 79
{
"id" : "b6c471ec-32a6-430e-86c7-733b8fd09cdd",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", execute the generate certificate request again.
-
If the generation of certificates is successful, fetch the contents of the generated certificates to check for which resources certificates are generated by invoking the API
Note
|
The following will display the list of generated as well as already installed certificates. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/certificates' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/certificates HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 8488
{
"elements" : [ {
"isInstalled" : true,
"version" : "V3",
"serialNumber" : "ca:0b:5d:6d:07:4e:db:41",
"issuedTo" : "sfo-m01-vc01.rainpole.io",
"issuedBy" : "OU=VMware Engineering, O=sfo-m01-psc01.rainpole.io, ST=California, C=US, DC=local, DC=vsphere, CN=CA",
"notBefore" : "2019-07-11T10:16:05.000Z",
"notAfter" : "2029-07-06T08:17:24.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-vc01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-vc01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "35:4B:A5:11:A9:3D:39:0D:B7:95:9B:4D:07:5C:73:40:D0:DF:63:D4:68:97:6E:1B:20:70:87:AE:40:3F:7E:AD",
"numberOfDaysToExpire" : 3644,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
}, {
"isInstalled" : false,
"version" : "V3",
"serialNumber" : "f4:80:33:5f:e5:77:2a:f7",
"issuedTo" : "sfo-m01-nsx01.rainpole.io",
"issuedBy" : "OU=ISBU, O=VMware, L= Bangalore, ST=Karnataka, C=IN, CN=test1.openssl.eng.vmware.com",
"notBefore" : "2019-07-25T07:38:55.000Z",
"notAfter" : "2020-07-24T07:38:55.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-nsx01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-nsx01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "02:B1:D1:01:18:9F:07:39:E1:7C:94:BC:50:07:64:E8:45:8C:F8:73:3E:A9:23:BC:D2:BD:B1:17:E9:B3:C0:11",
"numberOfDaysToExpire" : 365,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
} ]
}
Tip
|
Refer to: Get latest generated certificate(s) in a domain. |
-
After successful certificate generation, install the signed certificates on remote resources by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/certificates' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "INSTALL",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}'
HTTP Request
PATCH /v1/domains/MGMT/certificates HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 129
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "INSTALL",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/4942e046-191a-45c3-9c8a-75fb5e8121b3
Content-Type: application/json
Content-Length: 79
{
"id" : "4942e046-191a-45c3-9c8a-75fb5e8121b3",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task |
-
Restart all the services as follows:
-
Using SSH, log in to the SDDC Manager VM with the following credentials:
-
Username: vcf
-
Password: use the password specified in the deployment parameter sheet
-
-
Enter su to switch to the root user.
-
Execute the following command:
-
sh /opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh
-
-
-
Fetch the installed certificates by invoking the API
Note
|
The following will display the list of installed certificates. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/resource-certificates' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/resource-certificates HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 8435
{
"elements" : [ {
"version" : "V3",
"serialNumber" : "ca:0b:5d:6d:07:4e:db:41",
"issuedTo" : "sfo-m01-vc01.rainpole.io",
"issuedBy" : "OU=VMware Engineering, O=sfo-m01-psc01.rainpole.io, ST=California, C=US, DC=local, DC=vsphere, CN=CA",
"notBefore" : "2019-07-11T10:16:05.000Z",
"notAfter" : "2029-07-06T08:17:24.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-vc01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-vc01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "35:4B:A5:11:A9:3D:39:0D:B7:95:9B:4D:07:5C:73:40:D0:DF:63:D4:68:97:6E:1B:20:70:87:AE:40:3F:7E:AD",
"numberOfDaysToExpire" : 3644,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
}, {
"version" : "V3",
"serialNumber" : "f4:80:33:5f:e5:77:2a:f7",
"issuedTo" : "sfo-m01-nsx01.rainpole.io",
"issuedBy" : "OU=ISBU, O=VMware, L= Bangalore, ST=Karnataka, C=IN, CN=test1.openssl.eng.vmware.com",
"notBefore" : "2019-07-25T07:38:55.000Z",
"notAfter" : "2020-07-24T07:38:55.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-nsx01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-nsx01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "02:B1:D1:01:18:9F:07:39:E1:7C:94:BC:50:07:64:E8:45:8C:F8:73:3E:A9:23:BC:D2:BD:B1:17:E9:B3:C0:11",
"numberOfDaysToExpire" : 365,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
} ]
}
Tip
|
Refer to: View certificate of all the resources in a domain |
Warning
|
Certificate installation will replace the already installed certificates. |
Note
|
The CSRs cannot be fetched after successful certificate installation. |
Note
|
Only singleton object of a particular certificate authority will exist at any point of time in the VCF environment. |
Note
|
Only the latest generated CSRs will exist in the VCF environment after a series of generate CSR operation. |
Note
|
Only the latest generated certificates will exist in the VCF environment after a series of generate certificate operation. |
Related APIs
Create a certificate authority
Get certificate authorities information
Get certificate authority information
Configure existing certificate authority
Generate CSR(s)
Get available CSR(s) in json format
Generate certificate(s) for the selected resource(s) in a domain
Get latest generated certificate(s) in a domain.
Replace certificate(s) for the selected resource(s) in a domain
View certificate of all the resources in a domain
Get the Tasks
Get a Task
2.29.2. Install Certificates By Offline Mode
The following steps have to be followed to install certificates signed by external third party certificate authorities.
Prerequisites
-
VCF environment.
Steps
-
Generate CSR by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/csrs' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"csrGenerationSpec" : {
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU",
"email" : "[email protected]",
"keySize" : "2048",
"keyAlgorithm" : "RSA"
},
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER",
"sans" : [ "sfo-m01-nsx01.rainpole.io", "10.0.0.6" ]
} ]
}'
HTTP Request
PUT /v1/domains/MGMT/csrs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 415
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"csrGenerationSpec" : {
"country" : "IN",
"state" : "Karnataka",
"locality" : "Bengaluru",
"organization" : "VMware",
"organizationUnit" : "ISBU",
"email" : "[email protected]",
"keySize" : "2048",
"keyAlgorithm" : "RSA"
},
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER",
"sans" : [ "sfo-m01-nsx01.rainpole.io", "10.0.0.6" ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/b1b0531b-4a7f-41a7-8f18-78df8f9097b3
Content-Type: application/json
Content-Length: 79
{
"id" : "b1b0531b-4a7f-41a7-8f18-78df8f9097b3",
"status" : "IN_PROGRESS"
}
Tip
|
Refer to: Generate CSR(s) |
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", execute the generate CSR request again.
-
If the generation of CSR is successful, fetch the contents of the CSR to check for which resources CSR is generated by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/csrs' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/csrs HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1154
{
"elements" : [ {
"csrEncodedContent" : "-----BEGIN CERTIFICATE REQUEST-----\nMIICtDCCAZwCAQAwbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMQswCQYDVQQH\nEwJQQTEMMAoGA1UECxMDVkNGMQ8wDQYDVQQKEwZWTXdhcmUxJzAlBgNVBAMTHm5z\neE1hbmFnZXIudnJhY2sudnNwaGVyZS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAKtumknTB1do77E5rCXGRgqT6iqTgW0moiDZS6USGkeTQMvj\nR5JnQjq11xJl0y1meSdA6ufft8xndOr1b8alRs4+FreuJLl/8HBIVLRECrfkfIn0\nImwZzGFih2wwrCD/evb/7paNcdt97+KF2nwqB5ADysyFkjYs0uiJxxE5i8HsST1L\n+AStKeAV0lOk/2n/qgHPUcnjH7KchJAet9DFuKBWUW7QIryQffuiQrdAFqcEPHJC\nubHyqnoBPktosD3SXs1UickNiTyXIRC1NGHK/w7VTTJfBxkXxIdejazVGjCAW8w0\n/N4iW3rCaxSpnggWLGYFbGEkhikgtkpj8zIRjk8CAwEAAaAAMA0GCSqGSIb3DQEB\nCwUAA4IBAQBkxJTuymqggHLhWbtnvtA3mU4freKzF2XDUUP+K5kz43j2IXNbsCJI\nWDpY9OCVj9NHZ+uFTvQLvCb3E+6h0vE4Dw2PVUuOpz/Ag1qmgYIxtC5vzN4gLKih\nUNROG5wYryYKO8YL4MB3XIQdx9b8y8Fxyh3ZHIvdghhUPBooWzeCUXVPD8Le4p52\nD8yMGREtSQL4avLughd+SFd0fvKQq+/K42WOFn7PYVfgLBqdW1YCjEIfAdsG+bhG\n3CIBan84uV3cKFSM4NtxCvHZnuRZmx6+0Frtt1w9sndjKvHrA6ozoHO9O1gl/E9D\nY1rzOB7KFzGiZHAMT2Cf/x/xGo8rTGFZ\n-----END CERTIFICATE REQUEST-----",
"resource" : {
"fqdn" : "sfo-m01-nsx01.rainpole.io"
}
} ]
}
Tip
|
Refer to: Get available CSR(s) in json format |
-
After successful CSR generation, download CSR in ".tar.gz" format by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/csrs/downloads' -i -X GET \
-H 'Accept: application/octet-stream' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/csrs/downloads HTTP/1.1
Accept: application/octet-stream
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 1012
Content-Disposition: attachment; filename="csrString.txt"
Accept-Ranges: bytes
-----BEGIN CERTIFICATE REQUEST-----
MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMQswCQYDVQQH
EwJQQTEMMAoGA1UECxMDVkNGMQ8wDQYDVQQKEwZWTXdhcmUxJzAlBgNVBAMTHm5z
eE1hbmFnZXIudnJhY2sudnNwaGVyZS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKtumknTB1do77E5rCXGRgqT6iqTgW0moiDZS6USGkeTQMvj
R5JnQjq11xJl0y1meSdA6ufft8xndOr1b8alRs4+FreuJLl/8HBIVLRECrfkfIn0
ImwZzGFih2wwrCD/evb/7paNcdt97+KF2nwqB5ADysyFkjYs0uiJxxE5i8HsST1L
+AStKeAV0lOk/2n/qgHPUcnjH7KchJAet9DFuKBWUW7QIryQffuiQrdAFqcEPHJC
ubHyqnoBPktosD3SXs1UickNiTyXIRC1NGHK/w7VTTJfBxkXxIdejazVGjCAW8w0
/N4iW3rCaxSpnggWLGYFbGEkhikgtkpj8zIRjk8CAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQBkxJTuymqggHLhWbtnvtA3mU4freKzF2XDUUP+K5kz43j2IXNbsCJI
WDpY9OCVj9NHZ+uFTvQLvCb3E+6h0vE4Dw2PVUuOpz/Ag1qmgYIxtC5vzN4gLKih
UNROG5wYryYKO8YL4MB3XIQdx9b8y8Fxyh3ZHIvdghhUPBooWzeCUXVPD8Le4p52
D8yMGREtSQL4avLughd+SFd0fvKQq+/K42WOFn7PYVfgLBqdW1YCjEIfAdsG+bhG
3CIBan84uV3cKFSM4NtxCvHZnuRZmx6+0Frtt1w9sndjKvHrA6ozoHO9O1gl/E9D
Y1rzOB7KFzGiZHAMT2Cf/x/xGo8rTGFZ
-----END CERTIFICATE REQUEST-----
Tip
|
Refer to: Download available CSR(s) in tar.gz format |
-
Use the downloaded CSRs to have it manually signed by external certificate authorities.
-
Verify that the certificate authority configuration files have been configured and packaged in the form of
a ".tar.gz" file with the following conditions-
The name of the top-level directory must exactly match the name of the domain to which certificates are to be installed.
-
The PEM-encoded root CA certificate chain file (rootca.crt) must reside inside this top-level directory.
-
This directory must contain one sub-directory for each component resource and the name of each sub-directory must exactly match the resource fqdn.
-
Each sub-directory must contain a corresponding ".csr" file, whose name must exactly match the
resource fqdn followed by ".csr" extension. -
Each sub-directory must contain a corresponding ".crt" file, whose name must exactly match the
resource fqdn followed by ".crt" extension.
-
-
Upload the packaged signed certificates by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/certificates/uploads' -i -X PUT \
-H 'Content-Type: multipart/form-data' \
-H 'Authorization: Bearer etYWRta....' \
-F '[email protected];type=multipart/form-data'
HTTP Request
PUT /v1/domains/MGMT/certificates/uploads HTTP/1.1
Content-Type: multipart/form-data; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=MGMT.tar.gz
Content-Type: multipart/form-data
-----BEGIN CERTIFICATE-----
MIIC2zCCAcMCAQAwgZUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRIwEAYDVQQHEwlQYWxvIEFsdG8xHjAcBgNVBAsTFVZNd2FyZSBJVCAgZGVwYXJ0
bWVudDEUMBIGA1UEChMLVk1XYXJlIEluYy4xJzAlBgNVBAMTHm5zeE1hbmFnZXIu
dnJhY2sudnNwaGVyZS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAPgggMHrSsbcC9JYjGQCDiSTsG0LPGjMcTKgEaUi6zcVKWAv7ccpvW7cwFtc
2FqtM4zlETOK0tHZmS17uUg/tsJSWq+nr2VQ541XifvZOVINcIlKnzGJO32d4qxO
3xY3lr8Pj7xZe0xZK3iP+TBiUdtHggSYJ6uWYHoZAJ74Jqp4pVdwQgjm1sINldYm
e1x+txQINQB7MFG2tflQ7iXRaiLGZKXR86xDvw/T1OcPPjtSnwFjYfeHtE2KjuT9
RiCXl4cUuH+pjQTsWSSByK0LyC8U9/tqDGnMiERxBl1g9rBKQMOoZmTCF3gr7hhx
PZ16JlYqU9hbAjPxVkGO0NkI9PsCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQAq
vqrtJ4nQepjbwOmJor2ZHOUaoqwImE3OJaa6PxaikD1c14maMXJ4XQm+ONJooCPx
CL6TVs2DSydxVzRFHj5dyAz7MJ8XIkqijvarxb+gLjhim4+O+MuS7hHaCnVU9KMg
i3QhWFc1SwDuhiHL3RXbf04gOzrbEhIPa9rBKQMOoZmTCF3gr7JiuSqBvKtG3cus
3DjxA1z9CGUgIrYBlOm2/xPDp91AIMGeP9YXh8ue/NVPZ+tlZOCgKGiS05CTK5Wr
cHaC7yQqIyZdKP9EQhv3yhxL4ho9e1xL9f4puv3CBE5VmCb8LZ/5CRIKOHEsIV70
XGKY78p5LoKf4ro2LLQ+
-----END CERTIFICATE-----
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
HTTP Response
HTTP/1.1 200 OK
Tip
|
Refer to: Upload certificates to the certificate store |
-
After successful upload operation, install the signed certificates on remote resources by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/certificates' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"operationType" : "INSTALL",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}'
HTTP Request
PATCH /v1/domains/MGMT/certificates HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 129
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"operationType" : "INSTALL",
"resources" : [ {
"fqdn" : "sfo-m01-nsx01.rainpole.io",
"type" : "NSX_MANAGER"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/4942e046-191a-45c3-9c8a-75fb5e8121b3
Content-Type: application/json
Content-Length: 79
{
"id" : "4942e046-191a-45c3-9c8a-75fb5e8121b3",
"status" : "IN_PROGRESS"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task |
-
Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task |
-
Restart all the services as follows:
-
Using SSH, log in to the SDDC Manager VM with the following credentials:
-
Username: vcf
-
Password: use the password specified in the deployment parameter sheet
-
-
Enter su to switch to the root user.
-
Execute the following command:
-
sh /opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh
-
-
-
Fetch the installed certificates by invoking the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/domains/MGMT/resource-certificates' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/domains/MGMT/resource-certificates HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 8435
{
"elements" : [ {
"version" : "V3",
"serialNumber" : "ca:0b:5d:6d:07:4e:db:41",
"issuedTo" : "sfo-m01-vc01.rainpole.io",
"issuedBy" : "OU=VMware Engineering, O=sfo-m01-psc01.rainpole.io, ST=California, C=US, DC=local, DC=vsphere, CN=CA",
"notBefore" : "2019-07-11T10:16:05.000Z",
"notAfter" : "2029-07-06T08:17:24.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-vc01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-vc01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "35:4B:A5:11:A9:3D:39:0D:B7:95:9B:4D:07:5C:73:40:D0:DF:63:D4:68:97:6E:1B:20:70:87:AE:40:3F:7E:AD",
"numberOfDaysToExpire" : 3644,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
}, {
"version" : "V3",
"serialNumber" : "f4:80:33:5f:e5:77:2a:f7",
"issuedTo" : "sfo-m01-nsx01.rainpole.io",
"issuedBy" : "OU=ISBU, O=VMware, L= Bangalore, ST=Karnataka, C=IN, CN=test1.openssl.eng.vmware.com",
"notBefore" : "2019-07-25T07:38:55.000Z",
"notAfter" : "2020-07-24T07:38:55.000Z",
"signatureAlgorithm" : "SHA256withRSA",
"subject" : "C=US, CN=sfo-m01-nsx01.rainpole.io",
"subjectAlternativeName" : [ "sfo-m01-nsx01.rainpole.io" ],
"publicKey" : "BA:16:16:DF:00:B2:88:C9:F9:E0:7F:72:B6:DC:83:1F:87:46:C3:C4:4B:8B:EB:C0:AD:B9:A2:FB:31:75:0A:89:12:25:58:B6:42:B1:78:A3:7F:19:B0:03:19:35:AD:51:5D:08:36:CB:C3:6E:63:B2:CE:89:2D:24:AD:EA:DD:BD:73:0A:06:84:4E:4D:83:AF:B8:EC:F9:E1:98:9F:35:9F:83:11:DD:71:61:5E:CF:DE:9A:BF:0D:A7:8A:64:F2:94:26:5D:A7:E0:20:B9:C2:01:BB:62:F2:7D:C3:A9:9B:91:DE:49:1E:97:B7:E8:CA:38:1C:E9:92:76:07:A8:26:95:5D:C1:89:E7:EA:27:03:57:BE:D2:76:B5:E4:AC:89:10:67:7F:42:DA:5D:52:5C:9F:65:59:A4:42:0B:81:F8:77:B5:F8:2D:18:DA:9B:1A:F4:BD:BD:F2:33:97:7A:EA:64:1B:CE:58:CF:9C:E7:18:60:94:CE:66:C9:57:7E:62:A2:AD:47:3D:29:D2:F8:DB:AB:D7:8F:D1:7D:8A:9A:FC:68:37:48:3C:AD:38:A5:76:D8:4C:E2:64:AE:87:B7:DA:78:3E:EB:2B:C8:70:43:4D:CB:4E:72:80:43:CB:D2:43:A7:71:16:22:27:0F:A1:DB:0A:83:88:2C:09:49:0A:35:8C:76:76:55:E2:3A:1C:7C:74:F0:91:60:A2:45:7F:6C:7A:2B:A5:51:87:25:D0:DB:9C:E0:B8:32:27:83:D6:3F:70:C5:7A:1B:92:09:E7:77:39:3A:C2:28:B1:5C:8A:3F:42:FE:D6:6A:7D:F6:E5:D6:FB:B0:DB:AB:D9:65:29:BE:75:DA:07:E8:38:B2:A0:75:9F:45:8E:FF:6B:AF:27:DB:FA:2E:AB:80:51:09:88:7D:7B:AC:A4:B7:15:41:30:A0:E1:0F:C7:DD:D1:F4:84:7D:D3:F8:B1:B0:F9:55:8F:A6:DC:44:E0:E6:0F:C5:DF:32:93:51:8D:7D:BA:79:4A:3E:72:CA:CB:9A:2E:8B:E6:A0:63:57:C8:CD:92:F8:70:0A:1E:6D:CA:DF:35:D4:91:45:E7:DB:7F:86:32:E9:8C:A3:D2:D0:35:15:70:A9:DA:39:DF:FA:76:9C:EF:5D:B6:A4:58:49:EE:A0:B1:74:33:D2:41:97:F6:FE:0C:07:66:DE:56:5F:3E:15:03:70:3D:56:80:5E:F6:CB:C3:FA:78:CE:14:0C:D7:E1:53:48:8B:5A:61:C0:04:BA:DD:ED:B3:E4:F1:76:AD:FD:03:27:C9:FB:EC:5A:75:0B:22:8F:6A:E8:35:47:FB:04:B7:A7:5F:51:FA:46:EF:00:64:03:27:1C:FB",
"publicKeyAlgorithm" : "RSA",
"keySize" : "2048",
"thumbprintAlgorithm" : "SHA-256",
"thumbprint" : "02:B1:D1:01:18:9F:07:39:E1:7C:94:BC:50:07:64:E8:45:8C:F8:73:3E:A9:23:BC:D2:BD:B1:17:E9:B3:C0:11",
"numberOfDaysToExpire" : 365,
"expirationStatus" : "ACTIVE",
"pemEncoded" : "-----BEGIN CERTIFICATE-----MIIFRDCCBCygAwIBAgIJAOx9cA2cGcUUMA0GCSqGSIb3DQEBCwUAMIGgMQswCQYDVQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExIjAgBgNVBAoMGXBzYy0xLnZyYWNrLnZzcGhlcmUubG9jYWwxGzAZBgNVBAsMElZNd2FyZSBFbmdpbmVlcmluZzAeFw0xODA3MDIxNDE1NTJaFw0yODA2MjcxMjIyMzlaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMQ8wDQYDVQQKEwZWTXdhcmUxGzAZBgNVBAsTElZNd2FyZSBFbmdpbmVlcmluZzEqMCgGA1UEAxMhbG9hZC1iYWxhbmNlci52cmFjay52c3BoZXJlLmxvY2FsMR4wHAYJKoZIhvcNAQkBFg92bWNhQHZtd2FyZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6FhbfALKIyfngf3K23IMfh0bDxEuL68CtuaL7MXUKiRIlWLZCsXijfxmwAxk1rVFdCDbLw25jss6JLSSt6t29cwoGhE5Ng6+47PnhmJ81n4MR3XFhXs/emr8Np4pk8pQmXafgILnCAbti8n3DqZuR3kkel7foyjgc6ZJ2B6gmlV3BiefqJwNXvtJ2teSsiRBnf0LaXVJcn2VZpEILgfh3tfgtGNqbGvS9vfIzl3rqZBvOWM+c5xhglM5myVd+YqKtRz0p0vjbq9eP0X2KmvxoN0g8rTildthM4mSuh7faeD7rK8hwQ03LTnKAQ8vSQ6dxFiInD6HbCoOILAlJCjWMdnZV4jocfHTwkWCiRX9seiulUYcl0Nuc4LgyJ4PWP3DFehuSCed3OTrCKLFcij9C/tZqffbl1vuw26vZZSm+ddoH6DiyoHWfRY7/a68n2/ouq4BRCYh9e6yktxVBMKDhD8fd0fSEfdP4sbD5VY+m3ETg5g/F3zKTUY19unlKPnLKy5oui+agY1fIzZL4cAoebcrfNdSRRefbf4Yy6Yyj0tA1FXCp2jnf+nac7122pFhJ7qCxdDPSQZf2/gwHZt5WXz4VA3A9VoBe9svD+njOFAzX4VNIi1phwAS63e2z5PF2rf0DJ8n77Fp1CyKPaug1R/sEt6dfUfpG7wBkAycc+wIDAQABo28wbTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAyBgNVHREEKzApgiFsb2FkLWJhbGFuY2VyLnZyYWNrLnZzcGhlcmUubG9jYWyHBAoAAA8wHwYDVR0jBBgwFoAUauWGErq+/JHwQ3qju9Ch8V2097MwDQYJKoZIhvcNAQELBQADggEBAMCvNCQ3KsvncoYK9fI0cfcBYEpFuToB+duK7yztklf8P6PLRSWdU39KaG+xv5768K+xe90riOYs0Mhcs0IuUQW2F6kCnlW3ff2R3pvTeM3kGqXclk4KGKRNnhhsF3Ze8QW3drH0dzD3vNcumdLr+GvG6vF2O/Pl3+Nn9dwE72ZVl7Ai970jJM5CVjI+wST19ZQPpq1E3aad3Bk+AQcQCIGputBGkHFZUGX4T6jPH0uDOcSRjH7v6TXhF2Cury7zme0zpWYwC4RMH/AxqK4z6DlmAwu2zycN097TMM/ZUXePmvgY7JSB5BIiY4ZxlnNbJy4756XDSBt41AaHxqWNcfs=-----END CERTIFICATE-----"
} ]
}
Tip
|
Refer to: View certificate of all the resources in a domain |
Warning
|
Certificate installation will replace the already installed certificates. |
Note
|
The CSRs cannot be fetched or downloaded after successful certificate installation. |
Note
|
Only the latest generated CSRs will exist in the VCF environment after a series of generate CSR operation. |
Note
|
Only the latest uploaded certificates will exist in the VCF environment after a series of upload certificate operation. |
2.29.3. Add trusted certificate to the SDDC Manager
Prerequisites
-
VCF environment.
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-manager/trusted-certificates' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"certificate" : "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----",
"certificateUsageType" : "TRUSTED_FOR_OUTBOUND"
}'
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-manager/trusted-certificates' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"certificate" : "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----",
"certificateUsageType" : "TRUSTED_FOR_INBOUND"
}'
HTTP Request
POST /v1/sddc-manager/trusted-certificates HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 136
Host: sfo-vcf01.rainpole.io
{
"certificate" : "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----",
"certificateUsageType" : "TRUSTED_FOR_OUTBOUND"
}
POST /v1/sddc-manager/trusted-certificates HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 135
Host: sfo-vcf01.rainpole.io
{
"certificate" : "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----",
"certificateUsageType" : "TRUSTED_FOR_INBOUND"
}
HTTP Response
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Tip
|
Refer to: Add trusted certificate to the SDDC manager |
-
If the API response is 200 and CertificateUsageType is TRUSTED_FOR_OUTBOUND, then restart all the services as follows:
-
Using SSH, log in to the SDDC Manager VM with the following credentials:
-
Username: vcf
-
Password: use the password specified in the deployment parameter sheet
-
-
Enter su to switch to the root user.
-
Execute the following command:
-
sh /opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh
-
-
2.30. vCenters
2.30.1. Get a vCenter
Prerequisites
-
The following data is required
-
ID of the vCenter
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vcenters/c0703437-6756-470b-9e1c-f9d3bbc9b1c6' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vcenters/c0703437-6756-470b-9e1c-f9d3bbc9b1c6 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 226
{
"id" : "c0703437-6756-470b-9e1c-f9d3bbc9b1c6",
"fqdn" : "sfo-m01-vc01.rainpole.io",
"ipAddress" : "10.0.0.6",
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
},
"version" : "7.0.1.00000-16796246"
}
2.30.2. Get the vCenters
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vcenters' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vcenters HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 510
{
"elements" : [ {
"id" : "c0703437-6756-470b-9e1c-f9d3bbc9b1c6",
"fqdn" : "sfo-m01-vc01.rainpole.io",
"ipAddress" : "10.0.0.6",
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
},
"version" : "7.0.1.00000-16796246"
}, {
"id" : "c0703437-6846-470b-9e1c-f9d3bbc9b1c9",
"fqdn" : "sfo-w01-vc01.rainpole.io",
"ipAddress" : "10.0.0.20",
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1"
},
"version" : "7.0.1.00000-16796246"
} ]
}
2.30.3. Get vCenters for a domain
Prerequisites
-
The following data is required
-
ID of the Domain
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vcenters?domainId=c0703437-6746-470b-9e1c-f9d3bbc9b1c5' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vcenters?domainId=c0703437-6746-470b-9e1c-f9d3bbc9b1c5 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 265
{
"elements" : [ {
"id" : "c0703437-6756-470b-9e1c-f9d3bbc9b1c6",
"fqdn" : "sfo-m01-vc01.rainpole.io",
"ipAddress" : "10.0.0.6",
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
},
"version" : "7.0.1.00000-16796246"
} ]
}
2.31. NSX-T Clusters
2.31.1. Get an NSX-T Cluster
Prerequisites
-
The following data is required
-
ID of the NSX-T Cluster
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/d77231ad-bf61-4331-88f3-b52534d564ba' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/d77231ad-bf61-4331-88f3-b52534d564ba HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 822
{
"id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"vip" : "172.19.10.81",
"domains" : [ {
"id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
"name" : "sfo-w01"
} ],
"nodes" : [ {
"id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
"fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
"ipAddress" : "172.19.10.84",
"name" : "sfo-w01-nsx01a"
}, {
"id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
"fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
"ipAddress" : "172.19.10.83",
"name" : "sfo-w01-nsx01b"
}, {
"id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
"fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
"ipAddress" : "172.19.10.82",
"name" : "sfo-w01-nsx01c"
} ],
"isShared" : false,
"isShareable" : true,
"isVlcmCompatible" : false
}
2.31.2. Get the NSX-T Clusters
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 903
{
"elements" : [ [ {
"id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"vip" : "172.19.10.81",
"domains" : [ {
"id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
"name" : "sfo-w01"
} ],
"nodes" : [ {
"id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
"fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
"ipAddress" : "172.19.10.84",
"name" : "sfo-w01-nsx01a"
}, {
"id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
"fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
"ipAddress" : "172.19.10.83",
"name" : "sfo-w01-nsx01b"
}, {
"id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
"fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
"ipAddress" : "172.19.10.82",
"name" : "sfo-w01-nsx01c"
} ],
"isShared" : false,
"isShareable" : true,
"isVlcmCompatible" : false
} ] ]
}
2.31.3. Get the NSX-T cluster(s) based on a Criterion
This API is used to get the NSX-T clusters that meets a specific criterion.
Steps
-
Invoke the Get NSX-T Clusters Criterion API to list all the criteria supported.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/criteria' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/criteria HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 130
{
"elements" : [ {
"name" : "NSXT_CLUSTERS_WITH_STATUS",
"description" : "Return the NSX-T clusters with status"
} ]
}
-
Pick one of the criterion and post a query
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/queries' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "NSXT_CLUSTERS_WITH_STATUS"
}'
HTTP Request
POST /v1/nsxt-clusters/queries HTTP/1.1
Content-Type: application/json
Content-Length: 42
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "NSXT_CLUSTERS_WITH_STATUS"
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/nsxt-clusters/queries/8d44cc20-b751-4585-9872-0730f4a9d27d
Content-Type: application/json
Content-Length: 127
{
"queryInfo" : {
"status" : "IN_PROGRESS",
"failure" : false,
"completed" : false,
"processing" : true
}
}
-
Read the tracking URL returned as Location header in the previous step.
-
Poll the tracking URL until the "status" is not "IN_PROGRESS".
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/queries/23abc8bc-4981-4006-bf2d-5f0b9467ab79' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/queries/23abc8bc-4981-4006-bf2d-5f0b9467ab79 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1164
{
"queryInfo" : {
"status" : "COMPLETED",
"failure" : false,
"completed" : true,
"processing" : false
},
"result" : {
"elements" : [ {
"id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
"vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
"vip" : "172.19.10.81",
"domains" : [ {
"id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
"name" : "sfo-w01"
} ],
"nodes" : [ {
"id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
"fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
"ipAddress" : "172.19.10.84",
"name" : "sfo-w01-nsx01a"
}, {
"id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
"fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
"ipAddress" : "172.19.10.83",
"name" : "sfo-w01-nsx01b"
}, {
"id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
"fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
"ipAddress" : "172.19.10.82",
"name" : "sfo-w01-nsx01c"
} ],
"version" : "3.1.2.0.0-17645047",
"isShared" : false,
"isShareable" : true,
"isVlcmCompatible" : false,
"status" : "STABLE"
} ]
}
}
2.31.4. Get an IP address pool from the NSX-T cluster
Prerequisites
-
The following data is required
-
ID of the NSX-T Cluster
-
Name of the IP address pool
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/5b4ef9bd-0bd2-4805-a3db-735446c1bdfd/ip-address-pools/static-ip-pool-01' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/5b4ef9bd-0bd2-4805-a3db-735446c1bdfd/ip-address-pools/static-ip-pool-01 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 387
{
"name" : "static-ip-pool-01",
"availableIpAddresses" : 31,
"totalIpAddresses" : 37,
"blockSubnets" : [ {
"size" : 16,
"gatewayAssigned" : true,
"cidr" : "10.0.15.0/24"
} ],
"staticSubnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "10.0.12.100",
"end" : "10.0.12.120"
} ],
"gateway" : "10.0.12.250",
"cidr" : "10.0.12.0/24"
} ]
}
2.31.5. Get the IP address pools from the NSX-T cluster
Prerequisites
-
The following data is required
-
ID of the NSX-T Cluster
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/1897cc4a-645f-42db-814b-8098e583e577/ip-address-pools' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/1897cc4a-645f-42db-814b-8098e583e577/ip-address-pools HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 444
{
"elements" : [ {
"name" : "static-ip-pool-01",
"availableIpAddresses" : 31,
"totalIpAddresses" : 37,
"blockSubnets" : [ {
"size" : 16,
"gatewayAssigned" : true,
"cidr" : "10.0.15.0/24"
} ],
"staticSubnets" : [ {
"ipAddressPoolRanges" : [ {
"start" : "10.0.12.100",
"end" : "10.0.12.120"
} ],
"gateway" : "10.0.12.250",
"cidr" : "10.0.12.0/24"
} ]
} ]
}
2.32. Platform Service Controllers
2.32.1. Get a PSC
Prerequisites
-
The following data is required
-
ID of the PSC
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/pscs/6e9f56aa-4afb-4101-91a0-1b011fab6241' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/pscs/6e9f56aa-4afb-4101-91a0-1b011fab6241 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 284
{
"id" : "6e9f56aa-4afb-4101-91a0-1b011fab6241",
"fqdn" : "sfo-m01-vc01.rainpole.io",
"ipAddress" : "10.0.0.6",
"ssoDomainName" : "rainpole.io",
"ssoSubDomainName" : "rainpole.io",
"isReplica" : false,
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}
}
2.32.2. Get the PSCs
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/pscs' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/pscs HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 327
{
"elements" : [ {
"id" : "6e9f56aa-4afb-4101-91a0-1b011fab6241",
"fqdn" : "sfo-m01-vc01.rainpole.io",
"ipAddress" : "10.0.0.6",
"ssoDomainName" : "rainpole.io",
"ssoSubDomainName" : "rainpole.io",
"isReplica" : false,
"domain" : {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}
} ]
}
2.33. SDDC Managers
2.33.1. Get an SDDC Manager
Prerequisites
-
The following data is required
-
ID of the SDDC Manager
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-managers/ebb0944f-3b86-4872-9afa-2e80ce814c8f' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/sddc-managers/ebb0944f-3b86-4872-9afa-2e80ce814c8f HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 219
{
"domain" : {
"id" : "d1f91ef5-dfa2-48e7-adde-cd37b0aa7911"
},
"id" : "ebb0944f-3b86-4872-9afa-2e80ce814c8f",
"fqdn" : "sfo-vcf01.rainpole.io",
"version" : "3.9.0.0-14713675",
"ipAddress" : "10.0.0.4"
}
2.33.2. Get the SDDC Managers
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-managers' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/sddc-managers HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 258
{
"elements" : [ {
"domain" : {
"id" : "d1f91ef5-dfa2-48e7-adde-cd37b0aa7911"
},
"id" : "ebb0944f-3b86-4872-9afa-2e80ce814c8f",
"fqdn" : "sfo-vcf01.rainpole.io",
"version" : "3.9.0.0-14713675",
"ipAddress" : "10.0.0.4"
} ]
}
Note
|
This API currently returns a singleton list which has the current SDDC Manager. It is meant to be future ready in such cases where multiple SDDC Managers can be returned, for example in the federated environments having multiple SDDC Managers. |
2.34. VCF Services
2.34.1. Get a VCF Service
Prerequisites
-
The following data is required
-
ID of the VCF Service
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vcf-services/bc0debfe-bd38-453a-822d-fdd012fbd0b2' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vcf-services/bc0debfe-bd38-453a-822d-fdd012fbd0b2 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 131
{
"id" : "bc0debfe-bd38-453a-822d-fdd012fbd0b2",
"name" : "COMMON_SERVICES",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}
2.34.2. Get the VCF Services
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vcf-services' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vcf-services HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 870
{
"elements" : [ {
"id" : "bc0debfe-bd38-453a-822d-fdd012fbd0b2",
"name" : "COMMON_SERVICES",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}, {
"id" : "174ca011-0f17-48ec-a4cb-8fc3d35149bd",
"name" : "DOMAIN_MANAGER",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}, {
"id" : "8c64a3f9-fa12-4d00-ba19-9fe747e2bda",
"name" : "OPERATIONS_MANAGER",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}, {
"id" : "8bd696dc-958a-482a-9747-4f4e172a3005",
"name" : "LCM",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}, {
"id" : "9294a99d-8755-4298-9fb6-a255ab6a12f4",
"name" : "SDDC_MANAGER_UI",
"version" : "3.8.2-RELEASE",
"status" : "UP"
}, {
"id" : "20f1f50f-8e50-4f19-9fd0-3472330b0fb2",
"name" : "SOLUTIONS_MANAGER",
"version" : "3.8.2-RELEASE",
"status" : "UP"
} ]
}
2.35. DNS Configuration
2.35.1. Configuration of New DNS Server
Prerequisites
-
The new DNS server to be configured should be reachable from SDDC components.
-
DNS resolution (forward and reverse lookup) for all management VMs and ESXi hosts in place
-
All SDDC components should be reachable from SDDC manager.
-
All SDDC components state should be "ACTIVE" in VCF inventory.
Steps
-
Validate the DnsConfiguration input before configuration.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/dns-configuration/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}'
HTTP Request
POST /v1/system/dns-configuration/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 85
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/system/dns-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd
Content-Type: application/json
Content-Length: 407
{
"id" : "71653367-2ea8-49f2-bf72-0e0e1fa57dcd",
"description" : "Validate input specification as new NtpConfiguration to VMware Cloud Foundations",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating NTP input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating NTP server 10.0.0.250",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/dns-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/dns-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 407
{
"id" : "71653367-2ea8-49f2-bf72-0e0e1fa57dcd",
"description" : "Validate input specification as new NtpConfiguration to VMware Cloud Foundations",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating NTP input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating NTP server 10.0.0.250",
"resultStatus" : "UNKNOWN"
} ]
}
-
In case of no errors in the validation , the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
Note
|
Make changes to the input specification and re-validate using a new API invocation. |
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/dns-configuration' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}'
HTTP Request
PUT /v1/system/dns-configuration HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 85
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/f0da79cd-6f5c-4118-95cc-e56af204e4cd
Content-Type: application/json
Content-Length: 131
{
"id" : "f0da79cd-6f5c-4118-95cc-e56af204e4cd",
"name" : "Configuring DNS servers on VCF system",
"status" : "IN_PROGRESS"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
-
Get the DnsConfiguration state.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/dns-configuration' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/dns-configuration HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 85
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
2.36. NTP Configuration
2.36.1. Configuration of New NTP Server
Prerequisites
-
The new NTP server(s) to be configured should be reachable from SDDC components.
-
The new NTP server(s) should be able to do NTP sync from SDDC Manager.
-
All SDDC components should be reachable from SDDC manager.
-
All SDDC components state should be active as per SDDC Manager.
-
The new server should be NTP synced from the SDDC Manager.
Steps
-
Perform the validation step for the desired NTP configuration before applying the same.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ntp-configuration/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}'
HTTP Request
POST /v1/system/ntp-configuration/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 61
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/system/ntp-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd
Content-Type: application/json
Content-Length: 407
{
"id" : "71653367-2ea8-49f2-bf72-0e0e1fa57dcd",
"description" : "Validate input specification as new NtpConfiguration to VMware Cloud Foundations",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating NTP input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating NTP server 10.0.0.250",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ntp-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/ntp-configuration/validations/71653367-2ea8-49f2-bf72-0e0e1fa57dcd HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 407
{
"id" : "71653367-2ea8-49f2-bf72-0e0e1fa57dcd",
"description" : "Validate input specification as new NtpConfiguration to VMware Cloud Foundations",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating NTP input specification",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating NTP server 10.0.0.250",
"resultStatus" : "UNKNOWN"
} ]
}
-
In case of no errors in the validation , the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
-
In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "FAILED".
Note
|
Make changes to the input specification and re-validate using a new API invocation. |
-
As the Validation is complete now, perform the NTP configuration using the valid input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ntp-configuration' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}'
HTTP Request
PUT /v1/system/ntp-configuration HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 61
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/28d3f5ae-8072-4b83-ac99-b18d465485bc
Content-Type: application/json
Content-Length: 131
{
"id" : "28d3f5ae-8072-4b83-ac99-b18d465485bc",
"name" : "Configuring NTP servers on VCF system",
"status" : "IN_PROGRESS"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a Task. |
-
If the "status" is "SUCCESSFUL", the task is completed successfully.
-
If the "status" is "FAILED", the task can be re-executed.
Tip
|
Refer to: Retry a Task. |
-
Get the DnsConfiguration state
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/ntp-configuration' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/ntp-configuration HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 61
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
2.37. Edge Clusters
2.37.1. Validate Edge Cluster
Prerequisites
Complete the required prerequisites before invoking the API.
-
Separate VLANs and subnets are available for Host TEP VLAN and Edge TEP VLAN use
-
Host TEP VLAN and Edge TEP VLAN need to be routed
-
If dynamic routing is desired, please set up two BGP peers (on TORs or infra ESG) with an interface IP, ASN and BGP password
-
Reserve an ASN to use for the NSX Edge cluster’s Tier-0 interfaces
-
DNS entries for NSX Edge components should be populated in customer managed DNS server
-
The vSphere clusters hosting the Edge clusters should be L2 Uniform. All hosts in a hosting vSphere cluster need to have identical management, uplink, Edge and host TEP networks
-
The vSphere clusters hosting the Edge nodes must have the same pNIC speed for NSX enabled VDS uplinks chosen for Edge overlay (e.g., either 10G or 25G but not both)
-
All nodes of an NSX Edge cluster must use the same set of NSX enabled VDS uplinks. The selected uplinks must be prepared for overlay use
The following data is required for the Validate an Edge Cluster spec:
-
Edge cluster name
-
Maximum transmission unit
-
ASN to be used for the edge cluster
-
Edge cluster profile type, for example: DEFAULT, CUSTOM
-
Edge cluster type, for example: NSX-T
-
Edge cluster form factor, for example: SMALL, MEDIUM, LARGE
-
Edge cluster profile spec, refer to: NsxTEdgeClusterProfileSpec
-
Edge Node specs, refer to: NsxTEdgeNodeSpec
-
Name for the Tier-0 router
-
Tier-0 routing type, for example: EBGP, STATIC
-
High-Availability mode for Tier-0 router, for example: ACTIVE_ACTIVE, ACTIVE_STANDBY
-
Name for the Tier-1 router
Tip
|
Refer to: EdgeClusterCreationSpec. |
Steps
-
Validate the input specification using Validate an Edge Cluster spec.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterName" : "sfo-w01-cl01-edge",
"edgeClusterType" : "NSX-T",
"edgeRootPassword" : "Acme123!Acme123!",
"edgeAdminPassword" : "Acme123!Acme123!",
"edgeAuditPassword" : "Acme123!Acme123!",
"edgeFormFactor" : "MEDIUM",
"tier0ServicesHighAvailability" : "ACTIVE_ACTIVE",
"mtu" : 9000,
"asn" : 65003,
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en01.rainpole.io",
"managementIP" : "10.0.0.50/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.10/24",
"edgeTep2IP" : "192.168.52.11/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.2/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.2/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
}, {
"edgeNodeName" : "sfo-m01-en02.rainpole.io",
"managementIP" : "10.0.0.51/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.12/24",
"edgeTep2IP" : "192.168.52.13/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.3/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.3/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
} ],
"tier0RoutingType" : "EBGP",
"tier0Name" : "Acme-Tier0",
"tier1Name" : "Acme-Tier1",
"edgeClusterProfileType" : "DEFAULT"
}'
HTTP Request
POST /v1/edge-clusters/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1981
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterName" : "sfo-w01-cl01-edge",
"edgeClusterType" : "NSX-T",
"edgeRootPassword" : "Acme123!Acme123!",
"edgeAdminPassword" : "Acme123!Acme123!",
"edgeAuditPassword" : "Acme123!Acme123!",
"edgeFormFactor" : "MEDIUM",
"tier0ServicesHighAvailability" : "ACTIVE_ACTIVE",
"mtu" : 9000,
"asn" : 65003,
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en01.rainpole.io",
"managementIP" : "10.0.0.50/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.10/24",
"edgeTep2IP" : "192.168.52.11/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.2/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.2/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
}, {
"edgeNodeName" : "sfo-m01-en02.rainpole.io",
"managementIP" : "10.0.0.51/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.12/24",
"edgeTep2IP" : "192.168.52.13/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.3/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.3/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
} ],
"tier0RoutingType" : "EBGP",
"tier0Name" : "Acme-Tier0",
"tier1Name" : "Acme-Tier1",
"edgeClusterProfileType" : "DEFAULT"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 3402
{
"id" : "eba76474-2a24-4864-a2e4-fd9c334f0051",
"description" : "@@Validating NSX Edge cluster creation spec@@",
"executionStatus" : "IN_PROGRESS",
"resultStatus" : "UNKNOWN",
"validationChecks" : [ {
"description" : "@@Check for Edge management IP to Edge node FQDN resolution@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Two unique uplink interfaces per Edge node@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Tier-1 with the same name does not exist@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate the specified NSX enabled VDS uplinks are prepared for Edge overlay@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check vSphere cluster has all hosts with a vCPU count and RAM size to accommodate the selected Edge form factor@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that IPs are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Unique Edge TEP IPs for Edge nodes@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for duplicates: Duplicate Edge cluster name@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that management networks are reachable@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Edge cluster password(s) is not meeting NSX password policy standard@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that TEP IPs, gateway, and management IP, gateway are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Edge cluster with the same name does not exist in NSX Manager@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that the specified IP addresses in the input spec do not conflict with the Tier-0 transit subnets@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that the custom Edge cluster profile does not conflict with an existing profile@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Edge node FQDNs are unique@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for L2 Non-uniform and L3 cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate all vCenter clusters are not stretched@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for IP conflict for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Tier-0 with the same name does not exist@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@The vSphere cluster(s) hosting the Edge cluster belong to the same workload domain@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that uplink VLANs are valid@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Capacity check for hosting vSphere cluster(s)@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check routing between Host TEP VLAN and Edge TEP VLAN@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate each Edge node's VLAN is consistent per vSphere cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for unique IPs for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll the status of the validation using the validation API with the ID from the response of the previous API.
Tip
|
Refer to: Get Edge Cluster Validation. |
2.37.2. Get Edge Cluster Validation
Prerequisites
The following data is required for the Get the Edge Cluster spec validation.
-
ID of the Edge Cluster Validation
Steps
-
Invoke the Get the Edge Cluster spec validation.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/validations/a9b5513e-9798-475a-803b-92dae8625d74' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/edge-clusters/validations/a9b5513e-9798-475a-803b-92dae8625d74 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3402
{
"id" : "a9b5513e-9798-475a-803b-92dae8625d74",
"description" : "@@Validating NSX Edge cluster creation spec@@",
"executionStatus" : "IN_PROGRESS",
"resultStatus" : "UNKNOWN",
"validationChecks" : [ {
"description" : "@@Check for Edge management IP to Edge node FQDN resolution@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Two unique uplink interfaces per Edge node@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Tier-1 with the same name does not exist@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate the specified NSX enabled VDS uplinks are prepared for Edge overlay@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check vSphere cluster has all hosts with a vCPU count and RAM size to accommodate the selected Edge form factor@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that IPs are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Unique Edge TEP IPs for Edge nodes@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for duplicates: Duplicate Edge cluster name@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that management networks are reachable@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Edge cluster password(s) is not meeting NSX password policy standard@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that TEP IPs, gateway, and management IP, gateway are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Edge cluster with the same name does not exist in NSX Manager@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that the specified IP addresses in the input spec do not conflict with the Tier-0 transit subnets@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that the custom Edge cluster profile does not conflict with an existing profile@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Edge node FQDNs are unique@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for L2 Non-uniform and L3 cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate all vCenter clusters are not stretched@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for IP conflict for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Tier-0 with the same name does not exist@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@The vSphere cluster(s) hosting the Edge cluster belong to the same workload domain@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that uplink VLANs are valid@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Capacity check for hosting vSphere cluster(s)@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check routing between Host TEP VLAN and Edge TEP VLAN@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate each Edge node's VLAN is consistent per vSphere cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for unique IPs for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
} ]
}
2.37.3. Create Edge Cluster
Prerequisites
Complete the required prerequisites before invoking the API.
-
Separate VLANs and subnets are available for Host TEP VLAN and Edge TEP VLAN use
-
Host TEP VLAN and Edge TEP VLAN need to be routed
-
If dynamic routing is desired, please set up two BGP peers (on TORs or infra ESG) with an interface IP, ASN and BGP password
-
Reserve an ASN to use for the NSX Edge cluster’s Tier-0 interfaces
-
DNS entries for NSX Edge components should be populated in customer managed DNS server
-
The vSphere clusters hosting the Edge clusters should be L2 Uniform. All hosts in a hosting vSphere cluster need to have identical management, uplink, Edge and host TEP networks
-
The vSphere clusters hosting the Edge nodes must have the same pNIC speed for NSX enabled VDS uplinks chosen for Edge overlay (e.g., either 10G or 25G but not both)
-
All nodes of an NSX Edge cluster must use the same set of NSX enabled VDS uplinks. The selected uplinks must be prepared for overlay use
The following data is required for the Create an Edge Cluster:
-
Edge cluster name
-
Maximum transmission unit
-
ASN to be used for the edge cluster
-
Edge cluster profile type, for example: DEFAULT, CUSTOM
-
Edge cluster type, for example: NSX-T
-
Edge cluster form factor, for example: SMALL, MEDIUM, LARGE
-
Edge cluster profile spec, refer to: NsxTEdgeClusterProfileSpec
-
Edge Node specs, refer to: NsxTEdgeNodeSpec
-
Name for the Tier-0 router
-
Tier-0 routing type, for example: EBGP, STATIC
-
High-Availability mode for Tier-0 router, for example: ACTIVE_ACTIVE, ACTIVE_STANDBY
-
Name for the Tier-1 router
Tip
|
Refer to: EdgeClusterCreationSpec. |
Steps
-
Invoke the Create an Edge Cluster. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterName" : "sfo-w01-cl01-edge",
"edgeClusterType" : "NSX-T",
"edgeRootPassword" : "Acme123!Acme123!",
"edgeAdminPassword" : "Acme123!Acme123!",
"edgeAuditPassword" : "Acme123!Acme123!",
"edgeFormFactor" : "MEDIUM",
"tier0ServicesHighAvailability" : "ACTIVE_ACTIVE",
"mtu" : 9000,
"asn" : 65003,
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en01.rainpole.io",
"managementIP" : "10.0.0.50/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.10/24",
"edgeTep2IP" : "192.168.52.11/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.2/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.2/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
}, {
"edgeNodeName" : "sfo-m01-en02.rainpole.io",
"managementIP" : "10.0.0.51/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.12/24",
"edgeTep2IP" : "192.168.52.13/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.3/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.3/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
} ],
"tier0RoutingType" : "EBGP",
"tier0Name" : "Acme-Tier0",
"tier1Name" : "Acme-Tier1",
"edgeClusterProfileType" : "DEFAULT"
}'
HTTP Request
POST /v1/edge-clusters HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1981
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterName" : "sfo-w01-cl01-edge",
"edgeClusterType" : "NSX-T",
"edgeRootPassword" : "Acme123!Acme123!",
"edgeAdminPassword" : "Acme123!Acme123!",
"edgeAuditPassword" : "Acme123!Acme123!",
"edgeFormFactor" : "MEDIUM",
"tier0ServicesHighAvailability" : "ACTIVE_ACTIVE",
"mtu" : 9000,
"asn" : 65003,
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en01.rainpole.io",
"managementIP" : "10.0.0.50/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.10/24",
"edgeTep2IP" : "192.168.52.11/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.2/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.2/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
}, {
"edgeNodeName" : "sfo-m01-en02.rainpole.io",
"managementIP" : "10.0.0.51/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.12/24",
"edgeTep2IP" : "192.168.52.13/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83c",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.3/24",
"peerIP" : "192.168.16.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.3/24",
"peerIP" : "192.168.17.10/24",
"asnPeer" : 65001,
"bgpPeerPassword" : "Acme1!"
} ]
} ],
"tier0RoutingType" : "EBGP",
"tier0Name" : "Acme-Tier0",
"tier1Name" : "Acme-Tier1",
"edgeClusterProfileType" : "DEFAULT"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/71c14050-2800-4256-9dd5-9113d7da0f8f
Content-Length: 170
{
"id" : "71c14050-2800-4256-9dd5-9113d7da0f8f",
"name" : "Add a NSX-T edge cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:18:19.146Z"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.37.4. Get the Edge Clusters
-
Get the Edge Clusters API is used to get all the edge clusters.
Prerequisites
None
Steps
-
Invoke the Get the Edge Clusters.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters?clusterId=d1052c9c-6973-4e32-8034-06e7fa71e83c' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/edge-clusters?clusterId=d1052c9c-6973-4e32-8034-06e7fa71e83c HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 583
{
"elements" : [ {
"id" : "60127e17-e2e6-4d7b-b019-c0edcf0b141d",
"name" : "sfo-m01-ecp01",
"clusters" : [ {
"id" : "d1052c9c-6973-4e32-8034-06e7fa71e83c"
} ],
"nsxtCluster" : {
"id" : "3ec85048-be28-4664-85bb-bb4b4208b0d1",
"vipFqdn" : "sfo-m01-ecp01.rainpole.io",
"vip" : "10.0.0.30"
},
"edgeNodes" : [ {
"id" : "fb9cc94e-81bf-45a4-a6c7-114f91456771",
"hostName" : "sfo-m01-en01.rainpole.io"
}, {
"id" : "a0032951-7e0c-4c69-95cf-a3ab99217695",
"hostName" : "sfo-m01-en02.rainpole.io"
} ]
} ]
}
2.37.5. Get an Edge Cluster
-
Get an Edge Cluster API is used to get a specific edge cluster.
Prerequisites
-
The following data is required:
-
ID of the Edge cluster
-
Steps
-
Invoke the Get an Edge Cluster.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/a8654438-ab84-4b98-a7a5-08d9c704af31' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/edge-clusters/a8654438-ab84-4b98-a7a5-08d9c704af31 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 524
{
"id" : "1e8b456f-d10b-4e02-abae-36bf78a1bbf9",
"name" : "sfo-m01-ecp01",
"clusters" : [ {
"id" : "d1052c9c-6973-4e32-8034-06e7fa71e83c"
} ],
"nsxtCluster" : {
"id" : "2c9d9bba-b8bb-4b75-b91e-cdb124421f7e",
"vipFqdn" : "sfo-m01-ecp01.rainpole.io",
"vip" : "10.0.0.30"
},
"edgeNodes" : [ {
"id" : "d800c093-605a-4ac2-b336-18e283d5191b",
"hostName" : "sfo-m01-en01.rainpole.io"
}, {
"id" : "3327f53d-76f6-4e5a-99c7-cf13f8dd6404",
"hostName" : "sfo-m01-en02.rainpole.io"
} ]
}
2.37.6. Validate Edge Cluster Expansion
Prerequisites
Complete the required prerequisites before invoking the API.
-
Separate VLANs and subnets are available for Host TEP VLAN and Edge TEP VLAN use
-
Host TEP VLAN and Edge TEP VLAN need to be routed
-
If dynamic routing is desired, please set up two BGP peers (on TORs or infra ESG) with an interface IP, ASN and BGP password
-
Reserve an ASN to use for the NSX Edge cluster’s Tier-0 interfaces
-
DNS entries for NSX Edge components should be populated in customer managed DNS server
-
The vSphere clusters hosting the Edge clusters should be L2 Uniform. All host nodes in a hosting vSphere cluster need to have identical management, uplink, Edge and host TEP networks
-
The vSphere clusters hosting the NSX Edge node VMs must have the same pNIC speed for NSX enabled VDS uplinks chosen for Edge overlay (e.g., either 10G or 25G but not both)
-
All nodes of an NSX Edge cluster must use the same set of NSX enabled VDS uplinks. The selected uplinks must be prepared for overlay use
-
Please refer to the official NSX documentation for the deployed version
-
Make sure there is enough capacity on the cluster(s) to deploy additional Edge nodes based on the form factor
Tip
|
Refer to: Validate an NSX-T Edge Cluster update spec and EdgeClusterUpdateSpec. |
Steps
-
Validate the input specification using EdgeClusterUpdateSpec.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "Acme123!Acme123!",
"edgeNodeAdminPassword" : "Acme123!Acme123!",
"edgeNodeAuditPassword" : "Acme123!Acme123!",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en04.rainpole.io",
"managementIP" : "10.0.0.53/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.32/24",
"edgeTep2IP" : "192.168.52.42/24",
"edgeTepVlan" : 1252,
"clusterId" : "cff07657-5697-4ecc-8f66-efd8ec345754",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.34/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "Acme1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.34/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "Acme1!"
} ]
} ],
"firstNsxVdsUplink" : "uplink1",
"secondNsxVdsUplink" : "uplink2"
} ]
},
"operation" : "EXPANSION"
}'
HTTP Request
POST /v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1177
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "Acme123!Acme123!",
"edgeNodeAdminPassword" : "Acme123!Acme123!",
"edgeNodeAuditPassword" : "Acme123!Acme123!",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en04.rainpole.io",
"managementIP" : "10.0.0.53/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.32/24",
"edgeTep2IP" : "192.168.52.42/24",
"edgeTepVlan" : 1252,
"clusterId" : "cff07657-5697-4ecc-8f66-efd8ec345754",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.34/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "Acme1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.34/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "Acme1!"
} ]
} ],
"firstNsxVdsUplink" : "uplink1",
"secondNsxVdsUplink" : "uplink2"
} ]
},
"operation" : "EXPANSION"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 3625
{
"id" : "378e6dc2-e39b-4cea-9d7a-ccfcb5838239",
"description" : "@@Validating NSX Edge cluster update spec@@",
"executionStatus" : "IN_PROGRESS",
"resultStatus" : "UNKNOWN",
"validationChecks" : [ {
"description" : "@@Check for Edge management IP to Edge node FQDN resolution@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Two unique uplink interfaces per Edge node@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Tier-1 with the same name does not exist@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate the specified NSX enabled VDS uplinks are prepared for Edge overlay@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check vSphere cluster has all hosts with a vCPU count and RAM size to accommodate the selected Edge form factor@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Compliance of Edge cluster size with Tier-0 High-Availability mode@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that IPs are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Unique Edge TEP IPs for Edge nodes@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that management networks are reachable@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Edge cluster password(s) is not meeting NSX password policy standard@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check Tier-0 uplink settings@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check NSX Edge cluster's health status@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that TEP IPs, gateway, and management IP, gateway are in the same subnet@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate that the specified IP addresses in the input spec do not conflict with the Tier-0 transit subnets@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Additional Tier-1s can be configured if existing Edge cluster is not federated@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that Edge node FQDNs are unique@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate all vCenter clusters, both current and newly added, are either all stretched or none are stretched@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for L2 Non-uniform and L3 cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for IP conflict for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@The vSphere cluster(s) hosting the Edge cluster belong to the same workload domain@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check that uplink VLANs are valid@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Capacity check for hosting vSphere cluster(s)@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Compliance checks for Edge cluster expansion spec@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check routing between Host TEP VLAN and Edge TEP VLAN@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate each Edge node's VLAN is consistent per vSphere cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Checking Edge cluster existence@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Check for unique IPs for Edge management IP, Edge TEP IPs, Tier-0 uplink interface IPs@@",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll the status of the validation using the Validation API with the ID from the response of the previous API.
Tip
|
Refer to: Get Edge Cluster Validation. |
2.37.7. Expand an Edge Cluster
Prerequisites
Complete the required prerequisites before invoking the API.
-
Separate VLANs and subnets are available for Host TEP VLAN and Edge TEP VLAN use
-
Host TEP VLAN and Edge TEP VLAN need to be routed
-
If dynamic routing is desired, please set up two BGP peers (on TORs or infra ESG) with an interface IP, ASN and BGP password
-
Reserve an ASN to use for the NSX Edge cluster’s Tier-0 interfaces
-
DNS entries for NSX Edge components should be populated in customer managed DNS server
-
The vSphere clusters hosting the Edge clusters should be L2 Uniform. All host nodes in a hosting vSphere cluster need to have identical management, uplink, Edge and host TEP networks
-
The vSphere clusters hosting the NSX Edge node VMs must have the same pNIC speed for NSX enabled VDS uplinks chosen for Edge overlay (e.g., either 10G or 25G but not both)
-
All nodes of an NSX Edge cluster must use the same set of NSX enabled VDS uplinks. The selected uplinks must be prepared for overlay use
-
Please refer to the official NSX documentation for the deployed version
-
Make sure there is enough capacity on the cluster(s) to deploy additional Edge nodes based on the form factor
-
Validation API for expansion should complete successfully
Tip
|
Refer to: EdgeClusterUpdateSpec. |
Steps
-
Invoke the Expand or Shrink an NSX-T Edge Cluster. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "EvoSddc!2016",
"edgeNodeAdminPassword" : "EvoSddc!2016",
"edgeNodeAuditPassword" : "EvoSddc!2016",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en05.rainpole.io",
"managementIP" : "10.0.0.55/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.15/24",
"edgeTep2IP" : "192.168.52.16/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83d",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.14/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.14/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
} ]
} ],
"additionalTier1Names" : [ ]
},
"operation" : "EXPANSION"
}'
HTTP Request
PATCH /v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1124
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "EvoSddc!2016",
"edgeNodeAdminPassword" : "EvoSddc!2016",
"edgeNodeAuditPassword" : "EvoSddc!2016",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en05.rainpole.io",
"managementIP" : "10.0.0.55/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.15/24",
"edgeTep2IP" : "192.168.52.16/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83d",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.14/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.14/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
} ]
} ],
"additionalTier1Names" : [ ]
},
"operation" : "EXPANSION"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/5e27955d-3b65-45fd-a53d-2860025a929e
Content-Length: 174
{
"id" : "5e27955d-3b65-45fd-a53d-2860025a929e",
"name" : "Update an NSX-T Edge Cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:18:17.720Z"
}
In case of edge cluster expansion for an edge cluster hosted on a stretched cluster, following are the sample requests and responses.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "EvoSddc!2016",
"edgeNodeAdminPassword" : "EvoSddc!2016",
"edgeNodeAuditPassword" : "EvoSddc!2016",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en05.rainpole.io",
"managementIP" : "10.0.0.55/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.15/24",
"edgeTep2IP" : "192.168.52.16/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83d",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.14/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.14/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
} ]
} ],
"additionalTier1Names" : [ ]
},
"operation" : "EXPANSION"
}'
HTTP Request
PATCH /v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1124
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterExpansionSpec" : {
"edgeNodeRootPassword" : "EvoSddc!2016",
"edgeNodeAdminPassword" : "EvoSddc!2016",
"edgeNodeAuditPassword" : "EvoSddc!2016",
"edgeNodeSpecs" : [ {
"edgeNodeName" : "sfo-m01-en05.rainpole.io",
"managementIP" : "10.0.0.55/24",
"managementGateway" : "10.0.0.250",
"edgeTepGateway" : "192.168.52.1",
"edgeTep1IP" : "192.168.52.15/24",
"edgeTep2IP" : "192.168.52.16/24",
"edgeTepVlan" : 1252,
"clusterId" : "d1052c9c-6973-4e32-8034-06e7fa71e83d",
"interRackCluster" : false,
"uplinkNetwork" : [ {
"uplinkVlan" : 2081,
"uplinkInterfaceIP" : "192.168.16.14/24",
"bgpPeers" : [ {
"ip" : "192.168.16.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
}, {
"uplinkVlan" : 2082,
"uplinkInterfaceIP" : "192.168.17.14/24",
"bgpPeers" : [ {
"ip" : "192.168.17.10/24",
"asn" : 65001,
"password" : "VMware1!"
} ]
} ]
} ],
"additionalTier1Names" : [ ]
},
"operation" : "EXPANSION"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/559ea6f0-0b78-4a5d-a617-04e0b9de961d
Content-Length: 174
{
"id" : "559ea6f0-0b78-4a5d-a617-04e0b9de961d",
"name" : "Update an NSX-T Edge Cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:18:17.216Z"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API.
Tip
|
Refer to: Get a Task. |
2.37.8. Validate Edge Cluster Shrinkage
Prerequisites
Complete the required prerequisites before invoking the API.
-
Selected Edge cluster must be available in VCF inventory with ACTIVE status
-
Selected Edge node(s) must be available in VCF inventory
-
Edge cluster must contain more than 2 Edge nodes
-
Edge cluster must be hosted on one or more vSphere clusters from the same domain
-
Edge cluster must not be federated and/or stretched
-
If the selected Edge cluster was deployed with Tier-0 High-Availability mode ACTIVE_ACTIVE, then the Edge node selection will be allowed if the Edge cluster contains two or more Edge nodes with two or more Tier-0 routers (Service Router Component) after the shrinkage operation
-
If the selected Edge cluster was deployed with Tier-0 High-Availability mode ACTIVE_STANDBY, then the selected Edge node(s) should not be in Active or Standby mode for the Tier-0 Service Router
-
The selected Edge node list should not contain both Active and Standby Edge nodes of the same Tier-1 router
Tip
|
Refer to: Validate an NSX-T Edge Cluster update spec and EdgeClusterUpdateSpec. |
Steps
-
Validate the input specification using EdgeClusterUpdateSpec.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "73f034b7-d9bc-44ee-99e8-4a5290e44c08" ]
},
"operation" : "SHRINKAGE"
}'
HTTP Request
POST /v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 132
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "73f034b7-d9bc-44ee-99e8-4a5290e44c08" ]
},
"operation" : "SHRINKAGE"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 1036
{
"id" : "f8e4c6d8-5873-425e-b61a-d62e87e2443c",
"description" : "@@Validating NSX Edge cluster update spec@@",
"executionStatus" : "IN_PROGRESS",
"resultStatus" : "UNKNOWN",
"validationChecks" : [ {
"description" : "@@Validate at least 2 nodes are required after shrinking Edge cluster@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate Edge cluster is not federated@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate all vCenter clusters are not stretched@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate the selection for Edge node(s) for hosting Tier-1 router@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Checking Edge cluster existence@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate the selection for Edge node(s) for hosting Tier-0 router@@",
"resultStatus" : "UNKNOWN"
}, {
"description" : "@@Validate Edge node IDs are part of the Edge cluster@@",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll the status of the validation using the Validation API with the ID from the response of the previous API.
Tip
|
Refer to: Get Edge Cluster Validation. |
2.37.9. Shrink an Edge Cluster
Prerequisites
Complete the required prerequisites before invoking the API.
-
Selected Edge cluster must be available in VCF inventory with ACTIVE status
-
Selected Edge node(s) must be available in VCF inventory
-
Edge cluster must contain more than 2 Edge nodes
-
Edge cluster must be hosted on one or more vSphere clusters from the same domain
-
Edge cluster must not be federated and/or stretched
-
If the selected Edge cluster was deployed with Tier-0 High-Availability mode ACTIVE_ACTIVE, then the Edge node selection will be allowed if the Edge cluster contains two or more Edge nodes with two or more Tier-0 routers (Service Router Component) after the shrinkage operation
-
If the selected Edge cluster was deployed with Tier-0 High-Availability mode ACTIVE_STANDBY, then the selected Edge node(s) should not be in Active or Standby mode for the Tier-0 Service Router
-
The selected Edge node list should not contain both Active and Standby Edge nodes of the same Tier-1 router
-
Validation API for shrinkage should complete successfully
Tip
|
Refer to: EdgeClusterUpdateSpec. |
Steps
-
Invoke the Expand or Shrink an NSX-T Edge Cluster. This API returns a task which can be polled and monitored.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "node-1", "node-2" ]
},
"operation" : "SHRINKAGE"
}'
HTTP Request
PATCH /v1/edge-clusters/d1052c9c-6973-4e32-8034-06e7fa71e83c HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 112
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "node-1", "node-2" ]
},
"operation" : "SHRINKAGE"
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/784941ee-4622-412f-8846-c73036603d37
Content-Length: 174
{
"id" : "784941ee-4622-412f-8846-c73036603d37",
"name" : "Update an NSX-T Edge Cluster",
"status" : "IN_PROGRESS",
"creationTimestamp" : "2022-02-08T08:18:18.843Z"
}
-
Poll the status of the task using the task API with the ID from the response of the previous API
Tip
|
Refer to: Get a Task. |
2.38. Workload Management
vSphere with Kubernetes transforms vSphere to a platform for running Kubernetes workloads natively on the hypervisor layer.
2.38.1. Deploy Workload Management
Prerequisites
-
Create NSX-T VI workload domain.
-
VUM (vSphere Update Manager) option should be enabled.
-
Tip
|
Refer to: Create a Domain |
-
Deploy an NSX-T Edge cluster with the following properties:
-
Edge Form Factor - Large
-
Tier0 Service High Availability - Active-Active
-
Tip
|
Refer to: Create an Edge Cluster |
-
All hosts in the cluster where you want to deploy Workload Management must have a vSphere with Kubernetes license applied on them.
-
Workload Management supports one Edge cluster per transport zone, so ensure that the overlay transport zone connected to this cluster does not have other Edge clusters connected to it.
-
The following subnets must have been defined:
-
Subnet for pod networking (non-routable), minimum of a /22 subnet.
-
Subnet for Service IP addresses (non-routable), minimum of a /24 subnet.
-
Subnet for Ingress (routable), minimum of a /27 subnet.
-
Subnet for Egress (routable), minimum of a /27 subnet.
-
-
Create OIDC registration using NSX-T API.
Steps
-
Enable Workload Management using vCenter API.
2.39. SOS
2.39.1. Generate Support-Bundle for SDDC.
The Create Health Summary operation:
-
Collects logs of various components of SDDC stack.
-
The whole logs are included in a archive file.
-
This can be downloaded by the user.
The result is supportbundle.
Prerequisites
-
The following data is optional
-
logs
-
vcLogs
-
nsxLogs
-
esxLogs
-
wcpLogs
-
sddcManagerLogs
-
apiLogs
-
vxrailManagerLogs
-
systemDebugLogs
-
vmScreenshots
-
vraLogs
-
vropsLogs
-
vrliLogs
-
vrslcmLogs
-
-
scopes
-
includeFreeHosts
-
domains
-
domainName
-
clusterNames
-
-
-
options
-
include
-
summaryReport
-
healthCheck
-
-
-
Note
|
To trigger the API, the user should have a role of an ADMIN or OPERATOR in VCF. |
Note
|
User cannot initiate parallel Support bundle collection. |
Note
|
It is not advised to run CLI and API operations in parallel. |
Note
|
User can also pass empty specification as data, then default logs will be conducted. |
Note
|
Only single domain is allowed in domain field. |
Note
|
If no domain is passed default MANAGEMENT domain will be considered. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/support-bundles' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"options" : {
"config" : {
"skipKnownHostCheck" : false,
"force" : false
},
"include" : {
"summaryReport" : false,
"healthCheck" : false
}
},
"scope" : {
"includeFreeHosts" : false,
"domains" : [ {
"domainName" : "sddcId-1001",
"clusterNames" : [ "SDDC-Cluster1" ]
} ]
},
"logs" : {
"vcLogs" : false,
"nsxLogs" : false,
"esxLogs" : false,
"wcpLogs" : false,
"sddcManagerLogs" : true,
"apiLogs" : true,
"vxrailManagerLogs" : false,
"systemDebugLogs" : false,
"vmScreenshots" : false,
"vraLogs" : false,
"vropsLogs" : false,
"vrliLogs" : false,
"vrslcmLogs" : false
}
}'
HTTP Request
POST /v1/system/support-bundles HTTP/1.1
Content-Type: application/json
Content-Length: 697
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"options" : {
"config" : {
"skipKnownHostCheck" : false,
"force" : false
},
"include" : {
"summaryReport" : false,
"healthCheck" : false
}
},
"scope" : {
"includeFreeHosts" : false,
"domains" : [ {
"domainName" : "sddcId-1001",
"clusterNames" : [ "SDDC-Cluster1" ]
} ]
},
"logs" : {
"vcLogs" : false,
"nsxLogs" : false,
"esxLogs" : false,
"wcpLogs" : false,
"sddcManagerLogs" : true,
"apiLogs" : true,
"vxrailManagerLogs" : false,
"systemDebugLogs" : false,
"vmScreenshots" : false,
"vraLogs" : false,
"vropsLogs" : false,
"vrliLogs" : false,
"vrslcmLogs" : false
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 117
{
"description" : "Support-Bundle collection operation for SDDC",
"id" : "8a2f69a8-9f97-4ac3-8778-4aceb1640245"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get the status of SOS SupportBundle Task.. |
-
If the "status" is "COMPLETED_WITH_SUCCESS", the task is completed successfully.
-
The task is failed if "status" is "COMPLETED_WITH_FAILURE".
-
Download the bundle after successful bundle creation, using the "id" from the previous response.
Tip
|
Refer to: Downloads the SOS Support bundle created. |
2.39.2. Get the status of SOS SupportBundle Task.
The get health-summary operation
-
Polls the status of SOS SupportBundle operation.
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/support-bundles/8a2f69a8-9f97-4ac3-8778-4aceb1640245' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/support-bundles/8a2f69a8-9f97-4ac3-8778-4aceb1640245 HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 341
{
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-09T06:22:32.856Z",
"description" : "Support-Bundle collection operation for SDDC",
"bundleAvailable" : "Yes",
"id" : "8a2f69a8-9f97-4ac3-8778-4aceb1640245",
"completionTimestamp" : "2021-07-09T06:23:04.949Z",
"bundleName" : "sos-2021-07-09-06-22-32-87667"
}
2.39.3. Downloads the SOS Support bundle created.
The download operation:
-
User can download the supportbundle bundle created.
-
The data is streamed in octect-stream format.
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API.
Note
|
To trigger the API, the user should have a role of an ADMIN or OPERATOR in VCF. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/support-bundles/8a2f69a8-9f97-4ac3-8778-4aceb1640245/data' -i -X GET \
-H 'Accept: application/octet-stream' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/support-bundles/8a2f69a8-9f97-4ac3-8778-4aceb1640245/data HTTP/1.1
Accept: application/octet-stream
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
2.39.4. Get the status of all SOS SupportBundle collect tasks.
The get health-summary operation
-
User can get the history of all SupportBundle tasks.
Prerequisites
-
The following data is required
-
None
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/support-bundles' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/support-bundles HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 738
{
"elements" : [ {
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-09T06:22:32.856Z",
"description" : "Support-Bundle collection operation for SDDC",
"bundleAvailable" : "No",
"id" : "8a2f69a8-9f97-4ac3-8778-4aceb1640245",
"completionTimestamp" : "2021-07-09T06:23:04.949Z",
"bundleName" : "sos-2021-07-09-06-22-32-87667"
}, {
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-09T06:23:55.973Z",
"description" : "Support-Bundle collection operation for SDDC",
"bundleAvailable" : "Yes",
"id" : "b65d036d-01cd-4238-929e-d94f87f9b894",
"completionTimestamp" : "2021-07-09T06:24:22.631Z",
"bundleName" : "sos-2021-07-09-06-23-55-87667"
} ]
}
2.39.5. Perform Health-Check operation for SDDC.
The Create Health Summary operation:
-
Validates overall health of system.
-
The health checks results are included in a archive file.
-
This can be downloaded by the user.
The result is health-summary bundle.
Prerequisites
-
The following data is optional
-
healthChecks
-
servicesHealth
-
ntpHealth
-
generalHealth
-
certificateHealth
-
passwordHealth
-
connectivityHealth
-
computeHealth
-
storageHealth
-
dnsHealth
-
composabilityHealth
-
hardwareCompatibilityHealth
-
-
scopes
-
includeAllDomains
-
includeFreeHosts
-
domains
-
domainName
-
clusterNames
-
-
-
options
-
include
-
summaryReport
-
-
-
Note
|
To trigger the API, the user should have a role of an ADMIN or OPERATOR in VCF. |
Note
|
User can also pass empty specification as data, then default health checks will be conducted. |
Note
|
It is not advised to run CLI and API operations in parallel. |
Note
|
Only single domain is allowed in domain field, or user has to pass includeAllDomains as true. |
Note
|
If no domain is passed default MANAGEMENT domain will be considered. |
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/health-summary' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"options" : {
"config" : {
"skipKnownHostCheck" : false,
"force" : false
},
"include" : {
"summaryReport" : false
}
},
"scope" : {
"includeFreeHosts" : false,
"includeAllDomains" : false,
"domains" : [ {
"domainName" : "sddcId-1001",
"clusterNames" : [ "SDDC-Cluster1" ]
} ]
},
"healthChecks" : {
"servicesHealth" : true,
"ntpHealth" : true,
"generalHealth" : true,
"certificateHealth" : true,
"passwordHealth" : true,
"connectivityHealth" : true,
"computeHealth" : true,
"storageHealth" : true,
"dnsHealth" : true,
"composabilityHealth" : true,
"hardwareCompatibilityHealth" : true
}
}'
HTTP Request
POST /v1/system/health-summary HTTP/1.1
Content-Type: application/json
Content-Length: 706
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"options" : {
"config" : {
"skipKnownHostCheck" : false,
"force" : false
},
"include" : {
"summaryReport" : false
}
},
"scope" : {
"includeFreeHosts" : false,
"includeAllDomains" : false,
"domains" : [ {
"domainName" : "sddcId-1001",
"clusterNames" : [ "SDDC-Cluster1" ]
} ]
},
"healthChecks" : {
"servicesHealth" : true,
"ntpHealth" : true,
"generalHealth" : true,
"certificateHealth" : true,
"passwordHealth" : true,
"connectivityHealth" : true,
"computeHealth" : true,
"storageHealth" : true,
"dnsHealth" : true,
"composabilityHealth" : true,
"hardwareCompatibilityHealth" : true
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 104
{
"description" : "Health-Check operation for SDDC",
"id" : "beedc2ff-66d2-452f-af4b-176fa433148f"
}
-
Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.
Tip
|
Refer to: Get a SOS HealthSummary Task. |
-
If the "status" is "COMPLETED_WITH_SUCCESS", the task is completed successfully.
-
The task is failed if "status" is "COMPLETED_WITH_FAILURE".
-
Download the bundle after successful bundle creation, using the "id" from the previous response.
Tip
|
Refer to: Download Health Summary bundle. |
2.39.6. Get the status of SOS health-summary task.
The get health-summary operation
-
Polls the status of SOS health-summary operation.
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/health-summary/beedc2ff-66d2-452f-af4b-176fa433148f' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/health-summary/beedc2ff-66d2-452f-af4b-176fa433148f HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 336
{
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-08T09:11:22.957Z",
"description" : "Health-Check operation for SDDC",
"bundleAvailable" : "Yes",
"id" : "beedc2ff-66d2-452f-af4b-176fa433148f",
"completionTimestamp" : "2021-07-08T09:12:12.336Z",
"bundleName" : "healthcheck-2021-07-08-09-11-22-91496"
}
2.39.7. Downloads the HealthSummary bundle created.
The download operation
-
User can download the health summary bundle created.
-
The data is streamed in octect-stream format.
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API.
Note
|
To trigger the API, the user should have a role of an ADMIN or OPERATOR in VCF. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/health-summary/d14d42ea-3061-4874-a2ed-651253db37a3/data' -i -X GET \
-H 'Accept: application/octet-stream' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/health-summary/d14d42ea-3061-4874-a2ed-651253db37a3/data HTTP/1.1
Accept: application/octet-stream
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
2.39.8. Get the status of all SOS health-summary tasks.
The get health-summary operation
-
User can get the history of all Health Summary tasks.
Prerequisites
-
The following data is required
-
None
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/system/health-summary' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/system/health-summary HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 729
{
"elements" : [ {
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-08T09:11:22.957Z",
"description" : "Health-Check operation for SDDC",
"bundleAvailable" : "Yes",
"id" : "beedc2ff-66d2-452f-af4b-176fa433148f",
"completionTimestamp" : "2021-07-08T09:12:12.336Z",
"bundleName" : "healthcheck-2021-07-08-09-11-22-91496"
}, {
"status" : "COMPLETED_WITH_SUCCESS",
"creationTimestamp" : "2021-07-08T09:15:59.885Z",
"description" : "Health-Check operation for SDDC",
"bundleAvailable" : "Yes",
"id" : "212090e7-833e-4436-9136-f4a4f86277de",
"completionTimestamp" : "2021-07-08T09:16:46.701Z",
"bundleName" : "healthcheck-2021-07-08-09-15-59-91496"
} ]
}
2.40. VASA Providers
2.40.1. Validate VASA Provider
-
This API validates the input specification of the VASA Provider
Prerequisites
The following data is required
-
VASA Provider name
-
VASA Provider URL
-
List of storage containers
-
For each storage container
-
Name of the storage container
-
Storage protocol type
-
-
-
List of VASA users
-
For each VASA user
-
User name
-
Password.
-
-
Tip
|
Refer to: VasaProvider. |
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/validations' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"username" : "User1",
"password" : "password"
}, {
"username" : "User2",
"password" : "password"
} ]
}'
HTTP Request
POST /v1/vasa-providers/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 391
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"username" : "User1",
"password" : "password"
}, {
"username" : "User2",
"password" : "password"
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/vasa-providers/validations/ecd8060c-d107-434a-86c2-29cd3992520e
Content-Type: application/json
Content-Length: 321
{
"id" : "ecd8060c-d107-434a-86c2-29cd3992520e",
"description" : "Validate input specification to add a VASA Provider to VMware Cloud Foundation",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating VASA Provider input specification",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll the status of the validation using the get validation API with the ID from the response.
Tip
|
Refer to: Get VASA Provider Validation. |
2.40.2. Get VASA Provider Validation
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/validations/31c3dcb0-9bb5-46c9-9fd5-2383814c1e03' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/validations/31c3dcb0-9bb5-46c9-9fd5-2383814c1e03 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 321
{
"id" : "31c3dcb0-9bb5-46c9-9fd5-2383814c1e03",
"description" : "Validate input specification to add a VASA Provider to VMware Cloud Foundation",
"executionStatus" : "COMPLETED",
"validationChecks" : [ {
"description" : "Validating VASA Provider input specification",
"resultStatus" : "SUCCEEDED"
} ]
}
2.40.3. Add VASA Provider
-
This API is used to add a VASA Provider to the system. The added VASA Provider would be used during domain creation, cluster creation flows.
-
If a VASA Provider already exists, you will get an error with HTTP status 400.
Prerequisites
The following data is required
-
VASA Provider name
-
VASA Provider URL
-
List of storage containers
-
For each storage container
-
Name of the storage container
-
Storage protocol type
-
-
-
List of VASA users
-
For each VASA user
-
User name
-
Password.
-
-
Tip
|
Refer to: VasaProvider. |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"username" : "User1",
"password" : "password"
}, {
"username" : "User2",
"password" : "password"
} ]
}'
HTTP Request
POST /v1/vasa-providers HTTP/1.1
Content-Type: application/json
Content-Length: 391
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"username" : "User1",
"password" : "password"
}, {
"username" : "User2",
"password" : "password"
} ]
}
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 669
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
}, {
"id" : "8ec223b9-46d6-4c5a-85ce-69cbe64967b8",
"username" : "User3"
} ]
}
2.40.4. Get the VASA Providers
-
This API is used to get the VASA Providers.
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 649
{
"elements" : [ {
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
} ]
}
2.40.5. Get a VASA Provider
This API is used to get a VASA Provider.
Prerequisites
-
The following data is required:
-
ID of the VASA Provider
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 586
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
}
2.40.6. Update a VASA Provider
-
This API is used to update a VASA Provider.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
-
The following data is optional
-
VASA Provider name
-
VASA Provider URL
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new-VASA-Provider1",
"url" : "https://10.0.32.217/vasa/version.xml"
}'
HTTP Request
PATCH /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70 HTTP/1.1
Content-Type: application/json
Content-Length: 85
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "new-VASA-Provider1",
"url" : "https://10.0.32.217/vasa/version.xml"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 590
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "new-VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
}
2.40.7. Delete a VASA Provider
-
Used to delete a VASA Provider.
-
Deleting a VASA Provider which is being used, will give an error.
-
Deleting a VASA Provider which does not exist, will give a HTTP response code 404.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
Steps
-
Invoke the API
Tip
|
Refer to: Get the VASA Providers to retrieve all VASA providers in the system and use the ID of VASA Provider to be deleted. |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
2.40.8. Get the Storage Containers of a VASA Provider
-
This API is used to fetch all the storage containers of a VASA Provider
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 228
[ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ]
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.9. Get the Storage Containers by ProtocolType
-
This API is used to fetch all the storage containers for a given protocol type
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
Protocol type of the storage container
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers?protocolType=FC' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers?protocolType=FC HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 114
[ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
} ]
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.10. Add the Storage Containers to a VASA Provider
-
This API is used to add the storage containers to a VASA Provider.
-
If a storage container already exists, you will get an error with HTTP status 400.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
List of storage containers
-
For each storage container
-
Name of the storage container
-
Storage protocol type
-
-
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"name" : "StorageContainer-ISCSI",
"protocolType" : "ISCSI"
} ]'
HTTP Request
POST /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers HTTP/1.1
Content-Type: application/json
Content-Length: 71
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"name" : "StorageContainer-ISCSI",
"protocolType" : "ISCSI"
} ]
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 712
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
}, {
"id" : "15df88fb-622f-470a-9300-fb5e848d2ec5",
"name" : "StorageContainer-ISCSI",
"protocolType" : "ISCSI"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
}
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.11. Rename a Storage Container of a VASA Provider
-
This API is used to rename a storage container of a VASA Provider.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
ID of the storage container
-
New storage container name
-
Tip
|
Refer to: Get the VASA Providers and Get the Storage Containers of a VASA Provider |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers/e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new-StorageContainer-FC"
}'
HTTP Request
PATCH /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers/e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"name" : "new-StorageContainer-FC"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 590
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "new-StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
}
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.12. Delete a Storage Container of a VASA Provider
-
Used to delete a storage container of a VASA Provider
-
Deleting a storage container which is being used, will give an error.
-
Deleting a storage container which does not exist, will give a HTTP response code 404.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
ID of the storage containers
-
Steps
-
Invoke the API
Tip
|
Refer to: Get the VASA Providers and Get the Storage Containers of a VASA Provider |
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers/e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/storage-containers/e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.13. Get the Users of a VASA Provider
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 156
[ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.14. Add the Users to a VASA Provider
-
This API is used to add the VASA users to a VASA Provider.
-
If a VASA user already exists, you will get an error with HTTP status 400.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
List of VASA users
-
For each VASA user
-
User name
-
Password.
-
-
-
Tip
|
Refer to: Get the VASA Providers |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"username" : "User3",
"password" : "password"
} ]'
HTTP Request
POST /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users HTTP/1.1
Content-Type: application/json
Content-Length: 57
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
[ {
"username" : "User3",
"password" : "password"
} ]
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 669
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
}, {
"id" : "de5848f5-70d2-4c45-ba7d-bbf6b8b63ad0",
"username" : "User3"
} ]
}
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
2.40.15. Update the User of a VASA Provider
-
This API is used to update the user of a VASA Provider.
Prerequisites
-
The following data is required
-
ID of the VASA Provider
-
ID of the VASA User
-
-
The following data is optional
-
VASA user name
-
VASA password
-
Tip
|
Refer to: Get the VASA Providers and Get the Users of a VASA Provider |
Steps
-
Invoke the API
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users/858d130e-b4e9-4cf7-8ff6-9e8421427894' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"username" : "new-User1",
"password" : "password"
}'
HTTP Request
PATCH /v1/vasa-providers/fb962aaa-d57c-4e15-8f5c-66d3844f7c70/users/858d130e-b4e9-4cf7-8ff6-9e8421427894 HTTP/1.1
Content-Type: application/json
Content-Length: 57
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
{
"username" : "new-User1",
"password" : "password"
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 590
{
"id" : "fb962aaa-d57c-4e15-8f5c-66d3844f7c70",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "e035c0f3-3c46-4147-84ca-c1d7dd1ebe4c",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "3b85507d-61a6-4f54-9fe1-7c5cfdd8f956",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "858d130e-b4e9-4cf7-8ff6-9e8421427894",
"username" : "new-User1"
}, {
"id" : "4573f09f-6a9a-48a6-a5d1-f6d319115d12",
"username" : "User2"
} ]
}
Related APIs
Get the VASA Providers
Get the storage containers of a VASA Provider
Get the users of a VASA Provider
Add the storage containers to a VASA Provider
Add the users to a VASA Provider
Update the storage container of a VASA Provider
Update the user of a VASA Provider
Delete a storage container of a VASA Provider
3. Resources
3.1. AVNs
APIs for managing Solutions Networking (Application Virtual Networks)
3.1.1. Create AVNs
POST /v1/avns
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
avnsCreationSpec |
Avn creation data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/avns
Request body
{
"avns" : [ {
"domainName" : "rainpole.io",
"gateway" : "192.168.31.1",
"id" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc",
"mtu" : 1600,
"name" : "vRealize-AVN",
"portGroupName" : "sfo-m01-seg01-pg",
"regionType" : "REGION_A",
"routerName" : "sfo-m01-ec01-t1-gw01",
"subnet" : "192.168.31.0",
"subnetMask" : "255.255.255.0",
"vlanId" : 30
} ],
"edgeClusterId" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.1.2. Fetches all AVNs
GET /v1/avns
Description
Returns all matching AVNs
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
regionType |
Pass an optional AVN region type matching either Region-A or X-Region |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Returns the list of all matching AVNs |
< Avn > array |
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/avns
Example HTTP response
Response 200
[ {
"domainName" : "rainpole.io",
"gateway" : "192.168.31.1",
"id" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc",
"mtu" : 1600,
"name" : "vRealize-AVN",
"portGroupName" : "sfo-m01-seg01-pg",
"regionType" : "REGION_A",
"routerName" : "sfo-m01-ec01-t1-gw01",
"subnet" : "192.168.31.0",
"subnetMask" : "255.255.255.0",
"vlanId" : 30
} ]
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.1.3. Validate AVN Creation Spec
POST /v1/avns/validations
Description
Returns Validation report
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
avnsCreationSpec |
Provide the spec to create the AVNs |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Validation of AVN Creation spec completed |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/avns/validations
Request body
{
"avns" : [ {
"domainName" : "rainpole.io",
"gateway" : "192.168.31.1",
"id" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc",
"mtu" : 1600,
"name" : "vRealize-AVN",
"portGroupName" : "sfo-m01-seg01-pg",
"regionType" : "REGION_A",
"routerName" : "sfo-m01-ec01-t1-gw01",
"subnet" : "192.168.31.0",
"subnetMask" : "255.255.255.0",
"vlanId" : 30
} ],
"edgeClusterId" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc"
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2. BackupRestore
APIs for managing Backups and Restore
3.2.1. Trigger backup
POST /v1/backups/tasks
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
backupsSpec |
backupsSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/backups/tasks
Request body
{
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ]
}
Example HTTP response
Response 200
{
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: IN_PROGRESS"
}
Response 202
{
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: IN_PROGRESS"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2.2. Trigger Restore
POST /v1/restores/tasks
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
restoreSpec |
restoreSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/restores/tasks
Request body
{
"backupFile" : "string",
"elements" : [ {
"resourceType" : "SDDC_MANAGER"
} ],
"encryption" : {
"passphrase" : "string"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2.3. Fetch the restores task
GET /v1/restores/tasks/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The restore task ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/restores/tasks/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2.4. Get backup configuration used to backup NSX and SDDC manager
GET /v1/system/backup-configuration
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/backup-configuration
Example HTTP response
Response 200
{
"backupLocations" : [ {
"directoryPath" : "string",
"password" : "string",
"port" : 0,
"protocol" : "SFTP",
"server" : "string",
"sshFingerprint" : "string",
"username" : "string"
} ],
"backupSchedules" : [ {
"daysOfWeek" : "One among: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY",
"frequency" : "One among: WEEKLY, HOURLY",
"hourOfDay" : 0,
"minuteOfHour" : 0,
"resourceType" : "SDDC_MANAGER",
"retentionPolicy" : {
"numberOfDaysOfDailyBackups" : 20,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfMostRecentBackups" : 15
},
"takeBackupOnStateChange" : true,
"takeScheduledBackups" : true
} ],
"encryption" : {
"passphrase" : "string"
},
"isConfigured" : true
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2.5. Configure backup settings to backup NSX and SDDC manager
PUT /v1/system/backup-configuration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
backupConfigurationSpec |
backupConfigurationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/backup-configuration
Request body
{
"backupLocations" : [ {
"directoryPath" : "string",
"password" : "string",
"port" : 0,
"protocol" : "SFTP",
"server" : "string",
"sshFingerprint" : "string",
"username" : "string"
} ],
"backupSchedules" : [ {
"daysOfWeek" : "One among: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY",
"frequency" : "One among: WEEKLY, HOURLY",
"hourOfDay" : 0,
"minuteOfHour" : 0,
"resourceType" : "SDDC_MANAGER",
"retentionPolicy" : {
"numberOfDaysOfDailyBackups" : 20,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfMostRecentBackups" : 15
},
"takeBackupOnStateChange" : true,
"takeScheduledBackups" : true
} ],
"encryption" : {
"passphrase" : "string"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2.6. Edit backup configuration to backup NSX and SDDC manager
PATCH /v1/system/backup-configuration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
backupConfigurationSpec |
backupConfigurationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/backup-configuration
Request body
{
"backupLocations" : [ {
"directoryPath" : "string",
"password" : "string",
"port" : 0,
"protocol" : "SFTP",
"server" : "string",
"sshFingerprint" : "string",
"username" : "string"
} ],
"backupSchedules" : [ {
"daysOfWeek" : "One among: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY",
"frequency" : "One among: WEEKLY, HOURLY",
"hourOfDay" : 0,
"minuteOfHour" : 0,
"resourceType" : "SDDC_MANAGER",
"retentionPolicy" : {
"numberOfDaysOfDailyBackups" : 20,
"numberOfDaysOfHourlyBackups" : 10,
"numberOfMostRecentBackups" : 15
},
"takeBackupOnStateChange" : true,
"takeScheduledBackups" : true
} ],
"encryption" : {
"passphrase" : "string"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3. Bundles
APIs for managing Bundles
3.3.1. Upload a Bundle
POST /v1/bundles
Description
Upload Bundle to SDDC Manager. Used when you do not have internet connectivity for downloading bundles from VMWare/VxRail to SDDC Manager. The Bundles are manually downloaded from Depot using Bundle Transfer utility
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
bundleUploadSpec |
Bundle Upload Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/bundles
Request body
{
"bundleFilePath" : "string",
"compatibilitySetsFilePath" : "string",
"manifestFilePath" : "string",
"partnerExtensionSpec" : {
"partnerBundleMetadataFilePath" : "string",
"partnerBundleVersion" : "string"
},
"signatureFilePath" : "string"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3.2. Get the Bundles
GET /v1/bundles
Description
Get all Bundles i.e uploaded bundles and also bundles available via depot access.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
bundleType |
The type of the bundle |
string |
Query |
isCompliant |
Is compliant with the current VCF version |
boolean |
Query |
productType |
The type of the product |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/bundles
Example HTTP response
Response 200
{
"elements" : [ {
"components" : [ {
"description" : "string",
"fromVersion" : "string",
"id" : "string",
"imageType" : "One among: PATCH, INSTALL",
"releasedDate" : "string",
"toVersion" : "string",
"type" : "string",
"vendor" : "string"
} ],
"description" : "string",
"downloadStatus" : "One among: PENDING, SCHEDULED, IN_PROGRESS, SUCCESSFUL, FAILED, RECALLED",
"id" : "string",
"isCompliant" : true,
"isCumulative" : true,
"releasedDate" : "string",
"severity" : "One among: CRITICAL, IMPORTANT, MODERATE, LOW",
"sizeMB" : 0.0,
"type" : "One among: SDDC_MANAGER, VMWARE_SOFTWARE, VXRAIL",
"vendor" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3.3. Update software compatibility sets for Bundles
PATCH /v1/bundles/
Description
Update software compatibility sets for Bundles
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
bundleUpdateSpec |
Bundle Update Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
202 |
Accepted |
No Content |
400 |
Bad Request |
|
409 |
Conflict |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/bundles/
Request body
{
"bundleDownloadSpec" : {
"downloadNow" : true,
"scheduledTimestamp" : "string"
},
"compatibilitySetsFilePath" : "string"
}
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3.4. Get a Bundle
GET /v1/bundles/{id}
Description
Get a Bundle
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Bundle ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Bundle Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/bundles/string
Example HTTP response
Response 200
{
"components" : [ {
"description" : "string",
"fromVersion" : "string",
"id" : "string",
"imageType" : "One among: PATCH, INSTALL",
"releasedDate" : "string",
"toVersion" : "string",
"type" : "string",
"vendor" : "string"
} ],
"description" : "string",
"downloadStatus" : "One among: PENDING, SCHEDULED, IN_PROGRESS, SUCCESSFUL, FAILED, RECALLED",
"id" : "string",
"isCompliant" : true,
"isCumulative" : true,
"releasedDate" : "string",
"severity" : "One among: CRITICAL, IMPORTANT, MODERATE, LOW",
"sizeMB" : 0.0,
"type" : "One among: SDDC_MANAGER, VMWARE_SOFTWARE, VXRAIL",
"vendor" : "string",
"version" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3.5. Update a Bundle for downloading from depot
PATCH /v1/bundles/{id}
Description
Update a Bundle for scheduling/triggering download. Only one download can triggered for a Bundle.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Bundle ID |
string |
Body |
bundleUpdateSpec |
Bundle Update Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
409 |
Conflict |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/bundles/string
Request body
{
"bundleDownloadSpec" : {
"downloadNow" : true,
"scheduledTimestamp" : "string"
},
"compatibilitySetsFilePath" : "string"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.4. CEIP
APIs for managing CEIP status
3.4.1. Get CEIP status
GET /v1/system/ceip
Description
Get CEIP status and instance id
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ceip
Example HTTP response
Response 200
{
"instanceId" : "3f39d4a1-78d2-11e8-af85-f1cf26258cdc",
"status" : "One among: ENABLED, DISABLED, ENABLING, DISABLING, ENABLING_FAILED, DISABLING_FAILED"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.4.2. Opt-in or Opt-out of CEIP
PATCH /v1/system/ceip
Description
Opt-in or Opt-out of CEIP
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
ceipUpdateSpec |
Required action for CEIP. |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
409 |
The request could not be completed due to a conflict with the current state |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ceip
Request body
{
"status" : "One among: ENABLE, DISABLE"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5. Certificates
APIs for managing Certificates
3.5.1. Get certificate authorities information
GET /v1/certificate-authorities
Description
Get certificate authorities information
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/certificate-authorities
Example HTTP response
Response 200
{
"elements" : [ {
"commonName" : "string",
"country" : "string",
"id" : "One among: OpenSSL, Microsoft",
"locality" : "string",
"organization" : "string",
"organizationUnit" : "string",
"serverUrl" : "string",
"state" : "string",
"templateName" : "string",
"username" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.2. Create a certificate authority
PUT /v1/certificate-authorities
Description
Creates a certificate authority. This is required to generate signed certificates by supporting CAs.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
certificateAuthorityCreationSpec |
certificateAuthorityCreationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
object |
400 |
Bad request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/certificate-authorities
Request body
{
"microsoftCertificateAuthoritySpec" : {
"secret" : "string",
"serverUrl" : "string",
"templateName" : "string",
"username" : "string"
},
"openSSLCertificateAuthoritySpec" : {
"commonName" : "string",
"country" : "string",
"locality" : "string",
"organization" : "string",
"organizationUnit" : "string",
"state" : "string"
}
}
Example HTTP response
Response 200
{ }
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.3. Configure existing certificate authority
PATCH /v1/certificate-authorities
Description
Configure existing certificate authority
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
certificateAuthoritySpec |
certificateAuthoritySpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
object |
400 |
Bad request |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/certificate-authorities
Request body
{
"microsoftCertificateAuthoritySpec" : {
"secret" : "string",
"serverUrl" : "string",
"templateName" : "string",
"username" : "string"
},
"openSSLCertificateAuthoritySpec" : {
"commonName" : "string",
"country" : "string",
"locality" : "string",
"organization" : "string",
"organizationUnit" : "string",
"state" : "string"
}
}
Example HTTP response
Response 200
{ }
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.4. Deletes CA configuration file
DELETE /v1/certificate-authorities/{caType}
Description
Deletes CA configuration file
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
caType |
The CA type |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
object |
204 |
No contet |
object |
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/certificate-authorities/string
Example HTTP response
Response 200
{ }
Response 204
{ }
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.5. Get certificate authority information
GET /v1/certificate-authorities/{id}
Description
Get certificate authority information
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
CA type |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/certificate-authorities/string
Example HTTP response
Response 200
{
"commonName" : "string",
"country" : "string",
"id" : "One among: OpenSSL, Microsoft",
"locality" : "string",
"organization" : "string",
"organizationUnit" : "string",
"serverUrl" : "string",
"state" : "string",
"templateName" : "string",
"username" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.6. Get latest generated certificate(s) in a domain.
GET /v1/domains/{domainName}/certificates
Description
Get latest generated certificate(s) in a domain.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/certificates
Example HTTP response
Response 200
{
"elements" : [ {
"expirationStatus" : "One among: ACTIVE, ABOUT_TO_EXPIRE, EXPIRED",
"getCertificateError" : "string",
"isInstalled" : true,
"issuedBy" : "string",
"issuedTo" : "string",
"keySize" : "One among: 2048, 3072, 4096",
"notAfter" : "string",
"notBefore" : "string",
"numberOfDaysToExpire" : 0,
"pemEncoded" : "string",
"publicKey" : "string",
"publicKeyAlgorithm" : "One among: RSA",
"serialNumber" : "string",
"signatureAlgorithm" : "string",
"subject" : "string",
"subjectAlternativeName" : [ "string" ],
"thumbprint" : "string",
"thumbprintAlgorithm" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.7. Generate certificate(s) for the selected resource(s) in a domain
PUT /v1/domains/{domainName}/certificates
Description
Generate certificate(s) for the selected resource(s) in a domain. CA must be configured and CSR must be generated beforehand.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Body |
certificateGenerationSpec |
certificateGenerationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad request |
|
404 |
Not Found |
|
409 |
Conflict |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/certificates
Request body
{
"caType" : "One among: OpenSSL, Microsoft",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.8. Replace certificate(s) for the selected resource(s) in a domain
PATCH /v1/domains/{domainName}/certificates
Description
Replace certificate(s) for the selected resource(s) in a domain
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Body |
certificateOperationSpec |
certificateOperationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad request |
|
403 |
Forbidden |
|
404 |
Not Found |
|
409 |
Conflict |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/certificates
Request body
{
"operationType" : "One among: INSTALL",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.9. Upload certificates to the certificate store
PUT /v1/domains/{domainName}/certificates/uploads
Description
Upload certificates to the certificate store
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
FormData |
file |
file |
file |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
object |
400 |
Bad request. |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
multipart/form-data
Produces
-
application/json
Example HTTP response
Response 200
{ }
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.10. Get available CSR(s) in json format
GET /v1/domains/{domainName}/csrs
Description
Get available CSR(s) in json format
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/csrs
Example HTTP response
Response 200
{
"elements" : [ {
"csrEncodedContent" : "string",
"resource" : {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.11. Generate CSR(s)
PUT /v1/domains/{domainName}/csrs
Description
Generate CSR(s) for the selected resource(s) in the domain.
Warning:
Avoid using wildcard certificates. Instead, use subdomain-specific certificates that are rotated often. A compromised wildcard certificate can lead to security repercussions.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Body |
csrsGenerationSpec |
csrsGenerationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad request |
|
404 |
Not Found |
|
409 |
Conflict |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/csrs
Request body
{
"csrGenerationSpec" : {
"country" : "string",
"email" : "string",
"keyAlgorithm" : "One among: RSA",
"keySize" : "One among: 2048, 3072, 4096",
"locality" : "string",
"organization" : "string",
"organizationUnit" : "string",
"state" : "string"
},
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.12. Download available CSR(s) in tar.gz format
GET /v1/domains/{domainName}/csrs/downloads
Description
Download available CSR(s) in tar.gz format
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
string (byte) |
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/octet-stream
Example HTTP request
Request path
/v1/domains/string/csrs/downloads
Example HTTP response
Response 200
"Ynl0ZQ=="
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5.13. View certificate of all the resources in a domain
GET /v1/domains/{domainName}/resource-certificates
Description
View detailed metadata about the certificate(s) of all the resources in a domain
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainName |
The domain name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/resource-certificates
Example HTTP response
Response 200
{
"elements" : [ {
"expirationStatus" : "One among: ACTIVE, ABOUT_TO_EXPIRE, EXPIRED",
"getCertificateError" : "string",
"isInstalled" : true,
"issuedBy" : "string",
"issuedTo" : "string",
"keySize" : "One among: 2048, 3072, 4096",
"notAfter" : "string",
"notBefore" : "string",
"numberOfDaysToExpire" : 0,
"pemEncoded" : "string",
"publicKey" : "string",
"publicKeyAlgorithm" : "One among: RSA",
"serialNumber" : "string",
"signatureAlgorithm" : "string",
"subject" : "string",
"subjectAlternativeName" : [ "string" ],
"thumbprint" : "string",
"thumbprintAlgorithm" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6. Clusters
APIs for managing Clusters
3.6.1. Create a Cluster and add to an existing Domain
POST /v1/clusters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
clusterCreationSpec |
Cluster Creation Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters
Request body
{
"computeSpec" : {
"clusterSpecs" : [ {
"advancedOptions" : {
"evcMode" : "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"clusterImageId" : "string",
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vmfsDatastoreSpec" : {
"fcSpec" : [ {
"datastoreName" : "string"
} ]
},
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
},
"vvolDatastoreSpecs" : [ {
"name" : "string",
"vasaProviderSpec" : {
"storageContainerId" : "string",
"storageProtocolType" : "One among: ISCSI, NFS, FC",
"userId" : "string",
"vasaProviderId" : "string"
}
} ]
},
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0,
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
}
}
},
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
},
"skipThumbprintValidation" : true,
"vxRailDetails" : {
"adminCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"dnsName" : "string",
"ipAddress" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"nicProfile" : "string",
"rootCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string"
}
} ],
"skipFailedHosts" : false
},
"domainId" : "string"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.2. Get the Clusters
GET /v1/clusters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
isStretched |
isStretched |
boolean |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters
Example HTTP response
Response 200
{
"elements" : [ {
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.3. Validate the input spec for clusters operations
POST /v1/clusters/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
clusterCreationSpec |
Clusters Operation Spec Validation |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/validations
Request body
{
"computeSpec" : {
"clusterSpecs" : [ {
"advancedOptions" : {
"evcMode" : "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"clusterImageId" : "string",
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vmfsDatastoreSpec" : {
"fcSpec" : [ {
"datastoreName" : "string"
} ]
},
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
},
"vvolDatastoreSpecs" : [ {
"name" : "string",
"vasaProviderSpec" : {
"storageContainerId" : "string",
"storageProtocolType" : "One among: ISCSI, NFS, FC",
"userId" : "string",
"vasaProviderId" : "string"
}
} ]
},
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0,
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
}
}
},
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
},
"skipThumbprintValidation" : true,
"vxRailDetails" : {
"adminCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"dnsName" : "string",
"ipAddress" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"nicProfile" : "string",
"rootCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string"
}
} ],
"skipFailedHosts" : false
},
"domainId" : "string"
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.4. Get query response
GET /v1/clusters/{clusterId}/hosts/queries/{queryId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
clusterId |
Cluster ID |
string |
Path |
queryId |
Query ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Query Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/hosts/queries/string
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.5. Get the list of VDSes of a cluster.
GET /v1/clusters/{clusterId}/vdses
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
clusterId |
Cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< Vds > array |
400 |
Bad Request |
|
404 |
Cluster Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/vdses
Example HTTP response
Response 200
[ {
"id" : "string",
"isUsedByNsxt" : true,
"mtu" : 0,
"name" : "string",
"niocBandwidthAllocations" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "One among: management, faultTolerance, vmotion, virtualMachine, iSCSI, nfs, hbr, vsan, vdp"
} ],
"portGroups" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"portBindingType" : "One among: STATIC, DYNAMIC, EPHEMERAL",
"standbyUplinks" : [ "string" ],
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK",
"vlanId" : 0
} ]
} ]
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.6. Get a Cluster
GET /v1/clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Cluster not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string
Example HTTP response
Response 200
{
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.7. Delete a Cluster from a Domain if it has been previously initialized for deletion
DELETE /v1/clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.8. Update a Cluster by adding or removing Hosts, Stretching a standard vSAN cluster, Unstretching a stretched cluster or by marking for deletion
PATCH /v1/clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Body |
clusterUpdateSpec |
Cluster Update Data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string
Request body
{
"clusterCompactionSpec" : {
"force" : true,
"forceByPassingSafeMinSize" : true,
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ]
},
"clusterExpansionSpec" : {
"forceHostAdditionInPresenceofDeadHosts" : true,
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"interRackExpansion" : true,
"skipThumbprintValidation" : true,
"vsanNetworkSpecs" : [ {
"vsanCidr" : "string",
"vsanGatewayIP" : "string"
} ],
"witnessSpec" : {
"fqdn" : "string",
"vsanCidr" : "string",
"vsanIp" : "string"
},
"witnessTrafficSharedWithVsanTraffic" : true
},
"clusterStretchSpec" : {
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"isEdgeClusterConfiguredForMultiAZ" : true,
"secondaryAzOverlayVlanId" : 0,
"vsanNetworkSpecs" : [ {
"vsanCidr" : "string",
"vsanGatewayIP" : "string"
} ],
"witnessSpec" : {
"fqdn" : "string",
"vsanCidr" : "string",
"vsanIp" : "string"
},
"witnessTrafficSharedWithVsanTraffic" : true
},
"clusterUnstretchSpec" : { },
"markForDeletion" : true,
"prepareForStretch" : true
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.9. Get all host criteria
GET /v1/clusters/{id}/hosts/criteria
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/hosts/criteria
Example HTTP response
Response 200
{
"elements" : [ {
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.6.10. Get a criterion to query for host
GET /v1/clusters/{id}/hosts/criteria/{name}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Path |
name |
Criteria Name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Criterion Not Found |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/hosts/criteria/string
Example HTTP response
Response 200
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.11. Post a host query
POST /v1/clusters/{id}/hosts/queries
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Body |
hostCriterion |
hostCriterion |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/hosts/queries
Request body
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
}
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6.12. Validate the input spec for operations on a cluster
POST /v1/clusters/{id}/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Body |
clusterUpdateSpec |
clusterUpdateSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/clusters/string/validations
Request body
{
"clusterCompactionSpec" : {
"force" : true,
"forceByPassingSafeMinSize" : true,
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ]
},
"clusterExpansionSpec" : {
"forceHostAdditionInPresenceofDeadHosts" : true,
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"interRackExpansion" : true,
"skipThumbprintValidation" : true,
"vsanNetworkSpecs" : [ {
"vsanCidr" : "string",
"vsanGatewayIP" : "string"
} ],
"witnessSpec" : {
"fqdn" : "string",
"vsanCidr" : "string",
"vsanIp" : "string"
},
"witnessTrafficSharedWithVsanTraffic" : true
},
"clusterStretchSpec" : {
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"isEdgeClusterConfiguredForMultiAZ" : true,
"secondaryAzOverlayVlanId" : 0,
"vsanNetworkSpecs" : [ {
"vsanCidr" : "string",
"vsanGatewayIP" : "string"
} ],
"witnessSpec" : {
"fqdn" : "string",
"vsanCidr" : "string",
"vsanIp" : "string"
},
"witnessTrafficSharedWithVsanTraffic" : true
},
"clusterUnstretchSpec" : { },
"markForDeletion" : true,
"prepareForStretch" : true
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7. Credentials
APIs for managing Credentials
3.7.1. Get the Credentials
GET /v1/credentials
Description
Get the Credentials
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
accountType |
Type of the account that needs to be fetched by filtering |
string |
Query |
domainName |
The name of the domain to which the resource belongs to (may be null in case there is no associated domain) |
string |
Query |
pageNumber |
The page number (must be a positive number), starts with 0 |
string |
Query |
pageSize |
The page size (must be a positive number, 0 as page size returns all records in one page |
string |
Query |
resourceIp |
The IP address of the resource |
string |
Query |
resourceName |
The name of the resource |
string |
Query |
resourceType |
The type of the resource. One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials
Example HTTP response
Response 200
{
"elements" : [ {
"accountType" : "One among: USER, SYSTEM, SERVICE",
"autoRotatePolicy" : {
"frequencyInDays" : 0,
"nextSchedule" : "string"
},
"creationTimestamp" : "string",
"credentialType" : "One among: SSO, SSH, API, FTP, AUDIT",
"id" : "string",
"modificationTimestamp" : "string",
"password" : "string",
"resource" : {
"domainName" : "string",
"resourceId" : "string",
"resourceIp" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP"
},
"username" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.2. Update or rotate passwords for a list of resources
PATCH /v1/credentials
Description
Update passwords for given list of resources by supplying new passwords or rotate the passwords using system generated passwords
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
credentialsUpdateSpec |
credentialsUpdateSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials
Request body
{
"autoRotatePolicy" : {
"enableAutoRotatePolicy" : true,
"frequencyInDays" : 0
},
"elements" : [ {
"credentials" : [ {
"accountType" : "One among: USER, SYSTEM, SERVICE",
"credentialType" : "One among: SSO, SSH, API, FTP, AUDIT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP"
} ],
"operationType" : "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.3. Fetch the credentials tasks
GET /v1/credentials/tasks
Description
Fetch all credentials tasks in reverse chronological order
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
limit |
The number of elements to be returned in the result |
integer (int32) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks
Example HTTP response
Response 200
{
"elements" : [ {
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isAutoRotate" : true,
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"subTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ "..." ],
"description" : "string",
"entityType" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"description" : "string",
"entityType" : "string",
"errors" : [ "..." ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"type" : "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.4. Fetch a credentials task
GET /v1/credentials/tasks/{id}
Description
Fetch credentials task for a given ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credentials task |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks/string
Example HTTP response
Response 200
{
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isAutoRotate" : true,
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"subTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ "..." ],
"description" : "string",
"entityType" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"description" : "string",
"entityType" : "string",
"errors" : [ "..." ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"type" : "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.5. Cancel a failed credentials task for a given ID
DELETE /v1/credentials/tasks/{id}
Description
Cancel a failed credentials task for a given ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task ID of the failed operation required to be cancelled |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
204 |
No content |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 204
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.6. Retry a failed credentials task for a given ID
PATCH /v1/credentials/tasks/{id}
Description
Retry a failed credentials task for a given ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task ID of the failed operation that is to be retried |
string |
Body |
credentialsUpdateSpec |
credentialsUpdateSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks/string
Request body
{
"autoRotatePolicy" : {
"enableAutoRotatePolicy" : true,
"frequencyInDays" : 0
},
"elements" : [ {
"credentials" : [ {
"accountType" : "One among: USER, SYSTEM, SERVICE",
"credentialType" : "One among: SSO, SSH, API, FTP, AUDIT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP"
} ],
"operationType" : "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.7. Fetch resource credentials for a given credentials task ID
GET /v1/credentials/tasks/{id}/resource-credentials
Description
Fetch resource credentials for a given credentials task ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credentials task |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
< ResourceCredentials > array |
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks/string/resource-credentials
Example HTTP response
Response 200
[ {
"credentials" : [ {
"accountType" : "One among: USER, SYSTEM, SERVICE",
"credentialType" : "One among: SSO, SSH, API, FTP, AUDIT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP"
} ]
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.8. Fetch details of a subtask for a given credentials task ID and sub-task ID.
GET /v1/credentials/tasks/{id}/subtasks/{subtaskId}
Description
Fetch details of a subtask for a given credentials task ID and sub-task ID.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credentials task |
string |
Path |
subtaskId |
The ID of the credentials sub-task |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/tasks/string/subtasks/string
Example HTTP response
Response 200
{
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isAutoRotate" : true,
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"subTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ {
"creationTimestamp" : "string",
"credentialType" : "string",
"dependentSubTasks" : [ "..." ],
"description" : "string",
"entityType" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"description" : "string",
"entityType" : "string",
"errors" : [ "..." ],
"id" : "string",
"name" : "string",
"newPassword" : "string",
"oldPassword" : "string",
"resourceName" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"username" : "string"
} ],
"type" : "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7.9. Get Credential for the given ID
GET /v1/credentials/{id}
Description
Get Credential for the given ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credential |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/credentials/string
Example HTTP response
Response 200
{
"accountType" : "One among: USER, SYSTEM, SERVICE",
"autoRotatePolicy" : {
"frequencyInDays" : 0,
"nextSchedule" : "string"
},
"creationTimestamp" : "string",
"credentialType" : "One among: SSO, SSH, API, FTP, AUDIT",
"id" : "string",
"modificationTimestamp" : "string",
"password" : "string",
"resource" : {
"domainName" : "string",
"resourceId" : "string",
"resourceIp" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI, VCENTER, PSC, NSX_MANAGER, NSX_CONTROLLER, NSX_EDGE, NSXT_MANAGER, NSXT_EDGE, VRLI, VROPS, VRA, WSA, VRSLCM, VXRAIL_MANAGER, BACKUP"
},
"username" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.8. DepotSettings
APIs for managing Depot Settings
3.8.1. Get Depot Settings
GET /v1/system/settings/depot
Description
Get the Depot Settings, In a fresh setup, this would be empty
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< DepotSettings > array |
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/depot
Example HTTP response
Response 200
[ {
"dellEmcSupportAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
},
"vmwareAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
}
} ]
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.8.2. Update Depot Settings
PUT /v1/system/settings/depot
Description
Update Depot Settings. Depot Settings can be updated with VMware Depot Account
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
depotSettings |
Depot Settings |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/depot
Request body
{
"dellEmcSupportAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
},
"vmwareAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
}
}
Example HTTP response
Response 200
{
"dellEmcSupportAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
},
"vmwareAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
}
}
Response 202
{
"dellEmcSupportAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
},
"vmwareAccount" : {
"message" : "string",
"password" : "string",
"status" : "One among: DEPOT_UNKNOWN_HOST, DEPOT_NOT_AVAILABLE, DEPOT_USER_NOT_SET, DEPOT_INVALID_CREDENTIAL, UNKNOWN_FAILURE, DEPOT_CONNECTION_SUCCESSFUL",
"username" : "string"
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9. Domains
APIs for managing Domains
3.9.1. Create a Domain
POST /v1/domains
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainCreationSpec |
Domain creation data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains
Request body
{
"computeSpec" : {
"clusterSpecs" : [ {
"advancedOptions" : {
"evcMode" : "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"clusterImageId" : "string",
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vmfsDatastoreSpec" : {
"fcSpec" : [ {
"datastoreName" : "string"
} ]
},
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
},
"vvolDatastoreSpecs" : [ {
"name" : "string",
"vasaProviderSpec" : {
"storageContainerId" : "string",
"storageProtocolType" : "One among: ISCSI, NFS, FC",
"userId" : "string",
"vasaProviderId" : "string"
}
} ]
},
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0,
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
}
}
},
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
},
"skipThumbprintValidation" : true,
"vxRailDetails" : {
"adminCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"dnsName" : "string",
"ipAddress" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"nicProfile" : "string",
"rootCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string"
}
} ],
"skipFailedHosts" : false
},
"domainName" : "string",
"nsxTSpec" : {
"formFactor" : "string",
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerSpecs" : [ {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
} ],
"vip" : "string",
"vipFqdn" : "string"
},
"vcenterSpec" : {
"datacenterName" : "string",
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
},
"rootPassword" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.2. Get the Domains
GET /v1/domains
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
type |
The type of the domain |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains
Example HTTP response
Response 200
{
"elements" : [ {
"capacity" : {
"cpu" : {
"total" : {
"unit" : "Hz",
"value" : 0.0
},
"used" : {
"unit" : "Hz",
"value" : 0.0
}
},
"memory" : {
"total" : {
"unit" : "B",
"value" : 0.0
},
"used" : {
"unit" : "B",
"value" : 0.0
}
},
"storage" : {
"total" : {
"unit" : "B",
"value" : 0.0
},
"used" : {
"unit" : "B",
"value" : 0.0
}
}
},
"clusters" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"nsxtCluster" : {
"id" : "string",
"vip" : "string",
"vipFqdn" : "string"
},
"status" : "string",
"type" : "string",
"vcenters" : [ {
"fqdn" : "string",
"id" : "string"
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.3. Validate the input spec for domains operations
POST /v1/domains/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainCreationSpec |
Domain Creation Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/validations
Request body
{
"computeSpec" : {
"clusterSpecs" : [ {
"advancedOptions" : {
"evcMode" : "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"clusterImageId" : "string",
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vmfsDatastoreSpec" : {
"fcSpec" : [ {
"datastoreName" : "string"
} ]
},
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
},
"vvolDatastoreSpecs" : [ {
"name" : "string",
"vasaProviderSpec" : {
"storageContainerId" : "string",
"storageProtocolType" : "One among: ISCSI, NFS, FC",
"userId" : "string",
"vasaProviderId" : "string"
}
} ]
},
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0,
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
}
}
},
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
},
"skipThumbprintValidation" : true,
"vxRailDetails" : {
"adminCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"dnsName" : "string",
"ipAddress" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"nicProfile" : "string",
"rootCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string"
}
} ],
"skipFailedHosts" : false
},
"domainName" : "string",
"nsxTSpec" : {
"formFactor" : "string",
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerSpecs" : [ {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
} ],
"vip" : "string",
"vipFqdn" : "string"
},
"vcenterSpec" : {
"datacenterName" : "string",
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
},
"rootPassword" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
}
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.4. Get all cluster criteria
GET /v1/domains/{domainId}/clusters/criteria
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/criteria
Example HTTP response
Response 200
{
"elements" : [ {
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: UNMANAGED_CLUSTERS_IN_VCENTER, UNMANAGED_CLUSTER_IN_VCENTER"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.9.5. Get a criterion to query for cluster
GET /v1/domains/{domainId}/clusters/criteria/{name}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Path |
name |
Criteria Name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Criterion Not Found |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/criteria/string
Example HTTP response
Response 200
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: UNMANAGED_CLUSTERS_IN_VCENTER, UNMANAGED_CLUSTER_IN_VCENTER"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.6. Post clusters query
POST /v1/domains/{domainId}/clusters/queries
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Body |
clusterCriterion |
clusterCriterion |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/queries
Request body
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: UNMANAGED_CLUSTERS_IN_VCENTER, UNMANAGED_CLUSTER_IN_VCENTER"
}
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.7. Get clusters query response
GET /v1/domains/{domainId}/clusters/queries/{queryId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Path |
queryId |
Query ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Query Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/queries/string
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.8. Post a cluster query
POST /v1/domains/{domainId}/clusters/{clusterName}/queries
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
clusterName |
Cluster Name |
string |
Path |
domainId |
Domain ID |
string |
Body |
clusterCriterion |
clusterCriterion |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/string/queries
Request body
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: UNMANAGED_CLUSTERS_IN_VCENTER, UNMANAGED_CLUSTER_IN_VCENTER"
}
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.9. Get cluster query response
GET /v1/domains/{domainId}/clusters/{clusterName}/queries/{queryId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
clusterName |
Cluster Name |
string |
Path |
domainId |
Domain ID |
string |
Path |
queryId |
Query ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Query Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/clusters/string/queries/string
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"hosts" : [ {
"azName" : "string",
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"vmNics" : [ {
"isActive" : true,
"isAutoNegotiateSupported" : true,
"isInUse" : true,
"linkSpeedMB" : 0,
"name" : "string"
} ]
} ],
"id" : "string",
"isDefault" : true,
"isStretched" : true,
"name" : "string",
"primaryDatastoreName" : "string",
"primaryDatastoreType" : "One among: VSAN, NFS, FC, VVOL_FC, VVOL_ISCSI, VVOL_NFS",
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.10. Get a Domain
GET /v1/domains/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Domain not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string
Example HTTP response
Response 200
{
"capacity" : {
"cpu" : {
"total" : {
"unit" : "Hz",
"value" : 0.0
},
"used" : {
"unit" : "Hz",
"value" : 0.0
}
},
"memory" : {
"total" : {
"unit" : "B",
"value" : 0.0
},
"used" : {
"unit" : "B",
"value" : 0.0
}
},
"storage" : {
"total" : {
"unit" : "B",
"value" : 0.0
},
"used" : {
"unit" : "B",
"value" : 0.0
}
}
},
"clusters" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"nsxtCluster" : {
"id" : "string",
"vip" : "string",
"vipFqdn" : "string"
},
"status" : "string",
"type" : "string",
"vcenters" : [ {
"fqdn" : "string",
"id" : "string"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.11. Delete a Domain if it has been previously initialized for deletion
DELETE /v1/domains/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.12. Update a Domain
PATCH /v1/domains/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
Body |
domainUpdateSpec |
Domain Update Data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string
Request body
{
"clusterSpec" : {
"advancedOptions" : {
"evcMode" : "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"clusterImageId" : "string",
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vmfsDatastoreSpec" : {
"fcSpec" : [ {
"datastoreName" : "string"
} ]
},
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
},
"vvolDatastoreSpecs" : [ {
"name" : "string",
"vasaProviderSpec" : {
"storageContainerId" : "string",
"storageProtocolType" : "One among: ISCSI, NFS, FC",
"userId" : "string",
"vasaProviderId" : "string"
}
} ]
},
"hostSpecs" : [ {
"azName" : "string",
"hostName" : "string",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"moveToNvds" : true,
"uplink" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"password" : "string",
"serialNumber" : "string",
"sshThumbprint" : "string",
"username" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0,
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
}
}
},
"vdsSpecs" : [ {
"isUsedByNsxt" : true,
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0,
"sharesInfo" : {
"level" : "One among: low, normal, high, custom",
"shares" : 0
}
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"activeUplinks" : [ "string" ],
"name" : "string",
"transportType" : "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK"
} ]
} ]
},
"skipThumbprintValidation" : true,
"vxRailDetails" : {
"adminCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"dnsName" : "string",
"ipAddress" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"nicProfile" : "string",
"rootCredentials" : {
"credentialType" : "One among: SSH",
"password" : "string",
"username" : "string"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string"
}
},
"markForDeletion" : true,
"name" : "string",
"nsxTSpec" : {
"formFactor" : "string",
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerSpecs" : [ {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
} ],
"vip" : "string",
"vipFqdn" : "string"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9.13. Get Endpoints of a Domain
GET /v1/domains/{id}/endpoints
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Domain not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/domains/string/endpoints
Example HTTP response
Response 200
{
"elements" : [ {
"type" : "One among: PSC, VCENTER, NSX_MANAGER, NSX_T_MANAGER, VRLI, VRA, VROPS, WSA, VRSLCM",
"url" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.10. FIPS Mode Details
APIs for getting FIPS mode details
3.10.1. Get VCF security configuration
GET /v1/system/security/fips
Description
Retrieve VCF security FIPS mode.
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/security/fips
Example HTTP response
Response 200
{
"enabled" : true
}
3.11. Federation
APIs for managing Federation
3.11.1. Get details of a federation
GET /v1/sddc-federation
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
< MemberInfo > array |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation
Example HTTP response
Response 200
[ {
"memberDetails" : {
"city" : "string",
"coordinate" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"country" : "string",
"fqdn" : "string",
"role" : "CONTROLLER",
"siteName" : "string",
"siteType" : "DATACENTER",
"state" : "string"
},
"memberHealth" : {
"healthCode" : "GREEN",
"healthDetails" : [ "string" ]
},
"memberInventory" : {
"capacity" : {
"summary" : {
"aggregatedCapacity" : {
"cpu" : {
"free" : 0.0,
"total" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
},
"datastores" : [ {
"capacity" : 0.0,
"datastoreName" : "string",
"datastoreType" : "VSAN",
"freeSpace" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
} ],
"hostCount" : {
"total" : 0,
"unallocated" : 0,
"used" : 0
},
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
},
"domainCount" : 0,
"domainInfo" : [ {
"domainCapacity" : {
"cpu" : {
"free" : 0.0,
"total" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
},
"datastores" : [ {
"capacity" : 0.0,
"datastoreName" : "string",
"datastoreType" : "VSAN",
"freeSpace" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
} ],
"hostCount" : {
"total" : 0,
"unallocated" : 0,
"used" : 0
},
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
},
"domainId" : "string",
"name" : "string",
"status" : "string",
"type" : "string"
} ],
"domainTypeInfo" : [ {
"aggregatedCapacity" : {
"cpu" : {
"free" : 0.0,
"total" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
},
"datastores" : [ {
"capacity" : 0.0,
"datastoreName" : "string",
"datastoreType" : "VSAN",
"freeSpace" : 0.0,
"unallocated" : 0.0,
"unit" : "GHZ",
"used" : 0.0
} ],
"hostCount" : {
"total" : 0,
"unallocated" : 0,
"used" : 0
},
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
},
"domainCount" : 0,
"type" : "string"
} ]
}
},
"createTime" : "string",
"creationTime" : "string",
"inventoryInfo" : {
"hostCount" : {
"total" : 0,
"unallocated" : 0,
"used" : 0
}
},
"softwareInfo" : {
"pendingUpdates" : 0
}
},
"memberLiveness" : {
"livelinessCode" : "GREEN",
"livelinessDetails" : [ "string" ]
}
} ]
3.11.2. Bootstrap a VMware Cloud Foundation to form a federation
PUT /v1/sddc-federation
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
bootstrapSpec |
Bootstrap Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation
Request body
{
"federationName" : "string",
"memberJoinDetail" : {
"city" : "string",
"coordinate" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"country" : "string",
"fqdn" : "string",
"role" : "CONTROLLER",
"siteName" : "string",
"siteType" : "DATACENTER",
"state" : "string"
}
}
Example HTTP response
Response 202
{
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : {
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : "...",
"status" : "NOT_STARTED",
"taskId" : "string"
},
"status" : "NOT_STARTED",
"taskId" : "string"
}
3.11.3. Teardown a federation
DELETE /v1/sddc-federation
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
ACCEPTED |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation
Example HTTP response
Response 202
{
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : {
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : "...",
"status" : "NOT_STARTED",
"taskId" : "string"
},
"status" : "NOT_STARTED",
"taskId" : "string"
}
3.12. Hosts
APIs for managing Hosts
3.12.1. Commission the Hosts
POST /v1/hosts
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostCommissionSpecs |
hostCommissionSpecs |
< HostCommissionSpec > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts
Request body
[ {
"fqdn" : "string",
"networkPoolId" : "string",
"networkPoolName" : "string",
"password" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageType" : "One among: VSAN, NFS, VMFS_FC, VVOL",
"username" : "string",
"vvolStorageProtocolType" : "One among: ISCSI, NFS, FC"
} ]
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.2. Get the Hosts
GET /v1/hosts
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
clusterId |
ID of the Cluster |
string |
Query |
datastoreName |
Name of the datastore |
string |
Query |
domainId |
ID of the Domain |
string |
Query |
networkpoolId |
ID of the Network pool |
string |
Query |
status |
Status of the Host.One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE |
string |
Query |
storageType |
Type of the Storage.VMFS_FC |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts
Example HTTP response
Response 200
{
"elements" : [ {
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.3. Decommission the Hosts
DELETE /v1/hosts
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostDecommissionSpecs |
hostDecommissionSpecs |
< HostDecommissionSpec > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.4. Get all criteria
GET /v1/hosts/criteria
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/criteria
Example HTTP response
Response 200
{
"elements" : [ {
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.12.5. Get a criterion
GET /v1/hosts/criteria/{name}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
name |
name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Criterion Not Found |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/criteria/string
Example HTTP response
Response 200
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.6. Post a query
POST /v1/hosts/queries
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostCriterion |
hostCriterion |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/queries
Request body
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "One among: HOST_COMPATIBLE_WITH_CLUSTER_USING_PNICS, UNMANAGED_HOSTS_IN_VCENTER, UNMANAGED_HOSTS_IN_HCIMGR"
}
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.7. Get query response
GET /v1/hosts/queries/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Query Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/queries/string
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.8. Validate the input spec for hosts operations
POST /v1/hosts/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostCommissionSpecs |
hostCommissionSpecs |
< HostCommissionSpec > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/validations
Request body
[ {
"fqdn" : "string",
"networkPoolId" : "string",
"networkPoolName" : "string",
"password" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageType" : "One among: VSAN, NFS, VMFS_FC, VVOL",
"username" : "string",
"vvolStorageProtocolType" : "One among: ISCSI, NFS, FC"
} ]
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.9. Get the status of the validation of the input specification to commission the Hosts
GET /v1/hosts/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12.10. Get a Host
GET /v1/hosts/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Host Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/hosts/string
Example HTTP response
Response 200
{
"bundleRepoDatastore" : "string",
"cluster" : {
"id" : "string"
},
"compatibleStorageType" : "string",
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0,
"usedFrequencyMHz" : 0.0
},
"domain" : {
"id" : "string",
"name" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"hybrid" : true,
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, VSAN, VMOTION, NFS"
} ],
"isPrimary" : true,
"memory" : {
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
},
"networkpool" : {
"id" : "string",
"name" : "string"
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string",
"speed" : 0
} ],
"serialNumber" : {
"present" : true
},
"sshThumbprint" : {
"present" : true
},
"sslThumbprint" : {
"present" : true
},
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_UNUSEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: HDD, FLASH",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0,
"usedCapacityMB" : 0.0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.13. License Keys
APIs for managing License Keys
3.13.1. Add a License Key
POST /v1/license-keys
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
licenseKey |
License key with other attributes |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
Created |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/license-keys
Request body
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX ",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : "string",
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: VCENTER, VSAN, SDDC_MANAGER, ESXI, NSXT, WCP, HORIZON_VIEW"
}
Example HTTP response
Response 200
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX ",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : "string",
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: VCENTER, VSAN, SDDC_MANAGER, ESXI, NSXT, WCP, HORIZON_VIEW"
}
Response 201
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX ",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : "string",
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: VCENTER, VSAN, SDDC_MANAGER, ESXI, NSXT, WCP, HORIZON_VIEW"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.13.2. Get the License Keys
GET /v1/license-keys
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
licenseKeyStatus |
Status of a License Key |
< string > array(multi) |
Query |
productType |
Type of a Product |
< string > array(multi) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Successful |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/license-keys
Example HTTP response
Response 200
{
"elements" : [ {
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX ",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : "string",
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: VCENTER, VSAN, SDDC_MANAGER, ESXI, NSXT, WCP, HORIZON_VIEW"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.13.3. Get a License Key by key
GET /v1/license-keys/{key}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
key |
The 29 alpha numeric character license key with hyphens |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Successful |
|
404 |
License key not found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/license-keys/string
Example HTTP response
Response 200
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX ",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : "string",
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: VCENTER, VSAN, SDDC_MANAGER, ESXI, NSXT, WCP, HORIZON_VIEW"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.13.4. Delete a License Key
DELETE /v1/license-keys/{key}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
key |
The 29 alpha numeric character license key with hyphens |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
204 |
No content |
No Content |
404 |
License key not found |
No Content |
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/license-keys/string
Example HTTP response
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.14. Manifests
APIs for managing LCM Manifests
3.14.1. Save/Load manifest
POST /v1/manifests
Description
Save/Load manifest. Make sure manifest is a valid one. If manifest already exists, it gets overridden.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
manifest |
manifest |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted |
No Content |
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/manifests
Request body
{
"creationTime" : "string",
"publishedDate" : "string",
"recalledBundles" : [ {
"recalledBundleIds" : [ "string" ],
"replacementBundleIds" : [ "string" ],
"replacementBundleStatus" : "One among: NONE, PENDING, READY"
} ],
"releases" : [ {
"bom" : [ {
"additionalMetadata" : "string",
"name" : "string",
"publicName" : "string",
"releaseURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
},
"version" : "string"
} ],
"description" : "string",
"eol" : "string",
"minCompatibleVcfVersion" : "string",
"patchBundles" : [ {
"bundleElements" : [ "string" ],
"bundleId" : "string",
"bundleType" : "string",
"cumulativeFromVcfVersion" : "string"
} ],
"product" : "string",
"releaseDate" : "string",
"updates" : [ {
"baseProductVersion" : "string",
"description" : "string",
"id" : "string",
"productName" : "string",
"releaseDate" : "string",
"releaseUpdateURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
}
} ],
"version" : "string"
} ],
"sequenceNumber" : 0,
"version" : 0
}
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.14.2. Get manifest
GET /v1/manifests
Description
Get manifest. There should be only one valid manifest in the System.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Manifest Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/manifests
Example HTTP response
Response 200
{
"creationTime" : "string",
"publishedDate" : "string",
"recalledBundles" : [ {
"recalledBundleIds" : [ "string" ],
"replacementBundleIds" : [ "string" ],
"replacementBundleStatus" : "One among: NONE, PENDING, READY"
} ],
"releases" : [ {
"bom" : [ {
"additionalMetadata" : "string",
"name" : "string",
"publicName" : "string",
"releaseURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
},
"version" : "string"
} ],
"description" : "string",
"eol" : "string",
"minCompatibleVcfVersion" : "string",
"patchBundles" : [ {
"bundleElements" : [ "string" ],
"bundleId" : "string",
"bundleType" : "string",
"cumulativeFromVcfVersion" : "string"
} ],
"product" : "string",
"releaseDate" : "string",
"updates" : [ {
"baseProductVersion" : "string",
"description" : "string",
"id" : "string",
"productName" : "string",
"releaseDate" : "string",
"releaseUpdateURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
}
} ],
"version" : "string"
} ],
"sequenceNumber" : 0,
"version" : 0
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.15. Members
APIs for managing Members of the Federation
3.15.1. Join a VMware Cloud Foundation to a federation
POST /v1/sddc-federation/members
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
joinSpec |
Member Join Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
ACCEPTED |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation/members
Request body
{
"commonName" : "string",
"controllerFqdn" : "string",
"joinToken" : "string",
"memberJoinDetail" : {
"city" : "string",
"coordinate" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"country" : "string",
"fqdn" : "string",
"role" : "CONTROLLER",
"siteName" : "string",
"siteType" : "DATACENTER",
"state" : "string"
}
}
Example HTTP response
Response 202
{
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : {
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : "...",
"status" : "NOT_STARTED",
"taskId" : "string"
},
"status" : "NOT_STARTED",
"taskId" : "string"
}
3.15.2. Get fact about a VMware Cloud Foundation
GET /v1/sddc-federation/members
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
local |
Provide current member fact |
boolean |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation/members
Example HTTP response
Response 200
{
"error" : {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
},
"federationName" : "string",
"memberDetail" : {
"city" : "string",
"coordinate" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"country" : "string",
"fqdn" : "string",
"role" : "CONTROLLER",
"siteName" : "string",
"siteType" : "DATACENTER",
"state" : "string"
},
"permissions" : [ "BOOTSTRAP" ]
}
3.15.3. Leave a VMware Cloud Foundation from a federation
DELETE /v1/sddc-federation/members/{memberId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
memberId |
Member FQDN |
string |
Query |
force |
force |
boolean |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
ACCEPTED |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation/members/string
Example HTTP response
Response 202
{
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : {
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : "...",
"status" : "NOT_STARTED",
"taskId" : "string"
},
"status" : "NOT_STARTED",
"taskId" : "string"
}
3.16. Membership Token
APIs for managing Membership Token
3.16.1. Invite a VMware Cloud Foundation to be member of a federation
POST /v1/sddc-federation/membership-tokens
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
inviteSpec |
Invitation Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation/membership-tokens
Request body
{
"inviteeFqdn" : "string",
"inviteeRole" : "CONTROLLER",
"tokenExpiryHours" : 0.0
}
Example HTTP response
Response 200
{
"controllerFqdn" : [ "string" ],
"error" : {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
},
"invitationToken" : "string",
"inviteeFqdn" : "string",
"inviteeRole" : "CONTROLLER"
}
3.17. NSX-T Clusters
APIs for managing NSX-T Clusters
3.17.1. Get the NSX-T clusters
GET /v1/nsxt-clusters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
isShareable |
filter NSX-T clusters which can be shared for domain creation |
boolean |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters
Example HTTP response
Response 200
{
"elements" : [ {
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.2. Get all NSX-T criteria
GET /v1/nsxt-clusters/criteria
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/criteria
Example HTTP response
Response 200
{
"elements" : [ {
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "NSXT_CLUSTERS_WITH_STATUS"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.17.3. Get a NSX-T criterion
GET /v1/nsxt-clusters/criteria/{name}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
name |
name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Criterion Not Found |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/criteria/string
Example HTTP response
Response 200
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "NSXT_CLUSTERS_WITH_STATUS"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.4. validateIpPool
POST /v1/nsxt-clusters/ip-address-pools/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
nsxtIpAddressPoolValidationSpec |
nsxtIpAddressPoolValidationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/ip-address-pools/validations
Request body
{
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"nsxtClusterId" : "string"
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
3.17.5. getValidationResult
GET /v1/nsxt-clusters/ip-address-pools/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/ip-address-pools/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
3.17.6. Post a query
POST /v1/nsxt-clusters/queries
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
nsxtCriterion |
nsxtCriterion |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/queries
Request body
{
"arguments" : {
"string" : "string"
},
"description" : "string",
"name" : "NSXT_CLUSTERS_WITH_STATUS"
}
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 202
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.7. Get NSX-T cluster query response
GET /v1/nsxt-clusters/queries/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Query Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/queries/string
Example HTTP response
Response 200
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 202
{
"queryInfo" : {
"completed" : true,
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"failure" : true,
"processing" : true,
"status" : "string"
},
"result" : {
"elements" : [ {
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.8. Get a NSX-T cluster
GET /v1/nsxt-clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
NSX-T cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
NSX-T cluster not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/string
Example HTTP response
Response 200
{
"domains" : [ {
"id" : "string",
"name" : "string"
} ],
"id" : "string",
"isShareable" : true,
"isShared" : true,
"isVlcmCompatible" : true,
"nodes" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"name" : "string"
} ],
"status" : "One among: INITIALIZING, STABLE, DEGRADED, UNSTABLE, UNAVAILABLE, UNIDENTIFIED, UNDEFINED",
"version" : "string",
"vip" : "string",
"vipFqdn" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.9. Get the NSX-T IP address pools
GET /v1/nsxt-clusters/{nsxt-cluster-id}/ip-address-pools
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
nsxt-cluster-id |
NSX-T cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
IP address pools not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/string/ip-address-pools
Example HTTP response
Response 200
{
"availableIpAddresses" : 0,
"blockSubnets" : [ {
"cidr" : "string",
"gatewayAssigned" : true,
"size" : 0
} ],
"description" : "string",
"name" : "string",
"staticSubnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ],
"totalIpAddresses" : 0
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17.10. Get a NSX-T IP address pool
GET /v1/nsxt-clusters/{nsxt-cluster-id}/ip-address-pools/{name}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
name |
IP address pool name |
string |
Path |
nsxt-cluster-id |
NSX-T cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
IP address pool not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/nsxt-clusters/string/ip-address-pools/string
Example HTTP response
Response 200
{
"availableIpAddresses" : 0,
"blockSubnets" : [ {
"cidr" : "string",
"gatewayAssigned" : true,
"size" : 0
} ],
"description" : "string",
"name" : "string",
"staticSubnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ],
"totalIpAddresses" : 0
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18. Network Pools
APIs for managing Network Pools
3.18.1. Create a Network Pool
POST /v1/network-pools
Description
Create a Network Pool
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
networkPool |
Specification of the Network pool to create |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
The newly created network pool |
|
400 |
Errors due to network pool validations failures |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools
Request body
{
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
}
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
}
Response 201
{
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.2. Get the Network Pools
GET /v1/network-pools
Description
Get the Network Pools
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Referenced network pool |
|
404 |
Referenced network pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.3. Get a Network Pool
GET /v1/network-pools/{id}
Description
Get a Network Pool by ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the network pool to fetch |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Referenced network pool |
|
404 |
Referenced network pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools/string
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.4. Delete a Network Pool
DELETE /v1/network-pools/{id}
Description
Delete the Network Pool by the ID, if it exists and is unused
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the network pool |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
The specification of the deleted network pool |
No Content |
400 |
Hosts are still associated with NetworkPool |
|
404 |
Referenced network pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/network-pools/string
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.5. Update Network Pool
PATCH /v1/network-pools/{id}
Description
Update a Network Pool by ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Network Pool ID |
string |
Body |
networkPoolUpdateSpec |
Network Pool update data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Network Pool update completed |
|
404 |
Network Pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"networks" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.6. Get the Networks of a Network Pool
GET /v1/network-pools/{id}/networks
Description
Get the Networks that are part of a Network Pool
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID for Networkpool to get the networks from |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Networks for referenced network pool |
|
404 |
Network pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools/string/networks
Example HTTP response
Response 200
{
"elements" : [ {
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.7. Get a Network of a Network Pool
GET /v1/network-pools/{id}/networks/{networkId}
Description
Get a Network that is part of a Network Pool
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Id of the Network pool |
string |
Path |
networkId |
Id of the Network |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Network for referenced network pool |
|
404 |
Networkpool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools/string/networks/string
Example HTTP response
Response 200
{
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.8. Add an IP Pool to a Network of a Network Pool
POST /v1/network-pools/{id}/networks/{networkId}/ip-pools
Description
Add an IP Pool to a Network of a Network Pool
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Id of the networkpoolk |
string |
Path |
networkId |
Id of the network |
string |
Body |
ipPool |
ipPool |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Add the IP Pool associated with a Network of a Network Pool |
|
400 |
IP range validation failed error |
|
404 |
Either Network Pool ID or Network ID not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools/string/networks/string/ip-pools
Request body
{
"end" : "string",
"start" : "string"
}
Example HTTP response
Response 200
{
"freeIps" : [ "string" ],
"gateway" : "string",
"id" : "string",
"ipPools" : [ {
"end" : "string",
"start" : "string"
} ],
"mask" : "string",
"mtu" : 0,
"subnet" : "string",
"type" : "string",
"usedIps" : [ "string" ],
"vlanId" : 0
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18.9. Delete an IP Pool from a Network of a Network Pool
DELETE /v1/network-pools/{id}/networks/{networkId}/ip-pools
Description
Delete an IP Pool from a Network of a Network Pool
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the networkpool |
string |
Path |
networkId |
ID of the network |
string |
Body |
ipPool |
ipPool |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No Content |
No Content |
400 |
Errors due to network/networkpool validations failures |
|
404 |
Either network or Network pool not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/network-pools/string/networks/string/ip-pools
Request body
{
"end" : "string",
"start" : "string"
}
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19. NsxTEdgeClusters
APIs for managing NSX-T Edge Clusters
3.19.1. Create an Edge Cluster
POST /v1/edge-clusters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
edgeCreationSpec |
NSX-T Edge cluster creation data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters
Request body
{
"asn" : 0,
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeClusterProfileSpec" : {
"bfdAllowedHop" : 0,
"bfdDeclareDeadMultiple" : 0,
"bfdProbeInterval" : 0,
"edgeClusterProfileName" : "string",
"standbyRelocationThreshold" : 0
},
"edgeClusterProfileType" : "One among: DEFAULT, CUSTOM",
"edgeClusterType" : "One among: NSX-T",
"edgeFormFactor" : "One among: XLARGE, LARGE, MEDIUM, SMALL",
"edgeNodeSpecs" : [ {
"clusterId" : "string",
"edgeNodeName" : "string",
"edgeTep1IP" : "string",
"edgeTep2IP" : "string",
"edgeTepGateway" : "string",
"edgeTepVlan" : 0,
"firstNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"interRackCluster" : true,
"managementGateway" : "string",
"managementIP" : "string",
"secondNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"uplinkNetwork" : [ {
"asnPeer" : 0,
"bgpPeerPassword" : "string",
"bgpPeers" : [ {
"asn" : 0,
"ip" : "string",
"password" : "string"
} ],
"peerIP" : "string",
"uplinkInterfaceIP" : "string",
"uplinkVlan" : 0
} ]
} ],
"edgeRootPassword" : "string",
"internalTransitSubnets" : [ "string" ],
"mtu" : 0,
"tier0Name" : "string",
"tier0RoutingType" : "One among: EBGP, STATIC",
"tier0ServicesHighAvailability" : "One among: ACTIVE_ACTIVE, ACTIVE_STANDBY",
"tier1Name" : "string",
"transitSubnets" : [ "string" ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.2. Get the Edge Clusters
GET /v1/edge-clusters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
clusterId |
Pass an optional vSphere Cluster ID to fetch edge clusters associated with the vSphere Cluster |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters
Example HTTP response
Response 200
{
"elements" : [ {
"clusters" : [ {
"id" : "string"
} ],
"edgeNodes" : [ {
"hostName" : "string",
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"nsxtCluster" : {
"id" : "string",
"vip" : "string",
"vipFqdn" : "string"
}
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.3. Validate an Edge Cluster spec
POST /v1/edge-clusters/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
edgeCreationSpec |
NSX-T Edge cluster creation data to be validated |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters/validations
Request body
{
"asn" : 0,
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeClusterProfileSpec" : {
"bfdAllowedHop" : 0,
"bfdDeclareDeadMultiple" : 0,
"bfdProbeInterval" : 0,
"edgeClusterProfileName" : "string",
"standbyRelocationThreshold" : 0
},
"edgeClusterProfileType" : "One among: DEFAULT, CUSTOM",
"edgeClusterType" : "One among: NSX-T",
"edgeFormFactor" : "One among: XLARGE, LARGE, MEDIUM, SMALL",
"edgeNodeSpecs" : [ {
"clusterId" : "string",
"edgeNodeName" : "string",
"edgeTep1IP" : "string",
"edgeTep2IP" : "string",
"edgeTepGateway" : "string",
"edgeTepVlan" : 0,
"firstNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"interRackCluster" : true,
"managementGateway" : "string",
"managementIP" : "string",
"secondNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"uplinkNetwork" : [ {
"asnPeer" : 0,
"bgpPeerPassword" : "string",
"bgpPeers" : [ {
"asn" : 0,
"ip" : "string",
"password" : "string"
} ],
"peerIP" : "string",
"uplinkInterfaceIP" : "string",
"uplinkVlan" : 0
} ]
} ],
"edgeRootPassword" : "string",
"internalTransitSubnets" : [ "string" ],
"mtu" : 0,
"tier0Name" : "string",
"tier0RoutingType" : "One among: EBGP, STATIC",
"tier0ServicesHighAvailability" : "One among: ACTIVE_ACTIVE, ACTIVE_STANDBY",
"tier1Name" : "string",
"transitSubnets" : [ "string" ]
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.4. Get the Edge Cluster spec validation
GET /v1/edge-clusters/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.5. Get an Edge Cluster
GET /v1/edge-clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Edge Cluster ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Edge Cluster not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters/string
Example HTTP response
Response 200
{
"clusters" : [ {
"id" : "string"
} ],
"edgeNodes" : [ {
"hostName" : "string",
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"nsxtCluster" : {
"id" : "string",
"vip" : "string",
"vipFqdn" : "string"
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.6. Expand or Shrink an NSX-T Edge Cluster
PATCH /v1/edge-clusters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Edge Cluster ID |
string |
Body |
edgeClusterUpdateSpec |
NSX-T Edge cluster update specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
|
501 |
Not Implemented |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters/string
Request body
{
"edgeClusterExpansionSpec" : {
"additionalTier1Names" : [ "string" ],
"edgeNodeAdminPassword" : "string",
"edgeNodeAuditPassword" : "string",
"edgeNodeRootPassword" : "string",
"edgeNodeSpecs" : [ {
"clusterId" : "string",
"edgeNodeName" : "string",
"edgeTep1IP" : "string",
"edgeTep2IP" : "string",
"edgeTepGateway" : "string",
"edgeTepVlan" : 0,
"firstNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"interRackCluster" : true,
"managementGateway" : "string",
"managementIP" : "string",
"secondNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"uplinkNetwork" : [ {
"asnPeer" : 0,
"bgpPeerPassword" : "string",
"bgpPeers" : [ {
"asn" : 0,
"ip" : "string",
"password" : "string"
} ],
"peerIP" : "string",
"uplinkInterfaceIP" : "string",
"uplinkVlan" : 0
} ]
} ]
},
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "string" ]
},
"operation" : "One among: EXPANSION, SHRINKAGE"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 501
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19.7. Validate an NSX-T Edge Cluster update spec
POST /v1/edge-clusters/{id}/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
NSX-T Edge cluster id |
string |
Body |
edgeClusterUpdateSpec |
NSX-T Edge Cluster Update spec to be validated |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/edge-clusters/string/validations
Request body
{
"edgeClusterExpansionSpec" : {
"additionalTier1Names" : [ "string" ],
"edgeNodeAdminPassword" : "string",
"edgeNodeAuditPassword" : "string",
"edgeNodeRootPassword" : "string",
"edgeNodeSpecs" : [ {
"clusterId" : "string",
"edgeNodeName" : "string",
"edgeTep1IP" : "string",
"edgeTep2IP" : "string",
"edgeTepGateway" : "string",
"edgeTepVlan" : 0,
"firstNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"interRackCluster" : true,
"managementGateway" : "string",
"managementIP" : "string",
"secondNsxVdsUplink" : "One among: uplink1, uplink2, uplink3, uplink4",
"uplinkNetwork" : [ {
"asnPeer" : 0,
"bgpPeerPassword" : "string",
"bgpPeers" : [ {
"asn" : 0,
"ip" : "string",
"password" : "string"
} ],
"peerIP" : "string",
"uplinkInterfaceIP" : "string",
"uplinkVlan" : 0
} ]
} ]
},
"edgeClusterShrinkageSpec" : {
"edgeNodeIds" : [ "string" ]
},
"operation" : "One among: EXPANSION, SHRINKAGE"
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.20. PSCs
APIs for managing PSCs
3.20.1. Get the PSCs
GET /v1/pscs
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/pscs
Example HTTP response
Response 200
{
"elements" : [ {
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"isReplica" : true,
"ssoDomainName" : "string",
"ssoSubDomainName" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.20.2. Get a PSC
GET /v1/pscs/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
PSC ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Psc not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/pscs/string
Example HTTP response
Response 200
{
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"isReplica" : true,
"ssoDomainName" : "string",
"ssoSubDomainName" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21. Personalities
APIs for managing Personalities
3.21.1. Upload a Personality
POST /v1/personalities
Description
Upload Personality to SDDC Manager.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
personalityUploadSpec |
Personality Upload Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/personalities
Request body
{
"name" : "string",
"uploadMode" : "RAW, RAW_WITH_FILE_UPLOAD_ID, REFERRED",
"uploadSpecRawMode" : {
"personalityISOFilePath" : "string",
"personalityInfoJSONFilePath" : "string",
"personalityJSONFilePath" : "string",
"personalityZIPFilePath" : "string"
},
"uploadSpecRawWithFileUploadIdMode" : {
"fileUploadId" : "string"
},
"uploadSpecReferredMode" : {
"clusterId" : "string",
"vCenterId" : "string",
"vcenterId" : "string"
}
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21.2. Get the Personalities
GET /v1/personalities
Description
Get the Personalities which are available via depot access.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
addOnName |
The add on name |
string |
Query |
addOnVendorName |
The add on vendor name |
string |
Query |
baseOSVersion |
The base OS version |
string |
Query |
componentName |
The component name |
string |
Query |
componentVendorName |
The component vendor name |
string |
Query |
personalityName |
personalityName |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< Personality > array |
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/personalities
Example HTTP response
Response 200
[ {
"createdBy" : "string",
"description" : "ESXi 7.0 Dell Personality",
"displayName" : "ESXi 7.0 Dell Personality",
"imageChecksum" : "string",
"imageSize" : "string",
"kbArticles" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
},
"personalityId" : "string",
"personalityName" : "string",
"releaseDate" : 0,
"softwareInfo" : {
"addOn" : {
"displayName" : "string",
"displayVersion" : "string",
"name" : "DELL-sample-Addon",
"vendor" : "Dell",
"version" : "2.0-1"
},
"baseImage" : {
"details" : {
"displayName" : "7.0.0-0.0.30340198",
"displayVersion" : "string",
"releaseDate" : {
"calendarType" : "string",
"firstDayOfWeek" : 0,
"lenient" : true,
"minimalDaysInFirstWeek" : 0,
"time" : "1970-01-01T00:00:00Z",
"timeInMillis" : 0,
"timeZone" : {
"displayName" : "string",
"dstsavings" : 0,
"id" : "string",
"rawOffset" : 0
},
"weekDateSupported" : true,
"weekYear" : 0,
"weeksInWeekYear" : 0
}
},
"version" : "7.0.0-0.0.30340198"
},
"components" : {
"string" : "<<_componentinfo>>"
},
"hardwareSupport" : {
"packages" : {
"string" : "<<_hardwaresupportpackageinfo>>"
}
}
},
"tags" : [ "string" ],
"version" : "string",
"vsphereExportedIsoPath" : "string",
"vsphereExportedJsonPath" : "string",
"vsphereExportedZipPath" : "string"
} ]
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21.3. Delete the personality based on either name or id
DELETE /v1/personalities
Description
Delete the personality based on either name or id
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
personalityId |
The personality id |
string |
Query |
personalityName |
The personality name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
404 |
Personality by name or id not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/personalities
Example HTTP response
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21.4. Upload personality files to SDDC Manager
PUT /v1/personalities/files
Description
Upload personality files to SDDC Manager
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
files |
files |
< file > array(multi) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
string |
400 |
Bad request. |
|
404 |
Not Found |
|
500 |
Internal server error |
Consumes
-
multipart/form-data
Produces
-
application/json
Example HTTP request
Request path
/v1/personalities/files?files=file
Example HTTP response
Response 200
"string"
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21.5. Get Personalities By Id
GET /v1/personalities/{personalityId}
Description
Get the Personality for id
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
personalityId |
Personality ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Personality not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/personalities/string
Example HTTP response
Response 200
{
"createdBy" : "string",
"description" : "ESXi 7.0 Dell Personality",
"displayName" : "ESXi 7.0 Dell Personality",
"imageChecksum" : "string",
"imageSize" : "string",
"kbArticles" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
},
"personalityId" : "string",
"personalityName" : "string",
"releaseDate" : 0,
"softwareInfo" : {
"addOn" : {
"displayName" : "string",
"displayVersion" : "string",
"name" : "DELL-sample-Addon",
"vendor" : "Dell",
"version" : "2.0-1"
},
"baseImage" : {
"details" : {
"displayName" : "7.0.0-0.0.30340198",
"displayVersion" : "string",
"releaseDate" : {
"calendarType" : "string",
"firstDayOfWeek" : 0,
"lenient" : true,
"minimalDaysInFirstWeek" : 0,
"time" : "1970-01-01T00:00:00Z",
"timeInMillis" : 0,
"timeZone" : {
"displayName" : "string",
"dstsavings" : 0,
"id" : "string",
"rawOffset" : 0
},
"weekDateSupported" : true,
"weekYear" : 0,
"weeksInWeekYear" : 0
}
},
"version" : "7.0.0-0.0.30340198"
},
"components" : {
"string" : "<<_componentinfo>>"
},
"hardwareSupport" : {
"packages" : {
"string" : "<<_hardwaresupportpackageinfo>>"
}
}
},
"tags" : [ "string" ],
"version" : "string",
"vsphereExportedIsoPath" : "string",
"vsphereExportedJsonPath" : "string",
"vsphereExportedZipPath" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.22. Progress
APIs for progress of Federation Tasks
3.22.1. Get progress of an invoked operation
GET /v1/sddc-federation/tasks/{taskId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
taskId |
Task ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-federation/tasks/string
Example HTTP response
Response 200
{
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : {
"created" : {
"dateTime" : "string",
"timestamp" : 0
},
"errors" : [ {
"error" : "string",
"errorPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
},
"suggestedRemedy" : "string",
"suggestedRemedyPack" : {
"arguments" : [ "object" ],
"component" : "string",
"defaultMessage" : "string",
"localBundle" : "string",
"messageKey" : "string"
}
} ],
"lastUpdated" : {
"dateTime" : "string",
"timestamp" : 0
},
"operation" : "BOOTSTRAP",
"payload" : {
"assignedBrokerId" : 0,
"assignedZkId" : 0,
"mbServers" : {
"messageBusServersInfo" : [ {
"brokerId" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"port" : 0
} ]
},
"srServers" : {
"schemaRegistryServersInfo" : [ {
"hostAddress" : "string",
"port" : 0,
"protocol" : "string"
} ]
},
"zkServers" : {
"zookeeperServersInfo" : [ {
"clientPort" : 0,
"electionPort" : 0,
"fqdn" : "string",
"hostAddress" : "string",
"peerPort" : 0,
"securePort" : 0,
"zkId" : 0,
"zkRole" : "string"
} ]
}
},
"progressDetails" : "string",
"remoteOperationTask" : "...",
"status" : "NOT_STARTED",
"taskId" : "string"
},
"status" : "NOT_STARTED",
"taskId" : "string"
}
3.23. Releases
APIs for managing Releases
3.23.1. Get Releases.
GET /v1/releases
Description
Get all Releases, with option to get current release for a domain, get release by version or get future releases for a versionor get all the applicable target release.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
applicableForVersion |
Release version to get applicable releases |
string |
Query |
domainId |
Domain ID to get current release of the domain |
string |
Query |
versionEq |
Release version to get its release |
string |
Query |
versionGt |
Release version to get its future releases |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Release not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/releases
Example HTTP response
Response 200
{
"elements" : [ {
"bom" : [ {
"additionalMetadata" : "string",
"name" : "string",
"publicName" : "string",
"releaseURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
},
"version" : "string"
} ],
"description" : "string",
"eol" : "string",
"minCompatibleVcfVersion" : "string",
"patchBundles" : [ {
"bundleElements" : [ "string" ],
"bundleId" : "string",
"bundleType" : "string",
"cumulativeFromVcfVersion" : "string"
} ],
"product" : "string",
"releaseDate" : "string",
"updates" : [ {
"baseProductVersion" : "string",
"description" : "string",
"id" : "string",
"productName" : "string",
"releaseDate" : "string",
"releaseUpdateURL" : {
"authority" : "string",
"content" : "object",
"defaultPort" : 0,
"file" : "string",
"host" : "string",
"path" : "string",
"port" : 0,
"protocol" : "string",
"query" : "string",
"ref" : "string",
"userInfo" : "string"
}
} ],
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24. SDDC
APIs for managing SDDC
3.24.1. Create SDDC
POST /v1/sddcs
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
sddcSpec |
SDDC specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Success |
|
400 |
SDDC already exists, Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs
Request body
{
"ceipEnabled" : true,
"certificatesPassphrase" : "string",
"clusterSpec" : {
"clusterEvcMode" : "string",
"clusterName" : "string",
"hostFailuresToTolerate" : 0,
"hostProfileComplianceCheckHour" : 0,
"hostProfileComplianceCheckMinute" : 0,
"hosts" : [ "string" ],
"personalityName" : "string",
"resourcePoolSpecs" : [ {
"cpuLimit" : 0,
"cpuReservationExpandable" : true,
"cpuReservationMhz" : 0,
"cpuReservationPercentage" : 0,
"cpuSharesLevel" : "custom",
"cpuSharesValue" : 0,
"memoryLimit" : 0,
"memoryReservationExpandable" : true,
"memoryReservationMb" : 0,
"memoryReservationPercentage" : 0,
"memorySharesLevel" : "custom",
"memorySharesValue" : 0,
"name" : "string",
"type" : "management"
} ],
"vmFolders" : "One among:MANAGEMENT, NETWORKING, EDGENODES"
},
"dnsSpec" : {
"domain" : "vmware.com",
"nameserver" : "172.0.0.4",
"secondaryNameserver" : "172.0.0.5",
"subdomain" : "vcf.vmware.com"
},
"dvSwitchVersion" : "One among:6.0.0, 6.5.0, 7.0.0",
"dvsSpecs" : [ {
"dvsName" : "string",
"isUsedByNsxt" : true,
"mtu" : 0,
"networks" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network types defined in networkSpecs",
"niocSpecs" : [ {
"trafficType" : "One among:VSAN, VMOTION, VIRTUALMACHINE, MANAGEMENT, NFS, VDP, HBR, FAULTTOLERANCE, ISCSI",
"value" : "string"
} ],
"vmnics" : [ "string" ]
} ],
"esxLicense" : "string",
"excludedComponents" : "One among:Foundation, VsphereHostProfiles, LogInsight, NSX, VrealizeNetwork, VSAN, VSANCleanup, VROPS, VRA, DRDeployment, DRConfiguration, ConfigurationBackup, VRB, VRSLCM, Inventory, UMDS, EsxThumbprintValidation, AVN, CEIP, Backup, EBGP",
"fipsEnabled" : true,
"hostSpecs" : [ {
"association" : "string",
"credentials" : {
"password" : "Admin!23",
"username" : "root"
},
"hostname" : "esx-1",
"ipAddressPrivate" : {
"cidr" : "172.0.0.0/24",
"gateway" : "192.168.0.1",
"ipAddress" : "192.168.0.123",
"subnet" : "255.255.255.252"
},
"key" : "string",
"serverId" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vSwitch" : "string",
"vmknicSpecs" : [ {
"ipAddress" : "string",
"macAddress" : "string",
"portgroup" : "One among:VSAN, VMOTION, MANAGEMENT"
} ],
"vswitch" : "string"
} ],
"managementPoolName" : "string",
"networkSpecs" : [ {
"activeUplinks" : [ "string" ],
"excludeIpAddressRanges" : [ "string" ],
"excludeIpaddresses" : [ "string" ],
"gateway" : "string",
"includeIpAddress" : [ "string" ],
"includeIpAddressRanges" : [ {
"endIpAddress" : "192.168.0.128",
"startIpAddress" : "192.168.0.123"
} ],
"mtu" : "string",
"networkType" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network type",
"portGroupKey" : "string",
"standbyUplinks" : [ "string" ],
"subnet" : "string",
"subnetMask" : "string",
"teamingPolicy" : "One among:loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, loadbalance_loadbased",
"vlanId" : "string"
} ],
"nsxtSpec" : {
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"logicalSegments" : [ {
"name" : "string",
"networkType" : "Oneamong:X_REGION"
} ],
"nsxtAdminPassword" : "string",
"nsxtAuditPassword" : "string",
"nsxtEdgeSpec" : {
"asn" : 0,
"bgpNeighbours" : [ {
"autonomousSystem" : 0,
"forwardingIp" : "192.168.0.123",
"holdDownTimeSeconds" : 0,
"keepAliveTimeSeconds" : 0,
"neighbourIp" : "192.168.0.123",
"password" : "string",
"protocolIp" : "192.168.0.123",
"weight" : 0
} ],
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeFormFactor" : "Oneamong:SMALL",
"edgeNodeSpecs" : [ {
"edgeNodeHostname" : "string",
"edgeNodeName" : "string",
"edgeVtep1Cidr" : "string",
"edgeVtep2Cidr" : "string",
"interfaces" : [ {
"interfaceCidr" : "string",
"name" : "string"
} ],
"managementCidr" : "string"
} ],
"edgeRootPassword" : "string",
"edgeServicesSpecs" : {
"tier0GatewayName" : "string",
"tier1GatewayName" : "string"
},
"tier0ServicesHighAvailability" : "string"
},
"nsxtLicense" : "string",
"nsxtManagerSize" : "One among:medium, large",
"nsxtManagers" : [ {
"hostname" : "string",
"ip" : "string"
} ],
"overLayTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
},
"rootLoginEnabledForNsxtManager" : true,
"rootNsxtManagerPassword" : "string",
"sshEnabledForNsxtManager" : true,
"transportVlanId" : 0,
"vip" : "string",
"vipFqdn" : "string",
"vlanTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
}
},
"ntpServers" : [ "string" ],
"pscSpecs" : [ {
"adminUserSsoPassword" : "string",
"pscId" : "string",
"pscSsoSpec" : {
"ssoDomain" : "string"
}
} ],
"remoteSiteSpec" : {
"pscAddress" : "string",
"sslThumbprint" : "string",
"vcCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"sddcId" : "sfo01-m01",
"sddcManagerSpec" : {
"hostname" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"localUserPassword" : "string",
"netmask" : "string",
"rootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"secondUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"securitySpec" : {
"esxiCertsMode" : "One among:Custom, VMCA",
"rootCaCerts" : [ {
"alias" : "string",
"certChain" : [ "string" ]
} ]
},
"shouldCleanupVsan" : false,
"skipEsxThumbprintValidation" : true,
"skipGatewayPingValidation" : true,
"taskName" : "workflowconfig/workflowspec-ems.json",
"vcenterSpec" : {
"licenseFile" : "string",
"rootVcenterPassword" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vcenterHostname" : "string",
"vcenterIp" : "string",
"vcenterNetmask" : "string",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
},
"vsanSpec" : {
"datastoreName" : "string",
"hclFile" : "string",
"licenseFile" : "string",
"vsanDedup" : true,
"vsanName" : "string"
},
"vxManagerSpec" : {
"defaultAdminUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"defaultRootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vxManagerHostName" : "string"
}
}
Example HTTP response
Response 200
{
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
}
Response 202
{
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.2. Retrieve all SDDCs
GET /v1/sddcs
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Accepted |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs
Example HTTP response
Response 200
{
"elements" : [ {
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.3. Get Bringup Info
GET /v1/sddcs/about
Description
GET Method to retrieve information about Bringup app
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
No Content |
500 |
Internal Server Error |
No Content |
501 |
Not Implemented |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/about
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"status" : "string",
"version" : "string"
}
3.24.4. Validate SDDC specification before creation
POST /v1/sddcs/validations
Description
SDDC specification incorporates all the client inputs regarding VMW component parameters constituting the SDDC: NTP, DNS spec, ESXi, VC, VSAN, NSX spec et al.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
name |
Validation name |
enum (JSON_SPEC_VALIDATION, SECURE_PLATFORM_AUDIT, LICENSE_KEY_VALIDATION, TIME_SYNC_VALIDATION, NETWORK_IP_POOLS_VALIDATION, NETWORK_CONFIG_VALIDATION, NETWORK_CONNECTIVITY_VALIDATION, ESXI_VERSION_VALIDATION, ESXI_HOST_READINESS_VALIDATION, PASSWORDS_VALIDATION, HOST_IP_DNS_VALIDATION, CLOUDBUILDER_READY_VALIDATION, VSAN_AVAILABILITY_VALIDATION, NSXT_NETWORKS_VALIDATION, AVN_NETWORKS_VALIDATION, MANAGEMENT_NETWORKS_VALIDATION) |
Query |
redo |
redo |
boolean |
Body |
sddcSpec |
SDDC specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Accepted |
|
202 |
Success |
|
403 |
Forbidden |
No Content |
404 |
Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/validations
Request body
{
"ceipEnabled" : true,
"certificatesPassphrase" : "string",
"clusterSpec" : {
"clusterEvcMode" : "string",
"clusterName" : "string",
"hostFailuresToTolerate" : 0,
"hostProfileComplianceCheckHour" : 0,
"hostProfileComplianceCheckMinute" : 0,
"hosts" : [ "string" ],
"personalityName" : "string",
"resourcePoolSpecs" : [ {
"cpuLimit" : 0,
"cpuReservationExpandable" : true,
"cpuReservationMhz" : 0,
"cpuReservationPercentage" : 0,
"cpuSharesLevel" : "custom",
"cpuSharesValue" : 0,
"memoryLimit" : 0,
"memoryReservationExpandable" : true,
"memoryReservationMb" : 0,
"memoryReservationPercentage" : 0,
"memorySharesLevel" : "custom",
"memorySharesValue" : 0,
"name" : "string",
"type" : "management"
} ],
"vmFolders" : "One among:MANAGEMENT, NETWORKING, EDGENODES"
},
"dnsSpec" : {
"domain" : "vmware.com",
"nameserver" : "172.0.0.4",
"secondaryNameserver" : "172.0.0.5",
"subdomain" : "vcf.vmware.com"
},
"dvSwitchVersion" : "One among:6.0.0, 6.5.0, 7.0.0",
"dvsSpecs" : [ {
"dvsName" : "string",
"isUsedByNsxt" : true,
"mtu" : 0,
"networks" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network types defined in networkSpecs",
"niocSpecs" : [ {
"trafficType" : "One among:VSAN, VMOTION, VIRTUALMACHINE, MANAGEMENT, NFS, VDP, HBR, FAULTTOLERANCE, ISCSI",
"value" : "string"
} ],
"vmnics" : [ "string" ]
} ],
"esxLicense" : "string",
"excludedComponents" : "One among:Foundation, VsphereHostProfiles, LogInsight, NSX, VrealizeNetwork, VSAN, VSANCleanup, VROPS, VRA, DRDeployment, DRConfiguration, ConfigurationBackup, VRB, VRSLCM, Inventory, UMDS, EsxThumbprintValidation, AVN, CEIP, Backup, EBGP",
"fipsEnabled" : true,
"hostSpecs" : [ {
"association" : "string",
"credentials" : {
"password" : "Admin!23",
"username" : "root"
},
"hostname" : "esx-1",
"ipAddressPrivate" : {
"cidr" : "172.0.0.0/24",
"gateway" : "192.168.0.1",
"ipAddress" : "192.168.0.123",
"subnet" : "255.255.255.252"
},
"key" : "string",
"serverId" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vSwitch" : "string",
"vmknicSpecs" : [ {
"ipAddress" : "string",
"macAddress" : "string",
"portgroup" : "One among:VSAN, VMOTION, MANAGEMENT"
} ],
"vswitch" : "string"
} ],
"managementPoolName" : "string",
"networkSpecs" : [ {
"activeUplinks" : [ "string" ],
"excludeIpAddressRanges" : [ "string" ],
"excludeIpaddresses" : [ "string" ],
"gateway" : "string",
"includeIpAddress" : [ "string" ],
"includeIpAddressRanges" : [ {
"endIpAddress" : "192.168.0.128",
"startIpAddress" : "192.168.0.123"
} ],
"mtu" : "string",
"networkType" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network type",
"portGroupKey" : "string",
"standbyUplinks" : [ "string" ],
"subnet" : "string",
"subnetMask" : "string",
"teamingPolicy" : "One among:loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, loadbalance_loadbased",
"vlanId" : "string"
} ],
"nsxtSpec" : {
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"logicalSegments" : [ {
"name" : "string",
"networkType" : "Oneamong:X_REGION"
} ],
"nsxtAdminPassword" : "string",
"nsxtAuditPassword" : "string",
"nsxtEdgeSpec" : {
"asn" : 0,
"bgpNeighbours" : [ {
"autonomousSystem" : 0,
"forwardingIp" : "192.168.0.123",
"holdDownTimeSeconds" : 0,
"keepAliveTimeSeconds" : 0,
"neighbourIp" : "192.168.0.123",
"password" : "string",
"protocolIp" : "192.168.0.123",
"weight" : 0
} ],
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeFormFactor" : "Oneamong:SMALL",
"edgeNodeSpecs" : [ {
"edgeNodeHostname" : "string",
"edgeNodeName" : "string",
"edgeVtep1Cidr" : "string",
"edgeVtep2Cidr" : "string",
"interfaces" : [ {
"interfaceCidr" : "string",
"name" : "string"
} ],
"managementCidr" : "string"
} ],
"edgeRootPassword" : "string",
"edgeServicesSpecs" : {
"tier0GatewayName" : "string",
"tier1GatewayName" : "string"
},
"tier0ServicesHighAvailability" : "string"
},
"nsxtLicense" : "string",
"nsxtManagerSize" : "One among:medium, large",
"nsxtManagers" : [ {
"hostname" : "string",
"ip" : "string"
} ],
"overLayTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
},
"rootLoginEnabledForNsxtManager" : true,
"rootNsxtManagerPassword" : "string",
"sshEnabledForNsxtManager" : true,
"transportVlanId" : 0,
"vip" : "string",
"vipFqdn" : "string",
"vlanTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
}
},
"ntpServers" : [ "string" ],
"pscSpecs" : [ {
"adminUserSsoPassword" : "string",
"pscId" : "string",
"pscSsoSpec" : {
"ssoDomain" : "string"
}
} ],
"remoteSiteSpec" : {
"pscAddress" : "string",
"sslThumbprint" : "string",
"vcCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"sddcId" : "sfo01-m01",
"sddcManagerSpec" : {
"hostname" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"localUserPassword" : "string",
"netmask" : "string",
"rootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"secondUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"securitySpec" : {
"esxiCertsMode" : "One among:Custom, VMCA",
"rootCaCerts" : [ {
"alias" : "string",
"certChain" : [ "string" ]
} ]
},
"shouldCleanupVsan" : false,
"skipEsxThumbprintValidation" : true,
"skipGatewayPingValidation" : true,
"taskName" : "workflowconfig/workflowspec-ems.json",
"vcenterSpec" : {
"licenseFile" : "string",
"rootVcenterPassword" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vcenterHostname" : "string",
"vcenterIp" : "string",
"vcenterNetmask" : "string",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
},
"vsanSpec" : {
"datastoreName" : "string",
"hclFile" : "string",
"licenseFile" : "string",
"vsanDedup" : true,
"vsanName" : "string"
},
"vxManagerSpec" : {
"defaultAdminUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"defaultRootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vxManagerHostName" : "string"
}
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.5. Get all SDDC specification validations
GET /v1/sddcs/validations
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Accepted |
< Validation > array |
404 |
Not Found |
|
500 |
Internal Server Error |
|
501 |
Not Implemented |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/validations
Example HTTP response
Response 200
[ {
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
} ]
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 501
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.6. Get SDDC specification validation status by ID
GET /v1/sddcs/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
SDDC validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
Internal Server Error |
|
501 |
Not Implemented |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 501
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.7. Retry SDDC validation
PATCH /v1/sddcs/validations/{id}
Description
Retry a completed SDDC validation
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
SDDC validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Completed |
|
400 |
Bad Request |
No Content |
405 |
Method Not Allowed |
No Content |
500 |
Internal Server Error |
No Content |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/sddcs/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
3.24.8. Get validation report by ID
GET /v1/sddcs/validations/{validationId}/report
Description
Returns the bringup report for a validation. Reports are generated in PDF format.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
validationId |
Bringup validation ID |
string |
Query |
curClientTime |
Current client local time of the the report generation |
string |
Query |
startTime |
Start time of validation to be put in the report |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
string |
500 |
Internal Server Error |
No Content |
501 |
Not Implemented |
No Content |
Consumes
-
application/json
Produces
-
application/pdf
Example HTTP request
Request path
/v1/sddcs/validations/string/report
Example HTTP response
Response 200
"string"
3.24.9. Retrieve a SDDC
GET /v1/sddcs/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
SDDC ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/string
Example HTTP response
Response 200
{
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.10. Retry failed SDDC creation
PATCH /v1/sddcs/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
SDDC ID |
string |
Body |
sddcSpec |
sddcSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
405 |
Not allowed |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/string
Request body
{
"ceipEnabled" : true,
"certificatesPassphrase" : "string",
"clusterSpec" : {
"clusterEvcMode" : "string",
"clusterName" : "string",
"hostFailuresToTolerate" : 0,
"hostProfileComplianceCheckHour" : 0,
"hostProfileComplianceCheckMinute" : 0,
"hosts" : [ "string" ],
"personalityName" : "string",
"resourcePoolSpecs" : [ {
"cpuLimit" : 0,
"cpuReservationExpandable" : true,
"cpuReservationMhz" : 0,
"cpuReservationPercentage" : 0,
"cpuSharesLevel" : "custom",
"cpuSharesValue" : 0,
"memoryLimit" : 0,
"memoryReservationExpandable" : true,
"memoryReservationMb" : 0,
"memoryReservationPercentage" : 0,
"memorySharesLevel" : "custom",
"memorySharesValue" : 0,
"name" : "string",
"type" : "management"
} ],
"vmFolders" : "One among:MANAGEMENT, NETWORKING, EDGENODES"
},
"dnsSpec" : {
"domain" : "vmware.com",
"nameserver" : "172.0.0.4",
"secondaryNameserver" : "172.0.0.5",
"subdomain" : "vcf.vmware.com"
},
"dvSwitchVersion" : "One among:6.0.0, 6.5.0, 7.0.0",
"dvsSpecs" : [ {
"dvsName" : "string",
"isUsedByNsxt" : true,
"mtu" : 0,
"networks" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network types defined in networkSpecs",
"niocSpecs" : [ {
"trafficType" : "One among:VSAN, VMOTION, VIRTUALMACHINE, MANAGEMENT, NFS, VDP, HBR, FAULTTOLERANCE, ISCSI",
"value" : "string"
} ],
"vmnics" : [ "string" ]
} ],
"esxLicense" : "string",
"excludedComponents" : "One among:Foundation, VsphereHostProfiles, LogInsight, NSX, VrealizeNetwork, VSAN, VSANCleanup, VROPS, VRA, DRDeployment, DRConfiguration, ConfigurationBackup, VRB, VRSLCM, Inventory, UMDS, EsxThumbprintValidation, AVN, CEIP, Backup, EBGP",
"fipsEnabled" : true,
"hostSpecs" : [ {
"association" : "string",
"credentials" : {
"password" : "Admin!23",
"username" : "root"
},
"hostname" : "esx-1",
"ipAddressPrivate" : {
"cidr" : "172.0.0.0/24",
"gateway" : "192.168.0.1",
"ipAddress" : "192.168.0.123",
"subnet" : "255.255.255.252"
},
"key" : "string",
"serverId" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vSwitch" : "string",
"vmknicSpecs" : [ {
"ipAddress" : "string",
"macAddress" : "string",
"portgroup" : "One among:VSAN, VMOTION, MANAGEMENT"
} ],
"vswitch" : "string"
} ],
"managementPoolName" : "string",
"networkSpecs" : [ {
"activeUplinks" : [ "string" ],
"excludeIpAddressRanges" : [ "string" ],
"excludeIpaddresses" : [ "string" ],
"gateway" : "string",
"includeIpAddress" : [ "string" ],
"includeIpAddressRanges" : [ {
"endIpAddress" : "192.168.0.128",
"startIpAddress" : "192.168.0.123"
} ],
"mtu" : "string",
"networkType" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network type",
"portGroupKey" : "string",
"standbyUplinks" : [ "string" ],
"subnet" : "string",
"subnetMask" : "string",
"teamingPolicy" : "One among:loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, loadbalance_loadbased",
"vlanId" : "string"
} ],
"nsxtSpec" : {
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"logicalSegments" : [ {
"name" : "string",
"networkType" : "Oneamong:X_REGION"
} ],
"nsxtAdminPassword" : "string",
"nsxtAuditPassword" : "string",
"nsxtEdgeSpec" : {
"asn" : 0,
"bgpNeighbours" : [ {
"autonomousSystem" : 0,
"forwardingIp" : "192.168.0.123",
"holdDownTimeSeconds" : 0,
"keepAliveTimeSeconds" : 0,
"neighbourIp" : "192.168.0.123",
"password" : "string",
"protocolIp" : "192.168.0.123",
"weight" : 0
} ],
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeFormFactor" : "Oneamong:SMALL",
"edgeNodeSpecs" : [ {
"edgeNodeHostname" : "string",
"edgeNodeName" : "string",
"edgeVtep1Cidr" : "string",
"edgeVtep2Cidr" : "string",
"interfaces" : [ {
"interfaceCidr" : "string",
"name" : "string"
} ],
"managementCidr" : "string"
} ],
"edgeRootPassword" : "string",
"edgeServicesSpecs" : {
"tier0GatewayName" : "string",
"tier1GatewayName" : "string"
},
"tier0ServicesHighAvailability" : "string"
},
"nsxtLicense" : "string",
"nsxtManagerSize" : "One among:medium, large",
"nsxtManagers" : [ {
"hostname" : "string",
"ip" : "string"
} ],
"overLayTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
},
"rootLoginEnabledForNsxtManager" : true,
"rootNsxtManagerPassword" : "string",
"sshEnabledForNsxtManager" : true,
"transportVlanId" : 0,
"vip" : "string",
"vipFqdn" : "string",
"vlanTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
}
},
"ntpServers" : [ "string" ],
"pscSpecs" : [ {
"adminUserSsoPassword" : "string",
"pscId" : "string",
"pscSsoSpec" : {
"ssoDomain" : "string"
}
} ],
"remoteSiteSpec" : {
"pscAddress" : "string",
"sslThumbprint" : "string",
"vcCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"sddcId" : "sfo01-m01",
"sddcManagerSpec" : {
"hostname" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"localUserPassword" : "string",
"netmask" : "string",
"rootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"secondUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"securitySpec" : {
"esxiCertsMode" : "One among:Custom, VMCA",
"rootCaCerts" : [ {
"alias" : "string",
"certChain" : [ "string" ]
} ]
},
"shouldCleanupVsan" : false,
"skipEsxThumbprintValidation" : true,
"skipGatewayPingValidation" : true,
"taskName" : "workflowconfig/workflowspec-ems.json",
"vcenterSpec" : {
"licenseFile" : "string",
"rootVcenterPassword" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vcenterHostname" : "string",
"vcenterIp" : "string",
"vcenterNetmask" : "string",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
},
"vsanSpec" : {
"datastoreName" : "string",
"hclFile" : "string",
"licenseFile" : "string",
"vsanDedup" : true,
"vsanName" : "string"
},
"vxManagerSpec" : {
"defaultAdminUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"defaultRootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vxManagerHostName" : "string"
}
}
Example HTTP response
Response 200
{
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
}
Response 202
{
"creationTimestamp" : "string",
"id" : "string",
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"sddcSubTasks" : [ {
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"localizableDescriptionPack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"localizableNamePack" : {
"arguments" : [ "string" ],
"component" : "string",
"message" : "string",
"messageKey" : "string"
},
"name" : "string",
"processingStateDescription" : "string",
"processingStateName" : "string",
"sddcId" : "123e4567-e89b-42d3-a456-556642440000",
"status" : "INITIALIZED, COMPLETED_WITH_SUCCESS, COMPLETED_WITH_FAILURE, PREVALIDATION_COMPLETED_WITH_SUCCESS, PREVALIDATION_COMPLETED_WITH_FAILURE, POSTVALIDATION_COMPLETED_WITH_SUCCESS, POSTVALIDATION_COMPLETED_WITH_FAILURE,IN_PROGRESS, PREVALIDATION_IN_PROGRESS, POSTVALIDATION_IN_PROGRESS, INTERNAL_ERROR",
"updateTimestamp" : "string"
} ],
"status" : "One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 405
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24.11. Get SDDC report by ID
GET /v1/sddcs/{id}/detail-report
Description
Returns the bringup report. Reports are generated in PDF and CSV formats.
Parameters
Type | Name | Description | Schema | Default |
---|---|---|---|---|
Path |
id |
SDDC ID |
string |
|
Query |
format |
Supported bringup report formats - PDF,CSV |
enum (PDF, CSV) |
|
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
string |
204 |
No content |
string |
500 |
Internal Server Error |
No Content |
501 |
Not Implemented |
No Content |
Consumes
-
application/json
Produces
-
application/pdf
-
text/csv
Example HTTP request
Request path
/v1/sddcs/string/detail-report
3.24.12. Retrieve SDDC Manager VM details
GET /v1/sddcs/{id}/sddc-manager
Description
Retrieves the details of SDDC Manager VM
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
SDDC ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Not Found |
No Content |
500 |
Internal Server Error |
No Content |
501 |
Not Implemented |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddcs/string/sddc-manager
Example HTTP response
Response 200
{
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"version" : "string"
}
3.24.13. Convert SDDC specification Json/Excel File
POST /v1/system/sddc-spec-converter
Description
SDDC specification incorporates all the client inputs regarding VMW component parameters constituting the SDDC: NTP, DNS spec, ESXi, VC, VSAN, NSX spec et al.
Parameters
Type | Name | Description | Schema | Default |
---|---|---|---|---|
Query |
design |
Supported bringup designs - EMS,ems,VXRAIL,vxrail |
enum (EMS, ems, VXRAIL, vxrail) |
|
FormData |
specFile |
SDDC specification file which is either a JSON or xls file |
file |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Converting SDDC specification failed |
|
404 |
Not Found |
|
500 |
Internal Server Error |
|
501 |
Not Implemented |
Consumes
-
multipart/form-data
Produces
-
application/json
Example HTTP response
Response 200
{
"ceipEnabled" : true,
"certificatesPassphrase" : "string",
"clusterSpec" : {
"clusterEvcMode" : "string",
"clusterName" : "string",
"hostFailuresToTolerate" : 0,
"hostProfileComplianceCheckHour" : 0,
"hostProfileComplianceCheckMinute" : 0,
"hosts" : [ "string" ],
"personalityName" : "string",
"resourcePoolSpecs" : [ {
"cpuLimit" : 0,
"cpuReservationExpandable" : true,
"cpuReservationMhz" : 0,
"cpuReservationPercentage" : 0,
"cpuSharesLevel" : "custom",
"cpuSharesValue" : 0,
"memoryLimit" : 0,
"memoryReservationExpandable" : true,
"memoryReservationMb" : 0,
"memoryReservationPercentage" : 0,
"memorySharesLevel" : "custom",
"memorySharesValue" : 0,
"name" : "string",
"type" : "management"
} ],
"vmFolders" : "One among:MANAGEMENT, NETWORKING, EDGENODES"
},
"dnsSpec" : {
"domain" : "vmware.com",
"nameserver" : "172.0.0.4",
"secondaryNameserver" : "172.0.0.5",
"subdomain" : "vcf.vmware.com"
},
"dvSwitchVersion" : "One among:6.0.0, 6.5.0, 7.0.0",
"dvsSpecs" : [ {
"dvsName" : "string",
"isUsedByNsxt" : true,
"mtu" : 0,
"networks" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network types defined in networkSpecs",
"niocSpecs" : [ {
"trafficType" : "One among:VSAN, VMOTION, VIRTUALMACHINE, MANAGEMENT, NFS, VDP, HBR, FAULTTOLERANCE, ISCSI",
"value" : "string"
} ],
"vmnics" : [ "string" ]
} ],
"esxLicense" : "string",
"excludedComponents" : "One among:Foundation, VsphereHostProfiles, LogInsight, NSX, VrealizeNetwork, VSAN, VSANCleanup, VROPS, VRA, DRDeployment, DRConfiguration, ConfigurationBackup, VRB, VRSLCM, Inventory, UMDS, EsxThumbprintValidation, AVN, CEIP, Backup, EBGP",
"fipsEnabled" : true,
"hostSpecs" : [ {
"association" : "string",
"credentials" : {
"password" : "Admin!23",
"username" : "root"
},
"hostname" : "esx-1",
"ipAddressPrivate" : {
"cidr" : "172.0.0.0/24",
"gateway" : "192.168.0.1",
"ipAddress" : "192.168.0.123",
"subnet" : "255.255.255.252"
},
"key" : "string",
"serverId" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vSwitch" : "string",
"vmknicSpecs" : [ {
"ipAddress" : "string",
"macAddress" : "string",
"portgroup" : "One among:VSAN, VMOTION, MANAGEMENT"
} ],
"vswitch" : "string"
} ],
"managementPoolName" : "string",
"networkSpecs" : [ {
"activeUplinks" : [ "string" ],
"excludeIpAddressRanges" : [ "string" ],
"excludeIpaddresses" : [ "string" ],
"gateway" : "string",
"includeIpAddress" : [ "string" ],
"includeIpAddressRanges" : [ {
"endIpAddress" : "192.168.0.128",
"startIpAddress" : "192.168.0.123"
} ],
"mtu" : "string",
"networkType" : "One among: VSAN, VMOTION, MANAGEMENT, UPLINK01, UPLINK02, X_REGION, REGION_SPECIFIC, NSXT_EDGE_TEP or any custom network type",
"portGroupKey" : "string",
"standbyUplinks" : [ "string" ],
"subnet" : "string",
"subnetMask" : "string",
"teamingPolicy" : "One among:loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, loadbalance_loadbased",
"vlanId" : "string"
} ],
"nsxtSpec" : {
"ipAddressPoolSpec" : {
"description" : "string",
"ignoreUnavailableNsxtCluster" : true,
"name" : "string",
"subnets" : [ {
"cidr" : "string",
"gateway" : "string",
"ipAddressPoolRanges" : [ {
"end" : "string",
"start" : "string"
} ]
} ]
},
"logicalSegments" : [ {
"name" : "string",
"networkType" : "Oneamong:X_REGION"
} ],
"nsxtAdminPassword" : "string",
"nsxtAuditPassword" : "string",
"nsxtEdgeSpec" : {
"asn" : 0,
"bgpNeighbours" : [ {
"autonomousSystem" : 0,
"forwardingIp" : "192.168.0.123",
"holdDownTimeSeconds" : 0,
"keepAliveTimeSeconds" : 0,
"neighbourIp" : "192.168.0.123",
"password" : "string",
"protocolIp" : "192.168.0.123",
"weight" : 0
} ],
"edgeAdminPassword" : "string",
"edgeAuditPassword" : "string",
"edgeClusterName" : "string",
"edgeFormFactor" : "Oneamong:SMALL",
"edgeNodeSpecs" : [ {
"edgeNodeHostname" : "string",
"edgeNodeName" : "string",
"edgeVtep1Cidr" : "string",
"edgeVtep2Cidr" : "string",
"interfaces" : [ {
"interfaceCidr" : "string",
"name" : "string"
} ],
"managementCidr" : "string"
} ],
"edgeRootPassword" : "string",
"edgeServicesSpecs" : {
"tier0GatewayName" : "string",
"tier1GatewayName" : "string"
},
"tier0ServicesHighAvailability" : "string"
},
"nsxtLicense" : "string",
"nsxtManagerSize" : "One among:medium, large",
"nsxtManagers" : [ {
"hostname" : "string",
"ip" : "string"
} ],
"overLayTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
},
"rootLoginEnabledForNsxtManager" : true,
"rootNsxtManagerPassword" : "string",
"sshEnabledForNsxtManager" : true,
"transportVlanId" : 0,
"vip" : "string",
"vipFqdn" : "string",
"vlanTransportZone" : {
"networkName" : "string",
"zoneName" : "string"
}
},
"ntpServers" : [ "string" ],
"pscSpecs" : [ {
"adminUserSsoPassword" : "string",
"pscId" : "string",
"pscSsoSpec" : {
"ssoDomain" : "string"
}
} ],
"remoteSiteSpec" : {
"pscAddress" : "string",
"sslThumbprint" : "string",
"vcCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"sddcId" : "sfo01-m01",
"sddcManagerSpec" : {
"hostname" : "string",
"ipAddress" : "string",
"licenseKey" : "string",
"localUserPassword" : "string",
"netmask" : "string",
"rootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"secondUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
}
},
"securitySpec" : {
"esxiCertsMode" : "One among:Custom, VMCA",
"rootCaCerts" : [ {
"alias" : "string",
"certChain" : [ "string" ]
} ]
},
"shouldCleanupVsan" : false,
"skipEsxThumbprintValidation" : true,
"skipGatewayPingValidation" : true,
"taskName" : "workflowconfig/workflowspec-ems.json",
"vcenterSpec" : {
"licenseFile" : "string",
"rootVcenterPassword" : "string",
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"storageSize" : "One among:lstorage, xlstorage",
"vcenterHostname" : "string",
"vcenterIp" : "string",
"vcenterNetmask" : "string",
"vmSize" : "One among:xlarge, large, medium, small, tiny"
},
"vsanSpec" : {
"datastoreName" : "string",
"hclFile" : "string",
"licenseFile" : "string",
"vsanDedup" : true,
"vsanName" : "string"
},
"vxManagerSpec" : {
"defaultAdminUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"defaultRootUserCredentials" : {
"password" : "Admin!23",
"username" : "root"
},
"sshThumbprint" : "string",
"sslThumbprint" : "string",
"vxManagerHostName" : "string"
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 501
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25. SOS
APIs for managing SOS
3.25.1. Initiates Health-Checks for SDDC.
POST /v1/system/health-summary
Description
Initiates Health-Checks for SDDC.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
healthsummaryspec |
healthsummaryspec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
409 |
Operation is in progress for Id {id}. Wait for the operation to complete. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/health-summary
Request body
{
"healthChecks" : {
"certificateHealth" : true,
"composabilityHealth" : true,
"computeHealth" : true,
"connectivityHealth" : true,
"dnsHealth" : true,
"generalHealth" : true,
"hardwareCompatibilityHealth" : true,
"ntpHealth" : true,
"passwordHealth" : true,
"servicesHealth" : true,
"storageHealth" : true
},
"options" : {
"config" : {
"force" : true,
"skipKnownHostCheck" : true
},
"include" : {
"summaryReport" : true
}
},
"scope" : {
"domains" : [ {
"clusterNames" : [ "string" ],
"domainName" : "string"
} ],
"includeAllDomains" : true,
"includeFreeHosts" : true
}
}
Example HTTP response
Response 200
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 202
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.2. Get all Health-Checks task records.
GET /v1/system/health-summary
Description
Get all Health-Checks task records.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/health-summary
Example HTTP response
Response 200
{
"elements" : [ {
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.3. Get Health-Checks task record for an id.
GET /v1/system/health-summary/{id}
Description
Get Health-Checks task record for an id.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The Health Summary Id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/health-summary/string
Example HTTP response
Response 200
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.4. Download Health-Checks bundle.
GET /v1/system/health-summary/{id}/data
Description
Download Health-Checks bundle.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The Health Summary Id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
string (byte) |
400 |
Bad request! Invalid Headers or Data. Error: {error}. |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
404 |
Bundle not found or not available for download. Id:{id}. |
|
500 |
Something went wrong. Internal server error occurred. Error {error}. |
Consumes
-
application/json
Produces
-
application/octet-stream
Example HTTP request
Request path
/v1/system/health-summary/string/data
Example HTTP response
Response 200
"Ynl0ZQ=="
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.5. Initiates Support-Bundle collection for SDDC.
POST /v1/system/support-bundles
Description
Initiates Support-Bundle collection for SDDC.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
supportbundlespec |
supportbundlespec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
409 |
Operation is in progress for Id {id}. Wait for the operation to complete. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/support-bundles
Request body
{
"logs" : {
"apiLogs" : true,
"esxLogs" : true,
"nsxLogs" : true,
"sddcManagerLogs" : true,
"systemDebugLogs" : true,
"vcLogs" : true,
"vmScreenshots" : true,
"vraLogs" : true,
"vrliLogs" : true,
"vropsLogs" : true,
"vrslcmLogs" : true,
"vxrailManagerLogs" : true,
"wcpLogs" : true
},
"options" : {
"config" : {
"force" : true,
"skipKnownHostCheck" : true
},
"include" : {
"healthCheck" : true,
"summaryReport" : true
}
},
"scope" : {
"domains" : [ {
"clusterNames" : [ "string" ],
"domainName" : "string"
} ],
"includeFreeHosts" : true
}
}
Example HTTP response
Response 200
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 202
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.6. Get all Support-Bundle task records.
GET /v1/system/support-bundles
Description
Get all Support-Bundle task records.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/support-bundles
Example HTTP response
Response 200
{
"elements" : [ {
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.7. Get Support-Bundle task record for an id.
GET /v1/system/support-bundles/{id}
Description
Get Support-Bundle task record for an id.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The Support Bundle ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/support-bundles/string
Example HTTP response
Response 200
{
"bundleAvailable" : "string",
"bundleName" : "string",
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"id" : "string",
"status" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25.8. Download Support-Bundle.
GET /v1/system/support-bundles/{id}/data
Description
Download Support-Bundle.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The Support Bundle ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
string (byte) |
400 |
Bad request! Invalid Headers or Data. Error: {error} |
|
401 |
Bad request! Authorization Header is missing or not in correct format. |
|
404 |
Bundle not found or not available for download. Id:{id} |
|
500 |
Something went wrong. Internal server error occurred. Error {error} |
Consumes
-
application/json
Produces
-
application/octet-stream
Example HTTP request
Request path
/v1/system/support-bundles/string/data
Example HTTP response
Response 200
"Ynl0ZQ=="
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.26. SddcManagers
APIs for managing SDDC Managers
3.26.1. Get the SDDC Managers
GET /v1/sddc-managers
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-managers
Example HTTP response
Response 200
{
"elements" : [ {
"basicAuthDetails" : {
"status" : "One among: ENABLED, DISABLED",
"username" : "string"
},
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.26.2. Get a SDDC Manager
GET /v1/sddc-managers/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Sddc Manager ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Sddc Manager not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sddc-managers/string
Example HTTP response
Response 200
{
"basicAuthDetails" : {
"status" : "One among: ENABLED, DISABLED",
"username" : "string"
},
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"version" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.27. SystemPrechecks
APIs for managing System Prechecks
3.27.1. Precheck System
POST /v1/system/prechecks
Description
Perform precheck of resource(ex: Domain, Cluster). If only resource is specified, all resources/software components under it are included. If resource(Domain, Cluster etc) and specific resources/software components are provided, only those are included in precheck
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
precheckSpec |
Precheck System Spec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/prechecks
Request body
{
"bundleId" : "string",
"mode" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.27.2. Get Precheck Task by ID
GET /v1/system/prechecks/tasks/{id}
Description
Monitor the progress of precheck task by the precheck task ID
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Precheck Task ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Precheck Task Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/prechecks/tasks/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.28. Tasks
APIs for managing Tasks
3.28.1. Get the Tasks
GET /v1/tasks
Description
Get the Tasks
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
completedAfter |
A time based filter to get tasks which are completed after the given timestamp. A task is completed if its status is 'Successsful' or 'Failed'. Time is in milliseconds. |
integer (int64) |
Query |
limit |
The number of elements to be returned in the result |
integer (int32) |
Query |
resourceId |
resourceId |
string |
Query |
resourceType |
resourceType |
string |
Query |
taskStatus |
taskStatus |
string |
Query |
taskType |
taskType |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Returns the list of tasks. |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/tasks
Example HTTP response
Response 200
{
"elements" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.28.2. Get a Task
GET /v1/tasks/{id}
Description
Get a Task by ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task id to retrieve |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A task object. |
|
404 |
Task not found |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/tasks/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.28.3. Cancel a Task
DELETE /v1/tasks/{id}
Description
Cancel a Task by ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task id for cancelling |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Task was cancelled successfully. |
No Content |
404 |
Task not found |
|
409 |
Task can not be cancelled. Only a IN_PROGRESS task can be cancelled. |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/tasks/string
Example HTTP response
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.28.4. Retry a Task
PATCH /v1/tasks/{id}
Description
Retry a failed Task by ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task id retry |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Task was retried successfully. |
No Content |
404 |
Task not found |
|
409 |
Task can not be retried. Only a failed Task can be retried. |
|
500 |
Unexpected error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/tasks/string
Example HTTP response
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.29. Tokens
APIs for managing Access and Refresh Token
3.29.1. Create Token Pair
POST /v1/tokens
Description
Creates access token and refresh token for user access
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
tokenCreationSpec |
tokenCreationSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
Created |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/tokens
Request body
{
"apiKey" : "string",
"password" : "string",
"username" : "string"
}
Example HTTP response
Response 200
{
"accessToken" : "string",
"refreshToken" : {
"id" : "string"
}
}
Response 201
{
"accessToken" : "string",
"refreshToken" : {
"id" : "string"
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.29.2. Refresh Access Token
PATCH /v1/tokens/access-token/refresh
Description
Refresh the access token associated with the given refresh token
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
refreshToken |
refreshToken |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
string |
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP response
Response 200
"string"
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.29.3. Invalidate Refresh Token
DELETE /v1/tokens/refresh-token
Description
Invalidate the provided refresh token
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
refreshToken |
refreshToken |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No content |
No Content |
Consumes
-
application/json
Produces
-
*/*
3.30. Trusted Certificates
APIs for managing Trusted Certificates
3.30.1. Add trusted certificate to the SDDC manager
POST /v1/sddc-manager/trusted-certificates
Description
Add trusted certificate to the SDDC manager
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
trustedCertificateSpec |
trustedCertificateSpec |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
400 |
Bad request |
|
409 |
Trusted certificate already exists |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/sddc-manager/trusted-certificates
Request body
{
"certificate" : "string",
"certificateUsageType" : "One among: TRUSTED_FOR_OUTBOUND, TRUSTED_FOR_INBOUND"
}
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 409
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.31. Upgradables
APIs for managing Upgradables
3.31.1. Get the Upgradables
GET /v1/system/upgradables
Description
Fetches the list of Upgradables in the System. Only one Upgradable becomes AVAILABLE for Upgrade. The Upgradables provides information that can be use for Precheck API and also in the actual Upgrade API call.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/upgradables
Example HTTP response
Response 200
{
"elements" : [ {
"bundleId" : "string",
"bundleType" : "string",
"resource" : {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
},
"softwareComponents" : [ {
"id" : "string",
"type" : "string"
} ],
"status" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.31.2. Get the Upgradables
GET /v1/upgradables/domains/{domainId}
Description
Fetches the list of Upgradables for a given domain. If a target version is provided, Upgradables that are required for given target version become Available. The Upgradables providesinformation that can be use for Precheck API and also in the actual Upgrade API call.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Query |
targetVersion |
Target Version to get Upgradables for a given Target Release |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Domain not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgradables/domains/string
Example HTTP response
Response 200
{
"elements" : [ {
"bundleId" : "string",
"bundleType" : "string",
"resource" : {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
},
"softwareComponents" : [ {
"id" : "string",
"type" : "string"
} ],
"status" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.31.3. Get registered and available HSM details along with Software details
GET /v1/upgradables/domains/{domainId}/clusters
Description
Fetches the list of available hardware support managers and configured hardware support managers for the give resource along with the hardware support packages and Software details.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Domain Not Found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgradables/domains/string/clusters
Example HTTP response
Response 200
{
"elements" : [ {
"availableHardwareSupportManagers" : [ {
"displayName" : "string",
"name" : "string",
"packages" : [ {
"name" : "string",
"version" : "string"
} ]
} ],
"configuredHardwareSupportManagers" : [ {
"displayName" : "string",
"name" : "string",
"pkg" : {
"name" : "string",
"version" : "string"
}
} ],
"primaryCluster" : true,
"resourceId" : "string",
"resourceType" : "CLUSTER",
"softwareInfo" : {
"addOn" : {
"displayName" : "string",
"displayVersion" : "string",
"name" : "DELL-sample-Addon",
"vendor" : "Dell",
"version" : "2.0-1"
},
"baseImage" : {
"details" : {
"displayName" : "7.0.0-0.0.30340198",
"displayVersion" : "string",
"releaseDate" : {
"calendarType" : "string",
"firstDayOfWeek" : 0,
"lenient" : true,
"minimalDaysInFirstWeek" : 0,
"time" : "1970-01-01T00:00:00Z",
"timeInMillis" : 0,
"timeZone" : {
"displayName" : "string",
"dstsavings" : 0,
"id" : "string",
"rawOffset" : 0
},
"weekDateSupported" : true,
"weekYear" : 0,
"weeksInWeekYear" : 0
}
},
"version" : "7.0.0-0.0.30340198"
},
"components" : {
"string" : "<<_componentinfo>>"
},
"hardwareSupport" : {
"packages" : {
"string" : "<<_hardwaresupportpackageinfo>>"
}
}
},
"vlcmEnabled" : true
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.31.4. Get NSXT upgradable resources
GET /v1/upgradables/domains/{domainId}/nsxt
Description
Get the list NSXT upgradable reosurce with resource metadata info
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
domainId |
Domain ID |
string |
Query |
bundleId |
bundle Id of the upgrade bundle applicable on the domain |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< NsxtResources > array |
404 |
Bundle not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgradables/domains/string/nsxt
Example HTTP response
Response 200
[ {
"bundleId" : "string",
"domainId" : "string",
"nsxtEdgeClusters" : [ {
"id" : "string",
"name" : "string",
"resourceHealth" : "string",
"upgradeStatus" : "string",
"version" : "string"
} ],
"nsxtHostClusters" : [ {
"availableHardwareSupportManagers" : [ {
"displayName" : "string",
"name" : "string",
"packages" : [ {
"name" : "string",
"version" : "string"
} ]
} ],
"configuredHardwareSupportManagers" : [ {
"displayName" : "string",
"name" : "string",
"pkg" : {
"name" : "string",
"version" : "string"
}
} ],
"domainId" : "string",
"id" : "string",
"name" : "string",
"primaryCluster" : true,
"resourceHealth" : "string",
"totalUnits" : 0,
"upgradeStatus" : "string",
"upgradedUnits" : 0,
"version" : "string",
"vlcmEnabled" : true
} ],
"nsxtManagerCluster" : {
"id" : "string",
"name" : "string",
"resourceHealth" : "string",
"upgradeStatus" : "string",
"version" : "string"
},
"nsxtUpgradeCoordinator" : {
"enabledOn" : "string",
"id" : "string",
"resourceHealth" : "string",
"upgradeStatus" : "string",
"version" : "string"
}
} ]
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32. Upgrades
APIs for managing Upgrades
3.32.1. Perform Upgrade
POST /v1/upgrades
Description
Schedule/Trigger Upgrade of a Resource. Ex: Resource can be DOMAIN, CLUSTER, UNMANAGED_HOST etc. Performing upgrades are supported on VMware Cloud Foundation 3.5 BOM resources and above.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
upgradeSpec |
Upgrade Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
403 |
Operation not allowed |
|
424 |
Failed Dependency |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades
Request body
{
"bundleId" : "string",
"draftMode" : true,
"nsxtUpgradeUserInputSpecs" : [ {
"nsxtEdgeClusterUpgradeSpecs" : [ {
"edgeClusterId" : "string",
"edgeParallelUpgrade" : true
} ],
"nsxtHostClusterUpgradeSpecs" : [ {
"hostClusterId" : "string",
"hostParallelUpgrade" : true,
"liveUpgrade" : true
} ],
"nsxtId" : "string",
"nsxtUpgradeOptions" : {
"isEdgeClustersUpgradeParallel" : true,
"isEdgeOnlyUpgrade" : true,
"isHostClustersUpgradeParallel" : true
}
} ],
"parallelUpgrade" : true,
"resourceType" : "One among: DOMAIN, CLUSTER, UNASSIGNED_HOST",
"resourceUpgradeSpecs" : [ {
"enableQuickboot" : true,
"personalitySpec" : {
"hardwareSupportSpecs" : [ {
"name" : "string",
"packageSpec" : {
"name" : "string",
"version" : "string"
}
} ],
"personalityId" : "string"
},
"resourceId" : "string",
"scheduledTimestamp" : "string",
"shutdownVms" : true,
"toVersion" : "string",
"upgradeNow" : true
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 424
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32.2. Get Upgrades
GET /v1/upgrades
Description
Get Upgrades
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
bundleId |
Bundle Id for the upgrade |
string |
Query |
status |
Status of the upgrades you want to retrieve |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Upgrade not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades
Example HTTP response
Response 200
{
"elements" : [ {
"bundleId" : "string",
"id" : "string",
"nsxtUpgradeUserInputSpec" : {
"nsxtEdgeClusterUpgradeSpecs" : [ {
"edgeClusterId" : "string",
"edgeParallelUpgrade" : true
} ],
"nsxtHostClusterUpgradeSpecs" : [ {
"hostClusterId" : "string",
"hostParallelUpgrade" : true,
"liveUpgrade" : true
} ],
"nsxtId" : "string",
"nsxtUpgradeOptions" : {
"isEdgeClustersUpgradeParallel" : true,
"isEdgeOnlyUpgrade" : true,
"isHostClustersUpgradeParallel" : true
}
},
"parallelUpgrade" : true,
"resourceType" : "One among: DOMAIN, CLUSTER, UNASSIGNED_HOST",
"resourceUpgradeSpecs" : [ {
"enableQuickboot" : true,
"personalitySpec" : {
"hardwareSupportSpecs" : [ {
"name" : "string",
"packageSpec" : {
"name" : "string",
"version" : "string"
}
} ],
"personalityId" : "string"
},
"resourceId" : "string",
"scheduledTimestamp" : "string",
"shutdownVms" : true,
"toVersion" : "string",
"upgradeNow" : true
} ],
"status" : "string",
"taskId" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32.3. Get Upgrade By Id
GET /v1/upgrades/{upgradeId}
Description
Get Upgrade By Id
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
upgradeId |
upgradeId |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
404 |
Upgrade not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades/string
Example HTTP response
Response 200
{
"bundleId" : "string",
"id" : "string",
"nsxtUpgradeUserInputSpec" : {
"nsxtEdgeClusterUpgradeSpecs" : [ {
"edgeClusterId" : "string",
"edgeParallelUpgrade" : true
} ],
"nsxtHostClusterUpgradeSpecs" : [ {
"hostClusterId" : "string",
"hostParallelUpgrade" : true,
"liveUpgrade" : true
} ],
"nsxtId" : "string",
"nsxtUpgradeOptions" : {
"isEdgeClustersUpgradeParallel" : true,
"isEdgeOnlyUpgrade" : true,
"isHostClustersUpgradeParallel" : true
}
},
"parallelUpgrade" : true,
"resourceType" : "One among: DOMAIN, CLUSTER, UNASSIGNED_HOST",
"resourceUpgradeSpecs" : [ {
"enableQuickboot" : true,
"personalitySpec" : {
"hardwareSupportSpecs" : [ {
"name" : "string",
"packageSpec" : {
"name" : "string",
"version" : "string"
}
} ],
"personalityId" : "string"
},
"resourceId" : "string",
"scheduledTimestamp" : "string",
"shutdownVms" : true,
"toVersion" : "string",
"upgradeNow" : true
} ],
"status" : "string",
"taskId" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32.4. Commit/Reschedule Upgrade
PATCH /v1/upgrades/{upgradeId}
Description
Commit/Reschedule an existing upgrade. It moves the upgrade from DRAFT state to SCHEDULED state and/or changes the upgrade scheduled date/time.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
upgradeId |
upgradeId |
string |
Body |
upgradeCommitSpec |
Upgrade Commit/Reschedule Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Upgrade not found |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades/string
Request body
{
"scheduledTimestamp" : "string",
"upgradeNow" : true
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32.5. performPrechecks
POST /v1/upgrades/{upgradeId}/prechecks
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
upgradeId |
upgradeId |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
403 |
Operation not allowed |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades/string/prechecks
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32.6. getPrecheck
GET /v1/upgrades/{upgradeId}/prechecks/{precheckId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
precheckId |
precheckId |
string |
Path |
upgradeId |
upgradeId |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
403 |
Operation not allowed |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/upgrades/string/prechecks/string
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33. Users
APIs for managing Users
3.33.1. Get all roles
GET /v1/roles
Description
Get a list of all roles
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad request |
|
401 |
Unauthorized Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/roles
Example HTTP response
Response 200
{
"elements" : [ {
"description" : "string",
"id" : "string",
"name" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.2. Get all SSO domains
GET /v1/sso-domains
Description
Get a list of all SSO domains
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
401 |
Unauthorized Request |
|
403 |
Forbidden request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sso-domains
Example HTTP response
Response 200
{
"elements" : [ "string" ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.3. Get all entities of SSO domain
GET /v1/sso-domains/{sso-domain}/entities
Description
Get a list of all entities in the SSO domain
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
sso-domain |
SSO Domain Name |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
401 |
Unauthorized Request |
|
403 |
Forbidden request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/sso-domains/string/entities
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"name" : "string",
"type" : "One among: USER, GROUP"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 403
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.4. Add users
POST /v1/users
Description
Add list of users
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
users |
User data collection |
< User > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
Created |
|
400 |
Bad request |
|
401 |
Unauthorized Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/users
Request body
[ {
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
} ]
Example HTTP response
Response 200
{
"elements" : [ {
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 201
{
"elements" : [ {
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.5. Get all Users
GET /v1/users
Description
Get a list of all users
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad request |
|
401 |
Unauthorized Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/users
Example HTTP response
Response 200
{
"elements" : [ {
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.6. Get local account details
GET /v1/users/local/admin
Description
Get information on the local account
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad request |
|
401 |
Unauthorized Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/users/local/admin
Example HTTP response
Response 200
{
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"isConfigured" : true,
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
}
Response 400
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 401
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.7. Update password for local account
PATCH /v1/users/local/admin
Description
Update the password for local account only if the old password is correct, or if user configures the local account for the first time
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
locaUserPassword |
Local user password details |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No content |
No Content |
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/users/local/admin
Request body
{
"newPassword" : "string",
"oldPassword" : "string"
}
Example HTTP response
Response 500
{
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"cause" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33.8. getAllUiUsers
GET /v1/users/ui
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/users/ui
Example HTTP response
Response 200
{
"elements" : [ {
"apiKey" : "string",
"creationTimestamp" : "string",
"domain" : "string",
"id" : "string",
"name" : "string",
"role" : {
"id" : "string"
},
"type" : "One among: USER, GROUP, SERVICE"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.33.9. Delete a user
DELETE /v1/users/{id}
Description
Delete the user by the ID, if it exists
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the user |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No content |
No Content |
404 |
User not found |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/users/string
Example HTTP response
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34. VasaProviders
APIs for managing VASA Providers
3.34.1. Add a VASA Provider
POST /v1/vasa-providers
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
vasaProvider |
VASA Provider data |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 |
Created |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers
Request body
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Example HTTP response
Response 201
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.2. Get the VASA Providers
GET /v1/vasa-providers
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.3. Validate VasaProvider input specification
POST /v1/vasa-providers/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
vasaProvider |
vasaProvider |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/validations
Request body
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.4. Get the status of the validation of the VASA Provider
GET /v1/vasa-providers/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
404 |
Validation ID not found |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.5. Get a VASA Provider
GET /v1/vasa-providers/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.6. Delete a VASA Provider
DELETE /v1/vasa-providers/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No Content |
No Content |
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/vasa-providers/string
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.7. Update a VASA Provider
PATCH /v1/vasa-providers/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Body |
vasaProvider |
VASA Provider update data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string
Request body
{
"name" : "string",
"url" : "string"
}
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.8. Add the storage containers to a VASA Provider
POST /v1/vasa-providers/{id}/storage-containers
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Body |
storageContainers |
Storage containers data |
< StorageContainer > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 |
Created |
|
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/storage-containers
Request body
[ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ]
Example HTTP response
Response 201
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.9. Get the storage containers of a VASA Provider
GET /v1/vasa-providers/{id}/storage-containers
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Query |
protocolType |
Pass an optional Storage Protocol type |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< StorageContainer > array |
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/storage-containers
Example HTTP response
Response 200
[ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ]
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.10. Delete a storage container of a VASA Provider
DELETE /v1/vasa-providers/{id}/storage-containers/{storageContainerId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Path |
storageContainerId |
Storage container ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
No Content |
No Content |
400 |
Bad Request |
|
404 |
Storage container not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/vasa-providers/string/storage-containers/string
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.11. Update the storage container of a VASA Provider
PATCH /v1/vasa-providers/{id}/storage-containers/{storageContainerId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Path |
storageContainerId |
Storage container ID |
string |
Body |
storageContainer |
Storage container update data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Storage container not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/storage-containers/string
Request body
{
"name" : "string"
}
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.12. Add the users to a VASA Provider
POST /v1/vasa-providers/{id}/users
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Body |
vasaUsers |
VASA Users data |
< VasaUser > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 |
Created |
|
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/users
Request body
[ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
Example HTTP response
Response 201
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.13. Get the users of a VASA Provider
GET /v1/vasa-providers/{id}/users
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
< VasaUser > array |
400 |
Bad Request |
|
404 |
VASA Provider not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/users
Example HTTP response
Response 200
[ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34.14. Update the user of a VASA Provider
PATCH /v1/vasa-providers/{id}/users/{userId}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VASA Provider ID |
string |
Path |
userId |
User ID |
string |
Body |
vasaUser |
User update data |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
User not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vasa-providers/string/users/string
Request body
{
"password" : "string",
"username" : "string"
}
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"storageContainers" : [ {
"clusterId" : "string",
"id" : "string",
"name" : "string",
"protocolType" : "One among: ISCSI, FC, NFS"
} ],
"url" : "string",
"users" : [ {
"id" : "string",
"password" : "string",
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.35. VcfServices
APIs for managing VCF Services
3.35.1. Get the VcfServices
GET /v1/vcf-services
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vcf-services
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"name" : "string",
"status" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.35.2. Get a VcfService
GET /v1/vcf-services/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
VcfService ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
VcfService not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vcf-services/string
Example HTTP response
Response 200
{
"id" : "string",
"name" : "string",
"status" : "string",
"version" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36. VersionAliasesForBundleComponentType
APIs for managing Version Alias Configuration
3.36.1. Get Version Alias Configuration
GET /v1/system/settings/version-aliases
Description
Get the Version Alias Configuration.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/version-aliases
Example HTTP response
Response 200
{
"elements" : [ {
"bundleComponentType" : "One among: VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE, ",
"versionAliases" : [ {
"aliases" : [ "string" ],
"version" : "string"
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36.2. Update Version Alias Configurations
PUT /v1/system/settings/version-aliases
Description
Update Version Alias Configurations.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
versionAliasesForBundleComponentTypeSpec |
Version Alias Configuration Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/version-aliases
Request body
{
"forceUpdate" : true,
"targetVcfVersion" : "string",
"versionAliasesForBundleComponentTypes" : [ {
"bundleComponentType" : "One among: VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE, ",
"versionAliases" : [ {
"aliases" : [ "string" ],
"version" : "string"
} ]
} ]
}
Example HTTP response
Response 200
{
"elements" : [ {
"bundleComponentType" : "One among: VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE, ",
"versionAliases" : [ {
"aliases" : [ "string" ],
"version" : "string"
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36.3. Delete Version Alias for a bundle component type
DELETE /v1/system/settings/version-aliases/{bundleComponentType}
Description
Delete Version Alias for a bundle component type.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
bundleComponentType |
Bundle Component Type |
enum (VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
204 |
No Content |
No Content |
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/version-aliases/VCENTER
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36.4. Update Version Alias Configuration
PUT /v1/system/settings/version-aliases/{bundleComponentType}/{version}
Description
Update Version Alias Configuration.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
bundleComponentType |
Bundle Component Type |
enum (VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE) |
Path |
version |
Version |
string |
Body |
aliasSpec |
Alias Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/settings/version-aliases/VCENTER/string
Request body
{
"aliases" : [ "string" ],
"forceUpdate" : true
}
Example HTTP response
Response 200
{
"elements" : [ {
"bundleComponentType" : "One among: VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE, ",
"versionAliases" : [ {
"aliases" : [ "string" ],
"version" : "string"
} ]
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36.5. Delete Version Alias Configuration
DELETE /v1/system/settings/version-aliases/{bundleComponentType}/{version}
Description
Delete Version Alias Configuration by bundle component type, version, and aliases.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
bundleComponentType |
Bundle Component Type |
enum (VCENTER, PSC, NSX_T_MANAGER, NSX_MANAGER, ESX_HOST, VCF_VRA_UPGRADE, VCF_VRLI_UPGRADE, VCF_VROPS_UPGRADE, VCF_VRSLCM_UPGRADE, SDDC_MANAGER_VCF, LCM, SDDC_MANAGER, SDDC_MANAGER_UI, OPERATIONS_MANAGER, COMMON_SERVICES, SOLUTIONS_MANAGER, MULTI_SITE_SERVICE) |
Path |
version |
Version |
string |
Body |
aliasVersions |
List of alias versions |
< string > array |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
204 |
No Content |
No Content |
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
*/*
Example HTTP request
Request path
/v1/system/settings/version-aliases/VCENTER/string
Request body
[ "string" ]
Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.37. WSA
APIs for managing Workspace ONE Access for vRealize
3.37.1. Get all existing Workspace ONE Access instances
GET /v1/wsas
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/wsas
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"loadBalancerFqdn" : "wsa-lb.vrack.vsphere.local",
"loadBalancerIpAddress" : "10.0.0.15",
"nodes" : [ {
"fqdn" : "vrealize.node.vrack.vsphere.local",
"id" : "string",
"ipAddress" : "10.0.0.17",
"type" : "MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER"
} ],
"status" : "ACTIVE, ERROR",
"version" : "8.1.0-13036238"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.38. System
APIs for managing DNS & NTP configuration
3.38.1. Get the current DnsConfiguration
GET /v1/system/dns-configuration
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/dns-configuration
Example HTTP response
Response 200
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.2. Configure the Dns Server
PUT /v1/system/dns-configuration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
dnsConfiguration |
dnsConfiguration |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/dns-configuration
Request body
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.3. Validate DnsConfiguration input spec and system health before DNS configuration
POST /v1/system/dns-configuration/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
dnsConfiguration |
dnsConfiguration |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/dns-configuration/validations
Request body
{
"dnsServers" : [ {
"ipAddress" : "10.0.0.250",
"isPrimary" : true
} ]
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.4. Get the validations of the input dnsServers to configure new DNS server
GET /v1/system/dns-configuration/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
executionStatus |
executionStatus |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/dns-configuration/validations
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.5. Get the status of the validation of the input DnsConfiguration
GET /v1/system/dns-configuration/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/dns-configuration/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.6. Get the current NtpConfiguration
GET /v1/system/ntp-configuration
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ntp-configuration
Example HTTP response
Response 200
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.7. Configure the Ntp Server
PUT /v1/system/ntp-configuration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
ntpConfiguration |
ntpConfiguration |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ntp-configuration
Request body
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.8. Validate NtpConfiguration input spec and system health before Ntp configuration
POST /v1/system/ntp-configuration/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
ntpConfiguration |
ntpConfiguration |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ntp-configuration/validations
Request body
{
"ntpServers" : [ {
"ipAddress" : "10.0.0.250"
} ]
}
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.9. Get the validations of the input ntpServers to configure new Ntp server
GET /v1/system/ntp-configuration/validations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
executionStatus |
executionStatus |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ntp-configuration/validations
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38.10. Get the status of the validation of the input ntpServers to configure new Ntp server
GET /v1/system/ntp-configuration/validations/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/system/ntp-configuration/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.39. VCenters
APIs for managing vCenters
3.39.1. Get vCenters
GET /v1/vcenters
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
domainId |
ID of the domain |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vcenters
Example HTTP response
Response 200
{
"elements" : [ {
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.39.2. Get a vCenter
GET /v1/vcenters/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
vCenter ID |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
vCenter not found |
|
500 |
InternalServerError |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vcenters/string
Example HTTP response
Response 200
{
"domain" : {
"id" : "string",
"name" : "string"
},
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"version" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.40. VRA
APIs for managing vRealize Automation
3.40.1. Get all existing vRealize Automation instances
GET /v1/vras
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vras
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"loadBalancerFqdn" : "vra-lb.vrack.vsphere.local",
"loadBalancerIpAddress" : "10.0.0.15",
"nodes" : [ {
"fqdn" : "vrealize.node.vrack.vsphere.local",
"id" : "string",
"ipAddress" : "10.0.0.17",
"type" : "MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER"
} ],
"status" : "ACTIVE, ERROR",
"version" : "8.1.0-13036238"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.41. VRLI
APIs for managing vRealize Log Insight
3.41.1. Gets vRealize Log Insight integration status for workload domains
GET /v1/vrli/domains
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrli/domains
Example HTTP response
Response 200
{
"elements" : [ {
"domainId" : "string",
"status" : "ENABLED, DISABLED, IN_PROGRESS"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.41.2. Connects vRealize Log Insight with domain
PUT /v1/vrli/domains
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainIntegration |
Domain Integration Specification |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrli/domains
Request body
{
"domainId" : "string",
"status" : "ENABLED, DISABLED, IN_PROGRESS"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
3.41.3. Get all existing vRealize Log Insight instances
GET /v1/vrlis
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrlis
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"loadBalancerFqdn" : "load-balancer.vrack.vsphere.local",
"loadBalancerIpAddress" : "10.0.0.15",
"nodes" : [ {
"fqdn" : "vrealize.node.vrack.vsphere.local",
"id" : "string",
"ipAddress" : "10.0.0.17",
"type" : "MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER"
} ],
"status" : "ACTIVE, ERROR",
"version" : "4.8.0-13036238"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.42. VROPs
APIs for managing vRealize Operations
3.42.1. Gets vRealize Operations integration status for workload domains
GET /v1/vrops/domains
Description
Retrieves the existing domains and their connection status with vRealize Operations.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrops/domains
Example HTTP response
Response 200
{
"elements" : [ {
"domainId" : "string",
"status" : "ENABLED, DISABLED, IN_PROGRESS"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.42.2. Connect/disconnect workload domains with vRealize Operations
PUT /v1/vrops/domains
Description
Connects/disconnects a workload domains with vRealize Operations
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainIntegration |
Domain Integration Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrops/domains
Request body
{
"domainId" : "string",
"status" : "ENABLED, DISABLED, IN_PROGRESS"
}
Example HTTP response
Response 200
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.42.3. Get all existing vRealize Operations instances
GET /v1/vropses
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vropses
Example HTTP response
Response 200
{
"elements" : [ {
"id" : "string",
"loadBalancerFqdn" : "string",
"loadBalancerIp" : "string",
"nodes" : [ {
"fqdn" : "vrealize.node.vrack.vsphere.local",
"id" : "string",
"ipAddress" : "10.0.0.17",
"password" : "string",
"status" : "ACTIVE",
"type" : "MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER",
"username" : "user"
} ],
"status" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.43. VRSLCM
APIs for managing vRealize Suite Lifecycle Manager
3.43.1. Get the existing vRealize Suite Lifecycle Manager
GET /v1/vrslcm
Description
Gets the complete information about the existing vRealize Suite Lifecycle Manager instance.
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcm
Example HTTP response
Response 200
{
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"status" : "string",
"version" : "string"
}
3.43.2. Rollback vRealize Suite Lifecycle Manager after unsuccessful deployment
DELETE /v1/vrslcm
Description
Triggers the vRealize Suite Lifecycle Manager rollback operation and returns an URL in the headers to track the operation status.
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcm
Example HTTP response
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 405
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.43.3. Deploy vRealize Suite Lifecycle Manager
POST /v1/vrslcms
Description
Triggers the vRealize Suite Lifecycle Manager deployment operation and returns an URL in the headers to track the operation status.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
vrslcmPublicDeploymentSpec |
vRealize Suite Lifecycle Manager Deployment Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted |
|
400 |
Bad Request |
|
405 |
Method Not Allowed |
|
500 |
Internal Server Error |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcms
Request body
{
"apiPassword" : "string",
"fqdn" : "vrslcm.vrack.vsphere.local",
"nsxtStandaloneTier1Ip" : "string",
"sshPassword" : "string"
}
Example HTTP response
Response 202
{
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"isCancellable" : true,
"name" : "string",
"resolutionStatus" : "Can have only one of the two values: RESOLVED or UNRESOLVED",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, CANCELLED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"resources" : [ {
"fqdn" : "string",
"name" : "string",
"resourceId" : "string",
"sans" : [ "string" ],
"type" : "string"
} ],
"stages" : [ {
"completionTimestamp" : "string",
"creationTimestamp" : "string",
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"type" : "string"
} ],
"status" : "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
"subTasks" : [ "..." ],
"type" : "string"
} ],
"type" : "string"
} ],
"type" : "Sample values: HOST_COMMISSION, HOST_DECOMMISSION"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 405
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.43.4. Get all existing vRealize Suite Lifecycle Manager instances
GET /v1/vrslcms
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcms
Example HTTP response
Response 200
{
"elements" : [ {
"fqdn" : "string",
"id" : "string",
"ipAddress" : "string",
"status" : "string",
"version" : "string"
} ],
"pageMetadata" : {
"pageNumber" : 0,
"pageSize" : 0,
"totalElements" : 0,
"totalPages" : 0
}
}
3.43.5. Validate the input specification for vRealize Suite Lifecycle Manager deployment
POST /v1/vrslcms/validations
Description
Triggers vRealize Suite Lifecycle Manager deployment specification validation workflow
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
vrslcmPublicDeploymentSpec |
vRealize Suite Lifecycle Manager Deployment Specification |
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted |
|
400 |
Bad Request |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcms/validations
Request body
{
"apiPassword" : "string",
"fqdn" : "vrslcm.vrack.vsphere.local",
"nsxtStandaloneTier1Ip" : "string",
"sshPassword" : "string"
}
Example HTTP response
Response 202
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.43.6. Get the status of the validations for vRealize Lifecycle Manager deployment
GET /v1/vrslcms/validations/{id}
Description
Gets the status of given vRealize Suite Lifecycle Manager validation workflow by given validation id
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
vRealize validation id |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
404 |
Not Found |
Consumes
-
application/json
Produces
-
application/json
Example HTTP request
Request path
/v1/vrslcms/validations/string
Example HTTP response
Response 200
{
"additionalProperties" : {
"string" : "string"
},
"description" : "string",
"executionStatus" : "One among: IN_PROGRESS, FAILED, COMPLETED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: SUCCEEDED, FAILED, FAILED_WITH_WARNINGS, CANCELLATION_IN_PROGRESS",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"nestedValidationChecks" : [ "..." ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ],
"resultStatus" : "One among: IN_PROGRESS, SUCCEEDED, FAILED, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS",
"severity" : "One among: WARNING, ERROR, INFO"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"errorType" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
4. Definitions
4.1. AddOnInfo
AddOn contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
displayName |
Add On display name |
string |
displayVersion |
Add On display version |
string |
name |
Component name |
string |
vendor |
vendor |
string |
version |
Add on software version |
string |
4.2. AdvancedOptions
Advanced Options used to add Cluster
Name | Description | Schema |
---|---|---|
evcMode |
EVC mode for new cluster, if needed |
string |
highAvailability |
High availability settings for the cluster |
4.3. AliasSpec
Version Alias update Specification. This specification gets used in the Version Alias Update API.
Name | Description | Schema |
---|---|---|
aliases |
Aliases for bundle component type and version. |
< string > array |
forceUpdate |
Flag for force update version alias configuration. |
boolean |
4.4. AuthenticatedResource
Represents the credential resource in the system
Name | Description | Schema |
---|---|---|
domainName |
Domain name |
string |
resourceId |
Resource ID |
string |
resourceIp |
Resource IP address |
string |
resourceName |
Resource name |
string |
resourceType |
Resource type |
string |
4.5. AutoRotateCredentialPolicy
Represents a auto-rotate policy for a credential
Name | Description | Schema |
---|---|---|
frequencyInDays |
Frequency in days |
integer (int32) |
nextSchedule |
The timestamp at which auto-rotate for credential will run |
string |
4.6. AutoRotateCredentialPolicyInputSpec
Represents password auto rotate config details
Name | Description | Schema |
---|---|---|
enableAutoRotatePolicy |
Enable or disable auto rotate policy |
boolean |
frequencyInDays |
Frequency in days |
integer (int32) |
4.7. Avn
Defines an Application virtual Network (AVN) and its attributes
Name | Description | Schema |
---|---|---|
domainName |
AVN search domain |
string |
gateway |
Gateway of the AVN subnet |
string |
id |
The UUID of the AVN |
string |
mtu |
MTU for the AVN |
integer (int32) |
name |
User provided name of the AVN |
string |
portGroupName |
Port group name identifying the AVN on the distributed switch |
string |
regionType |
The region type of AVN; X_REGION or REGION_A |
string |
routerName |
Name of Tier-1 Gateway AVN is connected to |
string |
subnet |
Subnet assigned to the AVN |
string |
subnetMask |
Subnet mask for the network assigned to the AVN |
string |
vlanId |
VLAN ID for the VLAN backed AVN |
integer (int32) |
4.8. AvnsCreationSpec
Defines the spec to create Application virtual Networks (AVNs) and its attributes
Name | Description | Schema |
---|---|---|
avns |
The list of AVNs to be created |
< Avn > array |
edgeClusterId |
The UUID of the Edge Cluster to associate AVNs |
string |
4.9. BackupConfiguration
Backup configuration used to configure backup of NSX and SDDC manager
Name | Description | Schema |
---|---|---|
backupLocations |
List of backup locations |
< BackupLocation > array |
backupSchedules |
List of backup schedules |
< BackupSchedule > array |
encryption |
Encryption passphrase used to encrypt and decrypt backup file |
|
isConfigured |
Backup configuration status of both FTP server and passphrase |
boolean |
4.10. BackupConfigurationSpec
Backup configuration Specification
Name | Description | Schema |
---|---|---|
backupLocations |
List of backup locations |
< BackupLocation > array |
backupSchedules |
List of backup schedules |
< BackupSchedule > array |
encryption |
Encryption passphrase to encrypt and decrypt backup file |
4.11. BackupLocation
Backup location to backup VCF resources
Name | Description | Schema |
---|---|---|
directoryPath |
Full directory path to save the backup files |
string |
password |
Backup server password |
string |
port |
Port number for the backup server to connect |
integer (int32) |
protocol |
Protocol to be used for transferring files |
string |
server |
IP address or FQDN of the backup server |
string |
sshFingerprint |
SSH fingerprint of the backup server |
string |
username |
Password for backup server username |
string |
4.12. BackupResource
Element specification to trigger backup
Name | Description | Schema |
---|---|---|
resourceType |
Resource type |
string |
4.13. BackupRetentionPolicy
Backup retention policy for SDDC Manager comprising three attributes. Backup files are deleted if they do not satisfy any of the three attributes.
Name | Description | Schema |
---|---|---|
numberOfDaysOfDailyBackups |
This attribute controls the number of daily backup files to retain, measured in days. Range 0 to 30 days. The system will filter the existing backup files, and retain one for every day for the specified number of days, counting back from the most recent backup. |
integer (int32) |
numberOfDaysOfHourlyBackups |
This attribute controls the number of hourly backup files to retain, measured in days. Range 0 to 14 days. The system will filter the existing backup files, and retain one for every hour for the specified number of days, counting back from the most recent backup. |
integer (int32) |
numberOfMostRecentBackups |
This attribute controls the number of recent backup files to retain. Range 1 to 600 backup files. |
integer (int32) |
4.14. BackupSchedule
Backup schedule configuration
Name | Description | Schema |
---|---|---|
daysOfWeek |
List of days of the week to schedule backup |
< string > array |
frequency |
Backup frequency |
string |
hourOfDay |
Hour of the day to schedule backup |
integer (int32) |
minuteOfHour |
Minute of the hour to schedule backup |
integer (int32) |
resourceType |
Resource type to configure backup schedule |
string |
retentionPolicy |
Backup retention policy |
|
takeBackupOnStateChange |
Enable/disable backups on state change. If enabled, SDDC Manager will take a backup after the successful completion of an operation that changes its state. This mode requires that scheduled backups be enabled. |
boolean |
takeScheduledBackups |
Enable/disable scheduled backups |
boolean |
4.15. BackupSpec
Backup Specification
Name | Description | Schema |
---|---|---|
elements |
List of elements to be backed up |
< BackupResource > array |
4.16. BackupTask
Name | Description | Schema |
---|---|---|
errors |
List of errors in case of a failure |
< Error > array |
id |
Backup task ID |
string |
name |
Backup task name |
string |
resources |
Backup resources, to get the backup details |
< Resource > array |
status |
Backup task status |
string |
4.17. BaseAlias
Base Alias representation
Name | Description | Schema |
---|---|---|
aliases |
List of Alias versions |
< string > array |
version |
Base version |
string |
4.18. BaseCredential
Represents credentials of a resource in the system
Name | Description | Schema |
---|---|---|
accountType |
Account type |
string |
credentialType |
Credential type |
string |
password |
Password |
string |
username |
Username |
string |
4.19. BaseImageDetails
BaseImage contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
displayName |
BaseImage display name |
string |
displayVersion |
BaseImage display version |
string |
releaseDate |
BaseImage release date |
4.20. BaseImageInfo
BaseImage contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
details |
BaseImage details |
|
version |
BaseImage Version |
string |
4.21. BasicAuthDetails
Basic auth details
Name | Description | Schema |
---|---|---|
status |
Basic auth status |
string |
username |
Basic auth username |
string |
4.22. BgpNeighbour
NSX Edge BGP Neighbour Specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
autonomousSystem |
BGP neighbour autonomous system ID |
integer (int64) |
forwardingIp |
BGP forwarding IP address |
string |
holdDownTimeSeconds |
BGP neighbour hold down time (in seconds) |
integer (int32) |
keepAliveTimeSeconds |
BGP neighbour keep alive time (in seconds) |
integer (int32) |
neighbourIp |
BGP neighbour IP address |
string |
password |
BGP neighbour password |
string |
protocolIp |
BGP protocol IP address |
string |
weight |
BGP neighbour weight |
integer (int32) |
4.23. BgpPeerSpec
This specification contains configuration inputs required for BGP configuration for an uplink
Name | Description | Schema |
---|---|---|
asn |
ASN of Peer |
integer (int64) |
ip |
BGP Peer IP |
string |
password |
BGP Peer Password |
string |
4.24. BootstrapSpec
Name | Description | Schema |
---|---|---|
federationName |
Example : |
string |
memberJoinDetail |
Example : MemberDetail |
4.25. Bundle
Bundle contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
components |
Bundle Components |
< BundleComponent > array |
description |
Bundle Description |
string |
downloadStatus |
Bundle Download Status |
string |
id |
Bundle ID |
string |
isCompliant |
Is compliant with the current VCF version |
boolean |
isCumulative |
Is Bundle Cumulative |
boolean |
releasedDate |
Bundle Release Date |
string |
severity |
Bundle Severity |
string |
sizeMB |
Bundle Size in MB |
number (double) |
type |
Bundle Type |
string |
vendor |
Bundle Vendor |
string |
version |
Bundle Version |
string |
4.26. BundleComponent
Bundle Software Component
Name | Description | Schema |
---|---|---|
description |
Bundle Component Description |
string |
fromVersion |
Bundle Component’s from/source version before Upgrade |
string |
id |
ID of Resource/Software Component |
string |
imageType |
Bundle Component Image Type |
string |
releasedDate |
Bundle Component Release Date |
string |
toVersion |
Bundle Component’s to/target version after Upgrade |
string |
type |
Type of Resource/Software Component |
string |
vendor |
Bundle Component Vendor |
string |
4.27. BundleDownloadSpec
Bundle Download Specification. This specification gets used in the Bundle Download API
Name | Description | Schema |
---|---|---|
downloadNow |
Flag for enabling Download Now. If true, scheduledTimestamp is ignored |
boolean |
scheduledTimestamp |
Bundle Download Scheduled Time |
string |
4.28. BundleRecall
Bundle Recall model for collection of bundles that are recalled with their replacements if applicable.
Name | Description | Schema |
---|---|---|
recalledBundleIds |
List of Bundle IDs that are recalled |
< string > array |
replacementBundleIds |
List of Bundle IDs that act as replacement |
< string > array |
replacementBundleStatus |
Status of bundle replacement. |
string |
4.29. BundleUpdateSpec
Bundle Update Specification.
Name | Description | Schema |
---|---|---|
bundleDownloadSpec |
Bundle Download Specification. |
|
compatibilitySetsFilePath |
Path to the software compatibility sets file |
string |
4.30. BundleUploadSpec
Bundle Upload Specification. This specification is used in the Bundle Upload API
Name | Description | Schema |
---|---|---|
bundleFilePath |
Bundle Upload File Path |
string |
compatibilitySetsFilePath |
Path to the software compatibility sets file |
string |
manifestFilePath |
Bundle Upload Manifest File Path |
string |
partnerExtensionSpec |
Partner extensions for bundle upload |
|
signatureFilePath |
Bundle Upload Signature File Path |
string |
4.31. CPU
Name | Description | Schema |
---|---|---|
free |
Example : |
number (double) |
total |
Example : |
number (double) |
unallocated |
Example : |
number (double) |
unit |
Example : |
enum (GHZ, GB, TB, HZ, KHZ, MHZ, THZ, B, PB) |
used |
Example : |
number (double) |
4.32. Calendar
Name | Description | Schema |
---|---|---|
calendarType |
Example : |
string |
firstDayOfWeek |
Example : |
integer (int32) |
lenient |
Example : |
boolean |
minimalDaysInFirstWeek |
Example : |
integer (int32) |
time |
Example : |
string (date-time) |
timeInMillis |
Example : |
integer (int64) |
timeZone |
Example : TimeZone |
|
weekDateSupported |
Example : |
boolean |
weekYear |
Example : |
integer (int32) |
weeksInWeekYear |
Example : |
integer (int32) |
4.33. Capacity
Represents a usage and capacity information of a Resource
Name | Description | Schema |
---|---|---|
cpu |
Cpu metrics of the resource |
|
memory |
Memory metrics of the resource |
|
storage |
Storage metrics of the resource |
4.34. CapacitySummary
Name | Description | Schema |
---|---|---|
aggregatedCapacity |
Example : ResourceCapacity |
|
domainCount |
Example : |
integer (int32) |
domainInfo |
Example : |
< DomainInfo > array |
domainTypeInfo |
Example : |
< DomainSummary > array |
4.35. Ceip
Defines VCF CEIP status and instance id
Name | Description | Schema |
---|---|---|
instanceId |
Instance Id of VCF |
string |
status |
CEIP status |
string |
4.36. CeipUpdateSpec
Specification for CEIP state change
Name | Description | Schema |
---|---|---|
status |
User provided CEIP operation |
string |
4.37. Certificate
Represents certificate and its attributes
Name | Description | Schema |
---|---|---|
expirationStatus |
Certificate expiry status |
string |
getCertificateError |
Error if certificate cannot be fetched |
string |
isInstalled |
Whether the certificate is installed or not |
boolean |
issuedBy |
The certificate authority that issued the certificate |
string |
issuedTo |
To whom the certificate is issued |
string |
keySize |
The keysize of the certificate |
string |
notAfter |
The timestamp after which certificate is not valid |
string |
notBefore |
The timestamp before which certificate is not valid |
string |
numberOfDaysToExpire |
Number of days left for the certificate to expire |
integer (int32) |
pemEncoded |
The PEM encoded certificate content |
string |
publicKey |
The public key of the certificate |
string |
publicKeyAlgorithm |
The public key algorithm of the certificate |
string |
serialNumber |
The serial number of the certificate |
string |
signatureAlgorithm |
Algorithm used to sign the certificate |
string |
subject |
Complete distinguished name to which the certificate is issued |
string |
subjectAlternativeName |
The alternative names to which the certificate is issued |
< string > array |
thumbprint |
Thumbprint generated using certificate content |
string |
thumbprintAlgorithm |
Algorithm used to generate thumbprint |
string |
version |
The X.509 version of the certificate |
string |
4.38. CertificateAuthority
The Certificate Authority (CA) details
Name | Description | Schema |
---|---|---|
commonName |
OpenSSL CA domain name |
string |
country |
ISO 3166 country code where company is legally registered |
string |
id |
CA type. Only supports Microsoft and OpenSSL CAs |
string |
locality |
The city or locality where company is legally registered |
string |
organization |
The name under which company is legally registered |
string |
organizationUnit |
Organization with which the certificate is associated |
string |
serverUrl |
Microsoft CA server url |
string |
state |
The full name of the state where company is legally registered |
string |
templateName |
Microsoft CA server template name |
string |
username |
Microsoft CA server username |
string |
4.39. CertificateAuthorityCreationSpec
This specification contains Certificate Authority (CA) creation details
Name | Description | Schema |
---|---|---|
microsoftCertificateAuthoritySpec |
Microsoft Certificate Authority specification |
|
openSSLCertificateAuthoritySpec |
OpenSSL Certificate Authority specification |
4.40. CertificateOperationSpec
This specification contains certificate operation request details
Name | Description | Schema |
---|---|---|
operationType |
The Certificates operation type |
string |
resources |
Resource(s) in a domain |
< Resource > array |
4.41. CertificatesGenerationSpec
This specification contains certificates generation request details
Name | Description | Schema |
---|---|---|
caType |
CA type. Only supports Microsoft and OpenSSL CAs |
string |
resources |
Resource(s) in a domain |
< Resource > array |
4.43. Cluster
Cluster representation
Name | Description | Schema |
---|---|---|
hosts |
List of hosts associated with the cluster |
< HostReference > array |
id |
ID of the cluster |
string |
isDefault |
Status of the cluster if default or not |
boolean |
isStretched |
Status of the cluster if Stretched or not |
boolean |
name |
Name of the cluster |
string |
primaryDatastoreName |
Name of the primary datastore |
string |
primaryDatastoreType |
Storage type of the primary datastore |
string |
vdsSpecs |
Distributed switches to added to the cluster |
< VdsSpec > array |
4.44. ClusterCompactionSpec
This specification contains the parameters required to remove one or more vSphere hosts from existing cluster in a workload domain
Name | Description | Schema |
---|---|---|
force |
Force removal of vSphere host |
boolean |
forceByPassingSafeMinSize |
Remove dead hosts from cluster, bypassing validations. Forced removal may result in permanent data loss. Review recovery plan with VMware Support before using. |
boolean |
hosts |
List of vSphere hosts to be removed |
< HostReference > array |
4.45. ClusterCreationSpec
This specification contains the parameters required to add a cluster to an existing workload Domain
Name | Description | Schema |
---|---|---|
computeSpec |
Cluster specification to be added to the domain |
|
domainId |
ID of the domain to which the clusters will be added |
string |
4.46. ClusterCriterion
Represents a criterion for querying the cluster
Name | Description | Schema |
---|---|---|
arguments |
Arguments required for a particular criterion |
< string, string > map |
description |
Description of the criterion |
string |
name |
Name of the criterion |
string |
4.47. ClusterExpansionSpec
This specification contains the parameters required to add one or more vSphere hosts to an existing cluster in a workload domain
Name | Description | Schema |
---|---|---|
forceHostAdditionInPresenceofDeadHosts |
Use to add host to a cluster with dead host(s). Bypasses validation of disconnected hosts and vSAN cluster health. Review recovery plan VMware Support before using. False if omitted. This property is deprecated and it has no effect when using it. |
boolean |
hostSpecs |
List of vSphere host information from the free pool to consume in the workload domain |
< HostSpec > array |
interRackExpansion |
Is inter-rack cluster(true for L2 non-uniform and L3 : At least one of management, uplink, Edge and host TEP networks is different for hosts of the cluster, false for L2 uniform : All hosts in cluster have identical management, uplink, Edge and host TEP networks) expansion. Required, only if Cluster contains NSX-T Edge Cluster |
boolean |
skipThumbprintValidation |
Skip thumbprint validation for ESXi hosts during add host operation |
boolean |
vsanNetworkSpecs |
vSAN Network Pool Spec |
< VSANNetworkSpec > array |
witnessSpec |
Witness host Info |
|
witnessTrafficSharedWithVsanTraffic |
Witness traffic to be shared with vSAN traffic |
boolean |
4.48. ClusterProductSpec
Spec contains information for a vRealize product
Name | Description | Schema |
---|---|---|
adminCredentials |
The credentials of the vRealize product Admin |
|
certificateChain |
The certificate chain of the vRealize product. |
string |
id |
The ID of the product |
string |
loadBalancerFqdn |
Fully Qualified Domain Name for the vRealize product load balancer |
string |
nodes |
The nodes of the vRealize product instance |
< ProductNode > array |
version |
The version of the vRealize product instance |
string |
4.49. ClusterQueryResponse
Represents a cluster query response.
Name | Description | Schema |
---|---|---|
queryInfo |
Query info |
|
result |
Query result |
4.50. ClusterReference
Represents a reference to the cluster
Name | Description | Schema |
---|---|---|
id |
ID of the cluster |
string |
4.51. ClusterSpec
This specification contains the parameters required to add a cluster to a workload domain
Name | Description | Schema |
---|---|---|
advancedOptions |
Advanced options used for cluster creation |
|
clusterImageId |
ID of the Cluster Image to be used with the cluster |
string |
datastoreSpec |
Cluster storage configuration; e.g. VSAN, NFS,vVol(nfs/iscsi/fc) |
|
hostSpecs |
List of vSphere host information from the free pool to consume in the workload domain |
< HostSpec > array |
name |
Name of the new cluster that will be added to the specified workload domain |
string |
networkSpec |
Network configuration for the cluster |
|
skipThumbprintValidation |
Skip thumbprint validation for ESXi and VxRail Manager during add cluster/host operation |
boolean |
vxRailDetails |
Contains the VxRail Manager details |
4.52. ClusterStretchSpec
This spec contains the parameters required to convert a Standard vSAN cluster to a Stretched cluster
Name | Description | Schema |
---|---|---|
hostSpecs |
List of vSphere host information from the free pool to consume in the workload domain |
< HostSpec > array |
isEdgeClusterConfiguredForMultiAZ |
Edge cluster configured for multi AZ |
boolean |
secondaryAzOverlayVlanId |
Secondary AZ Overlay Vlan Id |
integer (int32) |
vsanNetworkSpecs |
vSAN Network Pool Specs |
< VSANNetworkSpec > array |
witnessSpec |
Witness host information |
|
witnessTrafficSharedWithVsanTraffic |
Witness traffic to be shared with vSAN traffic |
boolean |
4.53. ClusterUnstretchSpec
This spec contains the parameters required to convert a Stretched cluster to a Standard vSAN cluster
4.54. ClusterUpdateSpec
This specification contains the parameters required to perform update operation on cluster
Name | Description | Schema |
---|---|---|
clusterCompactionSpec |
Parameters required to perform cluster compaction, optional otherwise |
|
clusterExpansionSpec |
Parameters required to perform cluster expansion, optional otherwise |
|
clusterStretchSpec |
Parameters required to perform Stretch operation on cluster, optional otherwise |
|
clusterUnstretchSpec |
Parameters required to perform Unstretch operation on cluster, optional otherwise |
|
markForDeletion |
Prepare the cluster for deletion |
boolean |
prepareForStretch |
Prepare the cluster for stretch |
boolean |
4.55. ComponentDetails
Component contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
displayName |
Component display name |
string |
displayVersion |
Component display version |
string |
vendor |
Component vendor |
string |
4.56. ComponentInfo
Component contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
details |
Component details |
|
version |
Component Version |
string |
4.57. ComputeSpec
This specification contains the parameters required to add each cluster to a workload domain
Name | Description | Schema |
---|---|---|
clusterSpecs |
List of clusters to be added to workload domain |
< ClusterSpec > array |
skipFailedHosts |
Skip failed ESXi Hosts and proceed with the rest of the ESXi Hosts during add Cluster. This is not supported for VCF VxRail. |
boolean |
4.58. Cpu
Represents information about CPUs on a host
Name | Description | Schema |
---|---|---|
cores |
Number of CPU cores |
integer (int32) |
cpuCores |
Information about each of the CPU cores |
< CpuCore > array |
frequencyMHz |
Total CPU frequency in MHz |
number (double) |
usedFrequencyMHz |
Used CPU frequency in MHz |
number (double) |
4.59. CpuCore
Represents a CPU core
Name | Description | Schema |
---|---|---|
frequencyMHz |
CPU frequency in MHz |
number (double) |
manufacturer |
Hardware manufacturer of the CPU |
string |
model |
Hardware model of the CPU |
string |
4.60. CpuInfo
Represents a cpu metric with used and total for a resource
Name | Description | Schema |
---|---|---|
total |
Total value |
|
used |
Used value |
4.61. Credential
Represents a credential and the resource to which it is associated with
Name | Description | Schema |
---|---|---|
accountType |
Account type |
string |
autoRotatePolicy |
Configured auto-rotate policy of a credential. Empty if not configured |
|
creationTimestamp |
The timestamp at which credential was created |
string |
credentialType |
Credential type |
string |
id |
Credential ID |
string |
modificationTimestamp |
The timestamp at which credential was last modified |
string |
password |
Password |
string |
resource |
The resource which owns the credential |
|
username |
Username |
string |
4.62. CredentialsSpec
This specification contains information about credentials.
Name | Description | Schema |
---|---|---|
password |
Password |
string |
username |
Username |
string |
4.63. CredentialsSubTask
Represents the credentials sub-task in the system
Name | Description | Schema |
---|---|---|
creationTimestamp |
Credential sub-task creation timestamp |
string |
credentialType |
Credential sub-task credential type |
string |
dependentSubTasks |
List of dependent sub-tasks of the credential sub-task |
< CredentialsSubTask > array |
description |
Credential sub-task description |
string |
entityType |
Credential sub-task entity type |
string |
errors |
List of errors in case of a failure |
< Error > array |
id |
Credential sub-task ID |
string |
name |
Credential sub-task name |
string |
newPassword |
Credential sub-task new password |
string |
oldPassword |
Credential sub-task old password |
string |
resourceName |
Resource name |
string |
status |
Credential sub-task status |
string |
username |
Credential sub-task username |
string |
4.64. CredentialsTask
Represents the credentials task in the system
Name | Description | Schema |
---|---|---|
creationTimestamp |
Credential task creation timestamp |
string |
errors |
List of errors in case of a failure |
< Error > array |
id |
Credential task ID |
string |
isAutoRotate |
Is Credential task an auto rotate task |
boolean |
name |
Credential task name |
string |
status |
Credential task status |
string |
subTasks |
List of credential sub-tasks of the credential task |
< CredentialsSubTask > array |
type |
Credential task type |
string |
4.65. CredentialsUpdateSpec
This specification contains password operation request details
Name | Description | Schema |
---|---|---|
autoRotatePolicy |
Auto Rotate policy for set of credentials |
|
elements |
List of resource credentials to be changed |
< ResourceCredentials > array |
operationType |
Operation type |
string |
4.66. Csr
The Certificate Signing Request (CSR) details
Name | Description | Schema |
---|---|---|
csrEncodedContent |
The CSR encoded content |
string |
resource |
Resource associated with CSR |
4.67. CsrGenerationSpec
This specification contains Certificate Signing Request (CSR) details
Name | Description | Schema |
---|---|---|
country |
ISO 3166 country code where company is legally registered |
string |
email |
Contact email address |
string |
keyAlgorithm |
The public key algorithm of the certificate |
string |
keySize |
Certificate public key size |
string |
locality |
The city or locality where company is legally registered |
string |
organization |
The name under which company is legally registered |
string |
organizationUnit |
Organization with which the certificate is associated |
string |
state |
The full name of the state where company is legally registered |
string |
4.68. CsrsGenerationSpec
This specification contains CSR Generation request details
Name | Description | Schema |
---|---|---|
csrGenerationSpec |
The CSR specification to generate CSR for resource(s) |
|
resources |
Resource(s) in a domain |
< Resource > array |
4.69. DataMetric
Represents a single metric representing digital data
Name | Description | Schema |
---|---|---|
unit |
Unit of the metric |
enum (B, KB, MB, GB, TB, PB) |
value |
Value of the metric |
number (double) |
4.70. Datastore
Name | Description | Schema |
---|---|---|
capacity |
Example : |
number (double) |
datastoreName |
Example : |
string |
datastoreType |
Example : |
enum (VSAN, VMFS, NFS) |
freeSpace |
Example : |
number (double) |
unallocated |
Example : |
number (double) |
unit |
Example : |
enum (GHZ, GB, TB, HZ, KHZ, MHZ, THZ, B, PB) |
used |
Example : |
number (double) |
4.71. DatastoreSpec
This specification contains cluster storage configuration
Name | Description | Schema |
---|---|---|
nfsDatastoreSpecs |
Cluster storage configuration for NFS |
< NfsDatastoreSpec > array |
vmfsDatastoreSpec |
Cluster storage configuration for VMFS |
|
vsanDatastoreSpec |
Cluster storage configuration for vSAN |
|
vvolDatastoreSpecs |
Cluster storage configuration for VVOL |
< VvolDatastoreSpec > array |
4.72. DateTimeDetail
Name | Description | Schema |
---|---|---|
dateTime |
Example : |
string |
timestamp |
Example : |
integer (int64) |
4.73. DepotAccount
VMware Depot Account Information
Name | Description | Schema |
---|---|---|
message |
Message explaining depot status |
string |
password |
Depot Password for Access |
string |
status |
Depot Status |
string |
username |
Depot Username for Access |
string |
4.74. DepotSettings
VMware Depot Settings. At least one of vmwareAccount or dellEmcSupportAccount value must be provided
Name | Description | Schema |
---|---|---|
dellEmcSupportAccount |
Dell EMC Support Account |
|
vmwareAccount |
VMware Depot Account |
4.75. Disk
Represents a disk
Name | Description | Schema |
---|---|---|
capacityMB |
Total capacity of the disk in MB |
number (double) |
diskType |
Type of the disk. |
string |
manufacturer |
Hardware manufacturer of the disk |
string |
model |
Hardware model of the disk |
string |
4.76. DnsConfiguration
DNS Configuration
Name | Description | Schema |
---|---|---|
dnsServers |
List of DNS servers |
< DnsServer > array |
4.77. DnsServer
DNS server details
Name | Description | Schema |
---|---|---|
ipAddress |
IP address/FQDN of DNS server |
string |
isPrimary |
Is DNS server primary |
boolean |
4.78. DnsSpec
Spec contains parameters of Domain Name System
Name | Description | Schema |
---|---|---|
domain |
Tenant domain |
string |
nameserver |
Primary nameserver to be configured for vCenter/PSC/ESXi’s/NSX |
string |
secondaryNameserver |
Secondary nameserver to be configured for vCenter/PSC/ESXi’s/NSX |
string |
subdomain |
Tenant Sub domain |
string |
4.79. Domain
Represents a domain
Name | Description | Schema |
---|---|---|
capacity |
Capacity information for the workload domain |
|
clusters |
List of clusters associated with the workload domain |
< ClusterReference > array |
id |
ID of the workload domain |
string |
name |
Name of the workload domain |
string |
nsxtCluster |
NSX-T cluster associated with the workload domain |
|
status |
Status of the workload domain |
string |
type |
Type of the workload domain |
string |
vcenters |
List of vCenters associated with the workload domain |
< VcenterReference > array |
4.80. DomainCreationSpec
This specification contains the parameters required to create a new workload domain
Name | Description | Schema |
---|---|---|
computeSpec |
Specification representing the clusters to be added to the workload domain |
|
domainName |
Name of the workload domain |
string |
nsxTSpec |
Specification details for NSX-T configuration |
|
vcenterSpec |
Specification details for vCenter |
4.81. DomainInfo
Name | Description | Schema |
---|---|---|
domainCapacity |
Example : ResourceCapacity |
|
domainId |
Example : |
string |
name |
Example : |
string |
status |
Example : |
string |
type |
Example : |
string |
4.82. DomainIntegration
This specification contains information related to the existing vRealize Operations instance deployment
Name | Description | Schema |
---|---|---|
domainId |
The ID of the workload domain |
string |
status |
The association status of the workload domain |
enum (ENABLED, DISABLED) |
4.83. DomainReference
Represents a domain reference
Name | Description | Schema |
---|---|---|
id |
ID of the domain |
string |
name |
Name of the domain |
string |
4.84. DomainSummary
Name | Description | Schema |
---|---|---|
aggregatedCapacity |
Example : ResourceCapacity |
|
domainCount |
Example : |
integer (int32) |
type |
Example : |
string |
4.85. DomainUpdateSpec
Contains the parameters required to perform update operation on domain
Name | Description | Schema |
---|---|---|
clusterSpec |
Cluster Specification for the domain |
|
markForDeletion |
Enable deletion for the domain |
boolean |
name |
Name of the domain |
string |
nsxTSpec |
NSX-T Specification for the domain |
4.86. Domains
Name | Description | Schema |
---|---|---|
clusterNames |
Clusters for the operation |
< string > array |
domainName |
Domain name |
string |
4.87. DvsSpec
Spec contains parameters for DVS
Name | Description | Schema |
---|---|---|
dvsName |
DVS Name |
string |
isUsedByNsxt |
Flag indicating whether the DVS is used by NSX-T |
boolean |
mtu |
DVS MTU (default value is 9000) |
integer (int32) |
networks |
Types of networks in this portgroup |
< string > array |
niocSpecs |
List of NIOC specs for networks |
< NiocSpec > array |
vmnics |
Vmnics to be attached to the DVS |
< string > array |
4.88. EdgeCluster
EdgeCluster representation
Name | Description | Schema |
---|---|---|
clusters |
List of clusters associated with the edge cluster |
< ClusterReference > array |
edgeNodes |
List of edge nodes associated with the edge cluster |
< EdgeNodeReference > array |
id |
ID of the egde cluster |
string |
name |
Name of the edge cluster |
string |
nsxtCluster |
NSX-T cluster associated with the edge cluster |
4.89. EdgeClusterCreationSpec
This specification contains the parameters required to add a NSX-T edge cluster spanning multiple VI clusters.
Name | Description | Schema |
---|---|---|
asn |
ASN to be used for the edge cluster |
integer (int64) |
edgeAdminPassword |
Edge Password for admin user |
string |
edgeAuditPassword |
Edge Password for audit |
string |
edgeClusterName |
Name for the edge cluster. |
string |
edgeClusterProfileSpec |
Specifications for Edge Node |
|
edgeClusterProfileType |
Type of edge cluster profile |
string |
edgeClusterType |
Type of edge cluster |
string |
edgeFormFactor |
Edge Form Factor |
string |
edgeNodeSpecs |
Specifications for Edge Node. Number of Edge Nodes cannot exceed 8 if HA mode is ACTIVE-ACTIVE and can not exceed 2 if HA mode is ACTIVE-STANDBY |
< NsxTEdgeNodeSpec > array |
edgeRootPassword |
Edge Password for root user. |
string |
internalTransitSubnets |
Subnet addresses in CIDR notation that are used to assign addresses to logical links connecting service routers and distributed routers |
< string > array |
mtu |
Maximum transmission unit |
integer (int32) |
tier0Name |
Name for the T0 . |
string |
tier0RoutingType |
Tier 0 Routing type -eg eBGP, Static |
string |
tier0ServicesHighAvailability |
High-availability Mode for Tier-0 |
string |
tier1Name |
Name for the T1 . |
string |
transitSubnets |
Transit subnet addresses in CIDR notation that are used to assign addresses to logical links connecting Tier-0 and Tier-1s |
< string > array |
4.90. EdgeClusterExpansionSpec
This specification contains the parameters required to expand a NSX-T edge cluster.
Name | Description | Schema |
---|---|---|
additionalTier1Names |
List of names for the additional T1 to be created for expansion. |
< string > array |
edgeNodeAdminPassword |
Edge Password for admin user |
string |
edgeNodeAuditPassword |
Edge Password for audit user |
string |
edgeNodeRootPassword |
Edge Password for root user. |
string |
edgeNodeSpecs |
Specifications for Edge Node |
< NsxTEdgeNodeSpec > array |
4.91. EdgeClusterNsxtEntityCriterion
Represents a criterion for querying the Edge Cluster
Name | Description | Schema |
---|---|---|
arguments |
Arguments required for a particular criterion |
< string, string > map |
description |
Description of the criterion |
string |
name |
Name of the criterion |
string |
4.92. EdgeClusterShrinkageSpec
This specification contains the parameters required to shrink a NSX-T edge cluster.
Name | Description | Schema |
---|---|---|
edgeNodeIds |
List of VCF Edge Node ID’s to be removed for shrinkage. |
< string > array |
4.93. EdgeClusterUpdateSpec
This specification contains the parameters required to perform an update operation on an NSX-T edge cluster. The nested expansion and shrinkage specifications need to be populated in a mutually exclusive manner
Name | Description | Schema |
---|---|---|
edgeClusterExpansionSpec |
Parameters required to perform edge cluster expansion, optional otherwise |
|
edgeClusterShrinkageSpec |
Parameters required to perform edge cluster shrinkage, optional otherwise |
|
operation |
Edge cluster operation Type. |
string |
4.94. EdgeNodeReference
Represents a reference to the edge node
Name | Description | Schema |
---|---|---|
hostName |
Hostname of the edge node |
string |
id |
ID of the edge node |
string |
4.95. Encryption
Restore Specification
Name | Description | Schema |
---|---|---|
passphrase |
Passphrase |
string |
4.96. Endpoint
Represents an Endpoint in a Domain
Name | Description | Schema |
---|---|---|
type |
Type of the Endpoint |
string |
url |
Url of the Endpoint |
string |
4.97. Error
Error response containing a minor error code, a localized error message, a localized remediation message and optionally a reference token to correlate the error with the logs
Name | Description | Schema |
---|---|---|
arguments |
The arguments used to localize the message, Can be used by scripts to automate the error processing. |
< string > array |
causes |
The underlying cause exceptions. |
< ErrorCause > array |
context |
The error context (e.g. the component where it occurred). |
< string, string > map |
errorCode |
The minor error code |
string |
errorType |
The error type |
string |
message |
The localized error message |
string |
nestedErrors |
The nested errors when the error is a composite one |
< Error > array |
referenceToken |
A reference token correlating the error with the relevant detailed error logs. Should be sent to the service provider when reporting issues. |
string |
remediationMessage |
The localized remediation error message |
string |
4.98. ErrorCause
Describes a single error cause
Name | Description | Schema |
---|---|---|
message |
The message describing the reason for the error |
string |
type |
The type of the error cause |
string |
4.99. ErrorCode
Name | Description | Schema |
---|---|---|
bundleName |
Example : |
string |
code |
Example : |
string |
component |
Example : |
string |
4.100. ErrorCodePack
Name | Description | Schema |
---|---|---|
arguments |
Example : |
< object > array |
bundleName |
Example : |
string |
classLoader |
Example : ClassLoader |
|
code |
Example : |
string |
component |
Example : |
string |
errorCode |
Example : ErrorCode |
|
stringArguments |
Example : |
< string > array |
4.101. ErrorResponse
Name | Description | Schema |
---|---|---|
arguments |
Example : |
< string > array |
cause |
Example : |
< ErrorCause > array |
context |
Example : |
< string, string > map |
errorCode |
Example : |
string |
message |
Example : |
string |
nestedErrors |
Example : |
< ErrorResponse > array |
referenceToken |
Example : |
string |
remediationMessage |
Example : |
string |
4.102. FcSpec
Cluster storage configuration for VMFS on FC
Name | Description | Schema |
---|---|---|
datastoreName |
Datastore name used for cluster creation |
string |
4.103. FederationOperationError
Name | Description | Schema |
---|---|---|
error |
Example : |
string |
errorPack |
Example : LocalizableErrorCodePack |
|
suggestedRemedy |
Example : |
string |
suggestedRemedyPack |
Example : LocalizableErrorCodePack |
4.104. FederationTask
Name | Description | Schema |
---|---|---|
created |
Example : DateTimeDetail |
|
errors |
Example : |
< FederationOperationError > array |
lastUpdated |
Example : DateTimeDetail |
|
operation |
Example : |
enum (BOOTSTRAP, START, STOP, TEARDOWN, INVITE_MEMBER, EVICT_MEMBER, JOIN, HANDLE_JOIN, HANDLE_CONTROLLER_JOIN, LEAVE, HANDLE_LEAVE, HANDLE_CONTROLLER_LEAVE, HANDLE_CERT_ROTATION) |
payload |
Example : RemoteResponsePayload |
|
progressDetails |
Example : |
string |
remoteOperationTask |
Example : FederationTask |
|
status |
Example : |
enum (NOT_STARTED, SUCCEEDED, FAILED, IN_PROGRESS, UNKNOWN) |
taskId |
Example : |
string |
4.105. Fips
Represents VCF FIPS mode status (enabled/disabled)
Name | Description | Schema |
---|---|---|
enabled |
VCF FIPS mode status |
boolean |
4.106. FrequencyMetric
Represents a single metric representing freequency
Name | Description | Schema |
---|---|---|
unit |
Unit of the metric |
enum (Hz, KHz, MHz, GHz, THz) |
value |
Value of the metric |
number (double) |
4.107. HardwareSupportInfo
Hardware support contains base os, components, hardware support, addOn metadata to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
packages |
Hardware support packages |
< string, HardwareSupportPackageInfo > map |
4.108. HardwareSupportPackage
Configured Hardware Support Manager details
Name | Description | Schema |
---|---|---|
displayName |
Hardware Support Manager display name |
string |
name |
Hardware Support Manager Name |
string |
pkg |
Hardware Support Package |
4.109. HardwareSupportPackageInfo
Hardware Support Package contains metadata regarding the package, version to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
pkg |
Hardware support package name |
string |
version |
Hardware support package version |
string |
4.110. HardwareSupportPackages
Available Hardware Support Manager details
Name | Description | Schema |
---|---|---|
displayName |
Hardware Support Manager display name |
string |
name |
Hardware Support Manager Name |
string |
packages |
Hardware Support Packages |
< PackageSpec > array |
4.111. HardwareSupportSpec
Hardware Support Specification for Firmware Upgrade
Name | Description | Schema |
---|---|---|
name |
Hardware Support Manager name |
string |
packageSpec |
Package for Hardware Support Managers |
4.112. HealthChecks
Name | Description | Schema |
---|---|---|
certificateHealth |
Performs Certificate health checks. |
boolean |
composabilityHealth |
Performs Composability Health checks. |
boolean |
computeHealth |
Performs Compute Health checks. |
boolean |
connectivityHealth |
Performs Connectivity health checks. |
boolean |
dnsHealth |
Performs DNS Health checks. |
boolean |
generalHealth |
Performs some generic health checks. |
boolean |
hardwareCompatibilityHealth |
Performs HardwareCompatibilityHealth Health checks. |
boolean |
ntpHealth |
Performs NTP checks for components. |
boolean |
passwordHealth |
Performs Password Expiry checks. |
boolean |
servicesHealth |
Performs checks on Services health. |
boolean |
storageHealth |
Performs Storage Health checks. |
boolean |
4.113. HealthSummary
Name | Description | Schema |
---|---|---|
bundleAvailable |
Indicate if bundle is available in file system. |
string |
bundleName |
Name of the Support Bundle. |
string |
completionTimestamp |
CompletionTimestamp. |
string |
creationTimestamp |
CreationTimestamp. |
string |
description |
Name of the Operation. |
string |
id |
Id of the Support Bundle task. |
string |
status |
Health summary collection status. |
string |
4.114. HealthSummaryConfig
Name | Description | Schema |
---|---|---|
force |
Run SOS operations, even if there is a Workflow running. |
boolean |
skipKnownHostCheck |
Skip known_hosts file for HealthSummary. |
boolean |
4.115. HealthSummaryIncludeItems
Name | Description | Schema |
---|---|---|
summaryReport |
Collect Vcf Summary Reports |
boolean |
4.116. HealthSummaryOption
Name | Description | Schema |
---|---|---|
config |
HealthSummary config |
|
include |
Sos Additional Reports for Health Checks. |
4.117. HealthSummaryScope
Name | Description | Schema |
---|---|---|
domains |
Domains and Clusters for SOS operation. |
< Domains > array |
includeAllDomains |
Include all domains for SOS operation. |
boolean |
includeFreeHosts |
Include free hosts. |
boolean |
4.118. HealthSummarySpec
Name | Description | Schema |
---|---|---|
healthChecks |
Sos Health Checks. |
|
options |
Sos options for support health checks. |
|
scope |
Domain and cluster under which logs should be collected. |
4.119. HighAvailability
This specification contains high availability settings
Name | Description | Schema |
---|---|---|
enabled |
Example : |
boolean |
4.120. Host
Represents an Esxi host in the system
Name | Description | Schema |
---|---|---|
bundleRepoDatastore |
Bundle repositry datastore for this host |
string |
cluster |
Information about the cluster this host is part of |
|
compatibleStorageType |
Information about the host compatible storage type |
string |
cpu |
Information about CPUs on the host |
|
domain |
Information about the domain this host is part of |
|
esxiVersion |
ESXi software version of the host |
string |
fqdn |
FQDN of the host |
string |
hardwareModel |
Hardware model of the host |
string |
hardwareVendor |
Hardware vendor of the host |
string |
hybrid |
Information about the storage type of the host, true if the host is hybrid. |
boolean |
id |
ID of the host |
string |
ipAddresses |
Information about IP addresses assigned to the host |
< IpAddress > array |
isPrimary |
Is the host a primary host in VxRail HCI Context |
boolean |
memory |
Information about memory on the host |
|
networkpool |
Information about the network pool this host is part of |
|
physicalNics |
Information about physical NICs on the host |
< PhysicalNic > array |
serialNumber |
Serial Number of the host |
|
sshThumbprint |
SSH Thumbprint of the host |
|
sslThumbprint |
SSL Thumbprint of the host |
|
status |
Status of the host |
string |
storage |
Information about storage on the host |
4.121. HostCommissionSpec
This specification contains the input to commission a host to VMware Cloud Foundation
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the host |
string |
networkPoolId |
ID of the network pool to associate the host with |
string |
networkPoolName |
Name of the network pool to associate the host with |
string |
password |
Password of the host |
string |
sshThumbprint |
SSH thumbprint of the host |
string |
sslThumbprint |
SSL thumbprint of the host |
string |
storageType |
Storage Type |
string |
username |
Username of the host |
string |
vvolStorageProtocolType |
vVol Storage Protocol Type |
string |
4.122. HostCount
Name | Description | Schema |
---|---|---|
total |
Example : |
integer (int32) |
unallocated |
Example : |
integer (int32) |
used |
Example : |
integer (int32) |
4.123. HostCriterion
Represents a criterion for querying the host
Name | Description | Schema |
---|---|---|
arguments |
Arguments required for a particular criterion |
< string, string > map |
description |
Description of the criterion |
string |
name |
Name of the criterion |
string |
4.124. HostDecommissionSpec
This specification contains host details required to decommission a host from VMware Cloud Foundation
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the host |
string |
4.125. HostNetworkSpec
This specification contains network details required when adding a vSphere host to a cluster
Name | Description | Schema |
---|---|---|
vmNics |
List of the vSphere host vmNics |
< VmNic > array |
4.126. HostQueryResponse
Represents a host query response.
Name | Description | Schema |
---|---|---|
queryInfo |
Query info |
|
result |
Query result |
4.127. HostReference
Represents an ESXi host reference
Name | Description | Schema |
---|---|---|
azName |
Fault domain name of the host |
string |
fqdn |
FQDN of the host |
string |
id |
ID of the host |
string |
ipAddress |
IP address of the host |
string |
vmNics |
VM NICs of the host |
< VMNicInfo > array |
4.128. HostSpec
This specification contains information required to add vSphere host to a cluster
Name | Description | Schema |
---|---|---|
azName |
Availability Zone Name |
string |
hostName |
Host name of the vSphere host |
string |
hostNetworkSpec |
Network Details of the vSphere host |
|
id |
ID of a vSphere host in the free pool |
string |
ipAddress |
IP address of the vSphere host |
string |
licenseKey |
License key of a vSphere host in the free pool |
string |
password |
SSH password of the vSphere host |
string |
serialNumber |
Serial Number of the vSphere host |
string |
sshThumbprint |
SSH thumbprint of the vSphere host |
string |
username |
Username of the vSphere host |
string |
4.129. HostVmknicSpec
Spec contains parameters for ESXi Host Vmknic
Name | Description | Schema |
---|---|---|
ipAddress |
Vmknic IP address |
string |
macAddress |
Vmknic mac address |
string |
portgroup |
Portgroup |
string |
4.130. InventoryInfo
Name | Description | Schema |
---|---|---|
hostCount |
Example : HostCount |
4.131. InvitationSpec
Name | Description | Schema |
---|---|---|
inviteeFqdn |
Example : |
string |
inviteeRole |
Example : |
enum (CONTROLLER, MANAGER, MEMBER, NOT_JOINED) |
tokenExpiryHours |
Example : |
number (float) |
4.132. IpAddress
Represents IP address
Name | Description | Schema |
---|---|---|
ipAddress |
IP address |
string |
type |
Type of IP addresss |
string |
4.133. IpAddressPoolRangeSpec
This specification contains the parameters required to create an IP address range
Name | Description | Schema |
---|---|---|
end |
The last IP Address of the IP Address Range |
string |
start |
The first IP Address of the IP Address Range |
string |
4.134. IpAddressPoolSpec
This specification contains the parameters required to create or reuse an IP address pool.
Name | Description | Schema |
---|---|---|
description |
Description of the IP address pool |
string |
ignoreUnavailableNsxtCluster |
Ignore unavailable NSX-T cluster(s) during IP pool spec validation |
boolean |
name |
Name of the IP address pool |
string |
subnets |
List of IP address pool subnet specification |
< IpAddressPoolSubnetSpec > array |
4.135. IpAddressPoolSubnetSpec
This specification contains the parameters required to create an IP address pool subnet
Name | Description | Schema |
---|---|---|
cidr |
The subnet representation, contains the network address and the prefix length |
string |
gateway |
The default gateway address of the network |
string |
ipAddressPoolRanges |
List of the IP allocation ranges. Atleast 1 IP address range has to be specified |
< IpAddressPoolRangeSpec > array |
4.136. IpAllocation
Defines an IP address with gateway and subnet
Name | Description | Schema |
---|---|---|
cidr |
Classless Inter-Domain Routing (CIDR) |
string |
gateway |
Gateway |
string |
ipAddress |
IP Address |
string |
subnet |
Subnet |
string |
4.137. IpPool
Represents an IP Pool of a network in a network pool
Name | Description | Schema |
---|---|---|
end |
End IP address of the IP pool |
string |
start |
Start IP address of the IP pool |
string |
4.138. IpRange
Spec contains parameters for range of IP addresses
Name | Description | Schema |
---|---|---|
endIpAddress |
End IP Address |
string |
startIpAddress |
Start IP Address |
string |
4.139. LicenseKey
Defines a license key and its attributes
Name | Description | Schema |
---|---|---|
description |
Description of the license key |
string |
id |
The ID of the license key |
string |
isUnlimited |
Indicates if the license key has unlimited usage |
boolean |
key |
The 29 alpha numeric character license key with hyphens |
string |
licenseKeyUsage |
License key usage details |
|
licenseKeyValidity |
License key validity details |
|
productType |
The type of the product to which the license key is applicable |
string |
4.140. LicenseKeyUsage
Defines license key usage
Name | Description | Schema |
---|---|---|
licenseUnit |
Units of the license key |
string |
remaining |
The remaining/free units of the license key |
integer (int32) |
total |
The total units of the license key |
integer (int32) |
used |
The consumed/used units of the license key |
integer (int32) |
4.141. LicenseKeyValidity
Defines license key validity details
Name | Description | Schema |
---|---|---|
expiryDate |
The license key expiry date |
string |
licenseKeyStatus |
The validity status of the license key |
string |
4.142. LocalAccountPasswordInfo
Represents local account and its attributes
Name | Description | Schema |
---|---|---|
newPassword |
The new password of the local account |
string |
oldPassword |
The old password of the local account |
string |
4.143. LocalUser
Represents Local User and its attributes
Name | Description | Schema |
---|---|---|
apiKey |
The API key of the user |
string |
creationTimestamp |
The timestamp at which the user was created |
string |
domain |
The domain of the user |
string |
id |
The ID of the user |
string |
isConfigured |
Flag indicating whether or not local account is configured |
boolean |
name |
The name of the user |
string |
role |
The role of the user |
|
type |
The type of the user |
string |
4.144. LocalizableErrorCodePack
Name | Description | Schema |
---|---|---|
arguments |
Example : |
< object > array |
component |
Example : |
string |
defaultMessage |
Example : |
string |
localBundle |
Example : |
string |
messageKey |
Example : |
string |
4.145. Logs
Name | Description | Schema |
---|---|---|
apiLogs |
Collect API Logs. |
boolean |
esxLogs |
Collect ESX Logs. |
boolean |
nsxLogs |
Collect NSX Logs. |
boolean |
sddcManagerLogs |
Collect SDDC Manager Logs. |
boolean |
systemDebugLogs |
Collect SystemDebug Logs. |
boolean |
vcLogs |
Collect vCenter Logs. |
boolean |
vmScreenshots |
Collect VMScreenshots. |
boolean |
vraLogs |
Collect VRA Logs. |
boolean |
vrliLogs |
Collect VRLi Logs. |
boolean |
vropsLogs |
Collect VROps Logs. |
boolean |
vrslcmLogs |
Collect VRSLCM Logs. |
boolean |
vxrailManagerLogs |
Collect VXRailManager Logs. |
boolean |
wcpLogs |
Collect WCP Logs. |
boolean |
4.146. Manifest
LCM 2.0 Manifest model that represents the metadata of the VMware Cloud foundation components and releases that Lyfe cycle manager utilises.
Name | Description | Schema |
---|---|---|
creationTime |
Creation time for the manifest e.g. 2020-06-08T02:20:15.844Z, in yyyy-MM-dd’T’HH:mm:ss[.SSS]XXX ISO 8601 format |
string |
publishedDate |
Date of publish of the manifest e.g. 2020-06-08T02:20:15.844Z, in yyyy-MM-dd’T’HH:mm:ss[.SSS]XXX ISO 8601 format |
string |
recalledBundles |
Collection of bundles that are recalled and thier replacements, if applicable |
< BundleRecall > array |
releases |
Releases of VCF in the ascending order of product version |
< Release > array |
sequenceNumber |
Manifest sequence number which signifies an update in manifest |
integer (int32) |
version |
Manifest version supported by VCF |
integer (int32) |
4.147. MapOfstringAndComponentInfo
Type : < string, ComponentInfo > map
4.148. MapOfstringAndHardwareSupportPackageInfo
Type : < string, HardwareSupportPackageInfo > map
4.149. MapOfstringAndstring
Type : < string, string > map
4.150. MemberCapacityInfo
Name | Description | Schema |
---|---|---|
summary |
Example : CapacitySummary |
4.151. MemberDetail
Name | Description | Schema |
---|---|---|
city |
Example : |
string |
coordinate |
Example : PositionCoordinate |
|
country |
Example : |
string |
fqdn |
Example : |
string |
role |
Example : |
enum (CONTROLLER, MANAGER, MEMBER, NOT_JOINED) |
siteName |
Example : |
string |
siteType |
Example : |
enum (DATACENTER, ROBO, EDGE) |
state |
Example : |
string |
4.152. MemberFact
Name | Description | Schema |
---|---|---|
error |
Example : FederationOperationError |
|
federationName |
Example : |
string |
memberDetail |
Example : MemberDetail |
|
permissions |
Example : |
< enum (BOOTSTRAP, TEARDOWN, INVITE_MEMBER, EVICT, LIST_INVENTORY, JOIN, LEAVE) > array |
4.153. MemberHealth
Name | Description | Schema |
---|---|---|
healthCode |
Example : |
enum (GREEN, YELLOW, RED) |
healthDetails |
Example : |
< string > array |
4.154. MemberInfo
Name | Description | Schema |
---|---|---|
memberDetails |
Example : MemberDetail |
|
memberHealth |
Example : MemberHealth |
|
memberInventory |
Example : MemberInventory |
|
memberLiveness |
Example : MemberLiveliness |
4.155. MemberInventory
Name | Description | Schema |
---|---|---|
capacity |
Example : MemberCapacityInfo |
|
createTime |
Example : |
string |
creationTime |
Example : |
string |
inventoryInfo |
Example : InventoryInfo |
|
softwareInfo |
Example : MemberSoftwareInfo |
4.156. MemberJoinSpec
Name | Description | Schema |
---|---|---|
commonName |
Example : |
string |
controllerFqdn |
Example : |
string |
joinToken |
Example : |
string |
memberJoinDetail |
Example : MemberDetail |
4.157. MemberLiveliness
Name | Description | Schema |
---|---|---|
livelinessCode |
Example : |
enum (GREEN, YELLOW, RED) |
livelinessDetails |
Example : |
< string > array |
4.158. MemberSoftwareInfo
Name | Description | Schema |
---|---|---|
pendingUpdates |
Example : |
integer (int32) |
4.159. MembershipInvitation
Name | Description | Schema |
---|---|---|
controllerFqdn |
Example : |
< string > array |
error |
Example : FederationOperationError |
|
invitationToken |
Example : |
string |
inviteeFqdn |
Example : |
string |
inviteeRole |
Example : |
enum (CONTROLLER, MANAGER, MEMBER, NOT_JOINED) |
4.160. Memory
Represents information about memory on a host
Name | Description | Schema |
---|---|---|
totalCapacityMB |
Total memory in MB |
number (double) |
usedCapacityMB |
Used memory in MB |
number (double) |
4.161. MemoryInfo
Represents a memory metric with used and total for a resource
Name | Description | Schema |
---|---|---|
total |
Total value |
|
used |
Used value |
4.162. MessageBusServerInfo
Name | Description | Schema |
---|---|---|
brokerId |
Example : |
integer (int32) |
fqdn |
Example : |
string |
hostAddress |
Example : |
string |
port |
Example : |
integer (int32) |
4.163. MessageBusServerInfoList
Name | Description | Schema |
---|---|---|
messageBusServersInfo |
Example : |
< MessageBusServerInfo > array |
4.164. MessagePack
A messasge pack representing a localizable message and suitable for machine processing. Contains a message key unique in the scope of the specified component, as well as the arguments needed to generate the localized message.
Name | Description | Schema |
---|---|---|
arguments |
The arguments used to localize the message. Can be used by scripts to automate the response processing. |
< string > array |
component |
The component the message belongs to |
string |
message |
The localized message (if not provided by another property) |
string |
messageKey |
The machine-readable key of the message |
string |
4.165. MicrosoftCertificateAuthoritySpec
This specification contains Microsoft CA configuration details
Name | Description | Schema |
---|---|---|
secret |
CA server password |
string |
serverUrl |
CA server url |
string |
templateName |
CA server template name |
string |
username |
CA server username |
string |
4.166. NasVolumeSpec
NAS configuration for NFS based cluster
Name | Description | Schema |
---|---|---|
path |
Shared directory path used for NFS based cluster creation |
string |
readOnly |
Readonly is used to identify whether to mount the directory as readOnly or not |
boolean |
serverName |
NFS Server name used for cluster creation |
< string > array |
userTag |
User tag used to annotate NFS share |
string |
4.167. Network
Represents a network in a network pool
Name | Description | Schema |
---|---|---|
freeIps |
List of free IPs to use |
< string > array |
gateway |
Gateway for the network |
string |
id |
The ID of the network |
string |
ipPools |
List of IP pool ranges to use |
< IpPool > array |
mask |
Subnet mask for the subnet of the network |
string |
mtu |
MTU of the network |
integer (int32) |
subnet |
Subnet associated with the network |
string |
type |
Network Type of the network |
string |
usedIps |
List of used IPs |
< string > array |
vlanId |
VLAN ID associated with the network |
integer (int32) |
4.168. NetworkDetailsSpec
This specification contains network parameters required for new virtual machines being added to a workload domain
Name | Description | Schema |
---|---|---|
dnsName |
DNS name of the virtual machine, e.g., vc-1.domain1.vsphere.local |
string |
gateway |
IPv4 gateway the VM can use to connect to the outside world |
string |
ipAddress |
IPv4 address of the virtual machine |
string |
subnetMask |
Subnet mask |
string |
4.169. NetworkPool
Represents a network pool in the system
Name | Description | Schema |
---|---|---|
id |
The ID of the network pool |
string |
name |
User specified name of the network pool |
string |
networks |
Representing the networks associated with the network pool |
< Network > array |
4.170. NetworkPoolReference
Represents a network pool reference
Name | Description | Schema |
---|---|---|
id |
ID of the network pool |
string |
name |
Name of the network pool |
string |
4.171. NetworkPoolUpdateSpec
Represents a network pool update spec
Name | Description | Schema |
---|---|---|
name |
Name of the Network Pool |
string |
4.172. NetworkSpec
This specification contains cluster network configuration
Name | Description | Schema |
---|---|---|
nsxClusterSpec |
NSX configuration to add to the cluster |
|
vdsSpecs |
Distributed switches to add to the cluster |
< VdsSpec > array |
4.173. NfsDatastoreSpec
This specification contains cluster storage configuration for NFS
Name | Description | Schema |
---|---|---|
datastoreName |
Datastore name used for cluster creation |
string |
nasVolume |
NAS volume configuration for NFS based cluster |
4.174. NiocBandwidthAllocation
Network traffic per resource type
Name | Description | Schema |
---|---|---|
niocTrafficResourceAllocation |
Specify network traffic allocation for a resource |
|
type |
Host infrastructure traffic type |
string |
4.175. NiocBandwidthAllocationSpec
This specification contains network traffic per resource type
Name | Description | Schema |
---|---|---|
niocTrafficResourceAllocation |
DvsHostInfrastructureTrafficResourceAllocation |
|
type |
DvsHostInfrastructureTrafficResource resource type |
string |
4.176. NiocSpec
Spec contains parameters for Network IO Control
Name | Description | Schema |
---|---|---|
trafficType |
Traffic Type |
string |
value |
NIOC Value |
string |
4.177. NiocTrafficResourceAllocation
Specify network traffic allocation for a resource
Name | Description | Schema |
---|---|---|
limit |
Example : |
integer (int64) |
reservation |
Example : |
integer (int64) |
sharesInfo |
Example : SharesInfo |
4.178. NsxClusterSpec
This specification contains NSX configuration for cluster
Name | Description | Schema |
---|---|---|
nsxTClusterSpec |
NSX-T spec for the new cluster, required for NSX-T based workload domains, optional otherwise |
4.179. NsxManagerSpec
This specification contains the parameters required to install and configure NSX Manager in a workload domain
Name | Description | Schema |
---|---|---|
name |
Name of the NSX Manager virtual machine |
string |
networkDetailsSpec |
Network speciication details of the NSX Manager virtual machine |
4.180. NsxTCluster
NSX-T Cluster representation
Name | Description | Schema |
---|---|---|
domains |
Information about the domains associated with the cluster |
< DomainReference > array |
id |
ID of the cluster |
string |
isShareable |
Boolean to identify if the NSX-T cluster can be shared to create a new workload domain |
boolean |
isShared |
Boolean to identify if the NSX-T cluster is shared among workload domains |
boolean |
isVlcmCompatible |
Boolean to identify if the NSX-T cluster is compatible with Vlcm |
boolean |
nodes |
Information about the NSX-T managers associated with the cluster |
< NsxTManager > array |
status |
NSX-T cluster status. To get NSX-T cluster status invoke nsxt-clusters query API with criterion NSXT_CLUSTERS_WITH_STATUS |
string |
version |
Version of the NSX-T managers associated with the cluster |
string |
vip |
VIP (Virtual IP Address) of the cluster |
string |
vipFqdn |
FQDN for VIP of the cluster |
string |
4.181. NsxTClusterReference
Represents an NSX-T Cluster reference
Name | Description | Schema |
---|---|---|
id |
ID of the NSX-T cluster |
string |
vip |
VIP (Virtual IP Address) of the NSX-T cluster |
string |
vipFqdn |
FQDN for VIP of the NSX-T cluster |
string |
4.182. NsxTClusterSpec
This specification contains NSX-T configuration for a new cluster.
Name | Description | Schema |
---|---|---|
geneveVlanId |
Vlan id of Geneve |
integer (int32) |
ipAddressPoolSpec |
The IP address pool specification |
4.183. NsxTCriterion
Represents a criterion for querying the NSX-T cluster
Name | Description | Schema |
---|---|---|
arguments |
Arguments required for a particular criterion |
< string, string > map |
description |
Description of the criterion |
string |
name |
Name of the criterion |
string |
4.184. NsxTEdgeClusterProfileSpec
This specification contains edge cluster profile configurations
Name | Description | Schema |
---|---|---|
bfdAllowedHop |
BFD allowed Hop |
integer (int64) |
bfdDeclareDeadMultiple |
BFD Declare Dead Multiple |
integer (int64) |
bfdProbeInterval |
BFD Probe |
integer (int64) |
edgeClusterProfileName |
Name for the edge cluster profile. |
string |
standbyRelocationThreshold |
Standby Relocation Threshold |
integer (int64) |
4.185. NsxTEdgeNodeSpec
This specification contains configuration inputs required to deploy and configure an edge node
Name | Description | Schema |
---|---|---|
clusterId |
Cluster on which the edge needs to be deployed |
string |
edgeNodeName |
Edge Node Name |
string |
edgeTep1IP |
Edge TEP 1 IP |
string |
edgeTep2IP |
Edge TEP 2 IP |
string |
edgeTepGateway |
Edge TEP Gateway IP |
string |
edgeTepVlan |
Edge TEP VLAN |
integer (int32) |
firstNsxVdsUplink |
First NSX enabled VDS uplink for the Edge node |
string |
interRackCluster |
Is inter-rack cluster(true for L2 non-uniform and L3 : At least one of management, uplink, Edge and host TEP networks is different for hosts of the cluster, false for L2 uniform : All hosts in cluster have identical management, uplink, Edge and host TEP networks) |
boolean |
managementGateway |
Management Gateway IP |
string |
managementIP |
Management Interface IP |
string |
secondNsxVdsUplink |
Second NSX enabled VDS uplink for the Edge node |
string |
uplinkNetwork |
Specifications of Tier0 uplinks for the Edge Node |
< NsxTEdgeUplinkNetwork > array |
4.186. NsxTEdgeUplinkNetwork
This specification contains input parameters required to configure uplink network for NSX-T edge node VM
Name | Description | Schema |
---|---|---|
asnPeer |
ASN of Peer |
integer (int64) |
bgpPeerPassword |
BGP Peer Password |
string |
bgpPeers |
List of BGP Peer configuration |
< BgpPeerSpec > array |
peerIP |
BGP Peer IP |
string |
uplinkInterfaceIP |
Uplink IP |
string |
uplinkVlan |
Uplink Vlan |
integer (int32) |
4.187. NsxTManager
NSX-T Manager representation
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the manager |
string |
id |
ID of the manager |
string |
ipAddress |
IP address of the manager |
string |
name |
NSX-T Manager VM name in vCenter |
string |
4.188. NsxTQueryResponse
Represents a NSX-T cluster query response.
Name | Description | Schema |
---|---|---|
queryInfo |
Query info |
|
result |
Query result |
4.189. NsxTSpec
This specification contains the parameters required to install and configure NSX-T in a workload domain
Name | Description | Schema |
---|---|---|
formFactor |
NSX manager form factor |
string |
ipAddressPoolSpec |
The IP address pool specification |
|
licenseKey |
NSX license value |
string |
nsxManagerAdminPassword |
NSX manager admin password (basic auth and SSH) |
string |
nsxManagerSpecs |
Specification details of the NSX Manager virtual machine |
< NsxManagerSpec > array |
vip |
Virtual IP address which would act as proxy/alias for NSX-T Managers |
string |
vipFqdn |
FQDN for VIP so that common SSL certificates can be installed across all managers |
string |
4.190. NsxtEdgeCluster
Nsxt Edge Cluster Upgrade Resource
Name | Description | Schema |
---|---|---|
id |
Edge cluster id |
string |
name |
Edge cluster name |
string |
resourceHealth |
Current resource health status |
string |
upgradeStatus |
Upgrade status with respect to the bundle |
string |
version |
The current version of the edge cluster.If a partial upgrade is done, this will be the least version among the edges in the edge cluster |
string |
4.191. NsxtEdgeClusterUpgradeSpec
Host transport node cluster upgrade input
Name | Description | Schema |
---|---|---|
edgeClusterId |
Resource ID of the edge transport node cluster |
string |
edgeParallelUpgrade |
disable/enable parallel upgrade of edges within the cluster |
boolean |
4.192. NsxtEdgeSpec
NSX-T edge specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
asn |
NSX-T edge asn |
integer (int64) |
bgpNeighbours |
NSX-T edge bgp neighbour |
< BgpNeighbour > array |
edgeAdminPassword |
NSX-T edge admin password |
string |
edgeAuditPassword |
NSX-T edge audit password |
string |
edgeClusterName |
NSX-T edge cluster name |
string |
edgeFormFactor |
NSX-T edge form factor |
enum (Oneamong:SMALL, MEDIUM, LARGE, XLARGE) |
edgeNodeSpecs |
NSX-T edge node specification |
< SddcNsxtEdgeNodeSpec > array |
edgeRootPassword |
NSX-T edge root password |
string |
edgeServicesSpecs |
NSX-T Edge Services specification |
|
tier0ServicesHighAvailability |
NSX-T tier0 service high availability |
string |
4.193. NsxtHostCluster
Nsxt Host Cluster Upgrade Resource
Name | Description | Schema |
---|---|---|
availableHardwareSupportManagers |
Available Hardware Support Managers for Firmware upgrade |
< HardwareSupportPackages > array |
configuredHardwareSupportManagers |
Configured Hardware Support Managers for Firmware upgrade |
< HardwareSupportPackage > array |
domainId |
Id of the domain the Host cluster belongs to |
string |
id |
Host cluster VCF cluster id |
string |
name |
Cluster name |
string |
primaryCluster |
Flag to determine if primary cluster for vLCM |
boolean |
resourceHealth |
Current resource health status |
string |
totalUnits |
Total number of hosts in the Host cluster |
integer (int32) |
upgradeStatus |
Upgrade status with respect to the bundle |
string |
upgradedUnits |
Number of hosts which are already upgraded |
integer (int32) |
version |
The current version of the host node cluster.If a partial upgrade is done, this will be the least version among the hosts |
string |
vlcmEnabled |
Example : |
boolean |
4.194. NsxtHostClusterUpgradeSpec
Host trnasport node cluster upgrade input
Name | Description | Schema |
---|---|---|
hostClusterId |
Resource ID of the host transport node cluster |
string |
hostParallelUpgrade |
Flag for disabling/enabling parallel upgrade within the cluster |
boolean |
liveUpgrade |
Flag for disabling/enabling live upgrade of hosts in the transportnode clusters |
boolean |
4.195. NsxtInterface
NSX-T edge node interface specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
interfaceCidr |
NSX-T edge node interface CIDR |
string |
name |
NSX-T edge node interface name |
string |
4.196. NsxtIpAddressPool
NSX-T IP address pool representation
Name | Description | Schema |
---|---|---|
availableIpAddresses |
The number of IP addresses available in the IP address pool |
integer (int32) |
blockSubnets |
The list of IP address pool block subnets |
< NsxtIpAddressPoolBlockSubnet > array |
description |
Description of the IP address pool |
string |
name |
Name of the IP address pool |
string |
staticSubnets |
The list of IP address pool static subnets |
< NsxtIpAddressPoolStaticSubnet > array |
totalIpAddresses |
The total number of IP addresses in the IP address pool |
integer (int32) |
4.197. NsxtIpAddressPoolBlockSubnet
NSX-T IP address pool block subnet representation
Name | Description | Schema |
---|---|---|
cidr |
The CIDR of the IP address subnet |
string |
gatewayAssigned |
The boolean representing the state of the gateway assignment |
boolean |
size |
The size of the IP address block |
integer (int32) |
4.198. NsxtIpAddressPoolRange
NSX-T IP address pool range representation
Name | Description | Schema |
---|---|---|
end |
The end of the IP address range |
string |
start |
The start of the IP address range |
string |
4.199. NsxtIpAddressPoolStaticSubnet
NSX-T IP address pool static subnet representation
Name | Description | Schema |
---|---|---|
cidr |
The CIDR of the IP address subnet |
string |
gateway |
The gateway IP address |
string |
ipAddressPoolRanges |
The list of IP address ranges |
< NsxtIpAddressPoolRange > array |
4.200. NsxtIpAddressPoolValidationSpec
Name | Description | Schema |
---|---|---|
ipAddressPoolSpec |
Example : IpAddressPoolSpec |
|
nsxtClusterId |
Example : |
string |
4.201. NsxtLogicalSegment
NSX-T edge node logical segment specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
name |
NSX-T edge node logical switch name |
string |
networkType |
NSX-T edge node logical segment network type |
enum (Oneamong:X_REGION, REGION_SPECIFIC) |
4.202. NsxtManagerCluster
Nsxt Manager Cluster Upgrade Resource
Name | Description | Schema |
---|---|---|
id |
Manager cluster id |
string |
name |
Manager cluster name |
string |
resourceHealth |
Current resource health status |
string |
upgradeStatus |
Upgrade status with respect to the bundle |
string |
version |
The current version of the manager cluster.If a partial upgrade is done, this will be the least version among the managers in the manager cluster |
string |
4.203. NsxtManagerSpec
Spec contains parameters for NSX-T manager
Name | Description | Schema |
---|---|---|
hostname |
NSX-T Manager hostname |
string |
ip |
NSX-T Manager IP Address |
string |
4.204. NsxtResources
Nsxt Upgrade Resources for an NSXT instance
Name | Description | Schema |
---|---|---|
bundleId |
Bundle id used to compute the upgradability |
string |
domainId |
Domain id associated with the NSX-T cluster |
string |
nsxtEdgeClusters |
List of edge clusters that are candidates for upgrade |
< NsxtEdgeCluster > array |
nsxtHostClusters |
List of host clusters that are candidates for upgrade |
< NsxtHostCluster > array |
nsxtManagerCluster |
Manager cluster that is a candidate for upgrade |
|
nsxtUpgradeCoordinator |
Upgrade coordinator pertaining to the NSX-T instance |
4.205. NsxtTransportZone
Spec contains required parameters for NSX-T Transport Zone
Name | Description | Schema |
---|---|---|
networkName |
Transport zone network name |
string |
zoneName |
Transport zone name |
string |
4.206. NsxtUpgradeCoordinator
NSXT Upgrade coordinator Upgrade Resource
Name | Description | Schema |
---|---|---|
enabledOn |
The IP of the manager on which UC is enabled |
string |
id |
Upgrade coordinator id |
string |
resourceHealth |
Current resource health status |
string |
upgradeStatus |
Upgrade status with respect to the bundle |
string |
version |
The current version of the UC |
string |
4.207. NsxtUpgradeOptions
NSXT Upgrade options
Name | Description | Schema |
---|---|---|
isEdgeClustersUpgradeParallel |
Flag for disabling/enabling parallel upgrade of edge transportnode clusters |
boolean |
isEdgeOnlyUpgrade |
Flag for performing edge-only upgrade |
boolean |
isHostClustersUpgradeParallel |
Flag for disabling/enabling parallel upgrade of host transportnode clusters |
boolean |
4.208. NsxtUpgradeUserInputSpec
Nsxt Upgrade User Input Specification
Name | Description | Schema |
---|---|---|
nsxtEdgeClusterUpgradeSpecs |
List of edge clusters information if explicit selection is to be made |
< NsxtEdgeClusterUpgradeSpec > array |
nsxtHostClusterUpgradeSpecs |
List of host clusters information if explicit selection is to be made |
< NsxtHostClusterUpgradeSpec > array |
nsxtId |
Identifier of the NSXT instance |
string |
nsxtUpgradeOptions |
List of host clusters information if explicit selection is to be made |
4.209. NtpConfiguration
NTP Configuration
Name | Description | Schema |
---|---|---|
ntpServers |
List of NTP servers |
< NtpServer > array |
4.210. NtpServer
NTP server details
Name | Description | Schema |
---|---|---|
ipAddress |
IP address/FQDN of NTP server |
string |
4.211. OpenSSLCertificateAuthoritySpec
This specification contains OpenSSL CA configuration details
Name | Description | Schema |
---|---|---|
commonName |
OpenSSL CA domain name |
string |
country |
ISO 3166 country code where company is legally registered |
string |
locality |
The city or locality where company is legally registered |
string |
organization |
The name under which company is legally registered |
string |
organizationUnit |
Organization with which the certificate is associated |
string |
state |
The full name of the state where company is legally registered |
string |
4.212. OptionalOfstring
Name | Description | Schema |
---|---|---|
present |
Example : |
boolean |
4.213. Package
Hardware Support Package Specification
Name | Description | Schema |
---|---|---|
name |
Package name |
string |
version |
Package version |
string |
4.214. PackageSpec
Hardware Support Package Specification
Name | Description | Schema |
---|---|---|
name |
Package name |
string |
version |
Package version |
string |
4.215. Page
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< object > array |
pageMetadata |
Pageable elements pagination metadata information |
4.216. PageMetadata
Represents pageable elements pagination metadata
Name | Description | Schema |
---|---|---|
pageNumber |
Returns the current page number |
integer (int32) |
pageSize |
Returns the number of elements in the current page |
integer (int32) |
totalElements |
Returns the total number of elements |
integer (int32) |
totalPages |
Returns the total number of pages |
integer (int32) |
4.217. PageOfBundle
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Bundle > array |
pageMetadata |
Pageable elements pagination metadata information |
4.218. PageOfCertificate
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Certificate > array |
pageMetadata |
Pageable elements pagination metadata information |
4.219. PageOfCertificateAuthority
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< CertificateAuthority > array |
pageMetadata |
Pageable elements pagination metadata information |
4.220. PageOfCluster
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Cluster > array |
pageMetadata |
Pageable elements pagination metadata information |
4.221. PageOfClusterCriterion
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< ClusterCriterion > array |
pageMetadata |
Pageable elements pagination metadata information |
4.222. PageOfCredential
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Credential > array |
pageMetadata |
Pageable elements pagination metadata information |
4.223. PageOfCredentialsTask
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< CredentialsTask > array |
pageMetadata |
Pageable elements pagination metadata information |
4.224. PageOfCsr
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Csr > array |
pageMetadata |
Pageable elements pagination metadata information |
4.225. PageOfDomain
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Domain > array |
pageMetadata |
Pageable elements pagination metadata information |
4.226. PageOfDomainIntegration
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< DomainIntegration > array |
pageMetadata |
Pageable elements pagination metadata information |
4.227. PageOfEdgeCluster
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< EdgeCluster > array |
pageMetadata |
Pageable elements pagination metadata information |
4.228. PageOfEdgeClusterNsxtEntityCriterion
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< EdgeClusterNsxtEntityCriterion > array |
pageMetadata |
Pageable elements pagination metadata information |
4.229. PageOfEndpoint
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Endpoint > array |
pageMetadata |
Pageable elements pagination metadata information |
4.230. PageOfHealthSummary
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< HealthSummary > array |
pageMetadata |
Pageable elements pagination metadata information |
4.231. PageOfHost
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Host > array |
pageMetadata |
Pageable elements pagination metadata information |
4.232. PageOfHostCriterion
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< HostCriterion > array |
pageMetadata |
Pageable elements pagination metadata information |
4.233. PageOfLicenseKey
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< LicenseKey > array |
pageMetadata |
Pageable elements pagination metadata information |
4.234. PageOfNetwork
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Network > array |
pageMetadata |
Pageable elements pagination metadata information |
4.235. PageOfNetworkPool
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< NetworkPool > array |
pageMetadata |
Pageable elements pagination metadata information |
4.236. PageOfNsxTCluster
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< NsxTCluster > array |
pageMetadata |
Pageable elements pagination metadata information |
4.237. PageOfNsxTCriterion
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< NsxTCriterion > array |
pageMetadata |
Pageable elements pagination metadata information |
4.238. PageOfNsxtIpAddressPool
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< NsxtIpAddressPool > array |
pageMetadata |
Pageable elements pagination metadata information |
4.239. PageOfPsc
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Psc > array |
pageMetadata |
Pageable elements pagination metadata information |
4.240. PageOfRelease
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Release > array |
pageMetadata |
Pageable elements pagination metadata information |
4.241. PageOfRole
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Role > array |
pageMetadata |
Pageable elements pagination metadata information |
4.242. PageOfSddcManager
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< SddcManager > array |
pageMetadata |
Pageable elements pagination metadata information |
4.243. PageOfSddcTask
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< SddcTask > array |
pageMetadata |
Pageable elements pagination metadata information |
4.244. PageOfSsoDomainEntity
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< SsoDomainEntity > array |
pageMetadata |
Pageable elements pagination metadata information |
4.245. PageOfSupportBundle
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< SupportBundle > array |
pageMetadata |
Pageable elements pagination metadata information |
4.246. PageOfTask
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Task > array |
pageMetadata |
Pageable elements pagination metadata information |
4.247. PageOfUpgradable
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Upgradable > array |
pageMetadata |
Pageable elements pagination metadata information |
4.248. PageOfUpgradablesClusterResource
Represents a page of elements of a Upgradables Cluster Resource
Name | Description | Schema |
---|---|---|
elements |
The list of Upgradables Cluster Resource elements included in this page |
< UpgradablesClusterResource > array |
4.249. PageOfUpgrade
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Upgrade > array |
pageMetadata |
Pageable elements pagination metadata information |
4.250. PageOfUser
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< User > array |
pageMetadata |
Pageable elements pagination metadata information |
4.251. PageOfValidation
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Validation > array |
pageMetadata |
Pageable elements pagination metadata information |
4.252. PageOfVasaProvider
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< VasaProvider > array |
pageMetadata |
Pageable elements pagination metadata information |
4.253. PageOfVcenter
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Vcenter > array |
pageMetadata |
Pageable elements pagination metadata information |
4.254. PageOfVcfService
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< VcfService > array |
pageMetadata |
Pageable elements pagination metadata information |
4.255. PageOfVersionAliasesForBundleComponentType
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< VersionAliasesForBundleComponentType > array |
pageMetadata |
Pageable elements pagination metadata information |
4.256. PageOfVra
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Vra > array |
pageMetadata |
Pageable elements pagination metadata information |
4.257. PageOfVrli
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Vrli > array |
pageMetadata |
Pageable elements pagination metadata information |
4.258. PageOfVrops
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Vrops > array |
pageMetadata |
Pageable elements pagination metadata information |
4.259. PageOfVrslcm
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Vrslcm > array |
pageMetadata |
Pageable elements pagination metadata information |
4.260. PageOfWsa
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Wsa > array |
pageMetadata |
Pageable elements pagination metadata information |
4.261. PageOfobject
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< object > array |
pageMetadata |
Pageable elements pagination metadata information |
4.262. PageOfstring
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< string > array |
pageMetadata |
Pageable elements pagination metadata information |
4.263. PartnerExtensionSpec
Specification for partner extensions. This specification is used in the Bundle Upload API
Name | Description | Schema |
---|---|---|
partnerBundleMetadataFilePath |
Path to the bundle metadata file. The metadata file can have details of multiple bundles |
string |
partnerBundleVersion |
Version of partner bundle to be uploaded. Should match one of the bundle versions available in the partner bundle metadata file |
string |
4.264. PatchBundle
Model for patch bundle in a release
Name | Description | Schema |
---|---|---|
bundleElements |
Bundle elements of the patch bundle |
< string > array |
bundleId |
Bundle ID of the patch bundle |
string |
bundleType |
Bundle type of the patch bundle |
string |
cumulativeFromVcfVersion |
Minimum VCF version that this patch bundle can be directly applied on |
string |
4.265. Personality
Personality contains bits to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
createdBy |
Personality created by |
string |
description |
Personality description |
string |
displayName |
Personality displayName |
string |
imageChecksum |
Personality image checksum |
string |
imageSize |
Personality image size |
string |
kbArticles |
Personality kb articles |
|
personalityId |
Personality id |
string |
personalityName |
Personality name |
string |
releaseDate |
Personality Release date |
integer (int64) |
softwareInfo |
Personality software spec |
|
tags |
Personality tags |
< string > array |
version |
Personality Version |
string |
vsphereExportedIsoPath |
Personality depot path |
string |
vsphereExportedJsonPath |
Personality depot path |
string |
vsphereExportedZipPath |
Personality depot path |
string |
4.266. PersonalitySpec
Personality Specification for vLCM based upgrade
Name | Description | Schema |
---|---|---|
hardwareSupportSpecs |
Hardware Support Specifications for Firmware upgrade |
< HardwareSupportSpec > array |
personalityId |
Personality ID for vLCM based Upgrade |
string |
4.267. PersonalityUploadSpec
Personality upload specification. This spec is used in personality upload API.
Name | Description | Schema |
---|---|---|
name |
Personality name |
string |
uploadMode |
Personality upload mode |
string |
uploadSpecRawMode |
Personality upload spec for upload from RAW files |
|
uploadSpecRawWithFileUploadIdMode |
Personality upload spec for upload using file upload id |
|
uploadSpecReferredMode |
Personality upload spec for upload from REFERRED vcenter cluster |
4.268. PersonalityUploadSpecRaw
Personality upload specification for uploading the personality from raw files exported from avCenter cluster. This mode of uplaoding personality is useful when the source vCenter cluster isoutside the target VCF deployment.
Name | Description | Schema |
---|---|---|
personalityISOFilePath |
Personality ISO File Path |
string |
personalityInfoJSONFilePath |
Personality Info JSON File Path |
string |
personalityJSONFilePath |
Personality JSON File Path |
string |
personalityZIPFilePath |
Personality Zip File Path |
string |
4.269. PersonalityUploadSpecRawWithFileUploadId
Personality upload specification for uploading the personality from raw files exported from a vCenter cluster. This mode of uploading personality is useful when the source vCenter cluster is outside the target VCF deployment. User can upload files from a source location to SDDC Manager using v1/personalities/files API, which returns a file upload id. The id is then passed in this spec with Personality Upload Mode RAW_WITH_FILE_UPLOAD_ID.
Name | Description | Schema |
---|---|---|
fileUploadId |
Personality file upload id. This id is obtained by calling v1/personalities/files and uploading files into SDDC Manager |
string |
4.270. PersonalityUploadSpecReferred
Personality upload specification for uploading the personality from a referred vCentercluster. This mode of uplaoding personality is useful when the source vCenter cluster isinternal to the target VCF deployment.
Name | Description | Schema |
---|---|---|
clusterId |
Source cluster UUID from VCF inventory |
string |
vCenterId |
Example : |
string |
vcenterId |
Example : |
string |
4.271. PhysicalNic
Represents a physical NIC
Name | Description | Schema |
---|---|---|
deviceName |
Device name of the physical NIC |
string |
macAddress |
Mac address of the physical NIC |
string |
speed |
Speed in bytes of the physical NIC |
integer (int64) |
4.272. Portgroup
Portgroup associated with the vSphere Distributed Switch
Name | Description | Schema |
---|---|---|
activeUplinks |
List of active uplinks |
< string > array |
name |
Port group name |
string |
portBindingType |
Port binding type |
string |
standbyUplinks |
List of standby uplinks |
< string > array |
transportType |
Port group transport type |
string |
vlanId |
VLAN ID |
integer (int32) |
4.273. PortgroupSpec
This specification contains vCenter port group configurations
Name | Description | Schema |
---|---|---|
activeUplinks |
List of active uplinks associated with portgroup |
< string > array |
name |
Port group name |
string |
transportType |
Port group transport type |
string |
4.274. PositionCoordinate
Name | Description | Schema |
---|---|---|
latitude |
Example : |
number (double) |
longitude |
Example : |
number (double) |
4.275. PrecheckSpec
Precheck Specification. This specification gets used in the Precheck API
Name | Description | Schema |
---|---|---|
bundleId |
If specified, indicate the bundle applicability in the result |
string |
mode |
If specified, indicates the mode of the execution. Supported modes are UPGRADE and RECOVERY. UPGRADE is default mode. Specify RECOVERY for the Inventory Consistency Checks |
string |
resources |
List of resources for Precheck supported type DOMAIN, CLUSTER |
< Resource > array |
4.276. ProductNode
Spec contains information for a vRealize product node
Name | Description | Schema |
---|---|---|
fqdn |
The Fully Qualified Domain Name for the vRealize node (virtual appliance) |
string |
password |
The password for a root user of vRealize appliance |
string |
type |
The type of the vRealize product node |
enum (Oneamong:MASTER, REPLICA, DATA, REMOTECOLLECTOR, WORKER, PRIMARY, SECONDARY) |
username |
The username for a root user of vRealize appliance |
string |
4.277. ProductVersion
Details of the product/component for the release.
Name | Description | Schema |
---|---|---|
additionalMetadata |
any additional metadata |
string |
name |
Name of the product. e.g ESX |
string |
publicName |
Public name of the product, e.g VMware ESXi |
string |
releaseURL |
URL for the release. |
|
version |
Version for the product, e.g 6.7.0-11675023 |
string |
4.278. Psc
Psc representation
Name | Description | Schema |
---|---|---|
domain |
Information about the domain this PSC is part of |
|
fqdn |
FQDN of the Psc |
string |
id |
ID of the Psc |
string |
ipAddress |
IP Address of the Psc |
string |
isReplica |
Indicates if the Psc is a replica |
boolean |
ssoDomainName |
SSO Domain name of the Psc |
string |
ssoSubDomainName |
SSO sub domain name of the Psc |
string |
4.279. PscSpec
Spec contains parameters for deployment/configuration of Platform Services Controller
Name | Description | Schema |
---|---|---|
adminUserSsoPassword |
Admin user sso passwordPassword needs to be a strong password with at least one Uppercase alphabet, one lowercase alphabet, one digit and one special character specified in braces [!$%^] and 8-20 characters in length,and 3 maximum identical adjacent characters! |
string |
pscId |
PSC Name |
string |
pscSsoSpec |
PSC SSO Domain |
4.280. PscSsoSpec
Spec contains parameters for Platform Services Controller SSO
Name | Description | Schema |
---|---|---|
ssoDomain |
PSC SSO Domain,its mandatory for secondary region and if deploying 2 PSC’s |
string |
4.281. QueryInfo
Represents the query info.
Name | Description | Schema |
---|---|---|
completed |
Example : |
boolean |
errorResponse |
Error response if the query has failed |
|
failure |
Example : |
boolean |
processing |
Example : |
boolean |
status |
Status of the query |
string |
4.282. QueryResponseOfobject
Represents the concrete query response.
Name | Description | Schema |
---|---|---|
queryInfo |
Query info |
|
result |
Query result |
4.283. RefreshToken
This contains refresh token id for the user API access.
Name | Description | Schema |
---|---|---|
id |
Refresh token id that can be used to request new access token |
string |
4.284. Release
Model for releases with their description and product version
Name | Description | Schema |
---|---|---|
bom |
Release bill of materials |
< ProductVersion > array |
description |
Release description with all major features. |
string |
eol |
Release eol information e.g. 2020-06-08T02:20:15.844Z in yyyy-MM-dd’T’HH:mm:ss[.SSS]XXX ISO 8601 format |
string |
minCompatibleVcfVersion |
Minimum compatible VCF version, used to represent compatibility of SDDC Manager and VMware BOM components |
string |
patchBundles |
List of patch bundles in this release |
< PatchBundle > array |
product |
Name of the product e.g. "VCF" |
string |
releaseDate |
Release date e.g. 2020-06-08T02:20:15.844Z in yyyy-MM-dd’T’HH:mm:ss[.SSS]XXX ISO 8601 format |
string |
updates |
Collection of release updates |
< ReleaseUpdate > array |
version |
Version of the release |
string |
4.285. ReleaseUpdate
Update to a given release
Name | Description | Schema |
---|---|---|
baseProductVersion |
Base product version for the release |
string |
description |
Description of the release update |
string |
id |
Release version |
string |
productName |
Product name for which the release update is provided |
string |
releaseDate |
Release date e.g. 2020-06-08T02:20:15.844Z in yyyy-MM-dd’T’HH:mm:ss[.SSS]XXX ISO 8601 format |
string |
releaseUpdateURL |
URL to the release update |
4.286. RemoteResponsePayload
Name | Description | Schema |
---|---|---|
assignedBrokerId |
Example : |
integer (int32) |
assignedZkId |
Example : |
integer (int32) |
mbServers |
Example : MessageBusServerInfoList |
|
srServers |
Example : SchemaRegistryServerInfoList |
|
zkServers |
Example : ZookeeperServerInfoList |
4.287. RemoteSiteSpec
Spec contains parameters for Remote site products
Name | Description | Schema |
---|---|---|
pscAddress |
Remote region vCenter address |
string |
sslThumbprint |
Remote region vCenter SSL thumbprint (SHA256) |
string |
vcCredentials |
Remote region vCenter credentials |
4.288. Resource
Represents the resource in the system
Name | Description | Schema |
---|---|---|
fqdn |
Resource FQDN |
string |
name |
Name of the resource |
string |
resourceId |
Resource ID |
string |
sans |
Subject alternative name(s) |
< string > array |
type |
Resource type |
string |
4.289. ResourceCapacity
Name | Description | Schema |
---|---|---|
cpu |
Example : CPU |
|
datastores |
Example : |
< Datastore > array |
hostCount |
Example : HostCount |
|
memory |
Example : Memory |
4.290. ResourceCredentials
Represents a resource along with its list of credentials to be changed.
Name | Description | Schema |
---|---|---|
credentials |
Credentials of the resource |
< BaseCredential > array |
resourceId |
Resource ID |
string |
resourceName |
Resource name |
string |
resourceType |
Authenticated Resource Type |
string |
4.291. ResourcePoolSpec
Spec contains parameters for Resource Pool
Name | Description | Schema |
---|---|---|
cpuLimit |
CPU limit, default -1 (unlimited) |
integer (int64) |
cpuReservationExpandable |
Is CPU reservation expandable, default true |
boolean |
cpuReservationMhz |
CPU reservation in Mhz |
integer (int64) |
cpuReservationPercentage |
CPU reservation percentage, from 0 to 100, default 0 |
integer (int32) |
cpuSharesLevel |
CPU shares level, default 'normal' |
enum (custom, high, low, normal) |
cpuSharesValue |
CPU shares value, only required when shares level is 'normal' |
integer (int32) |
memoryLimit |
Memory limit, default -1 (unlimited) |
integer (int64) |
memoryReservationExpandable |
Is Memory reservation expandable, default true |
boolean |
memoryReservationMb |
Memory reservation in MB |
integer (int64) |
memoryReservationPercentage |
Memory reservation percentage, from 0 to 100, default 0 |
integer (int32) |
memorySharesLevel |
Memory shares level. default 'normal' |
enum (custom, high, low, normal) |
memorySharesValue |
Memory shares value, only required when shares level is '0' |
integer (int32) |
name |
Resource Pool name |
string |
type |
Type of resource pool |
enum (management, compute, network) |
4.292. ResourceUpgradeSpec
Resource Upgrade Specification
Name | Description | Schema |
---|---|---|
enableQuickboot |
Flag for requesting Quick Boot for ESXi upgrade |
boolean |
personalitySpec |
Personality Specifications for vLCM based upgrade |
|
resourceId |
Resource ID for Upgrade |
string |
scheduledTimestamp |
Upgrade Scheduled Time |
string |
shutdownVms |
If Resource Type is UNASSIGNED_HOST, set flag for enabling shutting down VM’s before Upgrade |
boolean |
toVersion |
If Resource Type is UNASSIGNED_HOST, set the target version for Upgrade |
string |
upgradeNow |
Flag for enabling Upgrade Now. If true, scheduledTimestamp is ignored |
boolean |
4.293. RestoreSpec
Restore Specification
Name | Description | Schema |
---|---|---|
backupFile |
Backup file name |
string |
elements |
List of elements to be restored |
< BackupResource > array |
encryption |
Encryption |
4.294. Role
Represents role and its attributes
Name | Description | Schema |
---|---|---|
description |
The description of the role |
string |
id |
The ID of the role |
string |
name |
The name of the role |
string |
4.295. RoleReference
Represents a role reference
Name | Description | Schema |
---|---|---|
id |
ID of the role |
string |
4.296. RootCaCerts
Spec contains Root Certificate Authority parameters
Name | Description | Schema |
---|---|---|
alias |
Certificate alias |
string |
certChain |
List of Base64 encoded certificates |
< string > array |
4.297. SchemaRegistryServerInfo
Name | Description | Schema |
---|---|---|
hostAddress |
Example : |
string |
port |
Example : |
integer (int32) |
protocol |
Example : |
string |
4.298. SchemaRegistryServerInfoList
Name | Description | Schema |
---|---|---|
schemaRegistryServersInfo |
Example : |
< SchemaRegistryServerInfo > array |
4.299. SddcClusterSpec
Spec contains parameters for vCenter Cluster
Name | Description | Schema |
---|---|---|
clusterEvcMode |
vCenter cluster EVC mode |
string |
clusterName |
vCenter Cluster Name |
string |
hostFailuresToTolerate |
Host failures to tolerate |
integer (int32) |
hostProfileComplianceCheckHour |
Hour at which the scheduled compliance check runs |
integer (int32) |
hostProfileComplianceCheckMinute |
Minute at which the scheduled compliance check runs |
integer (int32) |
hosts |
vCenter Cluster Host IDs |
< string > array |
personalityName |
Cluster Personality Name |
string |
resourcePoolSpecs |
Resource Pool Specs |
< ResourcePoolSpec > array |
vmFolders |
Virtual Machine folders map |
< string, string > map |
4.300. SddcCredentials
Credentials contains the username and password
Name | Description | Schema |
---|---|---|
password |
Password |
string |
username |
Username |
string |
4.301. SddcHostSpec
Spec contains parameters for Host
Name | Description | Schema |
---|---|---|
association |
Host Association: Location/Datacenter |
string |
credentials |
Host Credentials |
|
hostname |
Host Hostname |
string |
ipAddressPrivate |
Host Private Management IP |
|
key |
Host key |
string |
serverId |
Host server ID |
string |
sshThumbprint |
Host SSH thumbprint (RSA SHA256) |
string |
sslThumbprint |
Host SSL thumbprint (SHA256) |
string |
vSwitch |
Example : |
string |
vmknicSpecs |
List of Host Vmknic Spec |
< HostVmknicSpec > array |
vswitch |
Example : |
string |
4.302. SddcManager
SDDC Manager representation
Name | Description | Schema |
---|---|---|
basicAuthDetails |
Basic auth details |
|
domain |
Information about the domain this SDDC Manager is part of |
|
fqdn |
FQDN of the SDDC Manager |
string |
id |
ID of the SDDC Manager |
string |
ipAddress |
IP Address of the SDDC Manager |
string |
version |
Version of the SDDC Manager |
string |
4.303. SddcManagerInfo
SDDC Manager Information
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the SDDC Manager |
string |
id |
ID of the SDDC Manager |
string |
ipAddress |
IP Address of the SDDC Manager |
string |
version |
Version of the SDDC Manager |
string |
4.304. SddcManagerSpec
Client input parameters for SDDC Manager Virtual Machine
Name | Description | Schema |
---|---|---|
hostname |
SDDC Manager Hostname |
string |
ipAddress |
SDDC Manager ip address |
string |
licenseKey |
SDDC Manager license key |
string |
localUserPassword |
The local account is a built-in admin account in VCF that can be used in emergency scenarios. The password of this account must be at least 12 characters long. It also must contain at-least 1 uppercase, 1 lowercase, 1 special character specified in braces [!%@$^#?] and 1 digit. In addition, a character cannot be repeated more than 3 times consecutively. |
string |
netmask |
SDDC Manager netmask |
string |
rootUserCredentials |
Root user credentials for the SDDC Manager VM, UserName must be root. Password needs to be a strong password with at least one alphabet and one special character and at least 8 characters in length. |
|
secondUserCredentials |
Second user credentials for the SDDC Manager VM, UserName must be vcf. Password needs to be a strong password with at least one alphabet and one special character and at least 8 characters in length. |
4.305. SddcNetworkSpec
Defines a network spec
Name | Description | Schema |
---|---|---|
activeUplinks |
Active Uplinks for teaming policy, specify uplink1 for failover_explicit VSAN Teaming Policy |
< string > array |
excludeIpAddressRanges |
IP Addresse ranges to be excluded |
< string > array |
excludeIpaddresses |
IP Addresses to be excluded |
< string > array |
gateway |
Gateway |
string |
includeIpAddress |
IP Addresses to be included |
< string > array |
includeIpAddressRanges |
IP Addresse ranges to be included |
< IpRange > array |
mtu |
MTU size |
string |
networkType |
Network Type |
string |
portGroupKey |
Portgroup key name |
string |
standbyUplinks |
Standby Uplinks for teaming policy, specify uplink2 for failover_explicit VSAN Teaming Policy |
< string > array |
subnet |
Subnet |
string |
subnetMask |
Subnet Mask |
string |
teamingPolicy |
Teaming Policy for VSAN and VMOTION network types, Default is loadbalance_loadbased |
string |
vlanId |
VLAN Id |
string |
4.306. SddcNsxtEdgeNodeSpec
NSX-T edge node specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
edgeNodeHostname |
NSX-T edge node fqdn |
string |
edgeNodeName |
NSX-T edge node name |
string |
edgeVtep1Cidr |
NSX-T edge node vtep 1 cidr |
string |
edgeVtep2Cidr |
NSX-T edge node vtep 2 cidr |
string |
interfaces |
NSX-T edge node interfaces |
< NsxtInterface > array |
managementCidr |
NSX-T edge node management cidr |
string |
4.307. SddcNsxtEdgeServicesSpec
NSX-T Edge Services Specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow.
Name | Description | Schema |
---|---|---|
tier0GatewayName |
NSX-T Edge Tier-0 Gateway Name |
string |
tier1GatewayName |
NSX-T Edge Tier-1 Gateway Name |
string |
4.308. SddcNsxtSpec
Spec contains parameters for NSX-T deployment and configurations
Name | Description | Schema |
---|---|---|
ipAddressPoolSpec |
NSX-T IP address pool specification |
|
logicalSegments |
NSX-T logical segment. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow. |
< NsxtLogicalSegment > array |
nsxtAdminPassword |
NSX-T admin password. The password must be at least 12 characters long. Must contain at-least 1 uppercase, 1 lowercase, 1 special character and 1 digit. In addition, a character cannot be repeated 3 or more times consectively. |
string |
nsxtAuditPassword |
NSX-T audit password. The password must be at least 12 characters long. Must contain at-least 1 uppercase, 1 lowercase, 1 special character and 1 digit. In addition, a character cannot be repeated 3 or more times consectively. |
string |
nsxtEdgeSpec |
NSX-T edge specification. Deprecated as of 4.3, Bringup AVN has been deprecated. Instead use DAY-N AVN workflow. |
|
nsxtLicense |
NSX-T Manager license |
string |
nsxtManagerSize |
NSX-T Manager size |
string |
nsxtManagers |
NSX-T Managers |
< NsxtManagerSpec > array |
overLayTransportZone |
NSX-T OverLay Transport zone |
|
rootLoginEnabledForNsxtManager |
If true, allow root login for NSX-T Manager and deny if false |
boolean |
rootNsxtManagerPassword |
NSX-T Manager root password. Password should have 1) At least eight characters, 2) At least one lower-case letter, 3) At least one upper-case letter 4) At least one digit 5) At least one special character, 6) At least five different characters , 7) No dictionary words, 6) No palindromes |
string |
sshEnabledForNsxtManager |
If true, enable SSH for NSX-T Manager and disable if false |
boolean |
transportVlanId |
Transport VLAN ID |
integer (int32) |
vip |
Virtual IP address which would act as proxy/alias for NSX-T Managers |
string |
vipFqdn |
FQDN for VIP so that common SSL certificates can be installed across all managers |
string |
vlanTransportZone |
NSX-T VLAN transport zone |
4.309. SddcSpec
Spec contains parameters for creating/bringing up an SDDC
Name | Description | Schema |
---|---|---|
ceipEnabled |
Enable VCF Customer Experience Improvement Program |
boolean |
certificatesPassphrase |
Passphrase for the vCenter / NSX certificates |
string |
clusterSpec |
Cluster Spec |
|
dnsSpec |
DNS Spec |
|
dvSwitchVersion |
The version of the distributed virtual switches to be used |
string |
dvsSpecs |
List of Dvs Specs |
< DvsSpec > array |
esxLicense |
License for the ESXi hosts |
string |
excludedComponents |
Components to be excluded |
< string > array |
fipsEnabled |
Enable Federal Information Processing Standards |
boolean |
hostSpecs |
List of Host Specs |
< SddcHostSpec > array |
managementPoolName |
A String identifying the network pool associated with the management domain |
string |
networkSpecs |
List of Network Specs |
< SddcNetworkSpec > array |
nsxtSpec |
NSX-T Spec |
|
ntpServers |
List of NTP servers |
< string > array |
pscSpecs |
PSC VM spec |
< PscSpec > array |
remoteSiteSpec |
Remote site spec |
|
sddcId |
Client string that identifies an SDDC by name or instance name. Used for management domain name. Can contain only letters, numbers and the following symbols: '-'. |
string |
sddcManagerSpec |
SDDC Manager Virtual Machine spec |
|
securitySpec |
Security spec |
|
shouldCleanupVsan |
Flag indicating whether cleanup vSAN should be ran |
boolean |
skipEsxThumbprintValidation |
Skip ESXi thumbprint validation |
boolean |
skipGatewayPingValidation |
Skip VSAN / VMOTION networks gateway connectivity validation |
boolean |
taskName |
Name of the task to execute |
string |
vcenterSpec |
vCenter Spec |
|
vsanSpec |
VSAN Spec |
|
vxManagerSpec |
VxManager Spec |
4.310. SddcSubTask
Represents a SDDC sub-task
Name | Description | Schema |
---|---|---|
creationTimestamp |
Sub-Task Creation Time |
string |
description |
Sub-Task Description |
string |
errors |
List of errors in case of a failure |
< Error > array |
localizableDescriptionPack |
Localizable SDDC Task description |
|
localizableNamePack |
Localizable SDDC Task name |
|
name |
Sub-Task Name |
string |
processingStateDescription |
Processing category description, e.g., VC Deployment, VSAN configuration etc |
string |
processingStateName |
Processing category name, e.g., VC Deployment, VSAN configuration etc |
string |
sddcId |
SDDC ID |
string |
status |
Task Status |
string |
updateTimestamp |
Last Update Time of Sub-Task |
string |
4.311. SddcTask
Represents a SDDC task
Name | Description | Schema |
---|---|---|
creationTimestamp |
SDDC Task creation timestamp |
string |
id |
SDDC ID |
string |
localizableNamePack |
Localizable SDDC Task name |
|
name |
Task name |
string |
sddcSubTasks |
All SDDC Sub-Tasks |
< SddcSubTask > array |
status |
SDDC Task status |
string |
4.312. SddcVcenterSpec
Spec contains parameters for vCenter
Name | Description | Schema |
---|---|---|
licenseFile |
License File |
string |
rootVcenterPassword |
vCenter root password. The password must be between 8 characters and 20 characters long. It must also contain at least one uppercase and lowercase letter, one number, and one character from '! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { Ι } ~' and all characters must be ASCII. Space is not allowed in password. |
string |
sshThumbprint |
vCenter Server SSH thumbprint (RSA SHA256) |
string |
sslThumbprint |
vCenter Server SSL thumbprint (SHA256) |
string |
storageSize |
vCenter VM storage size |
string |
vcenterHostname |
vCenter hostname address |
string |
vcenterIp |
vCenter IP address |
string |
vcenterNetmask |
vCenter Netmask |
string |
vmSize |
vCenter VM size |
string |
4.313. SecuritySpec
Spec contains security settings
Name | Description | Schema |
---|---|---|
esxiCertsMode |
ESXi certificates mode |
string |
rootCaCerts |
Root Certificate Authority certificate list |
< RootCaCerts > array |
4.314. SharesInfo
Specify relative allocation between resource consumers
Name | Description | Schema |
---|---|---|
level |
The allocation level |
string |
shares |
The number of shares allocated |
integer (int32) |
4.315. SoftwareComponent
Name | Description | Schema |
---|---|---|
id |
ID of Resource/Software Component |
string |
type |
Type of Resource/Software Component |
string |
4.316. SoftwareInfo
SoftwareSpec contains base os, components, hardware support, addOn metadata to install/update the appropriate Cloud Foundation software components in your management domain or workload domain.
Name | Description | Schema |
---|---|---|
addOn |
Personality addOn |
|
baseImage |
Personality base image |
|
components |
Personality components |
< string, ComponentInfo > map |
hardwareSupport |
Personality hardware support |
4.317. SsoDomainEntity
Represents SSO domain entity
Name | Description | Schema |
---|---|---|
id |
The ID of the SSO domain entity |
string |
name |
The name of the SSO domain entity |
string |
type |
The type of the SSO domain entity |
string |
4.318. StackTraceElement
Name | Description | Schema |
---|---|---|
className |
Example : |
string |
fileName |
Example : |
string |
lineNumber |
Example : |
integer (int32) |
methodName |
Example : |
string |
nativeMethod |
Example : |
boolean |
4.319. Stage
Represents a Stage
Name | Description | Schema |
---|---|---|
completionTimestamp |
Example : |
string |
creationTimestamp |
Example : |
string |
description |
Stage description |
string |
errors |
List of errors in case of a failure |
< Error > array |
name |
Stage name |
string |
status |
Stage status |
string |
type |
Stage type |
string |
4.320. Storage
Represents information about storage on a host
Name | Description | Schema |
---|---|---|
disks |
Information about disks |
< Disk > array |
totalCapacityMB |
Total storage capacity in MB |
number (double) |
usedCapacityMB |
Used storage capacity in MB |
number (double) |
4.321. StorageContainer
Storage container representation
Name | Description | Schema |
---|---|---|
clusterId |
ID of the cluster which is using the storage container |
string |
id |
ID of the storage container |
string |
name |
Name of the storage container |
string |
protocolType |
Storage protocol type |
string |
4.322. StorageContainerUpdateSpec
Represents a storage container update specification
Name | Description | Schema |
---|---|---|
name |
Name of the storage container |
string |
4.323. StorageInfo
Represents a storage metric with used and total for a resource
Name | Description | Schema |
---|---|---|
total |
Total value |
|
used |
Used value |
4.324. SubTask
Represents a sub-task
Name | Description | Schema |
---|---|---|
completionTimestamp |
Sub-task completion timestamp |
string |
creationTimestamp |
Sub-task creation timestamp |
string |
description |
Sub-task description |
string |
errors |
List of errors in case of a failure |
< Error > array |
name |
Sub-task name |
string |
resources |
List of resources associated with sub-task |
< Resource > array |
stages |
List of stages of the sub-task |
< Stage > array |
status |
Sub-task status |
string |
subTasks |
List of child subtasks associated with this subtask |
< SubTask > array |
type |
Sub-task type |
string |
4.325. SupportBundle
Name | Description | Schema |
---|---|---|
bundleAvailable |
Indicate if bundle is available in file system. |
string |
bundleName |
Name of the Support Bundle. |
string |
completionTimestamp |
CompletionTimestamp. |
string |
creationTimestamp |
CreationTimestamp. |
string |
description |
Name of the Operation. |
string |
id |
Id of the Support Bundle task. |
string |
status |
Support Bundle Status. |
string |
4.326. SupportBundleConfig
Name | Description | Schema |
---|---|---|
force |
Run SOS operations, even if there is a Workflow running. |
boolean |
skipKnownHostCheck |
Skip known_hosts file for SupportBundle collection. |
boolean |
4.327. SupportBundleIncludeItems
Name | Description | Schema |
---|---|---|
healthCheck |
Perform SOS Health checks. |
boolean |
summaryReport |
Collect Vcf Summary Reports. |
boolean |
4.328. SupportBundleOption
Name | Description | Schema |
---|---|---|
config |
SupportBundle config. |
|
include |
Sos Additional Reports for Support Bundle. |
4.329. SupportBundleScope
Name | Description | Schema |
---|---|---|
domains |
Domains and Clusters for SOS operation. |
< Domains > array |
includeFreeHosts |
Include free hosts. |
boolean |
4.330. SupportBundleSpec
Name | Description | Schema |
---|---|---|
logs |
Logs of different components. |
|
options |
Sos options for support bundle collection. |
|
scope |
Domain and cluster under which logs should be collected. |
4.331. Task
Represents a task
Name | Description | Schema |
---|---|---|
completionTimestamp |
Task completion timestamp |
string |
creationTimestamp |
Task creation timestamp |
string |
errors |
List of errors in case of a failure |
< Error > array |
id |
Task ID |
string |
isCancellable |
Represents task can be cancellable or not. |
boolean |
name |
Task name |
string |
resolutionStatus |
Resolution state |
string |
resources |
List of resources associated with task |
< Resource > array |
status |
Task status |
string |
subTasks |
List of sub-tasks of the task |
< SubTask > array |
type |
Operation that is represented by the Task in machine readable format. The value is controlled by the owners/producers of the Task. The convention is <resource>_<operation> |
string |
4.332. Throwable
Name | Description | Schema |
---|---|---|
localizedMessage |
Example : |
string |
message |
Example : |
string |
stackTrace |
Example : |
< StackTraceElement > array |
suppressed |
Example : |
< Throwable > array |
4.333. TimeZone
Name | Description | Schema |
---|---|---|
displayName |
Example : |
string |
dstsavings |
Example : |
integer (int32) |
id |
Example : |
string |
rawOffset |
Example : |
integer (int32) |
4.334. TokenCreationSpec
This specification contains user details to create authentication token.
Name | Description | Schema |
---|---|---|
apiKey |
API Key |
string |
password |
User Password |
string |
username |
Username |
string |
4.335. TokenPair
This contains the access token and the refresh token for the user API access.
Name | Description | Schema |
---|---|---|
accessToken |
Bearer token that can be used to make public API calls |
string |
refreshToken |
Refresh token that can be used to request new access token |
4.336. TrustedCertificateSpec
This specification contains certificate & certificate usage
Name | Description | Schema |
---|---|---|
certificate |
Certificate in one-line PEM format |
string |
certificateUsageType |
Certificate usage |
string |
4.337. URL
Name | Description | Schema |
---|---|---|
authority |
Example : |
string |
content |
Example : |
object |
defaultPort |
Example : |
integer (int32) |
file |
Example : |
string |
host |
Example : |
string |
path |
Example : |
string |
port |
Example : |
integer (int32) |
protocol |
Example : |
string |
query |
Example : |
string |
ref |
Example : |
string |
userInfo |
Example : |
string |
4.339. UnmanagedResourceCredential
Represents credentials of am unmanaged resource (i.e a resource that is not managed by VCF)
Name | Description | Schema |
---|---|---|
credentialType |
Credential type |
string |
password |
Password |
string |
username |
Username |
string |
4.340. Upgradable
Upgradable represents the upgrade capability of resources. It contains the bundle(using what), resource(on which) and its associated resources/software components that can be upgraded.
Name | Description | Schema |
---|---|---|
bundleId |
Bundle ID |
string |
bundleType |
Bundle Type |
string |
resource |
Resource which is upgradable |
|
softwareComponents |
Software Components which are Upgradable |
< SoftwareComponent > array |
status |
Upgradable Status |
string |
4.341. UpgradablesClusterResource
Upgradables clusters details with hardware support managers
Name | Description | Schema |
---|---|---|
availableHardwareSupportManagers |
Available Hardware Support Managers for Firmware upgrade |
< HardwareSupportPackages > array |
configuredHardwareSupportManagers |
Configured Hardware Support Managers for Firmware upgrade |
< HardwareSupportPackage > array |
primaryCluster |
Flag for primary cluster |
boolean |
resourceId |
Resource Id |
string |
resourceType |
Resource Type |
string |
softwareInfo |
Software Spec contains base image, addOn, and components details |
|
vlcmEnabled |
Flag to determine if vLCM enabled on the cluster |
boolean |
4.342. Upgrade
Upgrade object which contain details regarding the upgrade
Name | Description | Schema |
---|---|---|
bundleId |
Bundle ID for Upgrade |
string |
id |
ID for Upgrade |
string |
nsxtUpgradeUserInputSpec |
NSX-T upgrade specifications |
|
parallelUpgrade |
Boolean to represent components will be upgraded in parallel on not |
boolean |
resourceType |
Resource Type for Upgrade |
string |
resourceUpgradeSpecs |
Resource Upgrade Specifications |
< ResourceUpgradeSpec > array |
status |
Overall upgrade status |
string |
taskId |
Task ID associated with upgrade |
string |
4.343. UpgradeCommitSpec
Upgrade Commit Specification
Name | Description | Schema |
---|---|---|
scheduledTimestamp |
Upgrade Scheduled Time |
string |
upgradeNow |
Flag for enabling Upgrade Now. If true, scheduledTimestamp is ignored |
boolean |
4.344. UpgradeSpec
Upgrade Specification
Name | Description | Schema |
---|---|---|
bundleId |
Bundle ID for Upgrade |
string |
draftMode |
Boolean to represent upgrade will be created in DRAFT mode. This allows to run prechecks before user confirm/commit the upgrade. |
boolean |
nsxtUpgradeUserInputSpecs |
Resource Upgrade Specifications for NSXT upgrade |
< NsxtUpgradeUserInputSpec > array |
parallelUpgrade |
Boolean to represent components will be upgraded in parallel on not |
boolean |
resourceType |
Resource Type for Upgrade |
string |
resourceUpgradeSpecs |
Resource Upgrade Specifications |
< ResourceUpgradeSpec > array |
4.345. User
Represents user and its attributes
Name | Description | Schema |
---|---|---|
apiKey |
The API key of the user |
string |
creationTimestamp |
The timestamp at which the user was created |
string |
domain |
The domain of the user |
string |
id |
The ID of the user |
string |
name |
The name of the user |
string |
role |
The role of the user |
|
type |
The type of the user |
string |
4.346. VMNicInfo
VMNics attached to an ESXi host reference
Name | Description | Schema |
---|---|---|
isActive |
Status of VMNic if active or inactive |
boolean |
isAutoNegotiateSupported |
Status of VMNic if auto negotiate is supported or not |
boolean |
isInUse |
Status of VMNic if in use or available |
boolean |
linkSpeedMB |
VMNic link speed in MB |
integer (int32) |
name |
Name of the VMNic |
string |
4.347. VSANNetworkSpec
Contains the vSAN Network details
Name | Description | Schema |
---|---|---|
vsanCidr |
vSAN subnet cidr of the ESXi host |
string |
vsanGatewayIP |
vSAN Gateway IP of the ESXi host |
string |
4.348. Validation
Represents a validation with a list of one or more validation checks that are performed as part of the validation
Name | Description | Schema |
---|---|---|
additionalProperties |
Example : |
< string, string > map |
description |
Description of the validation |
string |
executionStatus |
Execution status of the validation |
string |
id |
ID of the validation |
string |
resultStatus |
Result status of the validation after it has completed its execution |
string |
validationChecks |
List of one or more validation checks that are performed as part of the validation |
< ValidationCheck > array |
4.349. ValidationCheck
Represents a validation check
Name | Description | Schema |
---|---|---|
description |
Description of the validation check |
string |
errorResponse |
Error response associated with the validation check |
|
nestedValidationChecks |
List of one or more validation checks that are performed as part of the validation |
< ValidationCheck > array |
resultStatus |
Result status of the validation check after it has completed its execution |
string |
severity |
Severity of the validation check |
string |
4.350. VasaProvider
VASA Provider representation
Name | Description | Schema |
---|---|---|
id |
ID of the VASA Provider |
string |
name |
Name of the VASA Provider |
string |
storageContainers |
List of storage containers associated with the VASA Provider |
< StorageContainer > array |
url |
URL of the VASA Provider |
string |
users |
List of users associated with the VASA Provider |
< VasaUser > array |
4.351. VasaProviderSpec
This specification contains cluster storage configuration for vVol
Name | Description | Schema |
---|---|---|
storageContainerId |
UUID of the VASA storage container |
string |
storageProtocolType |
Type of the VASA storage protocol |
string |
userId |
UUID of the VASA storage user |
string |
vasaProviderId |
UUID of the VASA storage provider |
string |
4.352. VasaProviderUpdateSpec
Represents a VASA Provider update specification
Name | Description | Schema |
---|---|---|
name |
Name of the VASA Provider |
string |
url |
URL of the VASA Provider |
string |
4.353. VasaUser
VASA User representation
Name | Description | Schema |
---|---|---|
id |
ID of the VASA User |
string |
password |
Password |
string |
username |
VASA User name |
string |
4.354. VasaUserUpdateSpec
Represents a VASA User update specification
Name | Description | Schema |
---|---|---|
password |
Password |
string |
username |
VASA User name |
string |
4.355. Vcenter
vCenter representation
Name | Description | Schema |
---|---|---|
domain |
Information about the domain this vCenter is part of |
|
fqdn |
FQDN of the vCenter |
string |
id |
ID of the vCenter |
string |
ipAddress |
IP address of the vCenter |
string |
version |
Version of the vCenter |
string |
4.356. VcenterReference
Represents a vCenter reference
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the vCenter |
string |
id |
ID of the vCenter |
string |
4.357. VcenterSpec
This specification contains the installation and configuration of vCenter in a workload domain
Name | Description | Schema |
---|---|---|
datacenterName |
vCenter datacenter name |
string |
name |
Name of the vCenter virtual machine |
string |
networkDetailsSpec |
Network spec details of the vCenter virtual machine |
|
rootPassword |
vCenter root shell password |
string |
storageSize |
VCenter storage size |
string |
vmSize |
VCenter VM size |
string |
4.358. VcfService
VCF service representation
Name | Description | Schema |
---|---|---|
id |
ID of the service |
string |
name |
Name of the service |
string |
status |
Status of the service |
string |
version |
Version of the service |
string |
4.359. Vds
vSphere distributed switch
Name | Description | Schema |
---|---|---|
id |
vSphere Distributed Switch id |
string |
isUsedByNsxt |
Boolean to identify if the vSphere distributed switch is used by NSX-T |
boolean |
mtu |
Maximum Transmission Unit |
integer (int32) |
name |
vSphere Distributed Switch name |
string |
niocBandwidthAllocations |
List of Network I/O Control Bandwidth Allocations for System Traffic |
< NiocBandwidthAllocation > array |
portGroups |
List of portgroups associated with the vSphere Distributed Switch |
< Portgroup > array |
4.360. VdsSpec
This specification contains vSphere distributed switch configurations
Name | Description | Schema |
---|---|---|
isUsedByNsxt |
Boolean to identify if the vSphere distributed switch is used by NSX-T |
boolean |
name |
vSphere Distributed Switch name |
string |
niocBandwidthAllocationSpecs |
List of Network I/O Control Bandwidth Allocations for System Traffic |
< NiocBandwidthAllocationSpec > array |
portGroupSpecs |
List of portgroups to be associated with the vSphere Distributed Switch |
< PortgroupSpec > array |
4.361. VersionAliasesForBundleComponentType
Version Alias representation
Name | Description | Schema |
---|---|---|
bundleComponentType |
Bundle Component Type |
string |
versionAliases |
Version Aliases |
< BaseAlias > array |
4.362. VersionAliasesForBundleComponentTypeSpec
Version Alias update Specification. This specification gets used in the Version Alias Update API.
Name | Description | Schema |
---|---|---|
forceUpdate |
Flag for force update version alias configuration. |
boolean |
targetVcfVersion |
If this field is set, LCM will calculate and update version aliases based on current deployment VCF version and the provided target VCF version |
string |
versionAliasesForBundleComponentTypes |
List of version aliases for bundle component types. |
< VersionAliasesForBundleComponentType > array |
4.363. VmNic
This specification contains vmnic configurations for vSphere host
Name | Description | Schema |
---|---|---|
id |
VmNic ID of vSphere host to be associated with VDS, once added to cluster |
string |
moveToNvds |
This flag determines if the vmnic must be on N-VDS |
boolean |
uplink |
Uplink to be associated with vmnic |
string |
vdsName |
VDS name to associate with vSphere host |
string |
4.364. VmfsDatastoreSpec
Cluster storage configuration for VMFS
Name | Description | Schema |
---|---|---|
fcSpec |
Cluster storage configuration for VMFS on FC |
< FcSpec > array |
4.365. Vra
Spec contains parameters of a vRealize Automation instance
Name | Description | Schema |
---|---|---|
id |
The ID of the vRealize Automation instance |
string |
loadBalancerFqdn |
The Fully Qualified Domain Name of the vRealize Automation load balancer |
string |
loadBalancerIpAddress |
The IP address of the vRealize Automation load balancer |
string |
nodes |
The nodes of the vRealize Automation instance |
< VrealizeProductNode > array |
status |
The status of the vRealize Automation instance |
string |
version |
The version of the vRealize Automation instance |
string |
4.366. VrealizeProductNode
Spec contains information for a vRealize product node
Name | Description | Schema |
---|---|---|
fqdn |
The Fully Qualified Domain Name for the vRealize node (virtual appliance) |
string |
id |
The ID of the node |
string |
ipAddress |
IP Address of vRealize product appliance |
string |
type |
The type of the vRealize product node |
enum (MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER) |
4.367. Vrli
Spec contains parameters of a vRealize Log Insight instance
Name | Description | Schema |
---|---|---|
id |
The ID of the vRealize Log Insight instance |
string |
loadBalancerFqdn |
The Fully Qualified Domain Name of the vRealize Log Insight load balancer |
string |
loadBalancerIpAddress |
The IP address of the vRealize Log Insight load balancer |
string |
nodes |
The nodes of the vRealize Log Insight instance |
< VrealizeProductNode > array |
status |
The status of the vRealize Log Insight instance |
string |
version |
The version of the vRealize Log Insight instance |
string |
4.368. Vrops
This specification contains information related to the existing vRealize Operations instance deployment
Name | Description | Schema |
---|---|---|
id |
The ID of the vRealize Operations instance |
string |
loadBalancerFqdn |
Fully Qualified Domain Name for the vRealize Operations load balancer |
string |
loadBalancerIp |
IP for the vRealize Operations load balancer |
string |
nodes |
The nodes of the vRealize Operations instance |
< VropsNode > array |
status |
The state of the current product instance |
string |
version |
The version of the vRealize Operations instance |
string |
4.369. VropsNode
Spec contains information for a vRealize product node
Name | Description | Schema |
---|---|---|
fqdn |
The Fully Qualified Domain Name for the vRealize node (virtual appliance) |
string |
id |
The ID of the node |
string |
ipAddress |
IP Address of vRealize product appliance |
string |
password |
The password for a root user of vRealize appliance |
string |
status |
The status of the vRealize product node |
string |
type |
The type of the vRealize product node |
enum (MASTER, REPLICA, DATA, REMOTE_COLLECTOR, WORKER) |
username |
The username for a root user of vRealize appliance |
string |
4.370. Vrslcm
This specification contains information related to the existing vRealize Suite Lifecycle Manager instance deployment
Name | Description | Schema |
---|---|---|
fqdn |
Fully Qualified Domain Name |
string |
id |
The ID of the vRealize Suite Lifecycle Manager instance |
string |
ipAddress |
IP Address of vRealize Suite Lifecycle Manager appliance |
string |
status |
The state of the current product instance |
string |
version |
Version of the product that is currently running on the environment |
string |
4.371. VrslcmDeploymentSpec
Spec contains parameters for creating a new vRealize Suite Lifecycle Manager instance
Name | Description | Schema |
---|---|---|
apiPassword |
The password for an admin API/UI user of vRealize Suite Lifecycle Manager |
string |
fqdn |
Fully Qualified Domain Name |
string |
nsxtStandaloneTier1Ip |
The IP to use for deploying a new standalone Tier-1 router in NSX-T. This router will be used subsequently for vrealize load balancers. |
string |
sshPassword |
The password for a root user of vRealize Suite Lifecycle Manager appliance |
string |
4.372. VsanDatastoreSpec
This specification contains cluster storage configuration for vSAN
Name | Description | Schema |
---|---|---|
datastoreName |
Datastore name used for cluster creation |
string |
dedupAndCompressionEnabled |
Enable vSAN deduplication and compression |
boolean |
failuresToTolerate |
Number of vSphere host failures to tolerate in the vSAN cluster |
integer (int32) |
licenseKey |
License key for the vSAN data store to be applied in vCenter |
string |
4.373. VsanSpec
Spec contains parameters of Virtual SAN
Name | Description | Schema |
---|---|---|
datastoreName |
Datastore Name |
string |
hclFile |
HCL File |
string |
licenseFile |
License File |
string |
vsanDedup |
VSAN feature Deduplication and Compression flag, one flag for both features |
boolean |
vsanName |
Virtual SAN config name |
string |
4.374. VvolDatastoreSpec
This specification contains cluster storage configuration for vVol
Name | Description | Schema |
---|---|---|
name |
Name of the datastore |
string |
vasaProviderSpec |
Vasa Provider spec |
4.375. VxManagerSpec
Spec contains parameters for VxManager
Name | Description | Schema |
---|---|---|
defaultAdminUserCredentials |
Default admin credentials VxManager |
|
defaultRootUserCredentials |
Default root credentials VxManager |
|
sshThumbprint |
VxRail Manager SSH thumbprint (RSA SHA256) |
string |
sslThumbprint |
VxRail Manager SSL thumbprint (SHA256) |
string |
vxManagerHostName |
VxManager host name |
string |
4.376. VxRailDetails
Contains the VxRail Manager details
Name | Description | Schema |
---|---|---|
adminCredentials |
VxRail Manager admin credentials |
|
dnsName |
DNS Name/Hostname of the VxRail Manager |
string |
ipAddress |
IP Address of the VxRail Manager |
string |
networks |
Network details of the VxRail Manager |
< Network > array |
nicProfile |
Nic Profile Type |
string |
rootCredentials |
VxRail Manager root credentials |
|
sshThumbprint |
SSH thumbprint of the VxRail Manager |
string |
sslThumbprint |
SSL thumbprint of the VxRail Manager |
string |
4.377. WitnessSpec
Spec contains the Witness host parameters that are part of each stretched cluster
Name | Description | Schema |
---|---|---|
fqdn |
Management ip of the witness host |
string |
vsanCidr |
vSAN subnet cidr of the witness host |
string |
vsanIp |
vSAN IP of the witness host |
string |
4.378. Wsa
Spec contains parameters of a vRealize Automation instance
Name | Description | Schema |
---|---|---|
id |
The ID of the Workspace ONE Access instance |
string |
loadBalancerFqdn |
The Fully Qualified Domain Name of the Workspace ONE Access load balancer |
string |
loadBalancerIpAddress |
The IP address of the Workspace ONE Access load balancer |
string |
nodes |
The nodes of the Workspace ONE Access instance |
< VrealizeProductNode > array |
status |
The status of the Workspace ONE Access instance |
string |
version |
The version of the Workspace ONE Access instance |
string |
4.379. WsaProductSpec
Spec contains information for a vRealize product
Name | Description | Schema |
---|---|---|
adminCredentials |
The credentials of the vRealize product Admin |
|
certificateChain |
The certificate chain of the vRealize product. |
string |
defaultAdminCredentials |
Default admin credentials for Workspace ONE Access |
|
id |
The ID of the product |
string |
loadBalancerFqdn |
Fully Qualified Domain Name for the vRealize product load balancer |
string |
nodes |
The nodes of the vRealize product instance |
< ProductNode > array |
type |
The type of the Workspace ONE Access instance |
string |
version |
The version of the vRealize product instance |
string |
4.380. ZookeeperServerInfo
Name | Description | Schema |
---|---|---|
clientPort |
Example : |
integer (int32) |
electionPort |
Example : |
integer (int32) |
fqdn |
Example : |
string |
hostAddress |
Example : |
string |
peerPort |
Example : |
integer (int32) |
securePort |
Example : |
integer (int32) |
zkId |
Example : |
integer (int32) |
zkRole |
Example : |
string |
4.381. ZookeeperServerInfoList
Name | Description | Schema |
---|---|---|
zookeeperServersInfo |
Example : |
< ZookeeperServerInfo > array |
5. Troubleshooting Guide
5.1. Error codes and messages
Messages having {} indicate dynamic values being set.
5.1.1. Hosts
Error code | Description |
---|---|
POST_INTERNAL_SERVER_ERROR |
Internal server error |
HOST_TASK_REGISTRATION_FAILED |
Failed to register task to task aggregator |
HOST_TASK_REGISTRATION_FAILED.remedy |
Please make sure that commonsvcs service is up and running. |
FAIL_DECOMMISSION_HOST |
Failed to decommission host. |
HOST_VALIDATION_FOR_DECOMMISSION_FAILED |
Failed to validate the host for decommission. |
HOST_VALIDATION_FOR_DECOMMISSION_FAILED.remedy |
Make sure that the host is not part of any cluster. |
HOST_NFS_MOUNT_CLEAN_FAILED |
Failed to remove NFS configuration of the host. |
HOST_NFS_MOUNT_CLEAN_FAILED.remedy |
Retry decommission once this issue gets resolved. |
KNOWN_HOST_ENTRY_CLEANUP_FAILED |
Failed to remove known hosts configuration entry of the host. |
KNOWN_HOST_ENTRY_CLEANUP_FAILED.remedy |
Retry decommission once this issue gets resolved. |
HOST_CREDENTIAL_DELETION_FAILED |
Failed to delete credentials of the host {0}. |
HOST_SERVICE_CREDENTIAL_DELETION_FAILED |
Failed to delete service account credentials of host {0}. |
HOST_SERVICE_CREDENTIAL_DELETION_INPUT_GENERATION_FAILED |
Failed to generate delete ESXi Service Account Input Data for host {0}. |
HOST_SERVICE_CREDENTIAL_DELETION_POSTVALIDATION_FAILED |
Validation of the ESXi service accounts credentials deletion failed for host {0}. |
HOST_CREDENTIAL_DELETION_FAILED.remedy |
Retry decommission once this issue gets resolved. |
HOST_STORAGE_SAVE_ERROR |
Failed to save input data to persistent storage |
REMOVE_HOST_NOT_INITIALIZED |
Removal for host {0} is not initialized. |
REMOVE_HOST_GET_DATA_ERROR |
Failed to get data for remove host. Reason: {0} |
REMOVE_HOST_UPDATE_DATA_ERROR |
Failed to update data for remove host. Reason: {0} |
DECOMMISSION_HOST_GET_DATA_ERROR |
Failed to get data for decommission host. Reason: {0} |
DECOMMISSION_HOST_UPDATE_DATA_ERROR |
Failed to update data for decommission host. Reason: {0} |
PMM_UPDATE_ALERT_FILTER_ERROR |
Failed to update alert-suppression filter for {0} to {1} |
SERIALIZATION_ERROR |
Failed to serialize the add host uber spec |
DM_HOST_NOT_REACHABLE |
Cannot connect to host with address {0} |
DM_HOST_NOT_REACHABLE.remedy |
Please check the connectivity to host with address {0}. |
DM_HOST_DNS_CONFIGURATION_FAILED |
Cannot configure DNS {0} on host {1} |
DM_HOST_DNS_CONFIGURATION_FAILED.remedy |
Please check the DNS {0} configuration on the host. |
DM_HOST_NTP_CONFIGURATION_FAILED |
Cannot configure NTP servers {0} for host {1} |
DM_HOST_NTP_CONFIGURATION_FAILED.remedy |
Please check the connectivity to host with address {0}. |
NTP_SERVERS_NOT_REACHABLE |
NTP Servers {0} are not reachable from host {1} |
NTP_SERVERS_NOT_REACHABLE.remedy |
Please check the connectivity of NTP servers {0} from host {1} |
BLANK_PRIMARY_DNS_IP |
Cannot find primary DNS IP in the inventory. |
BLANK_PRIMARY_DNS_IP.remedy |
Please make sure that primary DNS IP is available in the inventory (DB). |
BLANK_NTP_IP |
Cannot find any NTP IP in the inventory. |
BLANK_NTP_IP.remedy |
Please make sure that at least one NTP IP is available in the inventory (DB). |
FAILED_TO_GET_DNS_NTP_IP |
Failed to fetch DNS and NTP IPs from inventory. |
FAILED_TO_GET_DNS_NTP_IP.remedy |
Please make sure that commonsvcs service is up and running. |
FAILED_TO_UPDATE_ESXIs |
Failed to update given hosts : {0} into DB. |
FAILED_TO_UPDATE_ESXIs.remedy |
Please make sure that commonsvcs service is up and running. |
FAILED_TO_UPDATE_ESXI |
Failed to update given host into DB. |
FAILED_TO_UPDATE_ESXI.remedy |
Please make sure that commonsvcs service is up and running. |
NOT_FREE_HOSTS |
Hosts : {0} are still part of a cluster. |
HOST_STATUS_UPDATE_FAILED |
Failed to update the status of the host |
HOST_STATUS_UPDATE_FAILED.remedy |
Please make sure that commonsvcs service is up and running. |
HOSTS_DELETE_FAILED |
Failed to delete host(s) : {0} |
HOST_DELETE_FAILED.remedy |
Retry decommission |
HOSTS_IN_DIFFERENT_CLUSTERS_ERROR |
Hosts are in different clusters |
NOT_ALL_HOSTS_IN_INVENTORY_ERROR |
Some ESXi hosts are not known to VCF |
VDSS_SIZE_ERROR |
Expected maximum {0}, but found {1} Virtual Distributed Switches. |
COMMISSION_HOST_INVALID_SPEC_DUPLICATE_HOSTS |
Invalid commission spec duplicate hosts - {0}:{1}. |
COMMISSION_HOST_INVALID_SPEC_DUPLICATE_HOSTS.remedy |
Please remove duplicate hosts - {0}:{1} from the commission spec. |
COMMISSION_HOST_INVENTORY_VALIDATION_FAILED |
Host {0} already present in inventory, validation failed. |
COMMISSION_HOST_INVENTORY_VALIDATION_FAILED.remedy |
Please make sure that you have gone through the validation check-list. |
COMMISSION_HOST_INVALID_SPEC |
Commission Hosts invalid spec |
COMMISSION_HOST_INVALID_SPEC.remedy |
Please pass a valid Commission Hosts spec. |
ROTATE_HOST_SSH_KEYS_FAILED |
Error rotating SSH key for the Host - [{0}]. |
ROTATE_HOST_SSH_KEYS_FAILED.remedy |
Please make sure that commonsvcs service is up and running. |
FAILED_TO_GET_SDDCMANAGER_KNOWNHOSTS |
Failed to get SDDC Manager known hosts. |
FAILED_TO_GET_SDDCMANAGER_KNOWNHOSTS.remedy |
Please make sure that commonsvcs service is up and running. |
FAILED_TO_UPDATE_SDDCMANAGER_KNOWNHOSTS |
Error updating SDDC Manager known hosts. |
FAILED_TO_UPDATE_SDDCMANAGER_KNOWNHOSTS.remedy |
Please make sure that commonsvcs service is up and running. |
HOSTS_NOT_FOUND_IN_SDDCMANAGER_KNOWNHOSTS |
Post validation failed as Host(s) - {0} not found in SDDC Manager known hosts. |
HOSTS_NOT_FOUND_IN_SDDCMANAGER_KNOWNHOSTS.remedy |
Please initiate a fresh decommisioning workflow for these host(s) - {0}. |
FAILED_TO_POST_KNOWNHOSTS_TO_APPLIANCEMANAGER |
Error posting known hosts to SDDC Manager. Status: {0} |
FAILED_TO_POST_KNOWNHOSTS_TO_APPLIANCEMANAGER.remedy |
Please make sure that commonsvcs service is up and running. |
CLUSTER_FTT_UNKNOWN_ERROR |
Null value for FTT for cluster {0}. |
FAILED_TO_MOUNT_NFS_DATASTORE_ON_HOST |
Failed to mount NFS datastore - {0}:{1} on Host - {2}. |
NFS_DATASTORE_NOT_MOUNTED_ON_HOSTS |
NFS datastore - {0}:{1}:{2} not mounted on Host(s) - {3}. |
VCF_HOST_CONNECTIVITY_TO_HOST_FAILED |
Could not connect to Host - [{0}]. |
FAILED_TO_UPDATE_NFS_CONFIGURATION_ON_SDDC_MANAGER |
Failed to update NFS configuration for Hosts - {0} |
FAILED_TO_REFRESH_NFS_CONFIGURATION_ON_SDDC_MANAGER |
Refreshing NFS configuration on SDDC Manager failed. |
FAILED_TO_DETERMINE_SDDC_MANAGER_IPADDRESS |
Failed to determine SDDC Manager IP address. |
FAILED_TO_FETCH_HOST_ATTRIBUTES |
Failed to fetch attributes from Host - {0}. |
FAILED_TO_FETCH_HOST_ATTRIBUTES.remedy |
Please make sure that commonsvcs service is up and running. |
REMOVE_HOSTS_FROM_NOT_ACTIVE_DOMAIN_ERROR |
Removal for hosts {0} from not active domain is not allowed. |
REMOVE_HOSTS_FROM_NOT_ACTIVE_CLUSTER_ERROR |
Removal for hosts {0} from not active cluster is not allowed. |
HOSTS_ALREADY_BEING_REMOVED |
Host(s) {0} already being removed. |
REMOVE_HOSTS_NOT_ACTIVE_VCENTER_ERROR |
Removal for hosts {0} from domain with not active vCenter is not allowed. |
REMOVE_HOSTS_NOT_ACTIVE_NSX_MANAGER_ERROR |
Not attempting to remove hosts {0} from cluster {1} when the NSX Manager is in a bad state. Retry after confirming NSX Manager is not reporting any errors. |
REMOVE_HOSTS_NOT_ACTIVE_NSX_T_MANAGER_ERROR |
Not attempting to remove hosts {0} from cluster {1} when the NSX-T Manager is in a bad state. Retry after confirming NSX-T Manager is not reporting any errors. |
REMOVE_HOSTS_NOT_ACTIVE_NSX_MANAGER_ERROR.remedy |
Retry after confirming NSX Manager is not reporting any errors. |
REMOVE_HOST_FAILED_CRITICAL_ALARMS |
Failed to remove host because of uncleared critical alarms on cluster {0}. |
REMOVE_HOST_FAILED_CRITICAL_ALARMS.remedy |
Address critical issues and retry the task. |
COMM_FAILED_DUE_TO_MISSING_HOSTS |
Failed because hosts {0} are no more in the inventory. |
COMM_FAILED_DUE_TO_MISSING_HOSTS.remedy |
Please initiate a new workflow with the hosts {0}. |
DECOMM_FAILED_DUE_TO_MISSING_HOSTS |
Failed because host(s) : {0} are no more in the inventory. |
DECOMM_FAILED_DUE_TO_MISSING_HOSTS.remedy |
Please verify if correct set of hosts are being decommissioned. |
HOSTS_NOT_IN_EXPECTED_CLUSTERS_ERROR |
Hosts {0} are not in expected cluster {1} anymore. |
DECOMMISSIONING_FAILED |
Decommissioning failed. Reason : {0} |
SSH_LOGIN_FAILED |
SSH login failed for the host: {0} |
FAILED_TO_EXECUTE_COMMAND |
Command {0} execution failed on the host: {1}. |
DM_NTP_SYNC_FAILED |
Time synchronization of the NTP servers {0} failed on the host {1}. |
DM_NTP_SYNC_FAILED.remedy |
Please check the connectivity of NTP servers {0} from host {1}. |
HOSTS_COMMISSION_SPEC_VALIDATION_FAILED |
Hosts commission spec validation failed. errors: {0}. |
HOSTS_VALIDATION_FOR_COMMISSION_FAILED |
Hosts validation for commission failed. errors: {0}. |
FAILED_TO_RAISE_EVENT |
Failed to raise event. |
FQDN_NULL_OR_EMPTY |
FQDN cannot be null, empty or blank |
HOST_USERNAME_NULL_OR_EMPTY |
Host username cannot be null, empty or blank |
HOST_PASSWORD_NULL_OR_EMPTY |
Host password cannot be null, empty or blank |
STORAGE_TYPE_NULL |
Storage type cannot be null or blank |
NETWORKPOOL_ID_NULL_OR_EMPTY |
Network pool ID cannot be null, empty or blank |
NETWORKPOOL_ID_INVALID |
Invalid Network pool ID |
STORAGE_TYPE_INVALID |
Storage type is invalid. Allowable values: {0} |
HOST_SPEC_EMPTY |
Input specification must not be empty |
WCP_LICENSE_VALIDATION_FAILED |
Workload Management is not inactive for the cluster and provided host license {0} has no Workload Management feature |
VVOL_STORAGE_PROTOCOL_NULL_OR_EMPTY |
vVol storage protocol cannot be null, empty or blank when storage type is vVol |
VVOL_STORAGE_PROTOCOL_INVALID |
vVol storage protocol is invalid. Allowable values: {0} |
VCENTER_PASSWORD_EXPIRED |
Password for VCenter with hostname {0} has expired. |
VCENTER_PASSWORD_EXPIRED.remedy |
Please check https://kb.vmware.com/s/article/2147144 for more details. |
VCENTER_PASSWORD_VALIDATION_FAILED |
Validation of password for VCenter with id {0} failed. |
ESXI_CONFIGURATION_INPUT_GENERATION_FAILED |
Failed to generate ESXi configuration input |
FAILED_TO_GET_HOST_DNS_CONFIG |
Failed to get the DNS configuration from the host {0} |
HOST_INSTALL_TEMPORARY_CERTIFICATE_FAILED |
Failed to install temporary VMCA commissioning certificate for host {0} |
ESX_THUMBPRINT_VALIDATION_FAILED |
ESX {0} thumbprint validation fails |
ESX_THUMBPRINTS_NULL_OR_EMPTY |
ESX {0} thumbprints cannot be null or empty |
FAILED_TO_CONFIGURE_NFS_FOR_HOSTS |
Failed to mount NFS datastore on Host - {0} |
FAILED_TO_RETRIEVE_ESXI_VERSION |
Failed to retrieve ESXi version for Host {0} |
SDDC_MANGER_NTP_SERVER_NOT_IN_SYNC |
SDDC Manager is not in sync with NTP server(s). |
5.1.2. Common
Error code | Description |
---|---|
PUBLIC_CLUSTERSPEC_VALIDATION_FAILED |
Failed to validate cluster spec for {0} with errors {1} |
PUBLIC_CLUSTERSPEC_VALIDATIONS_FAILED |
Cluster spec validation errors |
PUBLIC_CLUSTEREXPANSION_SPEC_VALIDATION_FAILED |
Failed to validate cluster expansion spec |
PUBLIC_CLUSTERSTRETCH_SPEC_VALIDATION_FAILED |
Failed to validate stretch cluster spec |
PUBLIC_INTERNAL_SERVER_ERROR |
InternalServerError |
PUBLIC_UNSUPPORTED_OPERATION |
This operation is not supported for this SKU type |
PUBLIC_BAD_REQUEST |
Bad Request |
PUBLIC_DOMAINSPEC_VALIDATION_FAILED |
Failed to validate domain spec |
PUBLIC_HOST_IN_SPEC_VALIDATION_FAILED |
Failed to validate hosts in given spec with errors {0} |
PUBLIC_VXRAIL_MANAGER_CONNECTION_FAILED |
Failed to connect VxRail Manager with errors {0} |
PUBLIC_SKUTYPE_NOT_SUPPORTED |
Given SKU type is not supported |
PUBLIC_OPERATION_NOT_SUPPORTED |
Operation not supported for current environment |
PUBLIC_EDGESPEC_VALIDATION_FAILED |
Failed to validate edge cluster creation spec. {0} |
PUBLIC_EDGE_UPDATESPEC_VALIDATION_FAILED |
Failed to validate edge cluster update spec. {0} |
PUBLIC_CRITERIA_NOT_FOUND |
Criteria with name {0} does not exist |
PUBLIC_VALIDATION_IN_PROGRESS |
Validation is still in progess for the task {0} |
PUBLIC_NULL_CRITERIA |
Criteria cannot be an empty or null value |
PUBLIC_INVALID_INPUT_FOR_CRITERIA |
Invalid input for critera with name {0}, please correct and retry the operation |
PUBLIC_UNSTRETCH_NOT_SUPPORTED |
Unstretch operation not supported |
PUBLIC_HOST_SSH_VALIDATION_FAILURE |
SSH validation failed for hosts {0} with account {1}. |
PUBLIC_HOST_SSH_VALIDATION_FAILURE.remedy |
Please ensure that the correct credentials are provided and the provided host account is not locked. |
PUBLIC_BAD_REQUEST_MULTIPLE_DOMAIN_UPDATE_OPERATIONS |
Only one domain update operation is allowed at a time |
PUBLIC_BAD_REQUEST_MULTIPLE_DOMAIN_UPDATE_OPERATIONS.remedy |
Ensure the domain update spec has only one field |
PUBLIC_NON_VXRAIL_HOSTS_FOUND |
Hosts not managed by VxRail are not compliant with current operation, remove hosts with host names {0} to proceed |
PUBLIC_IP_ADDRESS_RANGES_OVERLAP_WITH_EXISTING_IP_POOL |
The IP address range {0} overlaps with the existing IP address ranges {1} of the IP address pool {2} in the NSX-T cluster {3} |
PUBLIC_IP_ADDRESS_RANGES_OVERLAP_IN_SPEC |
The IP address ranges {0} passed in the input spec overlaps. |
PUBLIC_IP_ADDRESSES_NOT_PART_OF_CIDR |
The IP addresses {0} in the spec are not part of their CIDR {1} |
PUBLIC_INVALID_IP_ADDRESS_RANGE |
The IP address ranges {0} are not valid |
PUBLIC_NOT_ENOUGH_IP_ADDRESSES_AVAILABLE |
Not enough IP addresses available in the IP address pool {0}, needed {1} IP addresses but found {2} |
PUBLIC_IP_ADDRESS_POOL_DOESNOT_EXIST |
IP address pool {0} does not exist in the NSX-T cluster {1} for reuse |
PUBLIC_FAILED_TO_VALIDATE_IP_ADDRESS_POOL |
Failed to validate the IP address pool |
PUBLIC_IP_ADDRESS_POOL_NAME_NOT_UNIQUE |
An IP address pool with the name {0} already exists in the NSX-T cluster {1} |
PUBLIC_INVALID_GATEWAY_IP_ADDRESS |
The gateway IP address in the spec {0} is not part of the subnet {1} |
PUBLIC_INVALID_CIDR_NOTATION |
The CIDR notation {0} in the spec is invalid |
PUBLIC_IP_ADDRESS_POOL_SPEC_VALIDATION_FAILED |
IP address pool spec validation failed with errors {0} |
PUBLIC_IP_ADDRESS_POOL_CONTAINS_SUBNETS_WITHOUT_GATEWAY |
The IP address pool {0} cannot be used as it contains subnets without gateway |
PUBLIC_IP_ADDRESS_POOL_CONTAINS_BLOCK_SUBNETS |
The IP address pool {0} cannot be used as it contains block subnet(s) |
PUBLIC_INVALID_IP_ADDRESS_POOL_GATEWAY_RANGE |
The gateway IP address {0} must not be within IP address pool range {1} and {2} |
CLUSTER_CONFIGURATION_FOR_VC_NOT_FOUND |
Failed to fetch configurations of cluster {0} from vCenter |
SDDC_MANAGER_VCENTER_NOT_FOUND_FOR_DOMAIN_NAME |
Failed to get vCenter for domainName {0} |
PUBLIC_REMOVE_DOMAIN_NOT_SUPPORTED_WHEN_STRETCHED_CLUSTERS_ARE_PRESENT |
Cannot remove Domain as Clusters {0} in the Domain are stretched |
PUBLIC_REMOVE_DOMAIN_NOT_SUPPORTED_WHEN_STRETCHED_CLUSTERS_ARE_PRESENT.remedy |
Unstretch Clusters before removing the Domain |
PUBLIC_VXRAIL_CLUSTER_CREATION_CANNOT_SKIP_FAILED_HOSTS |
Failed ESXi Hosts cannot be skipped during VxRail Cluster creation |
PUBLIC_VXRAIL_CLUSTER_CREATION_CANNOT_SKIP_FAILED_HOSTS.remedy |
Remove the optional field "skipFailedHosts" from the "computeSpec" in the Cluster creation spec |
FAILED_TO_FETCH_NSXT_VERSION |
Failed to fetch the NSX-T version of the domain {0} which is being expanded |
VCENTERS_WITH_EXTERNAL_PSC_FOUND_ON_ENVIRONMENT |
vCenters With External PSC found on environment: {0} |
FETCH_HOST_DETAILS_FAILED |
Failed to fetch ESXi Host(s) details |
FAILED_TO_TRUST_VXRAIL_MANAGER_CERTFICATE |
Failed to trust VxRail Manager {0} certificate |
FAILED_TO_GET_VXRAIL_MANAGER_CERTFICATE |
Failed to get VxRail Manager {0} certificate |
VALIDATE_HOST_CERTIFICATE_ON_VC_FAILED |
Failed to validate ESXi host certificate on vCenter |
VALIDATE_HOST_CERTIFICATE_ON_SDDC_MANAGER_FAILED |
Failed to validate ESXi host certificate on SDDC manager |
SDDC_MANAGER_VCENTER_NOT_FOUND_FOR_CLUSTER |
Failed to get vCenter for cluster {0} |
CLUSTER_INVENTORY_VALIDATION_FAILED |
The cluster inventory validation workflow failed with status {0} |
CLUSTER_INVENTORY_VALIDATION_FAILED.remedy |
Please make sure your system is in stable state with the domainmanager app running and retry workflow |
5.1.3. Domains
Error code | Description |
---|---|
VI_MANAGER_PUBLIC_REMOVE_VI_NOT_INITIALIZED |
Vi removal for domain {0} is not initialized |
VI_MANAGER_PUBLIC_HOST_CRITERION_DOES_NOT_EXIST |
Host criteria with name {0} does not exist |
VI_MANAGER_PUBLIC_CLUSTER_CRITERION_DOES_NOT_EXIST |
Cluster criteria with name {0} does not exist |
VI_MANAGER_PUBLIC_DOMAIN_NOT_FOUND_FOR_ID |
Domain not found for id {0} |
VI_MANAGER_PUBLIC_VALIDATION_TASK_NOT_FOUND |
Task not found for the validation id {0} |
VI_MANAGER_PUBLIC_HOST_CREDENTIAL_NOT_FOUND |
Credential for host with ID {0} not found |
5.1.4. Clusters
Error code | Description |
---|---|
CLUSTER_NOT_FOUND_FOR_ID |
Cluster with ID {0} not found. |
VALIDATION_TASK_NOT_FOUND |
No validation task found. |
REMOVE_CLUSTER_WCP_ENABLED_ERROR |
Can’t remove WCP enabled cluster {0}, Please disable WCP on the cluster from vSphere, prior to removing the cluster. |
5.1.5. Credentials
Error code | Description |
---|---|
PASSWORD_MANAGER_ENTITY_TYPE_NOT_FOUND |
Entity type {0} not found. |
PASSWORD_MANAGER_ENTITY_TYPE_NOT_FOUND.remedy |
Use a valid entity type, {0} is not a valid entity type. |
PASSWORD_MANAGER_DOMAIN_NAME_NOT_FOUND |
Domain {0} doesn’t exist. |
PASSWORD_MANAGER_DOMAIN_NAME_NOT_FOUND.remedy |
Use a valid domain name. |
PASSWORD_MANAGER_CREDENTIAL_TYPE_NOT_FOUND |
Credential type {0} not found. |
PASSWORD_MANAGER_CREDENTIAL_TYPE_NOT_FOUND.remedy |
Use a valid credential type, {0} is not a valid credential type. |
PASSWORD_MANAGER_ENTITY_ID_NOT_FOUND |
Entity ID {0} not found. |
PASSWORD_MANAGER_ENTITY_ID_NOT_FOUND.remedy |
Use a valid entity Id. |
PASSWORD_MANAGER_ENTITY_IP_ADDRESS_NOT_FOUND |
Entity IP address not found. |
PASSWORD_MANAGER_ENTITY_IP_ADDRESS_NOT_FOUND.remedy |
Use a valid entity IP address. |
PASSWORD_MANAGER_ENTITY_NAME_NOT_FOUND |
Entity name {0} not found. |
PASSWORD_MANAGER_ENTITY_NAME_NOT_FOUND.remedy |
Use a valid entity name. |
PASSWORD_MANAGER_ENTITY_USER_NAME_NOT_FOUND |
Entity username not found. |
PASSWORD_MANAGER_ENTITY_USER_NAME_NOT_FOUND.remedy |
Use a valid user name for the entity. |
PASSWORD_MANAGER_ENTITY_PASSWORD_NOT_FOUND |
Entity password not found. |
PASSWORD_MANAGER_INVALID_USER_FOR_CREDENTIAL |
Entity user name {0} is invalid for {1}. |
PASSWORD_MANAGER_INVALID_USER_FOR_CREDENTIAL.remedy |
Use a valid user name for the entity. |
PASSWORD_MANAGER_CHANGER_NOT_FOUND |
Invalid entity type {0} for credential {1}. |
PASSWORD_MANAGER_CHANGER_NOT_FOUND.remedy |
Use a valid combination of entity type and associated credential. |
PASSWORD_MANAGER_TRANSACTION_WORKFLOWID_NOT_FOUND |
Could not find workflow ID {0}. |
PASSWORD_MANAGER_TRANSACTION_WORKFLOWID_NOT_FOUND.remedy |
Use a valid workflow Id. |
PASSWORD_MANAGER_TASK_REGISTRATION_FAILED |
Failed to register with Task aggregator for {0}. |
PASSWORD_MANAGER_TASK_REGISTRATION_FAILED.remedy |
Check if task aggregator is up and responding. |
PASSWORD_MANAGER_TASK_CANCELLATION_FAILED |
Failed to cancel task from Task aggregator for {0}. |
PASSWORD_MANAGER_TASK_CANCELLATION_FAILED.remedy |
Check if task aggregator is up and responding. |
PASSWORD_MANAGER_TRANSACTION_ID_NOT_FOUND |
Task ID {0} not found. |
PASSWORD_MANAGER_TRANSACTION_ID_NOT_FOUND.remedy |
Use a valid task Id. |
PASSWORD_MANAGER_CANNOT_PATCH |
Task ID {0} cannot be patched as it is already successful/cancelled. |
PASSWORD_MANAGER_CANNOT_PATCH.remedy |
Use a valid task Id in running state, if applicable. |
PASSWORD_MANAGER_CANNOT_BE_RESTARTED |
Transaction ID {0} cannot be restarted as the supplied password became void due to another update. |
PASSWORD_MANAGER_CANNOT_BE_RESTARTED.remedy |
You might need to try a new transaction to use a desired password. |
PASSWORD_MANAGER_UPDATE_IN_PROGRESS |
Password update task {0} is in progress/failed state, retry after sometime. |
PASSWORD_MANAGER_UPDATE_IN_PROGRESS.remedy |
Wait for currently in-progress transaction to complete as succeeded/cancelled. |
PASSWORD_MANAGER_NEW_PASSWORD_NOT_ALLOWED |
Password update transaction {0} cannot have a modified password at this time. |
PASSWORD_MANAGER_NEW_PASSWORD_NOT_ALLOWED.remedy |
Use the same password previously used in this transaction. |
PASSWORD_MANAGER_TRANSACTION_ID_MISSING |
Required parameter transactionId missing in PATCH request body. |
PASSWORD_MANAGER_TRANSACTION_ID_MISSING.remedy |
Supply the transactionId in request. |
PASSWORD_MANAGER_MISC_ERROR |
Unknown error occurred, check log further. Error : {0}. |
PASSWORD_MANAGER_MISC_ERROR.remedy |
Error occurred is not a common expected exception. Fix the exception cause. |
PASSWORD_MANAGER_CANNOT_BE_CANCELLED |
Task ID {0} should be in the failure state to initiate cancel operation. |
PASSWORD_MANAGER_CANNOT_BE_CANCELLED.remedy |
Cancel option is only available for a failed transaction. |
PASSWORD_MANAGER_ENTITY_TYPE_NOT_SUPPORTED |
Entity type {0} is not supported. |
PASSWORD_MANAGER_ENTITY_TYPE_NOT_SUPPORTED.remedy |
Use a supported entity type. |
PASSWORD_MANAGER_PASSWORD_NOT_FOUND |
Unable to find password for EntityType {0}. |
PASSWORD_MANAGER_PASSWORD_NOT_FOUND.remedy |
Check if password of this entity type is recorded by CSS. |
PASSWORD_MANAGER_UPDATE_ACTION_MISSING |
Password update action is missing. |
PASSWORD_MANAGER_UPDATE_ACTION_MISSING.remedy |
Supply an update action type. |
PASSWORD_MANAGER_ENTITY_MISSING |
Password update payload should have valid entity details. |
PASSWORD_MANAGER_ENTITY_MISSING.remedy |
Fix errors in entity details in payload. |
PASSWORD_MANAGER_TRANSACTIONID_MISSING |
Password update operation should have valid transaction ID. |
PASSWORD_MANAGER_TRANSACTIONID_MISSING.remedy |
Use a valid transaction Id for update operation. |
PASSWORD_MANAGER_ENTITY_NOT_FOUND |
Entity not found with provided information. |
PASSWORD_MANAGER_ENTITY_NOT_FOUND.remedy |
Check if provided information about entity is correct. |
PASSWORD_MANAGER_INVALID_IPADDRESS |
Invalid entity IP address {0}. |
PASSWORD_MANAGER_INVALID_IPADDRESS.remedy |
Use a valid entity IP address. |
PASSWORD_MANAGER_INVALID_FQDN |
Invalid entity name/FQDN {0}. |
PASSWORD_MANAGER_INVALID_FQDN.remedy |
Use a valid entity name/FQDN. |
PASSWORD_MANAGER_INVALID_PAGE |
Invalid page number specified. |
PASSWORD_MANAGER_INVALID_PAGE.remedy |
Use a valid page number. |
PASSWORD_MANAGER_INVALID_PAGE_ARGUMENTS |
Invalid page arguments specified. |
PASSWORD_MANAGER_INVALID_PAGE_ARGUMENTS.remedy |
Use valid page arguments. |
PASSWORD_MANAGER_RESOURCE_STATE_CANNOT_BE_SET |
Unable to set the status {0} for {1}. |
PASSWORD_MANAGER_RESOURCE_STATE_CANNOT_BE_SET.remedy |
Check if inventory APIs are responsive. |
PASSWORD_MANAGER_RESOURCE_UNAVAILABLE |
Resource {0} is not available/ready. |
PASSWORD_MANAGER_DEPENDENT_RESOURCE_UNAVAILABLE |
Dependent resource {0} is not available/active. |
PASSWORD_MANAGER_DEPENDENT_RESOURCE_UNAVAILABLE.remedy |
Wait for dependant resource to become active, you might need to fix the workflow marking resource in error state. |
PASSWORD_MANAGER_RESOURCES_UNAVAILABLE |
Resources {0} are not available/ready. |
PASSWORD_MANAGER_RESOURCE_UNAVAILABLE.remedy |
Wait for resources to become active, you might need to fix the workflow(s) marking resources in error state. |
PASSWORD_MANAGER_CSS_SYNC_ERROR |
Retry this task {0} as it cannot be canceled at this stage due to storage error. |
PASSWORD_MANAGER_CSS_SYNC_ERROR.remedy |
Current stage doesn’t allow cancel as sync of passwords will fail, retry the failed task. |
PASSWORD_MANAGER_ENTITY_MISMATCH |
The task {0} doesn’t match with the supplied entity. |
PASSWORD_MANAGER_ENTITY_MISMATCH.remedy |
Please use the same entity as the task initially operated on. |
PASSWORD_MANAGER_ENTITY_LIST_NOT_FOUND |
List of entities must be supplied for rotate operation. |
PASSWORD_MANAGER_ENTITY_LIST_NOT_FOUND.remedy |
Supply the list of entities in the rotate operation request. |
PASSWORD_MANAGER_ROTATE_CANNOT_BE_STARTED |
The password rotate operation cannot be started. |
PASSWORD_MANAGER_ROTATE_CANNOT_BE_STARTED.remedy |
Check logs and fix the cause of failure in transaction initiation. |
PASSWORD_MANAGER_TRANSACTION_TYPE_MISMATCH |
Task ID {0} cannot be patched as it’s type {1} is incorrect. |
PASSWORD_MANAGER_TRANSACTION_TYPE_MISMATCH.remedy |
Use the same operation type in retry request as in the failed transaction. |
PASSWORD_MANAGER_OPERATION_TYPE_MISSING |
Password operation type is missing. |
PASSWORD_MANAGER_OPERATION_TYPE_MISSING.remedy |
Supply the operation type in the request. |
PASSWORD_MANAGER_INVALID_OPERATION_TYPE |
Operation type is invalid. Allowable values: {0} |
PASSWORD_MANAGER_INVALID_OPERATION_TYPE.remedy |
Use a valid operation type. |
PASSWORD_MANAGER_UNKNOWN_ACTION |
Password manager bulk update/rotate feature is disabled. |
PASSWORD_MANAGER_DATA_IMPORT_FAILED_NO_DATA |
Missing data to import, check data export function. |
PASSWORD_MANAGER_DATA_IMPORT_FAILED |
Failed to import provided data into password management data store. |
PASSWORD_MANAGER_UNKNOWN_DATA_VERSION |
Unknown version or version not supported by current import function. |
PASSWORD_MANAGER_CREDENTIAL_ID_NOT_FOUND |
Credential ID {0} not found. |
PASSWORD_MANAGER_CREDENTIAL_ID_NOT_FOUND.remedy |
Use a valid credential Id in request. |
PASSWORD_MANAGER_VALIDATION_ID_NOT_FOUND |
Validation ID {0} not found. |
PASSWORD_MANAGER_RETRY_REQUEST_PAYLOAD_MISMATCH |
Task ID {0} cannot be patched as there is mismatch in request body. |
PASSWORD_MANAGER_RETRY_REQUEST_PAYLOAD_MISMATCH.remedy |
Use the same details of resources in patch request as in the original failed task. |
PASSWORD_MANAGER_INVALID_BASIC_AUTH_CREDENTIAL |
Invalid basic-auth credential in request body. |
PASSWORD_MANAGER_INVALID_BASIC_AUTH_CREDENTIAL.remedy |
Supply correct credentials in the request. |
PASSWORD_MANAGER_INVALID_RESOURCE_TYPE |
Resource type is invalid. Allowable values: {0}. |
PASSWORD_MANAGER_INVALID_RESOURCE_TYPE.remedy |
Use a valid resource type. |
PASSWORD_MANAGER_INVALID_CREDENTIAL_TYPE |
Credential type is invalid. Allowable values: {0}. |
PASSWORD_MANAGER_INVALID_CREDENTIAL_TYPE.remedy |
Use a valid credential type. |
PASSWORD_MANAGER_INVALID_PAGESIZE_LIMIT |
Limit must not be less than one. |
PASSWORD_MANAGER_INVALID_PAGESIZE_LIMIT.remedy |
Use a valid page size limit. |
PASSWORD_MANAGER_LOOKUP_FAILED |
Failed to look up passwords due to an internal problem. Try again later. |
PASSWORD_MANAGER_LOOKUP_FAILED.remedy |
Check logs and fix the cause of error. |
PASSWORD_MANAGER_CHECK_DEPLOYMENT_LOCK_FAILED |
Unable to check status of deployment lock. |
PASSWORD_MANAGER_ACQUIRE_DEPLOYMENT_LOCK_FAILED |
Unable to acquire lock for password update. |
PASSWORD_MANAGER_ACQUIRE_DEPLOYMENT_LOCK_FAILED.remedy |
Wait for lock to be available, you might need to check if locking APIs are responsive. |
PASSWORD_MANAGER_RELEASE_DEPLOYMENT_LOCK_FAILED |
Unable to release lock for password update. |
PASSWORD_MANAGER_RELEASE_DEPLOYMENT_LOCK_FAILED.remedy |
Check if locking APIs are up and responding. |
PASSWORD_MANAGER_DEPLOYMENT_LOCK_UNAVAILABLE |
Deployment lock is currently held by an in-progress workflow. |
PASSWORD_MANAGER_DEPLOYMENT_LOCK_UNAVAILABLE.remedy |
Wait for in-progress workflow to finish and release the lock. |
PASSWORD_MANAGER_INVALID_UUID |
Invalid UUID. |
PASSWORD_MANAGER_INVALID_UUID.remedy |
Use a valid UUID. |
PASSWORD_MANAGER_RESOURCE_FETCHER_TASK_FOR_ENTITY_NOT_FOUND |
Unable to find resource fetcher task for given EntityType : {0}. |
PASSWORD_MANAGER_RESOURCE_FETCHER_TASK_FOR_ENTITY_NOT_FOUND.remedy |
Use a valid & supported entity type for lookup operation. |
PASSWORD_MANAGER_REGISTER_TASK_WITH_TASK_AGGREGATOR_FAILED |
Failed to register password management operation task with Task Aggregator, WorkflowId {0}. |
PASSWORD_MANAGER_REGISTER_TASK_WITH_TASK_AGGREGATOR_FAILED.remedy |
Check if task aggregator APIs are up and responding. |
PASSWORD_MANAGER_CANCEL_TASK_WITH_TASK_AGGREGATOR_FAILED |
Failed to cancel password management operation task with Task Aggregator, , WorkflowId {0}. |
PASSWORD_MANAGER_CANCEL_TASK_WITH_TASK_AGGREGATOR_FAILED.remedy |
Check if task aggregator APIs are up and responding. |
PASSWORD_MANAGER_FETCH_VRA_ASSOCIATED_TO_AD_FAILED |
Unable to get VRA associated to AD account from inventory. |
PASSWORD_MANAGER_FETCH_VRA_ASSOCIATED_TO_AD_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_MANAGER_FETCH_SDDC_MANAGER_ASSOCIATED_TO_BACKUP_ACCOUNT_FAILED |
Unable to get sddc manager associated to backup account from inventory. |
PASSWORD_MANAGER_FETCH_SDDC_MANAGER_ASSOCIATED_TO_BACKUP_ACCOUNT_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_MANAGER_FETCH_ESXI_LIST_FAILED |
Unable to get ESXI’s from the inventory. |
PASSWORD_MANAGER_FETCH_ESXI_LIST_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_MANAGER_FETCH_VRLI_LIST_FAILED |
Unable to get vRLI’s from inventory. |
PASSWORD_MANAGER_FETCH_VRLI_LIST_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_MANAGER_FETCH_NSXT_EDGE_CLUSTERS_LIST_FAILED |
Unable to get NSX-T Edge Clusters from NSX-T Cluster {0}. |
PASSWORD_MANAGER_FETCH_NSXT_EDGE_CLUSTERS_LIST_FAILED.remedy |
Check if NSX-T APIs are up and responding. |
PASSWORD_MANAGER_FETCH_NSXT_TRANSPORT_NODES_LIST_FAILED |
Unable to get NSX-T Transport Nodes from NSX-T Cluster {0}. |
PASSWORD_MANAGER_FETCH_NSXT_TRANSPORT_NODES_LIST_FAILED.remedy |
Check if NSX-T APIs are up and responding. |
PASSWORD_MANAGER_RESOLVE_LOAD_BALANCER_IP_FAILED |
Unable to resolve vRLI load balancer IP address. |
PASSWORD_MANAGER_ERRORCAUSE_JSON_PARSING_FAILED |
Unable to parse diagnostic details JSON to find error cause. Check the transaction details for exact error message. |
PASSWORD_MANAGER_ERRORCAUSE_JSON_PARSING_FAILED.remedy |
You might need to get the diagnostic details JSON from password management DB to know the error cause. |
PASSWORD_MANAGER_CRASH_RECOVERY_TRANSACTION_INCONSISTENCY |
Credential update for user : {0} on resource : {1} marked inconsistent during crash recovery. Generally this happens when the application/VM is restarted while an operation is in progress. |
PASSWORD_MANAGER_CRASH_RECOVERY_TRANSACTION_INCONSISTENCY.remedy |
Manually check the transaction in inconsistent state and fix the inconsistency, use retry/cancel operation to proceed further. |
PASSWORD_MANAGER_CRASH_RECOVERY_TRANSACTION_PREVALIDATION_FAILED |
Credential {0} operation failed. Generally this happens when the application/VM is restarted while an operation is in progress. |
PASSWORD_MANAGER_CRASH_RECOVERY_TRANSACTION_PREVALIDATION_FAILED.remedy |
Crash recovery marked this transaction in pre-validation stage as inconsistent. Please try a new transaction to change passwords. |
PASSWORD_MANAGER_RESOURCE_CREDENTIALS_NOT_FOUND |
Unable to find requested resource credentials for {0}. |
PASSWORD_MANAGER_RETRIEVE_PASSWORD_EXPIRY_FAILED |
Password expiry retrieval failed for {0}. |
PASSWORD_UPDATE_LOGIN_FAILED_POST_PASSWORD_CHANGE |
Unable to login using new password for entity {0}, after password change. |
PASSWORD_UPDATE_LOGIN_FAILED_POST_PASSWORD_CHANGE.remedy |
Check if the old password is working and then use cancel operation to release lock. Otherwise, check for errors in logs. |
PASSWORD_UPDATE_UNKNOWN_ERROR_OCCURED |
Unknown error occurred, check log further. |
PASSWORD_UPDATE_UNKNOWN_ERROR_OCCURED.remedy |
Try to fix error cause. |
PASSWORD_UPDATE_CSS_CREDENTIAL_UPDATE_FAILED |
Unable to update credentials for the host in css {0}. |
PASSWORD_UPDATE_CSS_CREDENTIAL_UPDATE_FAILED.remedy |
Check if CSS APIs are up and responding. |
PASSWORD_MANAGER_ENTITY_CONNECTION_FAILED |
Unable to connect to entity : {0}. |
PASSWORD_MANAGER_ENTITY_CONNECTION_FAILED.remedy |
Validate if resource is reachable, user is not in locked state and credentials used are correct. |
PASSWORD_UPDATE_FETCH_ENTITY_FROM_INVENTORY_FAILED |
Unable to retrieve entity type {0} from inventory. |
PASSWORD_UPDATE_FETCH_ENTITY_FROM_INVENTORY_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_UPDATE_SET_ENTITY_STATUS_IN_INVENTORY_FAILED |
Unable to set the status for {0} to inventory. |
PASSWORD_UPDATE_SET_ENTITY_STATUS_IN_INVENTORY_FAILED.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_UPDATE_UNKNOWN_DOMAIN_NAME |
Unknown domain name to fetch VCF Solutions, domain name:{0}. |
PASSWORD_UPDATE_UNKNOWN_DOMAIN_NAME.remedy |
Check if inventory APIs are up and responding. |
PASSWORD_MANAGER_FETCH_ENTITY_CREDENTIALS_FAILED |
Unable to find credential for {0} and credential type {1}. |
PASSWORD_MANAGER_FETCH_ENTITY_CREDENTIALS_FAILED.remedy |
Check if CSS APIs are up and running, validate if requested credential type is valid. |
PASSWORD_MANAGER_FETCH_ENTITYTYPE_CREDENTIALS_FAILED |
Unable to find credential for {0}. |
PASSWORD_UPDATE_FETCH_SERVICE_ACCOUNTS_CREDENTIALS_FAILED |
Unable to find credential for service accounts. |
PASSWORD_MANAGER_FETCH_ALL_CREDENTIALS_FAILED |
Unable to get all credentials from CSS. |
PASSWORD_UPDATE_ENTITYTYPE_NULL_FOR_CREDENTIAL_FETCH |
Unable to filter credential list as entity type is null. |
PASSWORD_UPDATE_ENTITYTYPE_OR_CREDENTIALTYPE_NULL_FOR_CREDENTIAL_FETCH |
EntityType or CredentialType to filter credential list is null. |
PASSWORD_UPDATE_FETCH_SERVICE_ACCOUNT_CREDENTIALS_FAILED |
Unable to find service account credentials. |
PASSWORD_UPDATE_RESPONSE_DATA_PARSING_FAILED |
Unable to parse response data. |
PASSWORD_GET_NSX_BACKUP_SETTINGS_FAILED |
Unable to get backup settings for NSX {0} with backup user credentials. |
PASSWORD_UPDATE_NSX_BACKUP_SETTINGS_FAILED |
Unable to update NSX with backup user credentials. |
PASSWORD_UPDATE_INTERACTIVE_SHELL_SESSION_ERROR |
Error occurred in interactive shell session. |
PASSWORD_UPDATE_WEAK_PASSWORD_PROVIDED |
Password must include at least 1 uppercase and lowercase character, must also have 1 numeric and 1 special character from [!,@,#,$,^,*]. It should have length between 8-127 characters with no three adjacent characters repeating. |
PASSWORD_UPDATE_WEAK_PASSWORD_PROVIDED.remedy |
Use a password which satisfies password complexity requirements. |
PASSWORD_UPDATE_WEAK_WSA_API_PASSWORD_PROVIDED |
vIDM API user password must include at least 1 uppercase and lowercase character, must also have 1 numeric and 1 special character from [!,@,#,^,*]. It should have length between 8-127 characters with no three adjacent characters repeating. Note that '$' is not an allowed character in password from vIDM product. |
PASSWORD_UPDATE_WEAK_WSA_API_PASSWORD_PROVIDED.remedy |
Use a password which satisfies password complexity requirements. Note that '$' is not an allowed character in password from vIDM product. |
PASSWORD_UPDATE_WEAK_NSXT_PASSWORD_PROVIDED |
NSXT API user password must include at least 1 uppercase and lowercase character, must also have 1 numeric and 1 special character from [!,@,#,^,*]. It should have length between 8-127 characters with no three adjacent characters repeating. Must NOT include more than four monotonic character sequences. Must NOT be a palindrome. |
PASSWORD_UPDATE_WEAK_NSXT_PASSWORD_PROVIDED.remedy |
Use a password which satisfies password complexity requirements. |
PASSWORD_UPDATE_USER_NOT_VALIDATED |
Username {0} could not be validated. |
PASSWORD_MANAGER_ENABLE_SSH_FAILED |
Enable SSH on Edge Node {0} {1} failed for user {3} |
PASSWORD_UPDATE_DISABLE_SSH_FAILED |
Disable SSH on Edge Node {0} {1} failed for user {3} |
PASSWORD_UPDATE_FETCH_VROPS_ADAPTER_CREDENTIAL_IN_VRLI_FAILED |
Could not get vROPS adapter credential in vRLI. |
PASSWORD_UPDATE_FETCH_VCENTER_ADAPTER_CREDENTIAL_IN_VRLI_FAILED |
Could not get vCENTER adapter credential in vRLI. |
PASSWORD_UPDATE_UPDATE_VCENTER_ADAPTER_CREDENTIAL_IN_VRLI_FAILED |
could not update vCENTER adapter credential in vRLI. |
PASSWORD_UPDATE_UPDATE_VROPS_ADAPTER_CREDENTIAL_IN_VRLI_FAILED |
could not update vROPS adapter credential in vRLI. |
PASSWORD_UPDATE_LOGINSIGHT_SESSIONID_FAILED |
Could not get sessionId from vRLI. |
PASSWORD_UPDATE_LOGINSIGHT_VIP_NOT_FOUND |
vRLI VIP was not found. |
PASSWORD_UPDATE_NSX_CONTROLLERS_NOT_RUNNING |
one or more NSX controllers are not running. |
PASSWORD_UPDATE_NSX_CONTROLLERS_FAILED |
Unable to change password of NSX controllers in NSX manager: {0}. |
PASSWORD_UPDATE_NSX_EDGES_FAILED |
Unable to change password of NSX edge in NSX manager: {0}. |
PASSWORD_MANAGER_SSH_CONNECTION_FAILED |
Unable to obtain SSH connection to entity: {0}. |
PASSWORD_MANAGER_SSH_CONNECTION_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_UPDATE_INVALID_SECONDARY_PSC_PASSWORD |
Invalid password sent in request, Password used must be same as primary PSC instance password. |
PASSWORD_MANAGER_PSC_ADMIN_CLIENT_CONNECTION_FAILED |
Unable to establish connection with resource. |
PASSWORD_MANAGER_PSC_ADMIN_CLIENT_CONNECTION_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_UPDATE_PASSWORD_POLICY_VOILATED |
Invalid password for the specified password policy for entity : {0}. |
PASSWORD_UPDATE_FETCH_NSXT_USER_DETAILS_FAILED |
Failed to get NSXT user details. |
PASSWORD_UPDATE_FETCH_NSXT_USER_DETAILS_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_MANAGER_NSXT_USER_API_FAILED |
Failed to get NSXT user details. |
PASSWORD_MANAGER_NSXT_USER_API_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_UPDATE_FETCH_NSXT_COMPUTE_MANAGER_DETAILS_FAILED |
Failed to get NSXT Compute Managers details. |
PASSWORD_UPDATE_NSXT_COMPUTE_MANAGER_API_FAILED |
Update API for NSXT Compute Manager failed. |
PASSWORD_GET_NSXT_BACKUP_SETTINGS_API_FAILED |
The attempt to confirm the current configuration of a NSX-T cluster {0} failed. Check that it is accessible and then retry the operation.. |
PASSWORD_UPDATE_NSXT_BACKUP_SETTINGS_API_FAILED |
Update API for for BACKUP settings failed. |
PASSWORD_UPDATE_PKS_API_FAILED |
VCF solutions API failed. |
PASSWORD_UPDATE_BASIC_AUTH_CREDENTIAL_API_FAILED |
Update basic auth password API failed. |
PASSWORD_MANAGER_MANAGEMENT_VCENTER_FOR_HOST_NOT_FOUND |
Invalid inventory, no management vCenter for host found. |
PASSWORD_MANAGER_COMMAND_EXECUTION_IN_VM_FAILED |
Failed executing command in VM. |
PASSWORD_MANAGER_FILE_READ_IN_VM_FAILED |
Failed reading file in VM. |
PASSWORD_UPDATE_VRA_CREDENTIAL_FAILED |
could not update vRA credential. |
PASSWORD_UPDATE_MISSING_PRODUCT_IN_VRSLCM |
Failed to update {0} environment because of missing configuration of {0} in VRSLCM, configure {0} in VRSLCM. |
PASSWORD_UPDATE_MISSING_REQUEST_ID_IN_VRSLCM |
Failed to update admin password in VRSLCM because of missing request id. |
PASSWORD_UPDATE_VRSLCM_API_FAILED |
Failed to update Environment in vRSLCM because of error response. |
PASSWORD_UPDATE_FETCH_VRA_NODES_FAILED |
Failed to get node details of the vRA product. |
PASSWORD_UPDATE_SSO_CREDENTIALS_FOR_NSX_MANAGER_FAILED |
Unable to update SSO credentials for NSX manager : {0}. |
PASSWORD_UPDATE_SSO_CREDENTIALS_FOR_CAFE_NODES_FAILED |
Unable to update SSO credentials with cafe nodes : {0}. |
PASSWORD_UPDATE_SSO_CREDENTIALS_FOR_VROPS_FAILED |
Unable to update SSO with vrops primary nodes : {0}. |
PASSWORD_UPDATE_SSO_CREDENTIALS_FOR_VXRAIL_MANAGER_FAILED |
Unable to update SSO credentials for VxRail manager : {0}. |
PASSWORD_UPDATE_VCENTER_CREDENTIALS_FOR_VRSLCM_FAILED |
Unable to update vCenter password in vRSLCM: {0}. |
PASSWORD_UPDATE_VRA_API_CREDENTIALS_TO_VROPS_FAILED |
Unable to update vra api credentials to vrops. |
PASSWORD_UPDATE_FETCH_VRSLCM_TOKEN_FAILED |
Failed to get token from vRSLCM. |
PASSWORD_UPDATE_VRLI_FAILED_IN_VRSLCM |
VRLI product failed to update in vRSLCM environment. Manually update the vRLI environment in VRSLCM. |
PASSWORD_MANAGER_CSS_PASSWORD_TEST_FAILED |
Testing existing ssh credential for the entity: {0} has failed. |
PASSWORD_MANAGER_CSS_PASSWORD_TEST_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_UPDATE_ENTITY_FAILED |
Failed to change password for entity : {0}. |
PASSWORD_MANAGER_BASH_SHELL_ACTIVATION_FAILED |
Unable to activate bash shell on {0}. |
PASSWORD_MANAGER_BASH_SHELL_ACTIVATION_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_MANAGER_BASH_SHELL_DEACTIVATION_FAILED |
Unable to deactivate bash shell on {0}. |
PASSWORD_MANAGER_BASH_SHELL_DEACTIVATION_FAILED.remedy |
Please verify that the account is active and is not locked. If the password of the account has expired, manually reset the password in the product and then perform a REMEDIATE operation in the SDDC Manager, to update its stored copy of the password. |
PASSWORD_MANAGER_FETCH_VRA_TOKEN_FAILED |
Unable to get token from vra: {0}. |
PASSWORD_UPDATE_FETCH_CASSANDRA_CREDENTIALS_FROM_VRLI_FAILED |
Could not retrieve cassandra credentials from VRLI : {0}. |
PASSWORD_UPDATE_CUSTOM_JUNIT_EXCEPTION |
Custom exception errorcode for Junits. |
PASSWORD_MANAGER_NO_VCENTER_FOR_DOMAIN_FOUND |
Invalid inventory, no domain vCenter for the domain : {0}. |
PASSWORD_MANAGER_FETCH_SSO_CREDENTIALS_FAILED |
Unable to get SSO credentials. |
PASSWORD_MANAGER_GET_VRSLCM_VERSION_FAILED |
Unable to get vRealize LifeCycle Operations Manager version. |
PASSWORD_UPDATE_NO_DOMAIN_FOR_DOMAIN_NAME_FOUND |
Invalid inventory, no domain found for the domain name : {0}. |
PRIVILEGED_USER_AUTHORIZATION_FAILED |
Privileged user not authorized for this operation. |
PRIVILEGED_USER_AUTHENTICATION_FAILED |
Invalid privileged username and/or password. |
PRIVILEGED_USER_USERNAME_MISSING_DOMAIN |
Privileged username must be in the format user@domain. |
PRIVILEGED_USER_GENERIC_ERROR |
Internal error occurred during validation of privileged user credentials. |
PASSWORD_START_SSH_NSXT_API_FAILED |
Failed to start SSH service on NSXT. |
PASSWORD_STOP_SSH_NSXT_API_FAILED |
Failed to stop SSH service on NSXT. |
PASSWORD_MANAGER_NSXT_USER_SSH_FAILED |
NSXT user SSH failed. |
PASSWORD_MANAGER_PATCH_TRANSACTION_INITIATION_FAILED |
Cannot patch transaction : {0}, as it’s initiation failed during pre-validation. Try as a new transaction. |
PASSWORD_MANAGER_PATCH_TRANSACTION_INITIATION_FAILED.remedy |
Try as a new transaction after resolving the pre-validation failures. |
PASSWORD_MANAGER_RESOURCES_NOT_FOUND |
Cannot initiate password {0} because some resources in request couldn’t be found. |
PASSWORD_MANAGER_USER_GENERIC_ERROR |
Internal error occurred during validation of user credentials. |
PASSWORD_MANAGER_USER_AUTHORIZATION_FAILED |
User not authorized for this operation. |
PASSWORD_MANAGER_USER_NOT_ALLOWED_PSC |
User is not allowed to update or rotate PSC credentials. Please login using an alternate 'ADMIN' account to perform this operation. |
PASSWORD_MANAGER_INPUT_SPEC_EMPTY |
Input specification is empty. |
PASSWORD_UPDATE_VRA_ENDPOINT_FAILED |
Failed to update VRA endpoints with new password. |
PASSWORD_UPDATE_FETCH_VRA_ENDPOINTS_FAILED |
Failed to fetch list of VRA endpoints. |
PASSWORD_UPDATE_VRA_ENDPOINT_VALIDATION_FAILED |
Failed to validate endpoint {0} with new credentials. |
PASSWORD_UPDATE_VRA_ENDPOINT_POST_VALIDATE_FAILED |
Failed to update endpoint {0} post validation. |
PASSWORD_UPDATE_DEPENDANT_UPDATE_FAILED |
Failed to finish dependant update. |
PASSWORD_MANAGER_SUBTRANSACTION_WORKFLOWID_NOT_FOUND |
Could not find subtask Id {0} for task Id {1}. |
PASSWORD_UPDATE_CREATE_VRSLCM_CLIENT_FAILED |
Unable to create vRSLCM client for : {0}. |
PASSWORD_UPDATE_ENTITY_VIA_VRSLCM_NOT_SUPPORTED |
Entity type : {0} is not currently supported for password update via vRSLCM. |
PASSWORD_UPDATE_VIA_VRSLCM_FOR_CREDENTIALTYPE_NOT_SUPPORTED |
Credential type : {0} for entity : {1} - {2} is not currently supported for password update via vRSLCM. |
PASSWORD_UPDATE_REQUEST_PAYLOAD_CREATION_FAILED |
Unable to create request payload for {0}/{1} - {2}. |
PASSWORD_UPDATE_FETCH_VREALIZE_NODE_DETAILS_FAILED |
Unable to fetch vREALIZE node details for {0} : {1}. |
PASSWORD_MANAGER_VALIDATE_WSA_API_CREDENTIALS_FAILED |
Failed to validate vIDM : {0} API user : {1} credentials. |
PASSWORD_UPDATE_SDDCMANAGER_SERVICE_ACCOUNT_NOT_FOUND |
Could not find SDDC Manager service account to connect to {0} |
PASSWORD_VALIDATE_RESOURCE_NOT_SUPPORTED |
Password validation is not supported for resource: {0} |
PASSWORD_VALIDATE_SERVICE_ACCOUNT_NOT_SUPPORTED |
Password validation is not supported for resource: {0}. Only user accounts, system accounts and SDDC Manager service accounts are supported. |
PASSWORD_VALIDATE_RESOURCE_UNAVAILABLE |
Resource: {0} is not in active state. |
PASSWORD_MANAGER_ENABLE_LOCKDOWN_MODE_FAILED |
Enabling of lockdown mode on ESXi host : {0} has failed. |
PASSWORD_MANAGER_ENABLE_LOCKDOWN_MODE_FAILED.remedy |
Please immediately enable lockdown mode manually. |
PASSWORD_MANAGER_FETCH_LOCKDOWN_MODE_STATUS_FAILED |
Failed to fetch lockdown mode status on the host : {0}. |
PASSWORD_MANAGER_FETCH_LOCKDOWN_MODE_STATUS_FAILED.remedy |
Login to VC / ESXi host & validate if lockdown status is available. Fix any issue with host. |
PASSWORD_MANAGER_DISABLE_LOCKDOWN_MODE_FAILED |
Disabling of lockdown mode on ESXi host : {0} has failed. |
PASSWORD_MANAGER_DISABLE_LOCKDOWN_MODE_FAILED.remedy |
Login to VC/ESXi host & check the state of ESXi host to know the cause of failure. |
PASSWORD_MANAGER_VALIDATE_ESXI_CREDENTIALS_FAILED |
Validation of password of ESXi host : {0} has failed. |
PASSWORD_MANAGER_VALIDATE_ESXI_CREDENTIALS_FAILED.remedy |
Check if the password used to connect to ESXi host is valid. |
PASSWORD_MANAGER_ESXI_API_FAILED |
Update of password on ESXi host : {0} has failed. |
PASSWORD_MANAGER_ESXI_API_FAILED.remedy |
Check the state of the host to ensure that its reachable & performing optimally. |
PASSWORD_MANAGER_ESXI_API_POST_CHANGE_FAILED |
Validation of new password of ESXi host : {0} after password change has failed. |
PASSWORD_MANAGER_ESXI_API_POST_CHANGE_FAILED.remedy |
Use remediate option to fix this failure. |
PASSWORD_MANAGER_SERVICE_ACCOUNT_NOT_FOUND |
Service account to connect to the resource : {0} couldn’t be found. |
PASSWORD_MANAGER_SERVICE_ACCOUNT_NOT_FOUND.remedy |
Please ensure that a service account exists to be able to be used to connect to the ESXi host. |
PASSWORD_VALIDATE_RESOURCE_IN_LOCKDOWN_MODE_NOT_SUPPORTED |
Password validation cannot be performed when host {0} is in lockdown mode. |
PASSWORD_MANAGER_FETCH_NSXT_PRIMARY_NODE_FQDN_FAILED |
Failed to fetch primary node fqdn for NSXT cluster : {0}. |
PASSWORD_MANAGER_NSXT_CLUSTER_TEST_FAILED |
Failed to test: {0} credentials throughout the NSXT cluster: {1}. |
PASSWORD_MANAGER_NSXT_CLUSTER_TEST_FAILED.remedy |
Please check if password used to connect is valid and there is at least one active node in the NSXT cluster. |
PASSWORD_MANAGER_AUTO_ROTATE_FAILED |
Failed to trigger scheduled password rotation for the configured accounts. Next trigger will only happen on next configured frequency. |
PASSWORD_MANAGER_AUTO_ROTATE_FAILED.remedy |
Please manually trigger password rotation for the failed accounts. |
PASSWORD_MANAGER_AUTO_ROTATE_FREQUENCY_VALUE_INVALID |
Auto Rotate schedule frequency value is invalid. |
PASSWORD_MANAGER_AUTO_ROTATE_INPUT_SPEC_EMPTY |
Auto Rotate input spec is empty. |
PASSWORD_MANAGER_AUTO_ROTATE_INPUT_SPEC_INVALID |
Auto Rotate input spec is not valid. |
PASSWORD_MANAGER_AUTO_ROTATE_INPUT_SPEC_RESOURCE_TYPE_NOT_SUPPORTED |
Resource type: {0} not supported for auto rotate. |
PASSWORD_MANAGER_AUTO_ROTATE_INSERT_SCHEDULE_CONFIGURATION_FAILED |
Failed to create schedule for selected resources. |
PASSWORD_MANAGER_AUTO_ROTATE_FEATURE_DISBALED |
Auto Rotate feature disabled. |
PASSWORD_MANAGER_SSH_ENTITY_NOT_FOUND_FOR_EXPIRY_RETRIEVAL |
Unable to find corresponding ssh entity to retrieve expiry for {0}. |
5.1.6. License keys
Error code | Description |
---|---|
LICENSE_KEY_ALREADY_EXISTS |
Unable to add license key since license key {0} already exists. |
LICENSE_KEY_ALREADY_EXISTS.remedy |
Add a different license key since identical license key already exists. |
LICENSE_MANAGER_LICENSE_KEY_NOT_FOUND |
License key with UUID {0} does not exist. |
LICENSE_MANAGER_LICENSE_KEY_NOT_FOUND.remedy |
Try again with proper license key |
LICENSE_KEY_NOT_FOUND_FOR_RESOURCE |
Failed to fetch license key for resource with UUID {0} for version {1}. |
LICENSE_KEY_NOT_FOUND_FOR_RESOURCE.remedy |
Try again with product version compatible with the existing licenses. |
LICENSE_KEY_DOES_NOT_EXIST |
License key {0} does not exist. |
LICENSE_KEY_DOES_NOT_EXIST.remedy |
Try again with existing license key |
ADD_DLF_FAILED |
Error while adding DLF |
ADD_DLF_FAILED.remedy |
Make sure you are passing required details, (1) Error while writing a file, may be permission issues. |
LICENSE_KEY_INCORRECT_FORMAT_ERROR |
License key is not in correct format. |
LICENSE_KEY_INCORRECT_FORMAT_ERROR.remedy |
Make sure you are adhering to License key format (1) Key should be 29 character in length. (2) Key should be hyphenated at each 5 letter word. |
DLF_INVALID_PATH |
Invalid DLF path |
DLF_INVALID_PATH.remedy |
1.Make sure you have correct DLF path. |
LICENSE_KEY_CORRUPTED |
License key is corrupted. |
LICENSE_KEY_CORRUPTED.remedy |
1. Make sure you use correct license key. |
NO_VALID_DLFS_FOUND |
No valid DLF found in system. |
NO_VALID_DLFS_FOUND.remedy |
1.Make sure you have correct licensekey 2. Use add DLF rest api to add one valid DLF in system. |
LICENSE_KEY_EXPIRED |
License key has expired. |
LICENSE_KEY_EXPIRED.remedy |
1. Make sure you use correct license key. |
NO_ACTIVE_LICENSE_KEY_FOUND |
Active license key not found. |
NO_ACTIVE_LICENSE_KEY_FOUND.remedy |
1. Make sure you add an active license key. |
EXCESS_ACTIVE_LICENSE_KEYS_FOUND |
More number of active license keys found. |
EXCESS_ACTIVE_LICENSE_KEYS_FOUND.remedy |
1. Make sure you specify the license key which needs to be used. |
LICENSE_KEY_NOT_COMPATIBLE |
The license key is not compatible with the current licensing mode and cannot be used. |
LICENSE_KEY_NOT_COMPATIBLE.remedy |
Make sure you use compatible license key for the action. |
DLF_UNREADABLE_PROPERTIES |
DLFs Unable to read properties. |
DLF_UNREADABLE_PROPERTIES.remedy |
1. Make sure you use correct license key. |
DLFSERVICE_READ_FILE_AS_STRING_FAILED |
Error while reading DLF file {0} |
DLFSERVICE_READ_FILE_AS_STRING_FAILED.remedy |
Make sure you have correct dlf stored prior attempt to read. |
INVALID_LICENSE_KEY |
Invalid licensekey |
INVALID_LICENSE_KEY.remedy |
1. Make sure you use correct license key. |
NULL_LICENSE_KEY |
The license key is null |
NULL_LICENSE_KEY.remedy |
Make sure the input is correct and the license exists. |
LICENSE_KEY_NOT_SUPPORTED |
Licensekey is not supported, contact administrator. |
LICENSE_KEY_NOT_SUPPORTED.remedy |
1.Make sure you have valid DLF in system. |
LICENSE_MODE_NOT_SET |
Licensing mode is not set. |
LICENSE_MODE_NOT_SET.remedy |
Make sure the licensing mode is set. |
PSC_OR_CREDS_NOT_AVAILABLE |
PSC or credential service not accessible. |
PSC_OR_CREDS_NOT_AVAILABLE.remedy |
1. Make sure the PSC/credential service are accessible. |
INVALID_UUID |
Invalid UUID given |
INVALID_UUID.remedy |
1.Make sure a valid UUID is given |
RESOURCE_MISMATCH |
Resource provided in url and payload are not matching. |
RESOURCE_MISMATCH.remedy |
Make sure you are passing correct and same resource details in URL and payload. |
LICENSE_MANAGER_RESOURCE_NOT_FOUND |
Resource with UUID {0} does not exist. |
LICENSE_MANAGER_RESOURCE_NOT_FOUND.remedy |
Try again with proper resource UUID. |
LICENSE_MANAGER_OPERATION_NOT_SUPPORTED |
Operation is not supported. |
LICENSE_MANAGER_OPERATION_NOT_SUPPORTED.remedy |
None. |
OPERATION_NOT_SUPPORTED_WITH_CURRENT_LICENSING_MODE |
Operation is not supported in current licensing mode. |
OPERATION_NOT_SUPPORTED_WITH_CURRENT_LICENSING_MODE.remedy |
Make sure the system is in subscription licensing mode. |
LICENSE_KEY_CANNOT_BE_DELETED |
The license key is in use and cannot be deleted. |
LICENSE_KEY_CANNOT_BE_DELETED.remedy |
Make sure that the license key is not used for licensing any resource. |
LICENSE_KEY_NOT_SPECIFIED |
Atleast one license key must be specified in the input. |
LICENSE_KEY_NOT_SPECIFIED.remedy |
Specify one or more license keys in the input. |
LICENSING_MODE_SWITCH_FAILED |
Failed to switch the licensing mode. |
LICENSING_MODE_SWITCH_FAILED.remedy |
None. |
LM_TASK_REGISTRATION_FAILED |
Registering task with Task aggregator failed. |
LM_TASK_REGISTRATION_FAILED.remedy |
None. |
LICENSE_MANAGER_LOCK_NOT_AVAILABLE |
Lock not available. |
LICENSE_MANAGER_LOCK_NOT_AVAILABLE.remedy |
None. |
LICENSE_MANAGER_FAILED_TO_ACQUIRE_LOCK |
Failed to acquire lock. |
LICENSE_MANAGER_FAILED_TO_ACQUIRE_LOCK.remedy |
None. |
LICENSE_MANAGER_FAILED_TO_RELEASE_LOCK |
Failed to release lock. |
LICENSE_MANAGER_FAILED_TO_RELEASE_LOCK.remedy |
None. |
DOMAIN_IN_USE |
Domain {0} is being used in system. |
DOMAIN_IN_USE.remedy |
Make sure that the domain is deleted from the system. |
DOMAIN_NOT_LICENSED |
Domain {0} is not licensed. |
DOMAIN_NOT_LICENSED.remedy |
Make sure to use a domain that has been licensed. |
DOMAIN_NOT_SPECIFIED |
Atleast one domain must be specified in the input. |
DOMAIN_NOT_SPECIFIED.remedy |
Specify one or more domains in the input. |
RELICENSING_DOMAINS_FAILED |
Relicensing of the domains {0} failed. |
RELICENSING_DOMAINS_FAILED.remedy |
Retry the operation. |
EXCESS_LICENSE_KEYS_FOUND |
More than one license key found for {0} in the input. |
EXCESS_LICENSE_KEYS_FOUND.remedy |
Retry with a single or no license key. |
LICENSING_DOMAIN_NOT_ACTIVE |
Domain(s) {0} not in active state. |
LICENSING_DOMAIN_NOT_ACTIVE.remedy |
Retry the operation after the domain(s) are in active state. |
PRODUCT_TYPE_NOT_SUPPORTED |
Product type {0} is not supported. |
PRODUCT_TYPE_NOT_SUPPORTED.remedy |
1.Make sure you add the license key for only supported product types. |
LICENSING_DATA_UNKNOWN_VERSION |
Licensing data version {0} not supported. |
LICENSING_DATA_UNKNOWN_VERSION.remedy |
Please pass the correct version of data. |
LICENSING_DATA_HANDLER_NOT_FOUND |
Licensing data handler not found for version {0}. |
LICENSING_DATA_HANDLER_NOT_FOUND.remedy |
Please pass the supported version to get data handler. |
FAILED_TO_CONNECT_TO_HOST |
Failed to connect to resource {0} |
FAILED_TO_CONNECT_TO_HOST.remedy |
Please check connection to host {0} with accurate credentials |
INVALID_PRODUCT_TYPE |
Product type is invalid. Allowable values: {0} |
INVALID_PRODUCT_TYPE.remedy |
Make sure that the product type is one among {0} |
LICENSE_KEY_USAGE_NOT_FOUND_PSC_DOES_NOT_EXIST |
Unable to get license usage as PSC does not exist. |
LICENSE_KEY_USAGE_NOT_FOUND_PSC_CREDENTIALS_NOT_FOUND |
Unable to get license usage as credentials for PSC is not found. |
LICENSE_IS_MISSING_FEATURES |
License key on host {0} is missing the following features: {1} |
5.1.7. Network pools
Error code | Description |
---|---|
NETWORKPOOL_OPERATION_SUCCESS |
Success |
NETWORKPOOL_NOT_FOUND |
The network pool with ID {0} does not exist |
NETWORKPOOL_NETWORK_NOT_FOUND |
The network with ID {1} does not exist |
NETWORKPOOL_IPADDRESSES_IN_USE |
Deletion of network pool {0} prevented. IP Addresses in use |
NETWORK_NOT_FOUND_IN_NETWORKPOOL |
Specified network {0} not part of networkpool {1} |
NETWORKPOOL_SPEC_VALIDATION_FAILED |
Error while validating network pool parameters |
NETWORKPOOL_CREATE_FAILED |
Failed to create the network pool |
NETWORKPOOL_GET_FAILED |
Failed to get the network pool {0} with id {1} |
IPPOOL_ADD_VALIDATION_FAILED |
Invalid IP Pool parameters specified or overlapping IP Pool found |
IPPOOL_REMOVE_VALIDATION_FAILED |
No IP Pool found or IP Pool in use |
IPPOOL_ADD_FAILED |
Error when adding IP Pool to network |
IPPOOL_REMOVE_FAILED |
Error removing IP Pool from network |
COMMONSVCS_NETWORKPOOL_NETWORK_NOT_ENOUGH_IP_ADDRESSES_AVAILABLE |
Not enough free IP addresses {2} available in chosen network {0} |
IP_ADDRESS_RESERVATION_FAILED |
Request to reserve {2} IP addresses not successful |
UNUSED_IP_ADDRESSES_LISTED_FOR_RELEASE |
Not all IP addresses are in the used IP list for this network |
IP_ADDRESS_RELEASE_FAILED |
The IP addresses cannot be released |
INVALID_IP_COUNT_SPECIFIED |
Invalid count: {2} IP addresses requested from chosen network {0} |
UNKNOWN_NETWORK_SPECIFIED |
Unknown Network Type specified to release IP address |
INVALID_NETWORK_SPECIFIED |
Invalid Network ID specified |
INVENTORY_ERROR |
Failed to fetch ESXi hosts associated with network pool {0} from inventory |
HOSTS_ASSOCIATED_WITH_NETWORKPOOL |
Deletion of network pool {0} prevented. Hosts associated with Network Pool |
DUPLICATE_NETWORKPOOL_FOUND |
Another networkpool {0} with the same name found |
NETWORKPOOL_WITH_OVERLAPPING_NETWORK_FOUND |
A network in the pool overlaps with one of the existing networks already present |
NETWORKPOOL_INTERNAL_SERVER_ERROR |
NetworkPoool Internal Server Error |
NETWORKPOOL_MISSING_NETWORK |
The networks of type VMOTION is mandatory but was not provided. |
MISSING_NETWORKPOOL_NAME |
A valid network pool name must be specified |
MINIMUM_NETWORKS_MISSING |
At least one network should be present in the network pool |
MALFORMED_NETWORK_SPEC |
Malformed subnet data received |
NETWORK_PARAMS_INVALID |
One of VLAN ID, Subnet IP address, MTU or IP pools is invalid |
DUPLICATE_NETWORKS_IN_NETWORKPOOL |
The networkpool {0} has multiple networks of the same type |
SUBNET_OVERLAP_IN_NETWORK |
Subnet Range Overlap within same VLAN |
DELETE_NETWORK_WITH_SINGLE_IPPOOL_FAILED |
Ip Pool cannot be removed from a network with a single Ip Pool |
DELETE_MISSING_IPPOOL_FAILED |
No IP Pool {0} found in the network |
DELETE_IPPOOL_IN_USE_FAILED |
Ip Addresses are allocated from the IpPool {0} |
NETWORKPOOL_WITH_OVERLAPPING_IPPOOLS_FOUND |
Overlapping IP Pools found across networkpools |
DUPLICATE_NETWORKPOOL_NAME_FOUND |
Failed to update the networkpool name {0}. Networkpool with same name exists. |
5.1.8. Tasks
Error code | Description |
---|---|
TA_TASK_CAN_NOT_BE_RETRIED |
Task with ID {0} cannot be retried. |
TA_TASK_CAN_NOT_BE_RETRIED.remedy |
Make sure the task is in failed state to retry. |
TA_TASK_NOT_FOUND |
Task with ID {0} not found |
TA_TASK_CAN_NOT_BE_CANCELLED |
Task cannot be cancelled |
5.1.9. Inventory
Error code | Description |
---|---|
RESOURCE_VALIDATION_ERRORS |
{0} validation failed with errors {1} |
RESOURCE_VALIDATION_FAILED |
{0} validation failed |
INVENTORY_RESOURCE_NULL |
Null value found in {0} |
RESOURCE_ID_NULL |
{0} ID is null/empty |
RESOURCE_NULL_FIELDS |
{0} contains null fields |
INVENTORY_RESOURCE_NOT_FOUND |
{0} not found |
RESOURCE_NOT_FOUND_WITH_ID |
Resource ID: {1} not found in {0} |
RESOURCE_NOT_FOUND_FOR_RESOURCE |
{0} not found for {1} {2} |
RESOURCE_PROPERTY_NOT_FOUND |
{0} {1} property not found |
RESOURCE_ALREADY_EXISTS |
{0} {1} already exists |
RESOURCE_ASSOCIATION_ALREADY_EXISTS |
{0} {1} association already exists with {2} {3} |
RESOURCE_ASSOCIATION_DOES_NOT_EXIST |
{0} {1} association does not exist with {2} {3} |
NETWORK_TYPE_NOT_SUPPORTED |
Network Type {0} is not supported |
ESXI_ATTACHED_TO_CLUSTER |
Esxi {1} is attached to Cluster {1} |
INVENTORY_INVALID_DATA |
VCF service ID in request payload not equal to URL parameter |
INVENTORY_INTERNAL_SERVER_ERROR |
Inventory Internal Server Error |
5.1.10. Certificates
Error code | Description |
---|---|
CERTIFICATE_RESOURCE_DATA_NOT_FOUND |
Resource data not found. |
CERTIFICATE_CSR_GENERATION_FAILED |
Generate CSR failed. |
CERTIFICATE_GET_CSR_FAILED |
Unable to get CSR. |
CERTIFICATE_CSR_VALIDATION_FAILED |
Validation of CSR failed. |
CERTIFICATE_GENERATE_CERTIFICATE_FAILED |
Generate certificate operation failed. |
CERTIFICATE_GET_FAILED |
Unable to get certificate. |
CERTIFICATE_CSR_DOWNLOAD_FAILED |
CSR download operation failed. |
CERTIFICATE_GET_CA_CONFIGURATION_FAILED |
Failed to get CA configuration. |
CERTIFICATE_CA_CREATION_FAILED |
Unable to create CA. |
CERTIFICATE_CA_DELETION_FAILED |
Unable to delete {0} CA configuration. |
CERTIFICATE_VALIDATION_FAILED |
Certificate validation failed for {0} with error {1} |
CERTIFICATE_CA_IS_INVALID |
Invalid CA type {0} |
CERTIFICATE_CA_NOT_CONFIGURED |
Unable to configure CA settings. |
CERTIFICATE_REPLACE_CERT_FAILED |
Replace certificate operation failed. |
CERTIFICATE_REPLACE_CERT_FAILED_WITH_ERROR |
Replace certificate operation failed with error {0} |
CERTIFICATE_GENERAL_EXCEPTION |
{0} |
CERTIFICATE_PLUGIN_NOT_FOUND |
No plugin found for {0}. |
CERTIFICATE_SERVICE_RESTART_FAILED |
Service restart failed for {0} |
CERTIFICATE_INVALID_RESPONSE |
Received invalid response {1} for {0} |
CERTIFICATE_CSR_INVALID_SAN |
Generate CSR failed due to passing of invalid SAN |
CERTIFICATE_SAN_NOT_SUPPORTED |
Generate CSR failed because resource {0} with version {1} does not support SAN |
5.1.11. Backup and Restore
Error code | Description |
---|---|
RETRIEVE_BACKUP_CONFIGURATION_FAILED |
Failed to retrieve backup configuration. |
RETRIEVE_BACKUP_CONFIGURATION_FAILED.remedy |
Retry after a few minutes. |
INVALID_BACKUP_CONFIGURATION |
Provided backup configuration is invalid. |
FAILED_TO_FETCH_FINGERPRINT |
Failed to fetch fingerprint for the given backup server {0} and port {1}. |
BACKUP_FAILED |
Backup failed : {0} |
RESTORE_FAILED |
Restore failed : {0} |
INVALID_ENCRYPTION_PASSPHRASE |
Provided encryption passphrase {0} is invalid. |
INVALID_ENCRYPTION_PASSPHRASE.remedy |
Provide a valid encryption passphrase. Criteria for passphrase: min length: 12; max length: 32; min special characters: 1, special characters allowed: [~, !, @, ^, -, _, +]; min numbers: 2; min capital letters: 2; max consecutive characters: 2. |
BACKUP_LOCATION_INVALID_PROTOCOL |
Backup location protocol is not supported. |
BACKUP_LOCATION_INVALID_PROTOCOL.remedy |
Provide Backup Location protocol as SFTP. |
BACKUP_LOCATION_PORT_NULL |
Backup location port cannot be null. |
BACKUP_LOCATION_USERNAME_BLANK |
Backup location username cannot be null or blank. |
BACKUP_LOCATION_PASSWORD_BLANK |
Backup location password cannot be null or blank. |
BACKUP_LOCATION_DIRECTORY_PATH_BLANK |
Backup location directory path cannot be null or blank. |
BACKUP_LOCATION_SERVER_BLANK |
Backup location server cannot be null or blank. |
BACKUP_RESOURCE_TYPES_EMPTY |
Backup schedule resource types cannot be empty. |
BACKUP_SSH_FINGERPRINT_PATH_BLANK |
Backup location SSH fingerprint cannot be null or blank. |
INVALID_BACKUP_RESOURCE_INPUT |
Backup input specification must contain at least one backup resource. |
INVALID_BACKUP_RESOURCE |
The backup specification contains an invalid backup resource {0}. |
INVALID_NUMBER_OF_BACKUP_RESOURCE |
Backup input specification cannot have more than one backup resource. |
INVALID_ENCRYPTION_PASSPHRASE_INPUT |
Backup input specification must contain encryption passphrase. |
INVALID_BACKUP_SCHEDULE |
Backup schedule input {0} is invalid. |
INVALID_BACKUP_SCHEDULE_FOR_HOURLY_SCHEDULE |
Backup schedule for HOURLY schedule requires minutes field. |
INVALID_BACKUP_SCHEDULE_FOR_WEEKLY_SCHEDULE |
Backup schedule for WEEKLY schedule requires daysOfTheWeek, hourOfTheDay and minutes fields. |
INVALID_BACKUP_SCHEDULE_FREQUENCY |
Provided backup schedule frequency type {0} is invalid.Supported schedule frequencies are {1}. |
INVALID_BACKUP_SCHEDULE_FOR_INVALID_DAYS_OF_WEEK |
Backup schedule for WEEKLY schedule requires valid Days of the week, {0} are invalid. Supported Days of the week are {1}. |
BACKUP_SCHEDULE_NOT_ALLOWED |
Backups can not be scheduled when an in-built SFTP server is used. |
SDDC_MANAGER_BACKUP_FAILED |
SDDC Manager backup operation failed in task {0} |
SDDC_MANAGER_BACKUP_FAILED.remedy |
If the error condition is not a transient condition, resolve it. If you manually initiated the backup, try again. If not, the failed backup will be automatically retried |
BACKUP_OPERATION_FAILED |
Unexpected error encountered when processing SDDC Manager Backup |
BACKUP_OPERATION_FAILED.remedy |
Retry triggering backup again |
QUIESCE_SYSTEM_FAILED |
Quiescing operation failed, please try again later |
QUIESCE_SYSTEM_FAILED.remedy |
Retry triggering backup again |
UNQUIESCE_SYSTEM_FAILED |
Unquiescing operation failed |
UNQUIESCE_SYSTEM_FAILED.remedy |
Retry triggering backup again |
BACKUP_SDDC_MGR_CONFIG_FAILED |
Backup operation failed for SDDC Configuration |
BACKUP_SDDC_MGR_CONFIG_FAILED.remedy |
Retry triggering backup again |
BACKUP_SDDC_MGR_DB_FAILED |
Backup operation failed for vPostgres |
BACKUP_SDDC_MGR_DB_FAILED.remedy |
Retry triggering backup again |
BACKUP_SDDC_MGR_SYSTEM_CONFIG_FAILED |
Backup operation failed for SDDC Manager System Configuration |
BACKUP_SDDC_MGR_SYSTEM_CONFIG_FAILED.remedy |
Retry triggering backup again |
PACKAGE_SDDC_MGR_BACKUP_FAILED |
Package SDDC Manager backup operation failed |
PACKAGE_SDDC_MGR_BACKUP_FAILED.remedy |
Retry triggering backup again |
SAVE_SDDC_MGR_BACKUP_FAILED |
Saving SDDC Manager Backup file failed |
SAVE_SDDC_MGR_BACKUP_FAILED.remedy |
Retry triggering backup again |
DELETE_SDDC_MGR_OLD_BACKUPS_FAILED |
Deleting SDDC Manager old Backups failed |
DELETE_SDDC_MGR_OLD_BACKUPS_FAILED.remedy |
Retry triggering backup again |
5.1.12. Appliance
Error code | Description |
---|---|
CERTIFICATE_CHAIN_EXISTS_IN_TRUST_STORE |
Certificate already exists in SDDC Manager trust store |
CERT_VALIDATION_ERROR |
Error while validating certificate |
INVALID_CERTIFICATE |
Could not parse certificate from input string |
INVALID_CERTIFICATE_USAGE_TYPE |
Invalid certificate usage type {0} |
SDDC_TRUST_STORE_UPDATE_FAILED |
Failed to update SDDC Manager trust store(s) |
NGNIX_TRUST_STORE_UPDATE_FAILED |
Failed to update NGNIX trust store |
TRUST_STORE_CERTIFICATE_READ_FAILURE |
Failed to read SDDC Manager trust store entries |
TRUST_STORE_CREATION_FAILURE |
Not able to create trust store |