1. Overview
VMware Cloud Foundation API Reference Guide
1.1. Version information
Version : 3.8.1-RELEASE
1.3. License information
License : VMware Cloud Foundation
Terms of service : http://www.vmware.com/
1.4. URI scheme
Host : sddc-manager.sfo01.rainpole.local
BasePath : /
Schemes : HTTPS
1.5. Tags
-
Clusters : APIs for managing Clusters
-
Credentials : APIs for managing Credentials
-
Domains : APIs for managing Domains
-
Hosts : APIs for managing Hosts
-
License Keys : APIs for managing License Keys
-
Network Pools : APIs for managing Network Pools
-
Tasks : APIs for managing Tasks
1.6. 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.
-
The API version is independent of the product version and will evolve independently.
Tip
|
Reference APIs using the full path (/v1/hosts) so that any future changes can be localized to a small footprint. When the version is incremented, update the old APIs with new APIs and the corresponding changes. |
Note
|
|
Product Version | APIs |
---|---|
Product Version N |
|
Product Version N+1 |
|
Product Version N+2 |
|
Product Version N+3 |
|
1.7. Security
-
All APIs are secured and need a username and password for invocation
-
The username and password are sent using Basic Authentication scheme
-
To invoke the APIs, SDDC Manager "admin" and its password is required.
Tip
|
For security reasons, you should periodically update the password for this 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, dual authentication is required. A privileged user has to be created in management domain vCenter and associated to group "Sddc_Secured_Access". Along with "admin" account, Privileged user credentials has to be passed in request headers("privileged-username" and "privileged-password") of secured APIs in plain text. Please refer VMware Cloud Foundation Operations and Administration Guide for setting up privileged user.
-
If you write a script that invokes the APIs, the script should either prompt the user to enter the password for the "admin" account or should accept the password as a command line option. TAs a best practice, you should not encode the password for the account in the script code itself.
-
Script should also accept privileged user credentials if the script is invoking any secured APIs defined above.
1.7.1. Changing the "admin" account password
-
SSH in to the SDDC Manager VM, login as "vcf" user.
-
Enter su to switch to the "root" user.
-
Enter the following command:
/opt/vmware/vcf/commonsvcs/scripts/auth/set-basicauth-password.sh admin <password>
-
For <password>, enter the new password to associate with the admin account.
Password requirements:
* Length: 8-12 characters
* Must include: mix of upper-case and lower-case letters a number a special character such as @ ! # $ % ^ or ?
* Cannot include: * { } [ ] ( ) / \ ' " ` ~ , ; : . < >
2. Usecases
2.1. Hosts
2.1.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.
=== Steps -
Validate the input specification.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts/validations/commissions' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool"
} ]'
HTTP Request
POST /v1/hosts/validations/commissions HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 486
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/hosts/validations/a33a2977-ca55-40b1-acb3-22878eff9a47
Content-Type: application/json;charset=UTF-8
Content-Length: 542
{
"id" : "a33a2977-ca55-40b1-acb3-22878eff9a47",
"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 esfo01m01esx01.sfo01.rainpole.local",
"resultStatus" : "UNKNOWN"
}, {
"description" : "Validating host esfo01m01esx02.sfo01.rainpole.local",
"resultStatus" : "UNKNOWN"
} ]
}
-
Poll until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts/validations/a33a2977-ca55-40b1-acb3-22878eff9a47' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/hosts/validations/a33a2977-ca55-40b1-acb3-22878eff9a47 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 452
{
"id" : "a33a2977-ca55-40b1-acb3-22878eff9a47",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "IN_PROGRESS",
"validationChecks" : [ {
"description" : "Validating host esfo01m01esx01.sfo01.rainpole.local",
"resultStatus" : "SUCCEEDED"
}, {
"description" : "Validating host esfo01m01esx02.sfo01.rainpole.local",
"resultStatus" : "UNKNOWN"
} ]
}
-
In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is "SUCCEEDED".
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts/validations/a33a2977-ca55-40b1-acb3-22878eff9a47' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/hosts/validations/a33a2977-ca55-40b1-acb3-22878eff9a47 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 484
{
"id" : "a33a2977-ca55-40b1-acb3-22878eff9a47",
"description" : "Validate input specification to commission one or more hosts to VMware Cloud Foundation",
"executionStatus" : "COMPLETED",
"resultStatus" : "SUCCEEDED",
"validationChecks" : [ {
"description" : "Validating host esfo01m01esx01.sfo01.rainpole.local",
"resultStatus" : "SUCCEEDED"
}, {
"description" : "Validating host esfo01m01esx02.sfo01.rainpole.local",
"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.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool"
} ]'
HTTP Request
POST /v1/hosts HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 486
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "58d74167-ee80-4eb8-90d9-cdfb3c1cd9f3",
"networkPoolName" : "engineering-networkpool"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"username" : "root",
"password" : "VMwareInfra@1",
"storageType" : "VSAN",
"networkPoolId" : "1ff2838a-1983-4747-a94d-d30b2d13a973",
"networkPoolName" : "finance-networkpool"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/d9c95c72-5866-41c7-be3a-edf05bbbe76b
Content-Type: application/json;charset=UTF-8
Content-Length: 79
{
"id" : "d9c95c72-5866-41c7-be3a-edf05bbbe76b",
"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. |
Related APIs
Validate the input specification to commission the Hosts
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.1.2. Get the Hosts
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/hosts HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3793
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED"
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.101",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"status" : "UNASSIGNED_USEABLE"
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "esfo01m01esx03.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.102",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"status" : "UNASSIGNED_UNUSEABLE"
} ]
}
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://sddc-manager.sfo01.rainpole.local/v1/hosts?status=ASSIGNED' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/hosts?status=ASSIGNED HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1373
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED"
} ]
}
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://sddc-manager.sfo01.rainpole.local/v1/hosts?status=UNASSIGNED_USEABLE' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/hosts?status=UNASSIGNED_USEABLE HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1230
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.101",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"status" : "UNASSIGNED_USEABLE"
} ]
}
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://sddc-manager.sfo01.rainpole.local/v1/hosts?status=UNASSIGNED_UNUSEABLE' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/hosts?status=UNASSIGNED_UNUSEABLE HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1232
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782638",
"esxiVersion" : "6.5.0-13006603",
"fqdn" : "esfo01m01esx03.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.102",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"status" : "UNASSIGNED_UNUSEABLE"
} ]
}
2.1.3. Get a Host
Prerequisites
-
The following data is required
-
ID of the host
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/hosts/c0703437-6746-470b-9e1c-f9d3bbc9b1c1' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/hosts/c0703437-6746-470b-9e1c-f9d3bbc9b1c1 HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1250
{
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"esxiVersion" : "6.7.0-13006603",
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local",
"hardwareVendor" : "VMware, Inc.",
"hardwareModel" : "VMware Virtual Platform",
"ipAddresses" : [ {
"ipAddress" : "10.0.0.100",
"type" : "MANAGEMENT"
} ],
"cpu" : {
"frequencyMHz" : 4994.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
},
"storage" : {
"totalCapacityMB" : 781250.0,
"disks" : [ {
"capacityMB" : 390625.0,
"diskType" : "HDD"
}, {
"capacityMB" : 390625.0,
"diskType" : "FLASH"
} ]
},
"physicalNics" : [ {
"deviceName" : "vmnic0",
"macAddress" : "02:00:1b:31:93:d2"
}, {
"deviceName" : "vmnic1",
"macAddress" : "02:00:1b:31:93:d3"
} ],
"domain" : {
"id" : "377236f7-4965-4179-895e-eeb4eb9a6ad1"
},
"cluster" : {
"id" : "4205afdd-94f5-403e-a051-1a9bba09ef40"
},
"status" : "ASSIGNED"
}
2.1.4. 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://sddc-manager.sfo01.rainpole.local/v1/hosts' -i -u 'admin:VMwareInfra@1' -X DELETE \
-H 'Content-Type: application/json' \
-d '[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local"
} ]'
HTTP Request
DELETE /v1/hosts HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 110
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
[ {
"fqdn" : "esfo01m01esx01.sfo01.rainpole.local"
}, {
"fqdn" : "esfo01m01esx02.sfo01.rainpole.local"
} ]
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/f01d62dc-1783-4e9f-bd80-9a878727be74
Content-Type: application/json;charset=UTF-8
Content-Length: 79
{
"id" : "f01d62dc-1783-4e9f-bd80-9a878727be74",
"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. |
2.2. 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) and networking (NSX) into a single consumable entity.
2.2.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 provided, they are configured on the ESXi hosts. If VMFS on FC storage provided, it’s consumed.
-
For each NSX for vSphere Domain, the workflow deploys an NSX Manager in the management domain and three NSX controllers on the ESXi datastore. The workflow also configures an anti-affinity rule between the controller VMs to prevent them from being on the same host for High Availability.
-
For the first NSX-T VI Domain in your environment, the workflow deploys an NSX Manager and three NSX controllers in the management domain. The workflow also configures an anti-affinity rule between the controller VMs to prevent them from being on the same host for High Availability. All subsequent NSX-T Domains share this NSX-T Manager and Controllers.
-
For an NSX-T Domain, NSX Edges are needed to enable overlay VI networks and public networks for north-south traffic. NSX Edges are not deployed automatically for an NSX-T VI Domain. You can deploy them manually after the VI domain is created. Subsequent NSX-T VI Domains share the NSX-T Edges deployed for the first domain.
-
Licenses and integrates the deployed components with the appropriate pieces in the Cloud Foundation software stack.
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
-
-
License key for the vCenter
-
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) or "fibreChannelDatastoreSpec" (For VMFS on FC) 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":"vSanDatastore"}}
-
-
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":"NFSShare"}]}
-
-
-
For VMFS on FC
-
If vSAN or NFS storage provided, they are configured on the ESXi hosts. If VMFS on FC storage provided, it’s consumed.
{"fibreChannelDatastoreSpec":[{"datastoreName":"sample-fc-datastore-name"}]}
-
-
Network Details
-
List of VDS details
-
For each VDS
-
Port group names and the corresponding transport type
-
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
NoteOnly one of "nsxVClusterSpec" (For NSX-V) or "nsxTClusterSpec" (For NSX-T) must be specified. -
For NSX-V
-
VLAN ID of the VXLAN
-
License key for NSX
-
VDS to be used for VXLAN traffic/port group. This should belong to one of the VDS being created for the cluster
-
{"nsxVClusterSpec":{"vlanId":3,"vdsNameForVxlanConfig":"SDDC-Dswitch-Private1"}}
-
For NSX-T
-
VLAN ID of Geneve
-
-
-
{"nsxTClusterSpec":{"geneveVlanId":2}}
-
-
-
NSX details
NoteOnly one of "nsxVSpec" (For NSX-V) or "nsxTSpec" (For NSX-T) must be specified. -
For NSX-V
-
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
-
-
-
NSX-V Controller Details
-
Controller IP addresses (three IPs) without duplicates
-
Controller password
-
Controller gateway
-
Controller subnet mask
-
-
License key for NSX
-
NSX Manager admin password (basic authorization and SSH)
-
NSX Manager enable password
{"nsxManagerSpec":{"name":"nsx-manager-2","networkDetailsSpec":{"ipAddress":"10.0.0.44","dnsName":"nsx-manager-2.sfo01.rainpole.local","gateway":"10.0.0.250","subnetMask":"255.255.255.0"}},"nsxVControllerSpec":{"nsxControllerIps":["10.0.0.45","10.0.0.46","10.0.0.47"],"nsxControllerPassword":"Test123456$%","nsxControllerGateway":"10.0.0.250","nsxControllerSubnetMask":"255.255.255.0"},"licenseKey":"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX","nsxManagerAdminPassword":"Random0$","nsxManagerEnablePassword":"Random0$"}
-
-
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
-
-
-
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
-
NSX manager admin Password (basic authorization and SSH)
-
-
{"nsxManagerSpecs":[{"name":"nsx-manager-2","networkDetailsSpec":{"ipAddress":"10.0.0.44","dnsName":"nsx-manager-2.sfo01.rainpole.local","gateway":"10.0.0.250","subnetMask":"255.255.255.0"}},{"name":"nsx-manager-3","networkDetailsSpec":{"ipAddress":"10.0.0.44","dnsName":"nsx-manager-2.sfo01.rainpole.local","gateway":"10.0.0.250","subnetMask":"255.255.255.0"}},{"name":"nsx-manager-4","networkDetailsSpec":{"ipAddress":"10.0.0.44","dnsName":"nsx-manager-2.sfo01.rainpole.local","gateway":"10.0.0.250","subnetMask":"255.255.255.0"}}],"vip":"10.0.0.166","vipFqdn":"vip-nsxmanager.sfo01.rainpole.local","licenseKey":"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX","nsxManagerAdminPassword":"Random0$"}
-
Warning
|
NSX details (i.e "nsxVSpec" or "nsxTSpec") must match NSX cluster details (i.e "nsxVClusterSpec" or "nsxTClusterSpec") in the input specification. |
-
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 VXLAN VLAN of the management domain. When NSX creates VXLAN VTEPs for 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.
Steps
-
Validate the input specification.
Note
|
The below example is for creating a domain using vSAN storage (i.e "vsanDatastoreSpec") and NSX-V (i.e "nsxVSpec" and "nsxVClusterSpec") |
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/domains/validations/creations' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"domainName" : "Domain1",
"vcenterSpec" : {
"name" : "vCenter1",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "vcenter-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "Random0$",
"datacenterName" : "new-vi-1"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "03ba4e05-4dfb-49b4-a866-6a2afb7902e8",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "3303e5a9-7b4f-4294-aac1-cb23f0a5f270",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "5a243490-59b4-4045-b2e5-625a41fb9bd5",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "SDDC-Dswitch-Private1",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 3,
"vdsNameForVxlanConfig" : "SDDC-Dswitch-Private1"
}
}
}
} ]
},
"nsxVSpec" : {
"nsxManagerSpec" : {
"name" : "nsx-manager-2",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "nsx-manager-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
},
"nsxVControllerSpec" : {
"nsxControllerIps" : [ "10.0.0.45", "10.0.0.46", "10.0.0.47" ],
"nsxControllerPassword" : "Test123456$%",
"nsxControllerGateway" : "10.0.0.250",
"nsxControllerSubnetMask" : "255.255.255.0"
},
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "Random0$",
"nsxManagerEnablePassword" : "Random0$"
}
}'
HTTP Request
POST /v1/domains/validations/creations HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 2633
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"domainName" : "Domain1",
"vcenterSpec" : {
"name" : "vCenter1",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "vcenter-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "Random0$",
"datacenterName" : "new-vi-1"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "03ba4e05-4dfb-49b4-a866-6a2afb7902e8",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "3303e5a9-7b4f-4294-aac1-cb23f0a5f270",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "5a243490-59b4-4045-b2e5-625a41fb9bd5",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "SDDC-Dswitch-Private1",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 3,
"vdsNameForVxlanConfig" : "SDDC-Dswitch-Private1"
}
}
}
} ]
},
"nsxVSpec" : {
"nsxManagerSpec" : {
"name" : "nsx-manager-2",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "nsx-manager-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
},
"nsxVControllerSpec" : {
"nsxControllerIps" : [ "10.0.0.45", "10.0.0.46", "10.0.0.47" ],
"nsxControllerPassword" : "Test123456$%",
"nsxControllerGateway" : "10.0.0.250",
"nsxControllerSubnetMask" : "255.255.255.0"
},
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "Random0$",
"nsxManagerEnablePassword" : "Random0$"
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
{
"id" : "3e1238b5-01b6-4d04-bf1d-ab55a6fe520b",
"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://sddc-manager.sfo01.rainpole.local/v1/domains' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"domainName" : "Domain1",
"vcenterSpec" : {
"name" : "vCenter1",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "vcenter-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "Random0$",
"datacenterName" : "new-vi-1"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "676ff7f1-e51e-45a6-afa6-b3b90f40a00f",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "52befa9c-3e0e-4bf0-8b13-d31115e4b6a6",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "ac8a4f4d-4a49-4505-aae2-b6f03fe93e2e",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "SDDC-Dswitch-Private1",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 3,
"vdsNameForVxlanConfig" : "SDDC-Dswitch-Private1"
}
}
}
} ]
},
"nsxVSpec" : {
"nsxManagerSpec" : {
"name" : "nsx-manager-2",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "nsx-manager-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
},
"nsxVControllerSpec" : {
"nsxControllerIps" : [ "10.0.0.45", "10.0.0.46", "10.0.0.47" ],
"nsxControllerPassword" : "Test123456$%",
"nsxControllerGateway" : "10.0.0.250",
"nsxControllerSubnetMask" : "255.255.255.0"
},
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "Random0$",
"nsxManagerEnablePassword" : "Random0$"
}
}'
HTTP Request
POST /v1/domains HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 2633
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"domainName" : "Domain1",
"vcenterSpec" : {
"name" : "vCenter1",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.43",
"dnsName" : "vcenter-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
},
"rootPassword" : "Random0$",
"datacenterName" : "new-vi-1"
},
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "676ff7f1-e51e-45a6-afa6-b3b90f40a00f",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "52befa9c-3e0e-4bf0-8b13-d31115e4b6a6",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
}, {
"id" : "ac8a4f4d-4a49-4505-aae2-b6f03fe93e2e",
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "vmNicId1",
"vdsName" : "SDDC-Dswitch-Private1"
} ]
}
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "SDDC-Dswitch-Private1",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 3,
"vdsNameForVxlanConfig" : "SDDC-Dswitch-Private1"
}
}
}
} ]
},
"nsxVSpec" : {
"nsxManagerSpec" : {
"name" : "nsx-manager-2",
"networkDetailsSpec" : {
"ipAddress" : "10.0.0.44",
"dnsName" : "nsx-manager-2.sfo01.rainpole.local",
"gateway" : "10.0.0.250",
"subnetMask" : "255.255.255.0"
}
},
"nsxVControllerSpec" : {
"nsxControllerIps" : [ "10.0.0.45", "10.0.0.46", "10.0.0.47" ],
"nsxControllerPassword" : "Test123456$%",
"nsxControllerGateway" : "10.0.0.250",
"nsxControllerSubnetMask" : "255.255.255.0"
},
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"nsxManagerAdminPassword" : "Random0$",
"nsxManagerEnablePassword" : "Random0$"
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6cbca6db-e6d5-4c3d-b2c2-4d5e2eaac63b
Content-Length: 142
{
"id" : "6cbca6db-e6d5-4c3d-b2c2-4d5e2eaac63b",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:41:29.600Z"
}
-
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.2.2. Get the Domains
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/domains' -i -u 'admin:VMwareInfra@1'
HTTP Request
GET /v1/domains HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 564
{
"elements" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5",
"name" : "VI-1",
"vcenters" : [ {
"fqdn" : "vi-1-vcenter.vrack.vsphere.local"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655"
} ]
}, {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c1",
"name" : "VDI-1",
"vcenters" : [ {
"fqdn" : "vdi-1-vcenter.vrack.vsphere.local"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782677"
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782633"
} ]
} ]
}
2.2.3. Get a Domain
Prerequisites
-
The following data is required
-
ID of the domain
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/domains/c0703437-6746-470b-9e1c-f9d3bbc9b1c5' -i -u 'admin:VMwareInfra@1'
HTTP Request
GET /v1/domains/c0703437-6746-470b-9e1c-f9d3bbc9b1c5 HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 220
{
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5",
"name" : "VI-1",
"vcenters" : [ {
"fqdn" : "vi-1-vcenter.vrack.vsphere.local"
} ],
"clusters" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655"
} ]
}
2.2.4. Delete a Domain
When you delete a domain, the clusters within the domain are deleted and the hosts are returned to the free pool.
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://sddc-manager.sfo01.rainpole.local/v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"markForDeletion" : true
}'
HTTP Request
PATCH /v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 30
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"markForDeletion" : true
}
HTTP Response
HTTP/1.1 200 OK
-
Trigger the deletion.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f' -i -u 'admin:VMwareInfra@1' -X DELETE
HTTP Request
DELETE /v1/domains/f74c2d97-621a-4984-9ab6-5d84effde82f HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/27cf548b-4377-4042-90c9-07699088147b
Content-Length: 142
{
"id" : "27cf548b-4377-4042-90c9-07699088147b",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:41:26.860Z"
}
-
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.3. Clusters
2.3.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, once added to cluster
-
-
Datastore details
NoteOnly one of "vsanDatastoreSpec" (For VSAN), "nfsDatastoreSpec" (For NFS) or "fibreChannelDatastoreSpec" (For VMFS on FC) 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":"vSanDatastore"}}
-
-
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":"NFSShare"}]}
-
-
For VMFS on FC
-
Ensure that the ESXi hosts have the given VMFS on FC datastore name configured.
{"fibreChannelDatastoreSpec":[{"datastoreName":"sample-fc-datastore-name"}]}
-
-
Network Details
-
List of VDS details
-
For each VDS
-
Port group names and the corresponding transport type
-
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
NoteOnly one of "nsxVClusterSpec" (For NSX-V) or "nsxTClusterSpec" (For NSX-T) must be specified. -
For NSX-V
-
VLAN ID of the VXLAN
-
License key for NSX
-
VDS to be used for VXLAN traffic/port group. This should belong to one of the VDS being created for the cluster
-
-
-
{"nsxVClusterSpec":{"vlanId":3,"vdsNameForVxlanConfig":"SDDC-Dswitch-Private1"}}
-
For NSX-T
-
VLAN ID of Geneve
-
-
-
{"nsxTClusterSpec":{"geneveVlanId":2}}
-
-
Network pool must be configured.
-
Logical VMware Cloud Foundation container (Workload Domain) must be provisioned.
Note
|
NSX manager and controller is configured when domain is created. |
-
Prerequisites for vSAN, NFS or VMFS on FC 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 VXLAN VLAN of the management domain. When NSX creates VXLAN VTEPs for the domain, they are assigned IP addresses from the DHCP server.
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/clusters/validations/creations' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"domainId" : "b3c69476-7c7e-4c60-b3e7-111a36f0b92e",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "9cc2afcc-c4cc-4be6-a416-7bc6ba545c46"
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "vRack-DSwitch",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 0,
"vdsNameForVxlanConfig" : "vds_name"
}
}
}
} ]
}
}'
HTTP Request
POST /v1/clusters/validations/creations HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 1045
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"domainId" : "b3c69476-7c7e-4c60-b3e7-111a36f0b92e",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "9cc2afcc-c4cc-4be6-a416-7bc6ba545c46"
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "vRack-DSwitch",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 0,
"vdsNameForVxlanConfig" : "vds_name"
}
}
}
} ]
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 292
{
"id" : "09743cb9-a428-4271-8a10-309b87deda40",
"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://sddc-manager.sfo01.rainpole.local/v1/clusters' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"domainId" : "1dfedb58-5712-48b1-bdd9-b09464c8dada",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "9ddb698c-2624-4845-8b29-c6e377cc0d93"
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "vRack-DSwitch",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 0,
"vdsNameForVxlanConfig" : "vds_name"
}
}
}
} ]
}
}'
HTTP Request
POST /v1/clusters HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 1045
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"domainId" : "1dfedb58-5712-48b1-bdd9-b09464c8dada",
"computeSpec" : {
"clusterSpecs" : [ {
"name" : "Cluster1",
"hostSpecs" : [ {
"id" : "9ddb698c-2624-4845-8b29-c6e377cc0d93"
} ],
"datastoreSpec" : {
"vsanDatastoreSpec" : {
"failuresToTolerate" : 1,
"licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"datastoreName" : "vSanDatastore"
}
},
"networkSpec" : {
"vdsSpecs" : [ {
"name" : "vRack-DSwitch",
"portGroupSpecs" : [ {
"name" : "SDDC-DPortGroup-Mgmt",
"transportType" : "MANAGEMENT"
}, {
"name" : "SDDC-DPortGroup-VSAN",
"transportType" : "VSAN"
}, {
"name" : "SDDC-DPortGroup-vMotion",
"transportType" : "VMOTION"
} ]
} ],
"nsxClusterSpec" : {
"nsxVClusterSpec" : {
"vlanId" : 0,
"vdsNameForVxlanConfig" : "vds_name"
}
}
}
} ]
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/55643b60-3a6a-441d-ab19-a6bdd747cece
Content-Length: 142
{
"id" : "55643b60-3a6a-441d-ab19-a6bdd747cece",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:42:11.850Z"
}
-
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.3.2. Get the Clusters
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/clusters' -i -u 'admin:VMwareInfra@1'
HTTP Request
GET /v1/clusters HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1274
{
"elements" : [ {
"id" : "8045e44e-974e-4f43-9862-7f0326782655",
"name" : "sfo01-m01-mgmt01",
"primaryDatastoreName" : "sfo01-m01-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ]
}, {
"id" : "8045e44e-974e-4f43-9862-7f0326782677",
"name" : "sfo01-m01-wld01",
"primaryDatastoreName" : "sfo01-m01-nfs01",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470z-9e1c-f9d3bbc9b1c6"
}, {
"id" : "c0703431-6742-470t-9e1d-f9d3bbc9b1c1"
} ]
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782633",
"name" : "sfo01-m01-wld02",
"primaryDatastoreName" : "sfo01-m01-nfs02",
"primaryDatastoreType" : "NFS",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e1c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-470r-9e1d-f9d3bbc9b1c4"
} ]
}, {
"id" : "8045e44e-974e-4f43-9861-7f0326782677",
"name" : "sfo01-m01-wld03",
"primaryDatastoreName" : "sfo01-m01-fc01",
"primaryDatastoreType" : "FC",
"hosts" : [ {
"id" : "c0703437-6746-470e-9e2c-f9d3bbc9b1c3"
}, {
"id" : "c0703431-6742-460r-9e1d-f9d3bbc9b1c4"
} ]
} ]
}
2.3.3. Get a Cluster
Prerequisites
-
The following data is required
-
ID of the cluster
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/clusters/8045e44e-974e-4f43-9862-7f0326782655' -i -u 'admin:VMwareInfra@1'
HTTP Request
GET /v1/clusters/8045e44e-974e-4f43-9862-7f0326782655 HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 294
{
"id" : "8045e44e-974e-4f43-9862-7f0326782655",
"name" : "sfo01-m01-mgmt01",
"primaryDatastoreName" : "sfo01-m01-vsan01",
"primaryDatastoreType" : "VSAN",
"hosts" : [ {
"id" : "c0703437-6746-470b-9e1c-f9d3bbc9b1c5"
}, {
"id" : "c0703431-6742-470b-9e1d-f9d3bbc9b1c9"
} ]
}
2.3.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
-
-
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.
-
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.
Steps
-
Validate the input specification.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations/updates' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "e767c089-9625-44d8-82e0-6f8a927c95a0"
} ]
}
}'
HTTP Request
POST /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations/updates HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 118
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "e767c089-9625-44d8-82e0-6f8a927c95a0"
} ]
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 294
{
"id" : "af6f8159-9578-47a7-962a-5678f96fbf81",
"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://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "40938037-917a-484f-a08e-f60520cbda85"
} ]
}
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 118
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"id" : "40938037-917a-484f-a08e-f60520cbda85"
} ]
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/403bb0c8-3c16-445d-8888-d426c6e0e964
Content-Length: 142
{
"id" : "403bb0c8-3c16-445d-8888-d426c6e0e964",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:42:10.919Z"
}
-
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.3.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://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations/updates' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "ff84ada8-3ce3-4033-a632-1ef7ab8ee833"
} ]
}
}'
HTTP Request
POST /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32/validations/updates HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 115
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "ff84ada8-3ce3-4033-a632-1ef7ab8ee833"
} ]
}
}
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 296
{
"id" : "59bbaebc-6363-48ff-a258-9acabe93374c",
"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://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "9a64aeb8-dc97-48a3-b852-5a963deafaf7"
} ]
}
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 115
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"clusterCompactionSpec" : {
"hosts" : [ {
"id" : "9a64aeb8-dc97-48a3-b852-5a963deafaf7"
} ]
}
}
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/6a971756-913a-4f5e-a57f-699cc3c4f8da
Content-Length: 142
{
"id" : "6a971756-913a-4f5e-a57f-699cc3c4f8da",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:42:13.017Z"
}
-
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.3.6. 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. |
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://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"markForDeletion" : true
}'
HTTP Request
PATCH /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 30
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"markForDeletion" : true
}
HTTP Response
HTTP/1.1 200 OK
-
Trigger the deletion.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32' -i -u 'admin:VMwareInfra@1' -X DELETE
HTTP Request
DELETE /v1/clusters/2d54bb6c-637a-49a4-a94c-622671d0ab32 HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/1687bd82-563a-4c9a-a187-32f2708e6f27
Content-Length: 142
{
"id" : "1687bd82-563a-4c9a-a187-32f2708e6f27",
"name" : "",
"status" : "UNKNOWN",
"creationTimestamp" : "2019-09-03T09:42:11.466Z"
}
-
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.4. Credentials
2.4.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 or the domain name associated with the resource is required to filter the results. For allowable resource type values
-
Tip
|
Refer to: Get the Credentials |
Get All Credentials
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 5846
{
"elements" : [ {
"id" : "ca48d666-9ab0-480c-a4d4-772c35d7d4e6",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "e206b06f-45f8-40bc-b212-e7eef4ee76b6",
"resourceName" : "sfo01m01esx01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "e84e178d-cfc7-49f3-bb4d-743a1cf6d503",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "133ae46f-35c1-44cb-a93d-7f49b15ec530",
"resourceName" : "sfo01m01esx03.sfo01.rainpole.local",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "c9166647-6edd-4b4a-a3fd-0c343482e270",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "bda0075c-9a96-45c1-944a-3dbe84252ba9",
"resourceName" : "sfo01m01esx04.sfo01.rainpole.local",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "30f95bb3-f485-47ac-938b-6d889959d9dd",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "e1199d72-842d-4d45-b92f-7c5195b22e84",
"resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "34433cb5-d30f-4633-90cc-898b0f50305c",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "28823c05-c40b-41a6-bc2a-ef5be9ad7eda",
"resourceName" : "sfo01m01psc01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.5",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "034eb80f-f25c-4fd0-a015-856cb91da3c3",
"credentialType" : "SSO",
"username" : "[email protected]",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "5e5ecaeb-a99b-4129-82c6-bfcca8a725d7",
"resourceName" : "sfo01m01psc01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.5",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "71ade310-9440-4fb3-b88f-f9886b712b6f",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "102cba34-22d1-490a-aad5-e90e4327ed00",
"resourceName" : "sfo01m01nsx01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSX_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "26b6a6a2-1f17-44d4-962e-a6fc9679a60e",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "b841c247-4ce4-45d9-97fa-38776152ffb2",
"resourceName" : "sfo01m01nsxc01",
"resourceIp" : "10.0.0.42",
"resourceType" : "NSX_CONTROLLER",
"domainName" : "MGMT"
}
}, {
"id" : "9c541a08-cd69-4d18-ae1d-13e89586328b",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "865e921f-7f11-4134-a988-7ae8f7f89900",
"resourceName" : "sfo01vrli01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.15",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "35ad459b-8add-4ba9-ae61-4574ac199866",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "2962cd3a-0942-4924-8f0c-a3cb7affa30c",
"resourceName" : "sfo01vrli01b.sfo01.rainpole.local",
"resourceIp" : "10.0.0.16",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "8dc97f9f-3a8a-4afe-a4c8-16abdd5afb38",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "2685d975-e5e8-4151-8a7f-1f4c761a592c",
"resourceName" : "vrops01svr01a.rainpole.local",
"resourceIp" : "10.0.1.33",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "e379b7df-249c-4e6d-aa45-cd1bf41ced6d",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "285a3186-d945-4c17-ad41-e7751d3ad324",
"resourceName" : "vrops01svr01.rainpole.local",
"resourceIp" : "10.0.0.31",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "43373216-679d-4215-906d-340ce3120ae3",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "01dee9ad-8030-40b0-98bd-a7e598493524",
"resourceName" : "vrslcm01svr01a.rainpole.local",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
}, {
"id" : "e96b4e96-0b74-49b2-b608-b23762a334e3",
"credentialType" : "API",
"username" : "admin@localhost",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "88bd9cc7-f41c-4e89-b9e9-0204c1fb1413",
"resourceName" : "vrslcm01svr01a.rainpole.local",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
} ]
}
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://sddc-manager.sfo01.rainpole.local/v1/credentials?resourceName=sfo01m01esx02.sfo01.rainpole.local' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials?resourceName=sfo01m01esx02.sfo01.rainpole.local HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 409
{
"elements" : [ {
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ]
}
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://sddc-manager.sfo01.rainpole.local/v1/credentials?resourceIP=10.0.0.101' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials?resourceIP=10.0.0.101 HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 409
{
"elements" : [ {
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ]
}
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".
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials?resourceType=ESXI' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials?resourceType=ESXI HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1573
{
"elements" : [ {
"id" : "aed08ca8-52df-4ddd-a08b-7af78a05e10d",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "574cfe3e-4c9d-446c-bfd0-696578a391dd",
"resourceName" : "sfo01m01esx01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "0c401842-77a8-4124-80c7-c0f9e7817f50",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "cf96222b-8e54-4bcb-9397-cc4692e2bafb",
"resourceName" : "sfo01m01esx03.sfo01.rainpole.local",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "1cec1a3d-97db-4d06-9bea-67f19981b640",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "8651cd7f-97cd-4756-999b-1a63342f9374",
"resourceName" : "sfo01m01esx04.sfo01.rainpole.local",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
} ]
}
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".
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials?domainName=MGMT' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials?domainName=MGMT HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 5846
{
"elements" : [ {
"id" : "b505057c-0e3d-4a2f-b0fc-df9c25007522",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "0d8cb6e5-8343-41d1-81df-7fe9926a9787",
"resourceName" : "sfo01m01esx01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.100",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "c7feff27-6bf1-4124-939f-90a5a0f33427",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "15fb0a79-d1a8-4d49-8406-f65b57c8417e",
"resourceName" : "sfo01m01esx03.sfo01.rainpole.local",
"resourceIp" : "10.0.0.102",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "49012a6c-86ea-4108-9392-31720fe4da53",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "8b6422bd-4944-42e6-81e6-c8a9fac0b194",
"resourceName" : "sfo01m01esx04.sfo01.rainpole.local",
"resourceIp" : "10.0.0.103",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}, {
"id" : "9b877e97-5f4b-4e0e-a42b-c4b64ba0260e",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "c8475647-928d-4b4a-998d-1bcdb035ed06",
"resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.6",
"resourceType" : "VCENTER",
"domainName" : "MGMT"
}
}, {
"id" : "4cfc0c2b-5fd8-4b32-88eb-4b2cccad0bf7",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "5df3d75f-789c-4021-9937-1ff1cace51ab",
"resourceName" : "sfo01m01psc01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.5",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "c0725210-d3f4-4df5-96dd-268259e39b4a",
"credentialType" : "SSO",
"username" : "[email protected]",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "9383c4e0-f695-4559-a16e-64e79dc2b485",
"resourceName" : "sfo01m01psc01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.5",
"resourceType" : "PSC",
"domainName" : "MGMT"
}
}, {
"id" : "163bc674-7e44-42dd-a373-e60d3580ad7c",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "599a4bf0-754e-42b5-82b7-4eaa332715bb",
"resourceName" : "sfo01m01nsx01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.9",
"resourceType" : "NSX_MANAGER",
"domainName" : "MGMT"
}
}, {
"id" : "2128d221-f6bf-4515-94ba-35b18bbb0a50",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "0bc0d4f9-bee7-4dfb-897f-21a52e0bd33f",
"resourceName" : "sfo01m01nsxc01",
"resourceIp" : "10.0.0.42",
"resourceType" : "NSX_CONTROLLER",
"domainName" : "MGMT"
}
}, {
"id" : "a869d30e-6f37-4bc8-9dd5-cbeb4774d657",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "84585680-d7a0-4021-ac11-b5374247d298",
"resourceName" : "sfo01vrli01.sfo01.rainpole.local",
"resourceIp" : "10.0.0.15",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "c0a78fde-9e45-46c9-907d-2eadf69a6d65",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "c64f9f61-694f-4f82-a8e7-ae6825a00369",
"resourceName" : "sfo01vrli01b.sfo01.rainpole.local",
"resourceIp" : "10.0.0.16",
"resourceType" : "VRLI",
"domainName" : "MGMT"
}
}, {
"id" : "0b7ba440-ed9d-4970-a232-05565e041489",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "ba9551eb-24e3-45c6-97f2-869506e4a6c9",
"resourceName" : "vrops01svr01a.rainpole.local",
"resourceIp" : "10.0.1.33",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "eddf8524-9502-46cb-aad3-2dfe9b2b5315",
"credentialType" : "API",
"username" : "admin",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "02bf6b9c-4d5e-4d8a-9a6c-ef1d05bf8859",
"resourceName" : "vrops01svr01.rainpole.local",
"resourceIp" : "10.0.0.31",
"resourceType" : "VROPS",
"domainName" : "MGMT"
}
}, {
"id" : "0afa2399-b067-4924-8a82-09ac8860e35a",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "d4706474-33ba-4236-abb3-e7848dcde60c",
"resourceName" : "vrslcm01svr01a.rainpole.local",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
}, {
"id" : "3eba1c17-9848-447c-a20c-c6775d225ea0",
"credentialType" : "API",
"username" : "admin@localhost",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "698e02e3-809d-412f-a297-7a2a5e77ea93",
"resourceName" : "vrslcm01svr01a.rainpole.local",
"resourceIp" : "10.0.0.32",
"resourceType" : "VRSLCM",
"domainName" : "MGMT"
}
} ]
}
2.4.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://sddc-manager.sfo01.rainpole.local/v1/credentials/90f7ff16-7b56-4200-985d-9f9a73361649' -i -u 'admin:VMwareInfra@1' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1'
HTTP Request
GET /v1/credentials/90f7ff16-7b56-4200-985d-9f9a73361649 HTTP/1.1
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 362
{
"id" : "90f7ff16-7b56-4200-985d-9f9a73361649",
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1",
"resource" : {
"resourceId" : "1815387f-f96f-451c-bb2b-bbd08d289f67",
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceIp" : "10.0.0.101",
"resourceType" : "ESXI",
"domainName" : "MGMT"
}
}
2.4.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 the password policies.
Tip
|
Refer to: Documentation of the product for product specific password policies. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json' \
-d '{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 272
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/9a9e733a-e1e7-4314-9530-eb0b13955fb0
Content-Type: application/json;charset=UTF-8
Content-Length: 100
{
"id" : "9a9e733a-e1e7-4314-9530-eb0b13955fb0",
"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.4.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://sddc-manager.sfo01.rainpole.local/v1/credentials' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json' \
-d '{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 236
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/cb3e9cf3-62bc-43df-a397-59784ce479a2
Content-Type: application/json;charset=UTF-8
Content-Length: 100
{
"id" : "cb3e9cf3-62bc-43df-a397-59784ce479a2",
"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 passwords of the dependent resources of the requested resources will also get rotated. |
2.4.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: Documentation of the product for product specific password policies. |
Steps
-
Trigger the task using the valid input specification.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks/f221d17d-5273-468d-8096-62bc27255dcb' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json' \
-d '{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials/tasks/f221d17d-5273-468d-8096-62bc27255dcb HTTP/1.1
Content-Type: application/json
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 272
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"operationType" : "UPDATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root",
"password" : "VMwareInfra@1"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/f221d17d-5273-468d-8096-62bc27255dcb
Content-Type: application/json;charset=UTF-8
Content-Length: 100
{
"id" : "f221d17d-5273-468d-8096-62bc27255dcb",
"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.4.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://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks/120b814b-e476-4a49-abba-088ac09d08f0' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json' \
-H 'privileged-username: [email protected]' \
-H 'privileged-password: VMwareInfra@1' \
-H 'Accept: application/json' \
-d '{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}'
HTTP Request
PATCH /v1/credentials/tasks/120b814b-e476-4a49-abba-088ac09d08f0 HTTP/1.1
Content-Type: application/json
privileged-username: [email protected]
privileged-password: VMwareInfra@1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 236
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"operationType" : "ROTATE",
"elements" : [ {
"resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
"resourceType" : "ESXI",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
}
HTTP Response
HTTP/1.1 202 Accepted
Location: /v1/tasks/120b814b-e476-4a49-abba-088ac09d08f0
Content-Type: application/json;charset=UTF-8
Content-Length: 100
{
"id" : "120b814b-e476-4a49-abba-088ac09d08f0",
"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
|
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.4.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://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks/12a12eb1-650a-4311-84b0-d2f9cebf9612' -i -u 'admin:VMwareInfra@1' -X DELETE
HTTP Request
DELETE /v1/credentials/tasks/12a12eb1-650a-4311-84b0-d2f9cebf9612 HTTP/1.1
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 204 No Content
Content-Type: application/json;charset=UTF-8
Content-Length: 103
{
"id" : "12a12eb1-650a-4311-84b0-d2f9cebf9612",
"name" : "USER CANCELLED",
"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.4.8. Get the Credentials Tasks
-
This API is used to fetch all credentials tasks in reverse chronological order.
Prerequisites
None
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials/tasks HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 650
{
"elements" : [ {
"id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
"name" : "Credentials rotate operation",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"subTasks" : [ {
"name" : "vracafe3.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
}, {
"name" : "vracafe2.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
}, {
"name" : "vracafe1.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
} ]
} ]
}
2.4.9. Get a Credentials Task
-
This API is used to fetch a credentials task for an ID.
Prerequisites
-
The following data is required
-
ID of the credentials task
-
Steps
-
Invoke the API.
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 591
{
"id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
"name" : "Credentials rotate operation",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL",
"subTasks" : [ {
"name" : "vracafe3.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
}, {
"name" : "vracafe2.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
}, {
"name" : "vracafe1.rainpole.local:SSH",
"creationTimestamp" : "2018-11-05T05:15:32.864Z",
"status" : "SUCCESSFUL"
} ]
}
2.4.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://sddc-manager.sfo01.rainpole.local/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
HTTP Request
GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 479
[ {
"resourceName" : "vracafe3.rainpole.local",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
}, {
"resourceName" : "vracafe2.rainpole.local",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
}, {
"resourceName" : "vracafe1.rainpole.local",
"resourceType" : "VRA",
"credentials" : [ {
"credentialType" : "SSH",
"username" : "root"
} ]
} ]
2.5. License Keys
2.5.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://sddc-manager.sfo01.rainpole.local/v1/license-keys' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"productType" : "NSXV",
"description" : "vCenter license key"
}'
HTTP Request
POST /v1/license-keys HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 112
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"productType" : "NSXV",
"description" : "vCenter license key"
}
HTTP Response
HTTP/1.1 201 Created
Location: /v1/license-keys/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
2.5.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://sddc-manager.sfo01.rainpole.local/v1/license-keys' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/license-keys HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 912
{
"elements" : [ {
"id" : "b128c86b-e99f-47dc-b839-420dc07e3de5",
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"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" : "9ae31627-5ab7-4839-a409-bca2750eab1c",
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"productType" : "NSXV",
"description" : "NSX-V 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://sddc-manager.sfo01.rainpole.local/v1/license-keys?productType=VCENTER,ESXI' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/license-keys?productType=VCENTER,ESXI HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 471
{
"elements" : [ {
"id" : "572e0ce2-cac2-4016-a4aa-664ef9d31761",
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"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://sddc-manager.sfo01.rainpole.local/v1/license-keys?licenseKeyStatus=ACTIVE,NEVER_EXPIRES' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/license-keys?licenseKeyStatus=ACTIVE,NEVER_EXPIRES HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 471
{
"elements" : [ {
"id" : "67c8e1d5-d065-48d7-866d-69464547de58",
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"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.5.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://sddc-manager.sfo01.rainpole.local/v1/license-keys/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX' -i -u 'admin:VMwareInfra@1' \
-H 'Accept: application/json'
HTTP Request
GET /v1/license-keys/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 416
{
"id" : "314cb393-2280-45bf-9724-a42ca4e0cc32",
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"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.5.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://sddc-manager.sfo01.rainpole.local/v1/license-keys/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX' -i -u 'admin:VMwareInfra@1' -X DELETE \
-H 'Accept: application/json'
HTTP Request
DELETE /v1/license-keys/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX HTTP/1.1
Accept: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 204 No Content
2.6. Network Pools
2.6.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://sddc-manager.sfo01.rainpole.local/v1/network-pools' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-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
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 304
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"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/697e7560-b7aa-4812-8875-75e9b8250160
2.6.2. Get the Network Pools
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/network-pools' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/network-pools HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 375
{
"elements" : [ {
"id" : "a2532f77-323c-49ae-b998-539de32b0b47",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "7dbc61b5-1a0e-4822-84d9-ce2d7151e76b"
} ]
}, {
"id" : "31d4ea0d-6e4d-4301-b7a0-b065d9c12add",
"name" : "finance-networkpool",
"networks" : [ {
"id" : "0b94b37b-9955-4d57-84cf-b25ec4bcb7bb"
} ]
} ]
}
2.6.3. Get a Network Pool
Prerequisites
-
The following data is required
-
ID of the network pool
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/network-pools/a3ae2fd7-9d69-4f66-a3c7-12f66257af8c' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/network-pools/a3ae2fd7-9d69-4f66-a3c7-12f66257af8c HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 165
{
"id" : "a3ae2fd7-9d69-4f66-a3c7-12f66257af8c",
"name" : "engineering-networkpool",
"networks" : [ {
"id" : "15729047-0166-404e-9f5e-e2432498860e"
} ]
}
2.6.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://sddc-manager.sfo01.rainpole.local/v1/network-pools/a2d1c4bd-9e14-466d-a6f3-54bd1e00223a/networks/ac74f5bd-3a66-4fc0-9942-34916e926ede' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 270
{
"id" : "ac74f5bd-3a66-4fc0-9942-34916e926ede",
"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.6.5. 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://sddc-manager.sfo01.rainpole.local/v1/network-pools/9605daaa-d6ef-43fd-b817-ba02fab3ff02' -i -u 'admin:VMwareInfra@1' -X DELETE \
-H 'Content-Type: application/json'
HTTP Request
DELETE /v1/network-pools/9605daaa-d6ef-43fd-b817-ba02fab3ff02 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 204 No Content
2.6.6. 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://sddc-manager.sfo01.rainpole.local/v1/network-pools/c59d83f5-7783-4c1d-b6ef-5f8f8055f20b/networks/2358f051-d38e-4708-b4c9-be710f7f2f12/ip-pools' -i -u 'admin:VMwareInfra@1' -X POST \
-H 'Content-Type: application/json' \
-d '{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}'
Request Body
POST /v1/network-pools/c59d83f5-7783-4c1d-b6ef-5f8f8055f20b/networks/2358f051-d38e-4708-b4c9-be710f7f2f12/ip-pools HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 54
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}
Response Body
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 270
{
"id" : "5e885396-5fac-4ade-80c4-2b54f022248c",
"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.6.7. 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://sddc-manager.sfo01.rainpole.local/v1/network-pools/283823f3-2fd1-434d-8c24-de221b7e18ae/networks/f76ae118-c952-4b22-92ca-8845fe756d13/ip-pools' -i -u 'admin:VMwareInfra@1' -X DELETE \
-H 'Content-Type: application/json' \
-d '{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}'
Response Body
DELETE /v1/network-pools/283823f3-2fd1-434d-8c24-de221b7e18ae/networks/f76ae118-c952-4b22-92ca-8845fe756d13/ip-pools HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Content-Length: 54
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
{
"start" : "192.168.8.5",
"end" : "192.168.8.8"
}
Response Body
HTTP/1.1 204 No Content
2.7. Tasks
2.7.1. Get the Tasks
Prerequisites
None
Steps
-
Invoke the API
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/tasks' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/tasks HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1750
{
"elements" : [ {
"id" : "7849572e-7226-43cf-9c4b-a840d400da0d",
"name" : "Commissioning host(s) esxi-5.vrack.vsphere.local 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) esxi-5.vrack.vsphere.local to VMware Cloud Foundation"
} ],
"resources" : [ {
"resourceId" : "1e2514a2-ca63-4ffb-a66c-e8fce15637bf",
"type" : "HOST"
} ]
}, {
"id" : "7d17a480-79f6-4dcd-ac12-949ed33148f6",
"name" : "Credentials rotate operation",
"status" : "Successful",
"creationTimestamp" : "2019-06-20T12:03:18.890Z",
"subTasks" : [ {
"name" : "sddc-manager.vrack.vsphere.local:FTP",
"description" : "Password rotate for sddc-manager.vrack.vsphere.local and credential type FTP",
"status" : "SUCCESSFUL",
"creationTimestamp" : "2019-06-20T12:03:18.890Z"
} ],
"resources" : [ {
"resourceId" : "20d804fd-795d-434f-9c4a-de5e00389392",
"type" : "HOST"
} ]
} ]
}
2.7.2. Get a Task
Prerequisites
-
The following data is required
-
ID of the task
-
Steps
-
Invoke the API
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/tasks/26c5b70c-9a6f-4d66-bca0-bff848cb38a5' -i -u 'admin:VMwareInfra@1' \
-H 'Content-Type: application/json'
HTTP Request
GET /v1/tasks/26c5b70c-9a6f-4d66-bca0-bff848cb38a5 HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 878
{
"id" : "26c5b70c-9a6f-4d66-bca0-bff848cb38a5",
"name" : "Vi workload Domain Creation",
"status" : "FAILED",
"creationTimestamp" : "1970-01-19T03:25:03.457Z",
"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" : "63fafcee-6552-4959-b697-1727f597d8d5",
"type" : "HOST"
} ]
}
2.7.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
cURL Request
$ curl 'https://sddc-manager.sfo01.rainpole.local/v1/tasks/f42ae33f-e640-4c45-9539-1e3c50c5028c' -i -u 'admin:VMwareInfra@1' -X PATCH \
-H 'Content-Type: application/json'
HTTP Request
PATCH /v1/tasks/f42ae33f-e640-4c45-9539-1e3c50c5028c HTTP/1.1
Content-Type: application/json
Host: sddc-manager.sfo01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==
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. |
3. Paths
3.1. Create a Cluster and add to an existing Domain
POST /v1/clusters
3.1.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
clusterCreationSpec |
Cluster Creation Spec |
3.1.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.1.3. Consumes
-
application/json
3.1.4. Produces
-
application/json
3.1.5. Tags
-
Clusters
3.1.6. Security
Type | Name |
---|---|
basic |
3.1.7. 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, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
}
},
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
},
"nsxVClusterSpec" : {
"licenseKey" : "string",
"vdsNameForVxlanConfig" : "string",
"vlanId" : 0
}
},
"vdsSpecs" : [ {
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"name" : "string",
"transportType" : "One among: MANAGEMENT, NFS, PUBLIC, VMOTION, VSAN"
} ]
} ]
}
} ]
},
"domainId" : "string"
}
3.1.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.2. Get the Clusters
GET /v1/clusters
3.2.1. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.2.2. Consumes
-
application/json
3.2.3. Produces
-
application/json
3.2.4. Tags
-
Clusters
3.2.5. Security
Type | Name |
---|---|
basic |
3.2.6. Example HTTP request
Request path
/v1/clusters
3.2.7. Example HTTP response
Response 200
{
"elements" : [ {
"hosts" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.3. Validate the input spec for creating and adding a Cluster to an existing Domain
POST /v1/clusters/validations/creations
3.3.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
clusterCreationSpec |
Cluster Creation Spec |
3.3.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.3.3. Consumes
-
application/json
3.3.4. Produces
-
application/json
3.3.5. Tags
-
Clusters
3.3.6. Security
Type | Name |
---|---|
basic |
3.3.7. Example HTTP request
Request path
/v1/clusters/validations/creations
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, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
}
},
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
},
"nsxVClusterSpec" : {
"licenseKey" : "string",
"vdsNameForVxlanConfig" : "string",
"vlanId" : 0
}
},
"vdsSpecs" : [ {
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"name" : "string",
"transportType" : "One among: MANAGEMENT, NFS, PUBLIC, VMOTION, VSAN"
} ]
} ]
}
} ]
},
"domainId" : "string"
}
3.3.8. Example HTTP response
Response 200
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.4. Get a Cluster
GET /v1/clusters/{id}
3.4.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
3.4.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Cluster not found |
|
500 |
InternalServerError |
3.4.3. Consumes
-
application/json
3.4.4. Produces
-
application/json
3.4.5. Tags
-
Clusters
3.4.6. Security
Type | Name |
---|---|
basic |
3.4.7. Example HTTP request
Request path
/v1/clusters/string
3.4.8. Example HTTP response
Response 200
{
"hosts" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.5. Delete a Cluster from a Domain if it has been previously initialized for deletion
DELETE /v1/clusters/{id}
3.5.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
3.5.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
3.5.3. Consumes
-
application/json
3.5.4. Produces
-
application/json
3.5.5. Tags
-
Clusters
3.5.6. Security
Type | Name |
---|---|
basic |
3.5.7. Example HTTP request
Request path
/v1/clusters/string
3.5.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.6. Update a Cluster by adding or removing Hosts, or by marking for deletion
PATCH /v1/clusters/{id}
3.6.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Body |
clusterUpdateSpec |
Cluster Update Data |
3.6.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
3.6.3. Consumes
-
application/json
3.6.4. Produces
-
application/json
3.6.5. Tags
-
Clusters
3.6.6. Security
Type | Name |
---|---|
basic |
3.6.7. Example HTTP request
Request path
/v1/clusters/string
Request body
{
"clusterCompactionSpec" : {
"force" : true,
"hosts" : [ {
"id" : "string"
} ]
},
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ]
},
"markForDeletion" : true
}
3.6.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.7. Validate the spec to update a Cluster by adding or removing Hosts
POST /v1/clusters/{id}/validations/updates
3.7.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Cluster ID |
string |
Body |
clusterUpdateSpec |
clusterUpdateSpec |
3.7.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
3.7.3. Consumes
-
application/json
3.7.4. Produces
-
application/json
3.7.5. Tags
-
Clusters
3.7.6. Security
Type | Name |
---|---|
basic |
3.7.7. Example HTTP request
Request path
/v1/clusters/string/validations/updates
Request body
{
"clusterCompactionSpec" : {
"force" : true,
"hosts" : [ {
"id" : "string"
} ]
},
"clusterExpansionSpec" : {
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ]
},
"markForDeletion" : true
}
3.7.8. Example HTTP response
Response 200
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.8. Get the Credentials
GET /v1/credentials
3.8.1. Description
Get the Credentials
3.8.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
privileged-password |
The privileged user password |
string |
Header |
privileged-username |
The privileged user name |
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 |
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 , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP |
string |
3.8.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
3.8.4. Consumes
-
application/json
3.8.5. Produces
-
application/json
3.8.6. Tags
-
Credentials
3.8.7. Security
Type | Name |
---|---|
basic |
3.8.8. Example HTTP request
Request path
/v1/credentials
Request header
privileged-username:"string"
3.8.9. Example HTTP response
Response 200
{
"elements" : [ {
"credentialType" : "One among: SSO, SSH, API, BASIC_AUTH, ADMINISTRATOR, FTP, JDBC, LDAP_DOMAIN_ADMIN, LDAP_READ_WRITE_ACCOUNT, VDI_ADMIN, SQL_SUPER_USER, SQL_DB_OWNER, SERVICE_ACCOUNT",
"id" : "string",
"password" : "string",
"resource" : {
"domainName" : "string",
"resourceId" : "string",
"resourceIp" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP",
"serviceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP",
"targetType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP"
},
"username" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.9. Update or rotate passwords for a list of resources
PATCH /v1/credentials
3.9.1. Description
Update passwords for given list of resources by supplying new passwords or rotate the passwords using system generated passwords
3.9.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
privileged-password |
The privileged user password |
string |
Header |
privileged-username |
The privileged user name |
string |
Body |
credentialsUpdateSpec |
credentialsUpdateSpec |
3.9.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
3.9.4. Consumes
-
application/json
3.9.5. Produces
-
application/json
3.9.6. Tags
-
Credentials
3.9.7. Security
Type | Name |
---|---|
basic |
3.9.8. Example HTTP request
Request path
/v1/credentials
Request header
privileged-username:"string"
Request body
{
"elements" : [ {
"credentials" : [ {
"credentialType" : "One among: SSO, SSH, API, BASIC_AUTH, ADMINISTRATOR, FTP, JDBC, LDAP_DOMAIN_ADMIN, LDAP_READ_WRITE_ACCOUNT, VDI_ADMIN, SQL_SUPER_USER, SQL_DB_OWNER, SERVICE_ACCOUNT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP"
} ],
"operationType" : "One among: UPDATE, ROTATE"
}
3.9.9. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.10. Fetch the credentials tasks
GET /v1/credentials/tasks
3.10.1. Description
Fetch all credentials tasks in reverse chronological order
3.10.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
limit |
The number of elements to be returned in the result |
integer (int32) |
3.10.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
3.10.4. Consumes
-
application/json
3.10.5. Produces
-
application/json
3.10.6. Tags
-
Credentials
3.10.7. Security
Type | Name |
---|---|
basic |
3.10.8. Example HTTP request
Request path
/v1/credentials/tasks
3.10.9. Example HTTP response
Response 200
{
"elements" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"dependentSubTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"dependentSubTasks" : [ "..." ],
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT"
} ],
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT"
} ]
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.11. Fetch a credentials task
GET /v1/credentials/tasks/{id}
3.11.1. Description
Fetch credentials task for a given ID
3.11.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credentials task |
string |
3.11.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
3.11.4. Consumes
-
application/json
3.11.5. Produces
-
application/json
3.11.6. Tags
-
Credentials
3.11.7. Security
Type | Name |
---|---|
basic |
3.11.8. Example HTTP request
Request path
/v1/credentials/tasks/string
3.11.9. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"dependentSubTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"dependentSubTasks" : [ "..." ],
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT"
} ],
"description" : "string",
"errors" : [ "..." ],
"name" : "string",
"status" : "One among: PENDING, SUCCESSFUL, FAILED, USER_CANCELLED, INCONSISTENT"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.12. Cancel a failed credentials task for a given ID
DELETE /v1/credentials/tasks/{id}
3.12.1. Description
Cancel a failed credentials task for a given ID
3.12.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task ID of the failed operation required to be cancelled |
string |
3.12.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
204 |
No content |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
3.12.4. Consumes
-
application/json
3.12.5. Produces
-
application/json
3.12.6. Tags
-
Credentials
3.12.7. Security
Type | Name |
---|---|
basic |
3.12.8. Example HTTP request
Request path
/v1/credentials/tasks/string
3.12.9. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 204
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.13. Retry a failed credentials task for a given ID
PATCH /v1/credentials/tasks/{id}
3.13.1. Description
Retry a failed credentials task for a given ID
3.13.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
privileged-password |
The privileged user password |
string |
Header |
privileged-username |
The privileged user name |
string |
Path |
id |
Task ID of the failed operation that is to be retried |
string |
Body |
credentialsUpdateSpec |
credentialsUpdateSpec |
3.13.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
3.13.4. Consumes
-
application/json
3.13.5. Produces
-
application/json
3.13.6. Tags
-
Credentials
3.13.7. Security
Type | Name |
---|---|
basic |
3.13.8. Example HTTP request
Request path
/v1/credentials/tasks/string
Request header
privileged-username:"string"
Request body
{
"elements" : [ {
"credentials" : [ {
"credentialType" : "One among: SSO, SSH, API, BASIC_AUTH, ADMINISTRATOR, FTP, JDBC, LDAP_DOMAIN_ADMIN, LDAP_READ_WRITE_ACCOUNT, VDI_ADMIN, SQL_SUPER_USER, SQL_DB_OWNER, SERVICE_ACCOUNT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP"
} ],
"operationType" : "One among: UPDATE, ROTATE"
}
3.13.9. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.14. Fetch resource credentials for a given credentials task ID
GET /v1/credentials/tasks/{id}/resource-credentials
3.14.1. Description
Fetch resource credentials for a given credentials task ID
3.14.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The ID of the credentials task |
string |
3.14.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
< ResourceCredentials > array |
400 |
Bad Request |
|
500 |
Internal Server Error |
3.14.4. Consumes
-
application/json
3.14.5. Produces
-
application/json
3.14.6. Tags
-
Credentials
3.14.7. Security
Type | Name |
---|---|
basic |
3.14.8. Example HTTP request
Request path
/v1/credentials/tasks/string/resource-credentials
3.14.9. Example HTTP response
Response 200
[ {
"credentials" : [ {
"credentialType" : "One among: SSO, SSH, API, BASIC_AUTH, ADMINISTRATOR, FTP, JDBC, LDAP_DOMAIN_ADMIN, LDAP_READ_WRITE_ACCOUNT, VDI_ADMIN, SQL_SUPER_USER, SQL_DB_OWNER, SERVICE_ACCOUNT",
"password" : "string",
"username" : "string"
} ],
"resourceId" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP"
} ]
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.15. Get a Credential
GET /v1/credentials/{id}
3.15.1. Description
Get a Credential
3.15.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
privileged-password |
The privileged user password |
string |
Header |
privileged-username |
The privileged user name |
string |
Path |
id |
The ID of the credential |
string |
3.15.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
500 |
Internal Server Error |
3.15.4. Consumes
-
application/json
3.15.5. Produces
-
application/json
3.15.6. Tags
-
Credentials
3.15.7. Security
Type | Name |
---|---|
basic |
3.15.8. Example HTTP request
Request path
/v1/credentials/string
Request header
privileged-username:"string"
3.15.9. Example HTTP response
Response 200
{
"credentialType" : "One among: SSO, SSH, API, BASIC_AUTH, ADMINISTRATOR, FTP, JDBC, LDAP_DOMAIN_ADMIN, LDAP_READ_WRITE_ACCOUNT, VDI_ADMIN, SQL_SUPER_USER, SQL_DB_OWNER, SERVICE_ACCOUNT",
"id" : "string",
"password" : "string",
"resource" : {
"domainName" : "string",
"resourceId" : "string",
"resourceIp" : "string",
"resourceName" : "string",
"resourceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP",
"serviceType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP",
"targetType" : "One among: ESXI , SDDC_MANAGER , VCENTER , PSC , NSX_MANAGER , NSX_CONTROLLER , NSX_EDGE , NSXT_MANAGER , NSXT_CONTROLLER , NSXT_EDGE , VRLI , VROPS , LCM_REPO , VRA , VRSLCM , DEPOT_USER , VXRAIL_MANAGER , AD , BACKUP"
},
"username" : "string"
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.16. Create a Domain
POST /v1/domains
3.16.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainCreationSpec |
Domain creation data |
3.16.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.16.3. Consumes
-
application/json
3.16.4. Produces
-
application/json
3.16.5. Tags
-
Domains
3.16.6. Security
Type | Name |
---|---|
basic |
3.16.7. 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, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
}
},
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
},
"nsxVClusterSpec" : {
"licenseKey" : "string",
"vdsNameForVxlanConfig" : "string",
"vlanId" : 0
}
},
"vdsSpecs" : [ {
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"name" : "string",
"transportType" : "One among: MANAGEMENT, NFS, PUBLIC, VMOTION, VSAN"
} ]
} ]
}
} ]
},
"domainName" : "string",
"nsxTSpec" : {
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerSpecs" : [ {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
} ],
"vip" : "string",
"vipFqdn" : "string"
},
"nsxVSpec" : {
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerEnablePassword" : "string",
"nsxManagerSpec" : {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
},
"nsxVControllerSpec" : {
"nsxControllerGateway" : "string",
"nsxControllerIps" : [ "string" ],
"nsxControllerPassword" : "string",
"nsxControllerSubnetMask" : "string"
}
},
"vcenterSpec" : {
"datacenterName" : "string",
"licenseKey" : "string",
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
},
"rootPassword" : "string"
}
}
3.16.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.17. Get the Domains
GET /v1/domains
3.17.1. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.17.2. Consumes
-
application/json
3.17.3. Produces
-
application/json
3.17.4. Tags
-
Domains
3.17.5. Security
Type | Name |
---|---|
basic |
3.17.6. Example HTTP request
Request path
/v1/domains
3.17.7. Example HTTP response
Response 200
{
"clusters" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"vcenters" : [ {
"fqdn" : "string"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.18. Validate the input spec for creating a Domain
POST /v1/domains/validations/creations
3.18.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
domainCreationSpec |
Domain creation data |
3.18.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
InternalServerError |
3.18.3. Consumes
-
application/json
3.18.4. Produces
-
application/json
3.18.5. Tags
-
Domains
3.18.6. Security
Type | Name |
---|---|
basic |
3.18.7. Example HTTP request
Request path
/v1/domains/validations/creations
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, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN",
"highAvailability" : {
"enabled" : true
}
},
"datastoreSpec" : {
"nfsDatastoreSpecs" : [ {
"datastoreName" : "string",
"nasVolume" : {
"path" : "string",
"readOnly" : true,
"serverName" : [ "string" ],
"userTag" : "string"
}
} ],
"vsanDatastoreSpec" : {
"datastoreName" : "string",
"dedupAndCompressionEnabled" : true,
"failuresToTolerate" : 0,
"licenseKey" : "string"
}
},
"hostSpecs" : [ {
"hostNetworkSpec" : {
"vmNics" : [ {
"id" : "string",
"vdsName" : "string"
} ]
},
"id" : "string",
"licenseKey" : "string"
} ],
"name" : "string",
"networkSpec" : {
"nsxClusterSpec" : {
"nsxTClusterSpec" : {
"geneveVlanId" : 0
},
"nsxVClusterSpec" : {
"licenseKey" : "string",
"vdsNameForVxlanConfig" : "string",
"vlanId" : 0
}
},
"vdsSpecs" : [ {
"name" : "string",
"niocBandwidthAllocationSpecs" : [ {
"niocTrafficResourceAllocation" : {
"limit" : 0,
"reservation" : 0
},
"type" : "string"
} ],
"portGroupSpecs" : [ {
"name" : "string",
"transportType" : "One among: MANAGEMENT, NFS, PUBLIC, VMOTION, VSAN"
} ]
} ]
}
} ]
},
"domainName" : "string",
"nsxTSpec" : {
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerSpecs" : [ {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
} ],
"vip" : "string",
"vipFqdn" : "string"
},
"nsxVSpec" : {
"licenseKey" : "string",
"nsxManagerAdminPassword" : "string",
"nsxManagerEnablePassword" : "string",
"nsxManagerSpec" : {
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
}
},
"nsxVControllerSpec" : {
"nsxControllerGateway" : "string",
"nsxControllerIps" : [ "string" ],
"nsxControllerPassword" : "string",
"nsxControllerSubnetMask" : "string"
}
},
"vcenterSpec" : {
"datacenterName" : "string",
"licenseKey" : "string",
"name" : "string",
"networkDetailsSpec" : {
"dnsName" : "string",
"gateway" : "string",
"ipAddress" : "string",
"subnetMask" : "string"
},
"rootPassword" : "string"
}
}
3.18.8. Example HTTP response
Response 200
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.19. Get a Domain
GET /v1/domains/{id}
3.19.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
3.19.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
404 |
Domain not found |
|
500 |
InternalServerError |
3.19.3. Consumes
-
application/json
3.19.4. Produces
-
application/json
3.19.5. Tags
-
Domains
3.19.6. Security
Type | Name |
---|---|
basic |
3.19.7. Example HTTP request
Request path
/v1/domains/string
3.19.8. Example HTTP response
Response 200
{
"clusters" : [ {
"id" : "string"
} ],
"id" : "string",
"name" : "string",
"vcenters" : [ {
"fqdn" : "string"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.20. Delete a Domain if it has been previously initialized for deletion
DELETE /v1/domains/{id}
3.20.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
3.20.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
3.20.3. Consumes
-
application/json
3.20.4. Produces
-
application/json
3.20.5. Tags
-
Domains
3.20.6. Security
Type | Name |
---|---|
basic |
3.20.7. Example HTTP request
Request path
/v1/domains/string
3.20.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.21. Update a Domain by marking for deletion
PATCH /v1/domains/{id}
3.21.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Domain ID |
string |
Body |
domainUpdateSpec |
Domain Update Data |
3.21.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
InternalServerError |
3.21.3. Consumes
-
application/json
3.21.4. Produces
-
application/json
3.21.5. Tags
-
Domains
3.21.6. Security
Type | Name |
---|---|
basic |
3.21.7. Example HTTP request
Request path
/v1/domains/string
Request body
{
"markForDeletion" : true
}
3.21.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.22. Commission the Hosts
POST /v1/hosts
3.22.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostCommissionSpecs |
hostCommissionSpecs |
< HostCommissionSpec > array |
3.22.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
3.22.3. Consumes
-
application/json
3.22.4. Produces
-
application/json
3.22.5. Tags
-
Hosts
3.22.6. Security
Type | Name |
---|---|
basic |
3.22.7. Example HTTP request
Request path
/v1/hosts
Request body
[ {
"fqdn" : "string",
"networkPoolId" : "string",
"networkPoolName" : "string",
"password" : "string",
"storageType" : "One among: VSAN, NFS",
"username" : "string"
} ]
3.22.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.23. Get the Hosts
GET /v1/hosts
3.23.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
status |
Status of the Host |
string |
3.23.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
500 |
Internal Server Error |
3.23.3. Consumes
-
application/json
3.23.4. Produces
-
application/json
3.23.5. Tags
-
Hosts
3.23.6. Security
Type | Name |
---|---|
basic |
3.23.7. Example HTTP request
Request path
/v1/hosts
3.23.8. Example HTTP response
Response 200
{
"elements" : [ {
"cluster" : {
"id" : "string"
},
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0
},
"domain" : {
"id" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, NFS, VMOTION, VSAN"
} ],
"memory" : {
"totalCapacityMB" : 0.0
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string"
} ],
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_USEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: FLASH, HDD",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0
}
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.24. Decommission the Hosts
DELETE /v1/hosts
3.24.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostDecommissionSpecs |
hostDecommissionSpecs |
< HostDecommissionSpec > array |
3.24.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
3.24.3. Consumes
-
application/json
3.24.4. Produces
-
application/json
3.24.5. Tags
-
Hosts
3.24.6. Security
Type | Name |
---|---|
basic |
3.24.8. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 202
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.25. Validate the input specification to commission the Hosts
POST /v1/hosts/validations/commissions
3.25.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
hostCommissionSpecs |
hostCommissionSpecs |
< HostCommissionSpec > array |
3.25.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
202 |
Accepted |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
3.25.3. Consumes
-
application/json
3.25.4. Produces
-
application/json
3.25.5. Tags
-
Hosts
3.25.6. Security
Type | Name |
---|---|
basic |
3.25.7. Example HTTP request
Request path
/v1/hosts/validations/commissions
Request body
[ {
"fqdn" : "string",
"networkPoolId" : "string",
"networkPoolName" : "string",
"password" : "string",
"storageType" : "One among: VSAN, NFS",
"username" : "string"
} ]
3.25.8. Example HTTP response
Response 200
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 202
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.26. Get the status of the validation of the input specification to commission the Hosts
GET /v1/hosts/validations/{id}
3.26.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The validation ID |
string |
3.26.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
400 |
Bad Request |
|
500 |
Internal server error |
No Content |
3.26.3. Consumes
-
application/json
3.26.4. Produces
-
application/json
3.26.5. Tags
-
Hosts
3.26.6. Security
Type | Name |
---|---|
basic |
3.26.7. Example HTTP request
Request path
/v1/hosts/validations/string
3.26.8. Example HTTP response
Response 200
{
"description" : "string",
"executionStatus" : "One among: COMPLETED, FAILED, IN_PROGRESS",
"id" : "string",
"resultStatus" : "One among: FAILED, FAILED_WITH_WARNINGS, SUCCEEDED",
"validationChecks" : [ {
"description" : "string",
"errorResponse" : {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
},
"resultStatus" : "One among: FAILED, SUCCEEDED",
"severity" : "One among: ERROR, WARNING"
} ]
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.27. Get a Host
GET /v1/hosts/{id}
3.27.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
id |
string |
3.27.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Ok |
|
400 |
Bad Request |
|
404 |
Host Not Found |
|
500 |
Internal Server Error |
3.27.3. Consumes
-
application/json
3.27.4. Produces
-
application/json
3.27.5. Tags
-
Hosts
3.27.6. Security
Type | Name |
---|---|
basic |
3.27.7. Example HTTP request
Request path
/v1/hosts/string
3.27.8. Example HTTP response
Response 200
{
"cluster" : {
"id" : "string"
},
"cpu" : {
"cores" : 0,
"cpuCores" : [ {
"frequencyMHz" : 0.0,
"manufacturer" : "string",
"model" : "string"
} ],
"frequencyMHz" : 0.0
},
"domain" : {
"id" : "string"
},
"esxiVersion" : "string",
"fqdn" : "string",
"hardwareModel" : "string",
"hardwareVendor" : "string",
"id" : "string",
"ipAddresses" : [ {
"ipAddress" : "string",
"type" : "One among: MANAGEMENT, NFS, VMOTION, VSAN"
} ],
"memory" : {
"totalCapacityMB" : 0.0
},
"physicalNics" : [ {
"deviceName" : "string",
"macAddress" : "string"
} ],
"status" : "One among: ASSIGNED, UNASSIGNED_USEABLE, UNASSIGNED_USEABLE",
"storage" : {
"disks" : [ {
"capacityMB" : 0.0,
"diskType" : "One among: FLASH, HDD",
"manufacturer" : "string",
"model" : "string"
} ],
"totalCapacityMB" : 0.0
}
}
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.28. Add a License Key
POST /v1/license-keys
3.28.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
licenseKey |
License key with other attributes |
3.28.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
Created |
|
500 |
Internal server error |
3.28.3. Consumes
-
application/json
3.28.4. Produces
-
*/*
3.28.5. Tags
-
License Keys
3.28.6. Security
Type | Name |
---|---|
basic |
3.28.7. Example HTTP request
Request path
/v1/license-keys
Request body
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : {
"epochSecond" : 0,
"nano" : 0
},
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: SDDC_MANAGER, VCENTER, NSXV, VSAN, ESXI, VRA, VROPS, NSXT"
}
3.28.8. Example HTTP response
Response 200
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : {
"epochSecond" : 0,
"nano" : 0
},
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: SDDC_MANAGER, VCENTER, NSXV, VSAN, ESXI, VRA, VROPS, NSXT"
}
Response 201
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : {
"epochSecond" : 0,
"nano" : 0
},
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: SDDC_MANAGER, VCENTER, NSXV, VSAN, ESXI, VRA, VROPS, NSXT"
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.29. Get the License Keys
GET /v1/license-keys
3.29.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
licenseKeyStatus |
Status of a License Key |
< string > array(multi) |
Query |
productType |
Type of a Product |
< string > array(multi) |
3.29.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Successful |
|
500 |
Internal server error |
3.29.3. Consumes
-
application/json
3.29.4. Produces
-
*/*
3.29.5. Tags
-
License Keys
3.29.6. Security
Type | Name |
---|---|
basic |
3.29.7. Example HTTP request
Request path
/v1/license-keys
3.29.8. Example HTTP response
Response 200
{
"elements" : [ {
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : {
"epochSecond" : 0,
"nano" : 0
},
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: SDDC_MANAGER, VCENTER, NSXV, VSAN, ESXI, VRA, VROPS, NSXT"
} ]
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.30. Get a License Key by key
GET /v1/license-keys/{key}
3.30.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
key |
The 29 alpha numeric character license key with hyphens |
string |
3.30.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Successful |
|
404 |
License key not found |
|
500 |
Internal server error |
3.30.3. Consumes
-
application/json
3.30.4. Produces
-
*/*
3.30.5. Tags
-
License Keys
3.30.6. Security
Type | Name |
---|---|
basic |
3.30.7. Example HTTP request
Request path
/v1/license-keys/string
3.30.8. Example HTTP response
Response 200
{
"description" : "string",
"id" : "string",
"isUnlimited" : true,
"key" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"licenseKeyUsage" : {
"licenseUnit" : "One among: CPUPACKAGE, INSTANCE, VMS, CCU, PLU, DESKTOPVM, SERVERVM, VM, SERVER, CORES, CONCURRENTUSER, NAMEDUSER",
"remaining" : 0,
"total" : 0,
"used" : 0
},
"licenseKeyValidity" : {
"expiryDate" : {
"epochSecond" : 0,
"nano" : 0
},
"licenseKeyStatus" : "One among: EXPIRED, ACTIVE, NEVER_EXPIRES"
},
"productType" : "One among: SDDC_MANAGER, VCENTER, NSXV, VSAN, ESXI, VRA, VROPS, NSXT"
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.31. Delete a License Key
DELETE /v1/license-keys/{key}
3.31.1. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
key |
The 29 alpha numeric character license key with hyphens |
string |
3.31.2. 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 |
3.31.3. Consumes
-
application/json
3.31.4. Produces
-
*/*
3.31.5. Tags
-
License Keys
3.31.6. Security
Type | Name |
---|---|
basic |
3.31.7. Example HTTP request
Request path
/v1/license-keys/string
3.31.8. Example HTTP response
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.32. Create a Network Pool
POST /v1/network-pools
3.32.1. Description
Create a Network Pool
3.32.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
networkPool |
Specification of the Network pool to create |
3.32.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
The newly created network pool |
|
400 |
Errors due to network pool validations failures |
|
500 |
Unexpected error |
3.32.4. Consumes
-
application/json
3.32.5. Produces
-
application/json
3.32.6. Tags
-
Network Pools
3.32.7. Security
Type | Name |
---|---|
basic |
3.32.8. 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
} ]
}
3.32.9. 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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.33. Get the Network Pools
GET /v1/network-pools
3.33.1. Description
Get the Network Pools
3.33.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Referenced network pool |
|
404 |
Referenced network pool not found |
|
500 |
Unexpected error |
3.33.3. Consumes
-
application/json
3.33.4. Produces
-
application/json
3.33.5. Tags
-
Network Pools
3.33.6. Security
Type | Name |
---|---|
basic |
3.33.7. Example HTTP request
Request path
/v1/network-pools
3.33.8. 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
} ]
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.34. Get a Network Pool
GET /v1/network-pools/{id}
3.34.1. Description
Get a Network Pool by ID, if it exists
3.34.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the network pool to fetch |
string |
3.34.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Referenced network pool |
|
404 |
Referenced network pool not found |
|
500 |
Unexpected error |
3.34.4. Consumes
-
application/json
3.34.5. Produces
-
application/json
3.34.6. Tags
-
Network Pools
3.34.7. Security
Type | Name |
---|---|
basic |
3.34.8. Example HTTP request
Request path
/v1/network-pools/string
3.34.9. 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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.35. Delete a Network Pool
DELETE /v1/network-pools/{id}
3.35.1. Description
Delete the Network Pool by the ID, if it exists and is unused
3.35.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the network pool |
string |
3.35.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
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 |
3.35.4. Consumes
-
application/json
3.35.5. Produces
-
*/*
3.35.6. Tags
-
Network Pools
3.35.7. Security
Type | Name |
---|---|
basic |
3.35.8. Example HTTP request
Request path
/v1/network-pools/string
3.35.9. Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.36. Get the Networks of a Network Pool
GET /v1/network-pools/{id}/networks
3.36.1. Description
Get the Networks that are part of a Network Pool
3.36.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID for Networkpool to get the networks from |
string |
3.36.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Networks for referenced network pool |
|
404 |
Network pool not found |
|
500 |
Unexpected error |
3.36.4. Consumes
-
application/json
3.36.5. Produces
-
application/json
3.36.6. Tags
-
Network Pools
3.36.7. Security
Type | Name |
---|---|
basic |
3.36.8. Example HTTP request
Request path
/v1/network-pools/string/networks
3.36.9. 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
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.37. Get a Network of a Network Pool
GET /v1/network-pools/{id}/networks/{networkId}
3.37.1. Description
Get a Network that is part of a Network Pool
3.37.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Id of the Network pool |
string |
Path |
networkId |
Id of the Network |
string |
3.37.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Network for referenced network pool |
|
404 |
Networkpool not found |
|
500 |
Unexpected error |
3.37.4. Consumes
-
application/json
3.37.5. Produces
-
application/json
3.37.6. Tags
-
Network Pools
3.37.7. Security
Type | Name |
---|---|
basic |
3.37.8. Example HTTP request
Request path
/v1/network-pools/string/networks/string
3.37.9. 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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.38. Add an IP Pool to a Network of a Network Pool
POST /v1/network-pools/{id}/networks/{networkId}/ip-pools
3.38.1. Description
Add an IP Pool to a Network of a Network Pool
3.38.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Id of the networkpoolk |
string |
Path |
networkId |
Id of the network |
string |
Body |
ipPool |
ipPool |
3.38.3. 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 |
3.38.4. Consumes
-
application/json
3.38.5. Produces
-
application/json
3.38.6. Tags
-
Network Pools
3.38.7. Security
Type | Name |
---|---|
basic |
3.38.8. Example HTTP request
Request path
/v1/network-pools/string/networks/string/ip-pools
Request body
{
"end" : "string",
"start" : "string"
}
3.38.9. 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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.39. Delete an IP Pool from a Network of a Network Pool
DELETE /v1/network-pools/{id}/networks/{networkId}/ip-pools
3.39.1. Description
Delete an IP Pool from a Network of a Network Pool
3.39.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
ID of the networkpool |
string |
Path |
networkId |
ID of the network |
string |
Body |
ipPool |
ipPool |
3.39.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Delete the IP Pool associated with a Network of a Network Pool |
No Content |
400 |
Errors due to network/networkpool validations failures |
|
404 |
Either network or Network pool not found |
|
500 |
Unexpected error |
3.39.4. Consumes
-
application/json
3.39.5. Produces
-
application/json
3.39.6. Tags
-
Network Pools
3.39.7. Security
Type | Name |
---|---|
basic |
3.39.8. Example HTTP request
Request path
/v1/network-pools/string/networks/string/ip-pools
Request body
{
"end" : "string",
"start" : "string"
}
3.39.9. Example HTTP response
Response 400
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.40. Get the Tasks
GET /v1/tasks
3.40.1. Description
Get the Tasks
3.40.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
limit |
The number of elements to be returned in the result |
integer (int32) |
3.40.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Returns the list of tasks. |
|
500 |
Unexpected error |
3.40.4. Consumes
-
application/json
3.40.5. Produces
-
application/json
3.40.6. Tags
-
Tasks
3.40.7. Security
Type | Name |
---|---|
basic |
3.40.8. Example HTTP request
Request path
/v1/tasks
3.40.9. Example HTTP response
Response 200
{
"elements" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
} ]
}
Response 500
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.41. Get a Task
GET /v1/tasks/{id}
3.41.1. Description
Get a Task by ID, if it exists
3.41.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task id to retrieve |
string |
3.41.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A task object. |
|
404 |
Task not found |
|
500 |
Unexpected error |
3.41.4. Consumes
-
application/json
3.41.5. Produces
-
application/json
3.41.6. Tags
-
Tasks
3.41.7. Security
Type | Name |
---|---|
basic |
3.41.8. Example HTTP request
Request path
/v1/tasks/string
3.41.9. Example HTTP response
Response 200
{
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"id" : "string",
"name" : "string",
"resources" : [ {
"resourceId" : "string",
"type" : "string"
} ],
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL",
"subTasks" : [ {
"creationTimestamp" : {
"epochSecond" : 0,
"nano" : 0
},
"description" : "string",
"errors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"name" : "string",
"status" : "One among: FAILED, IN_PROGRESS, PENDING, SUCCESSFUL"
} ]
}
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
3.42. Retry a Task
PATCH /v1/tasks/{id}
3.42.1. Description
Retry a failed Task by ID, if it exists
3.42.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Task id retry |
string |
3.42.3. 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 |
3.42.4. Consumes
-
application/json
3.42.5. Produces
-
*/*
3.42.6. Tags
-
Tasks
3.42.7. Security
Type | Name |
---|---|
basic |
3.42.8. Example HTTP request
Request path
/v1/tasks/string
3.42.9. Example HTTP response
Response 404
{
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "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",
"message" : "string",
"nestedErrors" : [ {
"arguments" : [ "string" ],
"causes" : [ {
"message" : "string",
"type" : "string"
} ],
"context" : {
"string" : "string"
},
"errorCode" : "string",
"message" : "string",
"nestedErrors" : [ "..." ],
"referenceToken" : "string",
"remediationMessage" : "string"
} ],
"referenceToken" : "string",
"remediationMessage" : "string"
}
4. Definitions
4.1. 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.2. 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 |
serviceType |
Service type |
string |
targetType |
Target type |
string |
4.3. BaseCredential
Represents credentials of a resource in the system
Name | Description | Schema |
---|---|---|
credentialType |
Credential type |
string |
password |
Password |
string |
username |
Username |
string |
4.4. Cluster
Cluster representation
Name | Description | Schema |
---|---|---|
hosts |
List of hosts associated with the cluster |
< HostReference > array |
id |
ID of the cluster |
string |
name |
Name of the cluster |
string |
4.5. 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 |
hosts |
List of vSphere hosts to be removed |
< HostReference > array |
4.6. ClusterCreationSpec
This specification contains 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.7. 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 |
---|---|---|
hostSpecs |
List of vSphere host information from the free pool to consume in the workload domain |
< HostSpec > array |
4.8. ClusterReference
Represents a reference to the cluster
Name | Description | Schema |
---|---|---|
id |
ID of the cluster |
string |
4.9. 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 |
|
datastoreSpec |
Cluster storage configuration; e.g. VSAN, NFS |
|
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 |
4.10. 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 |
|
markForDeletion |
Prepare the cluster for deletion |
boolean |
4.11. 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 |
4.12. 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) |
4.13. 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.14. Credential
Represents a credential and the resource to which it is associated with
Name | Description | Schema |
---|---|---|
credentialType |
Credential type |
string |
id |
Credential ID |
string |
password |
Password |
string |
resource |
The resource which owns the credential |
|
username |
Username |
string |
4.15. CredentialsSubTask
Name | Description | Schema |
---|---|---|
creationTimestamp |
Credential sub-task creation timestamp |
|
dependentSubTasks |
List of dependent sub-tasks of the credential sub-task |
< CredentialsSubTask > array |
description |
Credential sub-task description |
string |
errors |
List of errors in case of a failure |
< Error > array |
name |
Credential sub-task name |
string |
status |
Credential sub-task status |
string |
4.16. CredentialsTask
Name | Description | Schema |
---|---|---|
creationTimestamp |
Credential task creation timestamp |
|
errors |
List of errors in case of a failure |
< Error > array |
id |
Credential task ID |
string |
name |
Credential task name |
string |
status |
Credential task status |
string |
subTasks |
List of credential sub-tasks of the credential task |
< CredentialsSubTask > array |
4.17. CredentialsUpdateSpec
This specification contains password operation request details
Name | Description | Schema |
---|---|---|
elements |
List of resource credentials to be changed |
< ResourceCredentials > array |
operationType |
Operation type |
string |
4.18. DatastoreSpec
This specification contains cluster storage configuration
Name | Description | Schema |
---|---|---|
nfsDatastoreSpecs |
Cluster storage configuration for NFS |
< NfsDatastoreSpec > array |
vsanDatastoreSpec |
Cluster storage configuration for vSAN |
4.19. 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.20. Domain
Represents a domain
Name | Description | Schema |
---|---|---|
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 |
vcenters |
List of vCenters associated with the workload domain |
< Vcenter > array |
4.21. 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 |
|
nsxVSpec |
Specification details for NSX-V configuration |
|
vcenterSpec |
Specification details for vCenter |
4.22. DomainReference
Represents a domain reference
Name | Description | Schema |
---|---|---|
id |
ID of the domain |
string |
4.23. DomainUpdateSpec
Contains the parameters required to perform update operation on domain
Name | Description | Schema |
---|---|---|
markForDeletion |
Enable deletion of domain |
boolean |
4.24. 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 |
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.25. 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.26. HighAvailability
This specification contains high availability settings
Name | Description | Schema |
---|---|---|
enabled |
Example : |
boolean |
4.27. Host
Represents an Esxi host in the system
Name | Description | Schema |
---|---|---|
cluster |
Information about the cluster this host is part of |
|
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 |
id |
ID of the host |
string |
ipAddresses |
Information about IP addresses assigned to the host |
< IpAddress > array |
memory |
Information about memory on the host |
|
physicalNics |
Information about physical NICs on the host |
< PhysicalNic > array |
status |
Status of the host |
string |
storage |
Information about storage on the host |
4.28. 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 |
storageType |
Storage Type |
string |
username |
Username of the host |
string |
4.29. 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.30. 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.31. HostReference
Represents an ESXi host reference
Name | Description | Schema |
---|---|---|
id |
ID of the host |
string |
4.32. HostSpec
This specification contains information required to add vSphere host to a cluster
Name | Description | Schema |
---|---|---|
hostNetworkSpec |
Network Details of a vSphere host in the free pool |
|
id |
ID of a vSphere host in the free pool |
string |
licenseKey |
License key of a vSphere host in the free pool |
string |
4.33. Instant
Name | Description | Schema |
---|---|---|
epochSecond |
Example : |
integer (int64) |
nano |
Example : |
integer (int32) |
4.34. IpAddress
Represents IP address
Name | Description | Schema |
---|---|---|
ipAddress |
IP address |
string |
type |
Type of IP addresss |
string |
4.35. 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.36. 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.37. 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.38. LicenseKeyValidity
Defines license key validity details
Name | Description | Schema |
---|---|---|
expiryDate |
The license key expiry date |
|
licenseKeyStatus |
The validity status of the license key |
string |
4.39. MapOfstringAndstring
Type : < string, string > map
4.40. Memory
Represents information about memory on a host
Name | Description | Schema |
---|---|---|
totalCapacityMB |
Total memory in MB |
number (double) |
4.41. 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.42. 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.43. 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.44. 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.45. 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.46. 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.47. NiocBandwidthAllocationSpec
This specification contains network traffic per resource type
Name | Description | Schema |
---|---|---|
niocTrafficResourceAllocation |
DvsHostInfrastructureTrafficResourceAllocation |
|
type |
DvsHostInfrastructureTrafficResource resource type |
string |
4.48. NiocTrafficResourceAllocation
Specify network traffic for a resource
Name | Description | Schema |
---|---|---|
limit |
Example : |
integer (int64) |
reservation |
Example : |
integer (int64) |
4.49. 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 |
|
nsxVClusterSpec |
NSX-V spec for the new cluster, required for NSX-V based workload domains, optional otherwise |
4.50. 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.51. NsxTClusterSpec
This specification contains NSX-T configuration for a new cluster.
Name | Description | Schema |
---|---|---|
geneveVlanId |
Vlan id of Geneve |
integer (int32) |
4.52. NsxTSpec
This specification contains the parameters required to install and configure NSX-T in a workload domain
Name | Description | Schema |
---|---|---|
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.53. NsxVClusterSpec
This specification contains NSX-V configuration spec for cluster
Name | Description | Schema |
---|---|---|
licenseKey |
NSX license key to be applied to the new cluster |
string |
vdsNameForVxlanConfig |
VDS to be used for vxlan traffic/portgroup. This should belong to one of the VDS being created for the cluster |
string |
vlanId |
VLAN ID of the vxlan |
integer (int32) |
4.54. NsxVControllerSpec
This specification contains the parameters required to install and configure NSX-V controllers in a workload domain
Name | Description | Schema |
---|---|---|
nsxControllerGateway |
NSX controller gateway |
string |
nsxControllerIps |
List of the IPs of NSX Controller IP Pool associated with the above NSX Manager |
< string > array |
nsxControllerPassword |
NSX controller password (all controllers) |
string |
nsxControllerSubnetMask |
NSX controller subnet mask |
string |
4.55. NsxVSpec
This specification contains the parameters required to install and configure NSX-V in a workload domain
Name | Description | Schema |
---|---|---|
licenseKey |
NSX license key |
string |
nsxManagerAdminPassword |
NSX Manager admin password (basic auth and SSH) |
string |
nsxManagerEnablePassword |
NSX manager 'enable' password |
string |
nsxManagerSpec |
Specification details of the NSX Manager virtual machine |
|
nsxVControllerSpec |
NSX controller configuration |
4.56. PageOfCluster
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Cluster > array |
4.57. PageOfCredential
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Credential > array |
4.58. PageOfCredentialsTask
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< CredentialsTask > array |
4.59. PageOfDomain
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Domain > array |
4.60. PageOfHost
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Host > array |
4.61. PageOfLicenseKey
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< LicenseKey > array |
4.62. PageOfNetwork
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Network > array |
4.63. PageOfNetworkPool
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< NetworkPool > array |
4.64. PageOfTask
Represents a page of elements of a single type
Name | Description | Schema |
---|---|---|
elements |
The list of elements included in this page |
< Task > array |
4.65. PhysicalNic
Represents a physical NIC
Name | Description | Schema |
---|---|---|
deviceName |
Device name of the physical NIC |
string |
macAddress |
Mac address of the physical NIC |
string |
4.66. PortgroupSpec
This specification contains vCenter port group configurations
Name | Description | Schema |
---|---|---|
name |
Port group name |
string |
transportType |
Port group transport type |
string |
4.67. Resource
Represents the resource in the system
Name | Description | Schema |
---|---|---|
resourceId |
Resource ID |
string |
type |
Resource type |
string |
4.68. 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.69. 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) |
4.70. SubTask
Represents a sub-task
Name | Description | Schema |
---|---|---|
creationTimestamp |
Sub-task creation timestamp |
|
description |
Sub-task description |
string |
errors |
List of errors in case of a failure |
< Error > array |
name |
Sub-task name |
string |
status |
Sub-task status |
string |
4.71. Task
Represents a task
Name | Description | Schema |
---|---|---|
creationTimestamp |
Task creation timestamp |
|
errors |
List of errors in case of a failure |
< Error > array |
id |
Task ID |
string |
name |
Task name |
string |
resources |
List of resources associated with task |
< Resource > array |
status |
Task status |
string |
subTasks |
List of sub-tasks of the task |
< SubTask > array |
4.72. Validation
Represents a validation with a list of one or more validation checks that are performed as part of the validation
Name | Description | Schema |
---|---|---|
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.73. ValidationCheck
Represents a validation check
Name | Description | Schema |
---|---|---|
description |
Description of the validation check |
string |
errorResponse |
Error response associated with the validation check |
|
resultStatus |
Result status of the validation check after it has completed its execution |
string |
severity |
Severity of the validation check |
string |
4.74. Vcenter
vCenter representation
Name | Description | Schema |
---|---|---|
fqdn |
FQDN of the vCenter |
string |
4.75. VcenterSpec
This specification contains the installation and configuration of vCenter in a workload domain
Name | Description | Schema |
---|---|---|
datacenterName |
vCenter datacenter name |
string |
licenseKey |
vCenter license key |
string |
name |
Name of the vCenter virtual machine |
string |
networkDetailsSpec |
Network spec details of the vCenter virtual machine |
|
rootPassword |
vCenter root shell password |
string |
4.76. VdsSpec
This specification contains vSphere distributed switchc configurations
Name | Description | Schema |
---|---|---|
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.77. 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 |
vdsName |
VDS name to associate with vSphere host |
string |
4.78. 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 |
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 |
TASK_REGISTRATION_FAILED |
Failed to register task to task aggregator |
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_CREDENTIAL_DELETION_FAILED.remedy |
Retry decommission once this issue gets resolved. |
STORAGE_SAVE_ERROR |
Failed to save input data to persistent storage |
STORAGE_GET_ERROR |
Failed to get input data from persistent storage |
FAIL_TO_CLEAR_CACHE |
Failed to clear input data from cache |
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 |
HOST_NOT_REACHABLE |
Cannot connect to host with IP address {0} |
HOST_NOT_REACHABLE.remedy |
Please check the connectivity to host with IP address {0}. |
HOST_DNS_CONFIGURATION_FAILED |
Cannot configure DNS {0} on host {1} |
HOST_DNS_CONFIGURATION_FAILED.remedy |
Please check the DNS {0} configuration on the host. |
HOST_NTP_CONFIGURATION_FAILED |
Cannot configure NTP servers {0} for host {1} |
HOST_NTP_CONFIGURATION_FAILED.remedy |
Please check the connectivity to host with IP 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_INVENTIORY_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. |
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}. |
NTP_SYNC_FAILED |
Time synchronization of the NTP servers {0} failed on the host {1}. |
NTP_SYNC_FAILED.remedy |
Please check the connectivity of NTP servers {0} from host {1}. |
HOST_VIB_VALIDATION_FAILED |
Please uninstall VIB(s) - {0} on the 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 |
APPLIED_ESXI_LICENSE_IS_INVALID |
The ESXi license applied to host {0} is invalid |
APPLIED_ESXI_LICENSE_IS_INVALID.remedy |
Please assign a valid license directly to the ESXi host before retrying |
5.1.2. Domains
Error code | Description |
---|---|
REMOVE_VI_NOT_INITIALIZED |
Vi removal for domain {0} is not initialized |
STORAGE_SAVE_ERROR |
Failed to save input data to persistent storage |
STORAGE_GET_ERROR |
Failed to get input data from persistent storage |
FAIL_TO_CLEAR_CACHE |
Failed to clear input data from cache |
VI_MODEL_SERIALIZATION_ERROR |
Failed to serialize add vi uber spec |
FAILED_TO_CLEAN_KNOWN_HOSTS_FILE |
Failed to clean known_hosts file |
MGMT_DOMAIN_REMOVAL_ERROR |
Removal of management domain is not allowed. |
INTERNAL_SERVER_ERROR |
Internal server error |
DOMAIN_ALREADY_BEING_REMOVED |
Domain {0} already being removed. |
PASSWORD_POLICY_UPPERCASE_LETTER_VIOLATION |
Password should contain atleast 1 upper-case letter. |
PASSWORD_POLICY_LOWERCASE_LETTER_VIOLATION |
Password should contain atleast 1 lower-case letter. |
PASSWORD_POLICY_DIGIT_VIOLATION |
Password should contain atleast 1 digit. |
PASSWORD_POLICY_SPECIAL_CHARACTER_VIOLATION |
Password should contain atleast 1 special character. |
PASSWORD_POLICY_PALINDROME_VIOLATION |
Password should not be a palindrome. |
PASSWORD_POLICY_UNIQUE_CHARACTERS_VIOLATION |
Password should contain atleast 5 different characters. |
PASSWORD_POLICY_LENGTH_VIOLATION |
Password should atleast be 12 characters long. |
VROPS_NOT_IN_ACTIVE_STATE |
vROps is not in ACTIVE state but in {0} |
VRLI_NOT_IN_ACTIVE_STATE |
vRLI is not in ACTIVE state but in {0} |
INVALID_NSXT_VERSION |
NSX-T version is not up to date. {0} |
INVALID_NSXT_VERSION.remedy |
Please upgrade NSX-T to supported version. |
BACKUP_PASSWORD_IS_TOO_WEAK |
Backup password is very weak. Password should meet the following criteria - {0} |
DOMAIN_NOT_FOUND |
Domain with ID {0} not found |
INVALID_GATEWAY_ADDRESS |
{0} gateway {1} is not the same as management network gateway {2} for {0} {3} |
5.1.3. Clusters
Error code | Description |
---|---|
POST_INTERNAL_SERVER_ERROR |
Internal server error |
REMOVE_CLUSTER_NOT_INITIALIZED |
Removal for cluster {0} is not initialized |
STORAGE_SAVE_ERROR |
Failed to save input data to persistent storage |
STORAGE_GET_ERROR |
Failed to get input data from persistent storage |
FAIL_TO_CLEAR_CACHE |
Failed to clear input data from cache |
REMOVE_CLUSTER_UPDATE_DATA_ERROR |
Failed to update data for remove host. Reason: {0} |
CLUSTER_MODEL_SERIALIZATION_ERROR |
Failed to serialize add cluster uber spec |
MISSING_DEFAULT_FLAG |
Failed to verify cluster {0} is not default |
DEFAULT_CLUSTER |
Trying to remove default cluster {0} |
REMOVE_CLUSTER_FROM_NOT_ACTIVE_DOMAIN_ERROR |
Removal for cluster {0} from not active domain is not allowed. |
CLUSTER_ALREADY_BEING_REMOVED |
Cluster already being removed. |
REMOVE_CLUSTER_NOT_ACTIVE_VCENTER_ERROR |
Removing cluster from domain with not active vCenter is not allowed. |
REMOVE_CLUSTER_NOT_ACTIVE_NSX_MANAGER_ERROR |
Removing cluster from domain with not active NSX manager is not allowed. |
DOMAIN_VCENTER_MISSING |
Domain {0} vCenter does not exist. |
DOMAIN_NSX_MANAGER_MISSING |
Domain {0} NSX manager does not exist. |
REMOVE_CLUSTER_NOT_ACTIVE_NSXT_MANAGER_ERROR |
Removing cluster from domain with not active NSX-T manager is not allowed. |
CLUSTER_NOT_FOUND |
Cluster with ID {0} not found |
5.1.4. Credentials
Error code | Description |
---|---|
PASSWORD_MANAGER_ENTITY_TYPE_NOT_FOUND |
Entity Type {0} not found |
PASSWORD_MANAGER_DOMAIN_NAME_NOT_FOUND |
Domain {0} doesn’t exists |
PASSWORD_MANAGER_CREDENTIAL_TYPE_NOT_FOUND |
Credential Type {0} not found |
PASSWORD_MANAGER_ENTITY_ID_NOT_FOUND |
Entity ID not found |
PASSWORD_MANAGER_ENTITY_IP_ADDRESS_NOT_FOUND |
Entity IP address not found |
PASSWORD_MANAGER_ENTITY_NAME_NOT_FOUND |
Entity name not found |
PASSWORD_MANAGER_ENTITY_USER_NAME_NOT_FOUND |
Entity username not found |
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_CHANGER_NOT_FOUND |
Invalid entity type {1} for credential {0} |
PASSWORD_MANAGER_TRANSACTION_WORKFLOWID_NOT_FOUND |
Could not find workflow ID {0} |
PASSWORD_MANAGER_TASK_REGISTRATION_FAILED |
Failed to register with Task aggregator for {0} |
PASSWORD_MANAGER_TASK_CANCELLATION_FAILED |
Failed to cancel task from Task aggregator for {0} |
PASSWORD_MANAGER_TRANSACTION_ID_NOT_FOUND |
Task ID {0} not found |
PASSWORD_MANAGER_CANNOT_PATCH |
Task ID {0} cannot be patched as it is already successful/cancelled |
PASSWORD_MANAGER_CANNOT_BE_RESTARTED |
Transaction ID {0} cannot be restarted as the supplied password became void due to another update. |
PASSWORD_MANAGER_UPDATE_IN_PROGRESS |
Password update task {0} is in progress/failed state, retry after sometime. |
PASSWORD_MANAGER_NEW_PASSWORD_NOT_ALLOWED |
Password update transaction {0} cannot have a modified password at this time |
PASSWORD_MANAGER_TRANSACTION_ID_MISSING |
Required parameter transactionId missing in PATCH request body |
PASSWORD_MANAGER_MISC_ERROR |
General error |
PASSWORD_MANAGER_CANNOT_BE_CANCELLED |
Task ID {0} should be in the failure state to initiate cancel operation |
PASSWORD_MANAGER_ENTITY_TYPE_NOT_SUPPORTED |
EntityType {0} is not supported |
PASSWORD_MANAGER_PASSWORD_NOT_FOUND |
Unable to find password for EntityType {0} |
PASSWORD_MANAGER_UPDATE_ACTION_MISSING |
Password update action is missing |
PASSWORD_MANAGER_ENTITY_MISSING |
Password update payload should have valid entity details |
PASSWORD_MANAGER_TRANSACTIONID_MISSING |
Password update operation should have valid transaction ID |
PASSWORD_MANAGER_ENTITY_NOT_FOUND |
Entity not found with provided information |
PASSWORD_MANAGER_INVALID_IPADDRESS |
Invalid entity IP address {0} |
PASSWORD_MANAGER_INVALID_FQDN |
Invalid entity name/FQDN {0} |
PASSWORD_MANAGER_INVALID_PAGE |
Invalid page number specified. It must be greater than zero. |
PASSWORD_MANAGER_RESOURCE_STATE_CANNOT_BE_SET |
Unable to set the status {0} for {1} |
PASSWORD_MANAGER_RESOURCE_UNAVAILABLE |
Resource {0} is not available/ready |
PASSWORD_MANAGER_DEPENDENT_RESOURCE_UNAVAILABLE |
Dependent resource {0} is not available/ready |
PASSWORD_MANAGER_CSS_SYNC_ERROR |
Retry this task {0} as it cannot be canceled at this stage due to storage error |
PASSWORD_MANAGER_ENTITY_MISMATCH |
The task {0} doesn’t match with the supplied entity |
PASSWORD_MANAGER_ENTITY_LIST_NOT_FOUND |
List of entities must be supplied for rotate operation |
PASSWORD_MANAGER_ROTATE_CANNOT_BE_STARTED |
The password rotate operation cannot be started |
PASSWORD_MANAGER_TRANSACTION_TYPE_MISMATCH |
Task ID {0} cannot be patched as it’s type {1} is incorrect. |
PASSWORD_MANAGER_OPERATION_TYPE_MISSING |
Password operation type is missing |
PASSWORD_MANAGER_INVALID_OPERATION_TYPE |
Operation type is invalid. Allowable values: {0} |
PASSWORD_MANAGER_UNKNOWN_ACTION |
Password manager bulk update/rotate feature is disabled. |
PASSWORD_MANAGER_DATA_IMPORT_FAILED_NO_DATA |
Missing data to import, please 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_RETRY_REQUEST_PAYLOAD_MISMATCH |
Task ID {0} cannot be patched as there is mismatch in request body. |
PASSWORD_MANAGER_INVALID_BASIC_AUTH_CREDENTIAL |
Invalid basic-auth credential in request body. |
PASSWORD_MANAGER_INVALID_RESOURCE_TYPE |
Resource type is invalid. Allowable values: {0} |
PASSWORD_MANAGER_INVALID_CREDENTIAL_TYPE |
Credential type is invalid. Allowable values: {0} |
PASSWORD_MANAGER_INVALID_PAGESIZE_LIMIT |
Limit must not be less than one. |
PASSWORD_MANAGER_LOOKUP_FAILED |
Failed to lookup passwords due to internal problem. Please try again later. |
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. |
5.1.5. 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_KEY_NOT_FOUND |
License key with UUID {0} does not exist. |
LICENSE_KEY_NOT_FOUND.remedy |
Try again with proper license key |
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. |
RESOURCE_NOT_FOUND |
Resource with UUID {0} does not exist. |
RESOURCE_NOT_FOUND.remedy |
Try again with proper resource UUID. |
OPERATION_NOT_SUPPORTED |
Operation is not supported. |
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. |
TASK_REGISTRATION_FAILED |
Registering task with Task aggregator failed. |
TASK_REGISTRATION_FAILED.remedy |
None. |
LOCK_NOT_AVAILABLE |
Lock not available. |
LOCK_NOT_AVAILABLE.remedy |
None. |
FAILED_TO_ACQUIRE_LOCK |
Failed to acquire lock. |
FAILED_TO_ACQUIRE_LOCK.remedy |
None. |
FAILED_TO_RELEASE_LOCK |
Failed to release lock. |
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. |
DOMAIN_NOT_ACTIVE |
Domain(s) {0} not in active state. |
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} |
5.1.6. Network pools
Error code | Description |
---|---|
SUCCESS |
Success |
NETWORKPOOL_NOT_FOUND |
The network pool with ID {0} does not exist |
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 |
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 |
INTERNAL_SERVER_ERROR |
Internal Server Error |
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 |
5.1.7. Tasks
Error code | Description |
---|---|
TASK_CAN_NOT_BE_RETRIED |
Task with ID {0} cannot be retried. |
TASK_CAN_NOT_BE_RETRIED.remedy |
Make sure the task is in failed state to retry. |