Sddc APIs

Sddc APIs

APIs for managing SDDC. The /v1/sddcs APIs are available only on the Cloud Builder appliance.

Note : The /v1/sddcs APIs are available only on the Cloud Builder appliance

Table of Contents

1. Create an SDDC

Create an SDDC workflow executes automatically the following:

  • Configures networking on each host.

  • Configures vSAN storage on the hosts.

  • Deploys and configures the management stack - vCenter and NSX

  • Deploys and configures SDDC Manager which provides the ability to perform Day 2 operations

1.1. Prerequisites

The following data is required

  • ID of the SDDC instance

  • Detailed list of host

Tip : Refer to: SddcHostSpec.

  • vCenter details

Tip : Refer to: SddcVcenterSpec.

  • Cluster details

Tip : Refer to: SddcClusterSpec.

  • Detailed list of Distributed Virtual Switches

Tip : Refer to: DvsSpec.

  • Detailed list of networks

Tip : Refer to: SddcNetworkSpec.

  • DNS details

Tip : Refer to: DnsSpec.

  • List of NTP servers

  • Name of the task to execute

The following data is optional

  • vSAN details

Tip : Refer to: VsanSpec.

  • NSX details

Tip : Refer to: SddcNsxtSpec.

Note : In order to configure NSX Host Overlay Using a Static IP Pool, please provide ipAddressPoolSpec in nsxtSpec. Otherwise, DHCP will be chosen. Example specifications can seen below.

  • SDDC Manager details

Tip : Refer to: SddcManagerSpec.

  • List of PSC's details

Tip : Refer to: PscSpec.

  • VxManager details

Tip : Refer to: VxManagerSpec.

  • Name of network pool associated with the management domain

  • List of names of the components to be excluded

  • Version of the Distributed Virtual Switch

  • Boolean to identify whether Customer Experience Improvement Program should be enabled

  • Boolean to identify whether Federal Information Processing Standards should be enabled

  • Remote Site details

Tip : Refer to: VxManagerSpec.

  • Passphrase for the certificates to be used for vCenter and NSX

  • License for the ESXi hosts

  • Boolean to identify if ESXi thumbprint validation is to be skipped

  • Security details

Tip : Refer to: SecuritySpec.

  • Boolean to identify if vSAN should be cleaned up

Note : Should be true only if this is the very first run

1.2. Steps

  • Validate the input specification.

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/validations' -i -u 'admin:VMwareInfra@1' -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -d '{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}'

HTTP Request

POST /v1/sddcs/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7292
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 9110

{
  "id" : "26c27804-f837-4e4f-b50f-1625af792f0f",
  "executionStatus" : "COMPLETED",
  "validationChecks" : [ ],
  "additionalProperties" : {
    "sddcSpec" : "{\n  \"dvSwitchVersion\": \"7.0.0\",\n  \"skipEsxThumbprintValidation\": true,\n  \"managementPoolName\": \"bringup-networkpool\",\n  \"sddcManagerSpec\": {\n    \"hostname\": \"sfo-vcf01\",\n    \"ipAddress\": \"10.0.0.4\",\n    \"netmask\": \"255.255.255.0\",\n    \"localUserPassword\": \"xxxxxxx\",\n    \"rootUserCredentials\": {\n      \"username\": \"root\",\n      \"password\": \"xxxxxxx\"\n    },\n    \"secondUserCredentials\": {\n      \"username\": \"vcf\",\n      \"password\": \"xxxxxxx\"\n    }\n  },\n  \"sddcId\": \"sddcId-public-api-01\",\n  \"esxLicense\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n  \"taskName\": \"workflowconfig/workflowspec-ems.json\",\n  \"ntpServers\": [\n    \"10.0.0.250\"\n  ],\n  \"dnsSpec\": {\n    \"subdomain\": \"vrack.vsphere.local\",\n    \"domain\": \"vsphere.local\",\n    \"nameserver\": \"10.0.0.250\",\n    \"secondaryNameserver\": \"10.0.0.250\"\n  },\n  \"networkSpecs\": [\n    {\n      \"subnet\": \"10.0.0.0/22\",\n      \"vlanId\": \"0\",\n      \"mtu\": \"1500\",\n      \"networkType\": \"MANAGEMENT\",\n      \"gateway\": \"10.0.0.250\"\n    },\n    {\n      \"subnet\": \"10.0.4.0/24\",\n      \"includeIpAddressRanges\": [\n        {\n          \"startIpAddress\": \"10.0.4.7\",\n          \"endIpAddress\": \"10.0.4.48\"\n        },\n        {\n          \"startIpAddress\": \"10.0.4.3\",\n          \"endIpAddress\": \"10.0.4.6\"\n        }\n      ],\n      \"includeIpAddress\": [\n        \"10.0.4.50\",\n        \"10.0.4.49\"\n      ],\n      \"vlanId\": \"0\",\n      \"mtu\": \"8940\",\n      \"networkType\": \"VSAN\",\n      \"gateway\": \"10.0.4.253\"\n    },\n    {\n      \"subnet\": \"10.0.8.0/24\",\n      \"includeIpAddressRanges\": [\n        {\n          \"startIpAddress\": \"10.0.8.3\",\n          \"endIpAddress\": \"10.0.8.50\"\n        }\n      ],\n      \"vlanId\": \"0\",\n      \"mtu\": \"8940\",\n      \"networkType\": \"VMOTION\",\n      \"gateway\": \"10.0.8.253\"\n    }\n  ],\n  \"nsxtSpec\": {\n    \"nsxtManagerSize\": \"medium\",\n    \"nsxtManagers\": [\n      {\n        \"hostname\": \"sfo-m01-nsx01a\",\n        \"ip\": \"10.0.0.31\"\n      },\n      {\n        \"hostname\": \"sfo-m01-nsx01b\",\n        \"ip\": \"10.0.0.32\"\n      },\n      {\n        \"hostname\": \"sfo-m01-nsx01c\",\n        \"ip\": \"10.0.0.33\"\n      }\n    ],\n    \"rootNsxtManagerPassword\": \"xxxxxxx\",\n    \"nsxtAdminPassword\": \"xxxxxxx\",\n    \"nsxtAuditPassword\": \"xxxxxxx\",\n    \"overLayTransportZone\": {\n      \"zoneName\": \"sfo-m01-tz-overlay01\",\n      \"networkName\": \"net-overlay\"\n    },\n    \"vlanTransportZone\": {\n      \"zoneName\": \"sfo-m01-tz-vlan01\",\n      \"networkName\": \"net-vlan\"\n    },\n    \"vip\": \"10.0.0.30\",\n    \"vipFqdn\": \"sfo-m01-nsx01\",\n    \"nsxtLicense\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n    \"transportVlanId\": 0,\n    \"ipAddressPoolSpec\": {\n      \"name\": \"sfo01-m01-cl01-tep01\",\n      \"description\": \"ESXi Host Overlay TEP IP Pool\",\n      \"subnets\": [\n        {\n          \"ipAddressPoolRanges\": [\n            {\n              \"start\": \"172.16.14.101\",\n              \"end\": \"172.16.14.108\"\n            }\n          ],\n          \"cidr\": \"172.16.14.0/24\",\n          \"gateway\": \"172.16.14.1\"\n        }\n      ]\n    }\n  },\n  \"vsanSpec\": {\n    \"vsanName\": \"sfo-m01-cl01-ds-vsan01\",\n    \"licenseFile\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n    \"datastoreName\": \"sfo-m01-cl01-ds-vsan01\"\n  },\n  \"dvsSpecs\": [\n    {\n      \"mtu\": 8940,\n      \"niocSpecs\": [\n        {\n          \"trafficType\": \"VSAN\",\n          \"value\": \"HIGH\"\n        },\n        {\n          \"trafficType\": \"VMOTION\",\n          \"value\": \"LOW\"\n        },\n        {\n          \"trafficType\": \"VDP\",\n          \"value\": \"LOW\"\n        },\n        {\n          \"trafficType\": \"VIRTUALMACHINE\",\n          \"value\": \"HIGH\"\n        },\n        {\n          \"trafficType\": \"MANAGEMENT\",\n          \"value\": \"NORMAL\"\n        },\n        {\n          \"trafficType\": \"NFS\",\n          \"value\": \"LOW\"\n        },\n        {\n          \"trafficType\": \"HBR\",\n          \"value\": \"LOW\"\n        },\n        {\n          \"trafficType\": \"FAULTTOLERANCE\",\n          \"value\": \"LOW\"\n        },\n        {\n          \"trafficType\": \"ISCSI\",\n          \"value\": \"LOW\"\n        }\n      ],\n      \"dvsName\": \"sfo-m01-cl01-vds01\",\n      \"vmnics\": [\n          \"vmnic0\",\n          \"vmnic1\"\n      ],\n      \"networks\": [\n        \"MANAGEMENT\",\n        \"VSAN\",\n        \"VMOTION\"\n      ]\n    }\n  ],\n  \"clusterSpec\": {\n    \"clusterName\": \"sfo-m01-cl01\",\n    \"clusterEvcMode\": \"\",\n    \"resourcePoolSpecs\": [\n      {\n        \"cpuSharesLevel\": \"high\",\n        \"cpuSharesValue\": 0,\n        \"name\": \"sfo-m01-cl01-rp-sddc-mgmt\",\n        \"memorySharesValue\": 0,\n        \"cpuReservationPercentage\": 0,\n        \"memoryLimit\": -1,\n        \"memoryReservationPercentage\": 0,\n        \"cpuReservationExpandable\": true,\n        \"memoryReservationExpandable\": true,\n        \"memorySharesLevel\": \"normal\",\n        \"cpuLimit\": -1,\n        \"type\": \"management\"\n      },\n      {\n        \"cpuSharesLevel\": \"high\",\n        \"cpuSharesValue\": 0,\n        \"name\": \"sfo-m01-cl01-rp-sddc-network\",\n        \"memorySharesValue\": 0,\n        \"cpuReservationPercentage\": 0,\n        \"memoryLimit\": -1,\n        \"memoryReservationPercentage\": 0,\n        \"cpuReservationExpandable\": true,\n        \"memoryReservationExpandable\": true,\n        \"memorySharesLevel\": \"normal\",\n        \"cpuLimit\": -1,\n        \"type\": \"network\"\n      },\n      {\n        \"cpuSharesLevel\": \"normal\",\n        \"cpuSharesValue\": 0,\n        \"name\": \"sfo-m01-cl01-rp-sddc-compute\",\n        \"memorySharesValue\": 0,\n        \"cpuReservationPercentage\": 0,\n        \"memoryLimit\": -1,\n        \"memoryReservationPercentage\": 0,\n        \"cpuReservationExpandable\": true,\n        \"memoryReservationExpandable\": true,\n        \"memorySharesLevel\": \"normal\",\n        \"cpuLimit\": -1,\n        \"type\": \"compute\"\n      },\n      {\n        \"name\": \"sfo-m01-cl01-rp-user-compute\",\n        \"type\": \"compute\",\n        \"cpuReservationMhz\": 2100,\n        \"cpuLimit\": -1,\n        \"cpuReservationExpandable\": true,\n        \"cpuSharesLevel\": \"normal\",\n        \"memoryReservationMb\": 3128,\n        \"memoryReservationExpandable\": true,\n        \"memorySharesLevel\": \"normal\",\n        \"memorySharesValue\": 0\n      }\n    ]\n  },\n  \"pscSpecs\": [\n    {\n      \"pscId\": \"psc-1\",\n      \"pscSsoSpec\": {\n        \"ssoDomain\": \"vsphere.local\"\n      },\n      \"adminUserSsoPassword\": \"xxxxxxx\"\n    }\n  ],\n  \"vcenterSpec\": {\n    \"vcenterIp\": \"10.0.0.6\",\n    \"vcenterHostname\": \"sfo-m01-vc01\",\n    \"licenseFile\": \"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX\",\n    \"rootVcenterPassword\": \"xxxxxxx\",\n    \"vmSize\": \"tiny\"\n  },\n  \"hostSpecs\": [\n    {\n      \"credentials\": {\n        \"username\": \"root\",\n        \"password\": \"xxxxxxx\"\n      },\n      \"ipAddressPrivate\": {\n        \"subnet\": \"255.255.252.0\",\n        \"cidr\": \"\",\n        \"ipAddress\": \"10.0.0.100\",\n        \"gateway\": \"10.0.0.250\"\n      },\n      \"hostname\": \"sfo01-m01-esx01\",\n      \"vSwitch\": \"vSwitch0\",\n      \"serverId\": \"host-0\",\n      \"association\": \"sfo-m01-dc01\"\n    },\n    {\n      \"credentials\": {\n        \"username\": \"root\",\n        \"password\": \"xxxxxxx\"\n      },\n      \"ipAddressPrivate\": {\n        \"subnet\": \"255.255.252.0\",\n        \"cidr\": \"\",\n        \"ipAddress\": \"10.0.0.101\",\n        \"gateway\": \"10.0.0.250\"\n      },\n      \"hostname\": \"sfo01-m01-esx02\",\n      \"vSwitch\": \"vSwitch0\",\n      \"serverId\": \"host-1\",\n      \"association\": \"sfo-m01-dc01\"\n    },\n    {\n      \"credentials\": {\n        \"username\": \"root\",\n        \"password\": \"xxxxxxx\"\n      },\n      \"ipAddressPrivate\": {\n        \"subnet\": \"255.255.255.0\",\n        \"cidr\": \"\",\n        \"ipAddress\": \"10.0.0.102\",\n        \"gateway\": \"10.0.0.250\"\n      },\n      \"hostname\": \"sfo01-m01-esx03\",\n      \"vSwitch\": \"vSwitch0\",\n      \"serverId\": \"host-2\",\n      \"association\": \"sfo-m01-dc01\"\n    },\n    {\n      \"credentials\": {\n        \"username\": \"root\",\n        \"password\": \"xxxxxxx\"\n      },\n      \"ipAddressPrivate\": {\n        \"subnet\": \"255.255.255.0\",\n        \"cidr\": \"\",\n        \"ipAddress\": \"10.0.0.103\",\n        \"gateway\": \"10.0.0.250\"\n      },\n      \"hostname\": \"sfo01-m01-esx04\",\n      \"vSwitch\": \"vSwitch0\",\n      \"serverId\": \"host-3\",\n      \"association\": \"sfo-m01-dc01\"\n    }\n  ]\n}\n"
  }
}
  • Poll the task until "executionStatus" is not "IN_PROGRESS" using the "id" from the previous response.

  • In case of no errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is

    "SUCCEEDED".

  • In case of errors in the input specification, the "executionStatus" is "COMPLETED" and "resultStatus" is

    "FAILED".

  • Validate the input specification.

Note : Make changes to the input specification and re-validate using a new API invocation.

  • Download the validation report (optional).

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/validations/cebb0cc1-70c7-450f-9ca1-90dd11f248dc/report' -i -u 'admin:VMwareInfra@1' -X GET \
    -H 'Content-Type: application/octet-stream'

HTTP Request

GET /v1/sddcs/validations/cebb0cc1-70c7-450f-9ca1-90dd11f248dc/report HTTP/1.1
Content-Type: application/octet-stream
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: form-data; name="validation-report-26c27804-f837-4e4f-b50f-1625af792f0f"; filename="validation-report-26c27804-f837-4e4f-b50f-1625af792f0f"

Note : The report can be downloaded while the "executionStatus" is "IN_PROGRESS" or "COMPLETED" and the "resultStatus" is "SUCCEEDED" or "FAILED".

  • Trigger the task using the valid input specification

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs' -i -u 'admin:VMwareInfra@1' -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -d '{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}'

HTTP Request

POST /v1/sddcs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7292
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428
Content-Type: application/json
Content-Length: 2497

{
  "id" : "97f5c5fe-187f-46d3-b446-73e310187428",
  "name" : "Bringup",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2019-12-09T15:32:22.300Z",
  "sddcSubTasks" : [ {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
    "processingStateDescription" : "Deploy vCenter Server",
    "name" : "Deploy vCenter Server",
    "description" : "Deploy vCenter Server",
    "localizableNamePack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:21.942Z",
    "updateTimestamp" : "2019-12-09T15:32:21.942Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "NSXConfiguration",
    "processingStateDescription" : "Deploy and Configure NSX",
    "name" : "Deploy NSX Manager",
    "description" : "Deploy and Configure NSX for vSphere",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.012Z",
    "updateTimestamp" : "2019-12-09T15:32:22.012Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
    "processingStateDescription" : "Deploy SDDC Manager",
    "name" : "Deploy SDDC Manager",
    "description" : "Deploy SDDC Manager",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.083Z",
    "updateTimestamp" : "2019-12-09T15:32:22.083Z"
  } ]
}
  • Poll the task until "status" is not "IN_PROGRESS" using the "id" from the previous response.

Tip : Refer to: Get an SDDC.

  • If the "status" is "COMPLETED_WITH_SUCCESS", the task is completed successfully.

  • If the "status" is "COMPLETED_WITH_FAILURE", the task can be re-executed.

Tip : Refer to: Retry an SDDC creation.

2. Get the SDDCS

2.1. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs' -i -u 'admin:VMwareInfra@1' -X GET

HTTP Request

GET /v1/sddcs HTTP/1.1
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2634

{
  "elements" : [ {
    "id" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "name" : "Bringup",
    "status" : "IN_PROGRESS",
    "creationTimestamp" : "2019-12-09T15:32:22.300Z",
    "sddcSubTasks" : [ {
      "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
      "processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
      "processingStateDescription" : "Deploy vCenter Server",
      "name" : "Deploy vCenter Server",
      "description" : "Deploy vCenter Server",
      "localizableNamePack" : {
        "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
        "messageKey" : "DeployVcAction.name"
      },
      "localizableDescriptionPack" : {
        "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
        "messageKey" : "DeployVcAction.desc"
      },
      "status" : "INITIALIZED",
      "creationTimestamp" : "2019-12-09T15:32:21.942Z",
      "updateTimestamp" : "2019-12-09T15:32:21.942Z"
    }, {
      "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
      "processingStateName" : "NSXConfiguration",
      "processingStateDescription" : "Deploy and Configure NSX",
      "name" : "Deploy NSX Manager",
      "description" : "Deploy and Configure NSX for vSphere",
      "localizableNamePack" : {
        "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
        "messageKey" : "DeployNsxManager.name"
      },
      "localizableDescriptionPack" : {
        "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
        "messageKey" : "DeployNsxManager.desc"
      },
      "status" : "INITIALIZED",
      "creationTimestamp" : "2019-12-09T15:32:22.012Z",
      "updateTimestamp" : "2019-12-09T15:32:22.012Z"
    }, {
      "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
      "processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
      "processingStateDescription" : "Deploy SDDC Manager",
      "name" : "Deploy SDDC Manager",
      "description" : "Deploy SDDC Manager",
      "localizableNamePack" : {
        "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
        "messageKey" : "DeploySddcManagerOnClusterAction.name"
      },
      "localizableDescriptionPack" : {
        "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
        "messageKey" : "DeploySddcManagerOnClusterAction.desc"
      },
      "status" : "INITIALIZED",
      "creationTimestamp" : "2019-12-09T15:32:22.083Z",
      "updateTimestamp" : "2019-12-09T15:32:22.083Z"
    } ]
  } ]
}

3. Get an SDDC

3.1. Prerequisites

The following data is required

  • ID of the SDDC

3.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428' -i -u 'admin:VMwareInfra@1' -X GET \
    -H 'Accept: application/json'

HTTP Request

GET /v1/sddcs/97f5c5fe-187f-46d3-b446-73e310187428 HTTP/1.1
Accept: application/json
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497

{
  "id" : "97f5c5fe-187f-46d3-b446-73e310187428",
  "name" : "Bringup",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2019-12-09T15:32:22.300Z",
  "sddcSubTasks" : [ {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
    "processingStateDescription" : "Deploy vCenter Server",
    "name" : "Deploy vCenter Server",
    "description" : "Deploy vCenter Server",
    "localizableNamePack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:21.942Z",
    "updateTimestamp" : "2019-12-09T15:32:21.942Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "NSXConfiguration",
    "processingStateDescription" : "Deploy and Configure NSX",
    "name" : "Deploy NSX Manager",
    "description" : "Deploy and Configure NSX for vSphere",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.012Z",
    "updateTimestamp" : "2019-12-09T15:32:22.012Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
    "processingStateDescription" : "Deploy SDDC Manager",
    "name" : "Deploy SDDC Manager",
    "description" : "Deploy SDDC Manager",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.083Z",
    "updateTimestamp" : "2019-12-09T15:32:22.083Z"
  } ]
}

4. Retry an SDDC creation

Used to retry a failed SDDC creation task/workflow.

4.1. Prerequisites

The following data is required

  • ID of the failed task

The following data is optional

  • SDDC deployment details

Tip : Refer to: SddcSpec.

Note : If the SDDC creation details are provided retry of the SDDC creation is performed with the updated information.

4.2. Steps

  • Invoke the API without providing SDDC creation details

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a' -i -u 'admin:VMwareInfra@1' -X PATCH \
    -H 'Accept: application/json'

HTTP Request

PATCH /v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a HTTP/1.1
Accept: application/json
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497

{
  "id" : "97f5c5fe-187f-46d3-b446-73e310187428",
  "name" : "Bringup",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2019-12-09T15:32:22.300Z",
  "sddcSubTasks" : [ {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
    "processingStateDescription" : "Deploy vCenter Server",
    "name" : "Deploy vCenter Server",
    "description" : "Deploy vCenter Server",
    "localizableNamePack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:21.942Z",
    "updateTimestamp" : "2019-12-09T15:32:21.942Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "NSXConfiguration",
    "processingStateDescription" : "Deploy and Configure NSX",
    "name" : "Deploy NSX Manager",
    "description" : "Deploy and Configure NSX for vSphere",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.012Z",
    "updateTimestamp" : "2019-12-09T15:32:22.012Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
    "processingStateDescription" : "Deploy SDDC Manager",
    "name" : "Deploy SDDC Manager",
    "description" : "Deploy SDDC Manager",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.083Z",
    "updateTimestamp" : "2019-12-09T15:32:22.083Z"
  } ]
}
  • Invoke the API by providing SDDC creation details

cURL Request

$ curl 'https://sfo-cb01.rainpole.local/v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a' -i -u 'admin:VMwareInfra@1' -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -d '{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}'

HTTP Request

PATCH /v1/sddcs/b285bfc6-8ef2-48d3-a8e2-4ccf921b1f1a HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7292
Host: sfo-cb01.rainpole.local
Authorization: Basic YWRtaW46Vk13YXJlSW5mcmFAMQ==

{
  "dvSwitchVersion" : "7.0.0",
  "skipEsxThumbprintValidation" : true,
  "managementPoolName" : "bringup-networkpool",
  "sddcManagerSpec" : {
    "hostname" : "sfo-vcf01",
    "ipAddress" : "10.0.0.4",
    "netmask" : "255.255.255.0",
    "localUserPassword" : "xxxxxxx",
    "rootUserCredentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "secondUserCredentials" : {
      "username" : "vcf",
      "password" : "xxxxxxx"
    }
  },
  "sddcId" : "sddcId-public-api-01",
  "esxLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "taskName" : "workflowconfig/workflowspec-ems.json",
  "ntpServers" : [ "10.0.0.250" ],
  "dnsSpec" : {
    "subdomain" : "vrack.vsphere.local",
    "domain" : "vsphere.local",
    "nameserver" : "10.0.0.250",
    "secondaryNameserver" : "10.0.0.250"
  },
  "networkSpecs" : [ {
    "subnet" : "10.0.0.0/22",
    "vlanId" : "0",
    "mtu" : "1500",
    "networkType" : "MANAGEMENT",
    "gateway" : "10.0.0.250"
  }, {
    "subnet" : "10.0.4.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.4.7",
      "endIpAddress" : "10.0.4.48"
    }, {
      "startIpAddress" : "10.0.4.3",
      "endIpAddress" : "10.0.4.6"
    } ],
    "includeIpAddress" : [ "10.0.4.50", "10.0.4.49" ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VSAN",
    "gateway" : "10.0.4.253"
  }, {
    "subnet" : "10.0.8.0/24",
    "includeIpAddressRanges" : [ {
      "startIpAddress" : "10.0.8.3",
      "endIpAddress" : "10.0.8.50"
    } ],
    "vlanId" : "0",
    "mtu" : "8940",
    "networkType" : "VMOTION",
    "gateway" : "10.0.8.253"
  } ],
  "nsxtSpec" : {
    "nsxtManagerSize" : "medium",
    "nsxtManagers" : [ {
      "hostname" : "sfo-m01-nsx01a",
      "ip" : "10.0.0.31"
    }, {
      "hostname" : "sfo-m01-nsx01b",
      "ip" : "10.0.0.32"
    }, {
      "hostname" : "sfo-m01-nsx01c",
      "ip" : "10.0.0.33"
    } ],
    "rootNsxtManagerPassword" : "xxxxxxx",
    "nsxtAdminPassword" : "xxxxxxx",
    "nsxtAuditPassword" : "xxxxxxx",
    "overLayTransportZone" : {
      "zoneName" : "sfo-m01-tz-overlay01",
      "networkName" : "net-overlay"
    },
    "vlanTransportZone" : {
      "zoneName" : "sfo-m01-tz-vlan01",
      "networkName" : "net-vlan"
    },
    "vip" : "10.0.0.30",
    "vipFqdn" : "sfo-m01-nsx01",
    "nsxtLicense" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "transportVlanId" : 0,
    "ipAddressPoolSpec" : {
      "name" : "sfo01-m01-cl01-tep01",
      "description" : "ESXi Host Overlay TEP IP Pool",
      "subnets" : [ {
        "ipAddressPoolRanges" : [ {
          "start" : "172.16.14.101",
          "end" : "172.16.14.108"
        } ],
        "cidr" : "172.16.14.0/24",
        "gateway" : "172.16.14.1"
      } ]
    }
  },
  "vsanSpec" : {
    "vsanName" : "sfo-m01-cl01-ds-vsan01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "datastoreName" : "sfo-m01-cl01-ds-vsan01"
  },
  "dvsSpecs" : [ {
    "mtu" : 8940,
    "niocSpecs" : [ {
      "trafficType" : "VSAN",
      "value" : "HIGH"
    }, {
      "trafficType" : "VMOTION",
      "value" : "LOW"
    }, {
      "trafficType" : "VDP",
      "value" : "LOW"
    }, {
      "trafficType" : "VIRTUALMACHINE",
      "value" : "HIGH"
    }, {
      "trafficType" : "MANAGEMENT",
      "value" : "NORMAL"
    }, {
      "trafficType" : "NFS",
      "value" : "LOW"
    }, {
      "trafficType" : "HBR",
      "value" : "LOW"
    }, {
      "trafficType" : "FAULTTOLERANCE",
      "value" : "LOW"
    }, {
      "trafficType" : "ISCSI",
      "value" : "LOW"
    } ],
    "dvsName" : "sfo-m01-cl01-vds01",
    "vmnics" : [ "vmnic0", "vmnic1" ],
    "networks" : [ "MANAGEMENT", "VSAN", "VMOTION" ]
  } ],
  "clusterSpec" : {
    "clusterName" : "sfo-m01-cl01",
    "clusterEvcMode" : "",
    "resourcePoolSpecs" : [ {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-mgmt",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "management"
    }, {
      "cpuSharesLevel" : "high",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-network",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "network"
    }, {
      "cpuSharesLevel" : "normal",
      "cpuSharesValue" : 0,
      "name" : "sfo-m01-cl01-rp-sddc-compute",
      "memorySharesValue" : 0,
      "cpuReservationPercentage" : 0,
      "memoryLimit" : -1,
      "memoryReservationPercentage" : 0,
      "cpuReservationExpandable" : true,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "cpuLimit" : -1,
      "type" : "compute"
    }, {
      "name" : "sfo-m01-cl01-rp-user-compute",
      "type" : "compute",
      "cpuReservationMhz" : 2100,
      "cpuLimit" : -1,
      "cpuReservationExpandable" : true,
      "cpuSharesLevel" : "normal",
      "memoryReservationMb" : 3128,
      "memoryReservationExpandable" : true,
      "memorySharesLevel" : "normal",
      "memorySharesValue" : 0
    } ]
  },
  "pscSpecs" : [ {
    "pscId" : "psc-1",
    "pscSsoSpec" : {
      "ssoDomain" : "vsphere.local"
    },
    "adminUserSsoPassword" : "xxxxxxx"
  } ],
  "vcenterSpec" : {
    "vcenterIp" : "10.0.0.6",
    "vcenterHostname" : "sfo-m01-vc01",
    "licenseFile" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "rootVcenterPassword" : "xxxxxxx",
    "vmSize" : "tiny"
  },
  "hostSpecs" : [ {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.100",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx01",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-0",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.252.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.101",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx02",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-1",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.102",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx03",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-2",
    "association" : "sfo-m01-dc01"
  }, {
    "credentials" : {
      "username" : "root",
      "password" : "xxxxxxx"
    },
    "ipAddressPrivate" : {
      "subnet" : "255.255.255.0",
      "cidr" : "",
      "ipAddress" : "10.0.0.103",
      "gateway" : "10.0.0.250"
    },
    "hostname" : "sfo01-m01-esx04",
    "vSwitch" : "vSwitch0",
    "serverId" : "host-3",
    "association" : "sfo-m01-dc01"
  } ]
}

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2497

{
  "id" : "97f5c5fe-187f-46d3-b446-73e310187428",
  "name" : "Bringup",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2019-12-09T15:32:22.300Z",
  "sddcSubTasks" : [ {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_VCDeployment_VcPlugin_DeployVcAction_4",
    "processingStateDescription" : "Deploy vCenter Server",
    "name" : "Deploy vCenter Server",
    "description" : "Deploy vCenter Server",
    "localizableNamePack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.vcf.common.fsm.plugins.action.plugins.VcPlugin",
      "messageKey" : "DeployVcAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:21.942Z",
    "updateTimestamp" : "2019-12-09T15:32:21.942Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "NSXConfiguration",
    "processingStateDescription" : "Deploy and Configure NSX",
    "name" : "Deploy NSX Manager",
    "description" : "Deploy and Configure NSX for vSphere",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.bringup.nsx.action63.NsxServicePluginActionPlugin63",
      "messageKey" : "DeployNsxManager.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.012Z",
    "updateTimestamp" : "2019-12-09T15:32:22.012Z"
  }, {
    "sddcId" : "97f5c5fe-187f-46d3-b446-73e310187428",
    "processingStateName" : "_SDDCManagerConfiguration_SddcManagerContractPlugin_DeploySddcManagerOnClusterAction_1",
    "processingStateDescription" : "Deploy SDDC Manager",
    "name" : "Deploy SDDC Manager",
    "description" : "Deploy SDDC Manager",
    "localizableNamePack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.name"
    },
    "localizableDescriptionPack" : {
      "component" : "com.vmware.evo.sddc.sddcmanager.SddcManagerContractPlugin",
      "messageKey" : "DeploySddcManagerOnClusterAction.desc"
    },
    "status" : "INITIALIZED",
    "creationTimestamp" : "2019-12-09T15:32:22.083Z",
    "updateTimestamp" : "2019-12-09T15:32:22.083Z"
  } ]
}

Last updated 2023-05-21 23:30:49 PDT

Operations
POST
Convert To Json Spec
Convert SDDC specification Json/Excel File
POST
Create Sddc
Create SDDC
GET
Get All Sddc Validations
Get all SDDC specification validations
GET
Get Bringup Detail Report
Get SDDC report by ID
GET
Get Bringup Info
Get Bringup Info
GET
Get Bringup Validation Report
Get validation report by ID
GET
Get Sddc Manager Info
Retrieve SDDC Manager VM details
GET
Get Sddc Validation
Get SDDC specification validation status by ID
GET
Retrieve All Sddcs
Retrieve all SDDCs
GET
Retrieve SDDC
Retrieve a SDDC
PATCH
Retry Sddc
Retry failed SDDC creation
PATCH
Retry Sddc Validation
Retry SDDC validation
POST
Validate Sddc Spec
Validate SDDC specification before creation