Deploy Sddc

Deploy Sddc

Start the workflow to install VCF (or VVF) based on the given SDDC specification.

Request
URI
POST
https://{api_host}/v1/sddcs
COPY
Query Parameters
boolean
skipValidations
Optional
Constraints: default: false

Skips validations


Request Body
SddcSpec of type(s) application/json
Required

Show optional properties

{
    "sddcId": "sfo01-m01",
    "vcenterSpec": {
        "vcenterHostname": "vcenter.rainpole.io",
        "rootVcenterPassword": "Sample_Password123"
    },
    "networkSpecs": [
        {
            "networkType": "MANAGEMENT",
            "vlanId": 1000
        }
    ],
    "dnsSpec": {
        "subdomain": "vcf.broadcom.com"
    }
}
{
    "sddcId": "sfo01-m01",
    "workflowType": "One among: VCF, VCF_EXTEND, VVF",
    "hostSpecs": [
        {
            "hostname": "esx-1",
            "credentials": {
                "username": "root",
                "password": "string"
            },
            "sshThumbprint": "SHA256:rVPNWOKE2tZjvmYvKPhtc3ghJ41Vc0G3MwASf4+8+yc",
            "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
        }
    ],
    "version": "9.0.0.0",
    "vcenterSpec": {
        "vcenterHostname": "vcenter.rainpole.io",
        "rootVcenterPassword": "Sample_Password123",
        "vmSize": "medium",
        "storageSize": "lstorage",
        "ssoDomain": "string",
        "adminUserSsoUsername": "string",
        "adminUserSsoPassword": "string",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "clusterSpec": {
        "datacenterName": "DatacenterName",
        "clusterName": "ClusterName",
        "clusterEvcMode": "One among: INTEL_MEROM, INTEL_PENRYN, INTEL_NEALEM, INTEL_WESTMERE, INTEL_SANDYBRIDGE, INTEL_IVYBRIDGE, INTEL_HASWELL, INTEL_BROADWELL, INTEL_SKYLAKE, INTEL_CASCADELAKE, INTEL_ICELAKE, INTEL_SAPPHIRERAPIDS, AMD_REV_E, AMD_REV_F, AMD_GREYHOUND_NO3DNOW, AMD_GREYHOUND, AMD_BULLDOZER, AMD_PILEDRIVER, AMD_STREAMROLLER, AMD_ZEN, AMD_ZEN2, AMD_ZEN3, AMD_ZEN4",
        "resourcePoolSpecs": [
            {
                "name": "string",
                "type": "string",
                "cpuReservationPercentage": 0,
                "cpuReservationMhz": 0,
                "cpuLimit": 0,
                "cpuReservationExpandable": false,
                "cpuSharesLevel": "string",
                "cpuSharesValue": 0,
                "memoryReservationPercentage": 0,
                "memoryReservationMb": 0,
                "memoryLimit": 0,
                "memoryReservationExpandable": false,
                "memorySharesLevel": "string",
                "memorySharesValue": 0
            }
        ]
    },
    "dvsSpecs": [
        {
            "dvsName": "VdsName",
            "networks": [
                "MANAGEMENT"
            ],
            "mtu": 9000,
            "nsxtSwitchConfig": {
                "transportZones": [
                    {
                        "name": "string",
                        "transportType": "One among: VLAN, OVERLAY"
                    }
                ],
                "hostSwitchOperationalMode": "One among: STANDARD, ENS, ENS_INTERRUPT",
                "ipAssignmentType": "string"
            },
            "vmnicsToUplinks": [
                {
                    "id": "vmnic0",
                    "uplink": "uplink1"
                }
            ],
            "nsxTeamings": [
                {
                    "policy": "One among: FAILOVER_ORDER, LOADBALANCE_SRCID, LOADBALANCE_SRC_MAC",
                    "activeUplinks": [
                        "string"
                    ],
                    "standByUplinks": [
                        "string"
                    ]
                }
            ],
            "lagSpecs": [
                {
                    "name": "string",
                    "uplinksCount": 0,
                    "lacpMode": "One among:ACTIVE, PASSIVE",
                    "loadBalancingMode": "One among:SOURCE_MAC, DESTINATION_MAC, SOURCE_AND_DESTINATION_MAC, DESTINATION_IP_AND_VLAN, SOURCE_IP_AND_VLAN, SOURCE_AND_DESTINATION_IP_AND_VLAN, DESTINATION_TCP_UDP_PORT, SOURCE_TCP_UDP_PORT, SOURCE_AND_DESTINATION_TCP_UDP_PORT, DESTINATION_IP_AND_TCP_UDP_PORT, SOURCE_IP_AND_TCP_UDP_PORT, SOURCE_AND_DESTINATION_IP_AND_TCP_UDP_PORT, DESTINATION_IP_AND_TCP_UDP_PORT_AND_VLAN, SOURCE_IP_AND_TCP_UDP_PORT_AND_VLAN, SOURCE_AND_DESTINATION_IP_AND_TCP_UDP_PORT_AND_VLAN, DESTINATION_IP, SOURCE_IP, SOURCE_AND_DESTINATION_IP, VLAN, SOURCE_PORT_ID",
                    "lacpTimeoutMode": "One among:SLOW, FAST"
                }
            ]
        }
    ],
    "nsxtSpec": {
        "nsxtManagers": [
            {
                "hostname": "string"
            }
        ],
        "nsxtManagerSize": "medium",
        "vipFqdn": "string",
        "rootNsxtManagerPassword": "string",
        "nsxtAdminPassword": "string",
        "nsxtAuditPassword": "string",
        "transportVlanId": 1000,
        "ipAddressPoolSpec": {
            "name": "string",
            "description": "string",
            "ignoreUnavailableNsxtCluster": false,
            "subnets": [
                {
                    "ipAddressPoolRanges": [
                        {
                            "start": "string",
                            "end": "string"
                        }
                    ],
                    "cidr": "string",
                    "gateway": "string"
                }
            ]
        },
        "skipNsxOverlayOverManagementNetwork": false,
        "enableEdgeClusterSync": true,
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "networkSpecs": [
        {
            "networkType": "MANAGEMENT",
            "subnet": "10.0.0.250/24",
            "gateway": "10.0.0.250",
            "subnetMask": "255.255.255.0",
            "includeIpAddress": [
                "[10.0.0.100]"
            ],
            "includeIpAddressRanges": [
                {
                    "startIpAddress": "192.168.0.123",
                    "endIpAddress": "192.168.0.128"
                }
            ],
            "vlanId": 1000,
            "mtu": 0,
            "teamingPolicy": "loadbalance_ip",
            "activeUplinks": [
                "string"
            ],
            "standbyUplinks": [
                "string"
            ],
            "portGroupKey": "string"
        }
    ],
    "dnsSpec": {
        "subdomain": "vcf.broadcom.com",
        "nameservers": [
            "[172.0.0.4, 172.0.0.5]"
        ]
    },
    "ntpServers": [
        "[10.0.0.100, 10.0.0.101]"
    ],
    "sddcManagerSpec": {
        "rootPassword": "string",
        "hostname": "string",
        "sshPassword": "string",
        "localUserPassword": "string",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "managementPoolName": "string",
    "ceipEnabled": true,
    "skipEsxThumbprintValidation": false,
    "skipGatewayPingValidation": false,
    "securitySpec": {
        "esxiCertsMode": "VMCA",
        "rootCaCerts": [
            {
                "alias": "string",
                "certChain": [
                    "string"
                ]
            }
        ]
    },
    "datastoreSpec": {
        "nfsDatastoreSpec": {
            "datastoreName": "string",
            "nasVolume": {
                "serverName": [
                    "string"
                ],
                "path": "string",
                "readOnly": false,
                "userTag": "string",
                "enableBindToVmknic": false
            }
        },
        "vmfsDatastoreSpec": {
            "fcSpec": [
                {
                    "datastoreName": "string"
                }
            ]
        },
        "vsanSpec": {
            "datastoreName": "string",
            "vsanDedup": false,
            "esaConfig": {
                "enabled": false
            },
            "failuresToTolerate": 3
        },
        "existingDatastoreName": "string"
    },
    "vcfOperationsFleetManagementSpec": {
        "hostname": "vcf-operations-fleet-management.rainpole.io",
        "rootUserPassword": "string",
        "adminUserPassword": "string",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "vcfOperationsSpec": {
        "nodes": [
            {
                "hostname": "vcfoperations-master.rainpole.io",
                "rootUserPassword": "string",
                "type": "master",
                "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
            }
        ],
        "adminUserPassword": "string",
        "applianceSize": "medium",
        "loadBalancerFqdn": "string",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083"
    },
    "vcfOperationsCollectorSpec": {
        "hostname": "vcf-operations-collector.rainpole.io",
        "rootUserPassword": "string",
        "applianceSize": "small",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "vcfAutomationSpec": {
        "hostname": "vcfautomation.rainpole.io",
        "adminUserPassword": "string",
        "ipPool": [
            "['10.0.0.80', '10.0.0.81']"
        ],
        "internalClusterCidr": "198.18.0.0/15",
        "nodePrefix": "node-123",
        "useExistingDeployment": true,
        "version": "9.0.0.0.24597083",
        "sslThumbprint": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8"
    },
    "vcfInstanceName": "string"
}
string As ^[a-zA-Z0-9-]+$
sddcId
Required
Constraints: minLength: 3 maxLength: 20

Client string that identifies an SDDC by name or instance name. Used for management domain name. Can contain only letters, numbers and the following symbols: '-'. Minimum length 3, maximum length 20.

string As (VCF|VCF_EXTEND|VVF)
workflowType
Optional

Type of workflow to initiate creation and/or validation of SDDC

array of object
hostSpecs
Optional

List of ESXi to be added to the Management Cluster

string
version
Optional

Version

object
vcenterSpec
Required

Spec contains parameters for vCenter

object
clusterSpec
Optional

Spec contains parameters for vCenter Cluster

array of object
dvsSpecs
Optional

List of vSphere Distributed Switches to be created. For VCF only: if blank, a default single one will be created for all types of traffic connected to vmnic0 and vmnic1

object
nsxtSpec
Optional

Spec contains parameters for NSX deployment and configurations

array of object
networkSpecs
Required

List of Networks which be created and used for Management Cluster

object
dnsSpec
Required

Spec contains parameters of Domain Name System

array of string
ntpServers
Optional

List of NTP servers to be used for configuring Management Appliances

object
sddcManagerSpec
Optional

Client input parameters for SDDC Manager Virtual Machine

string
managementPoolName
Optional

Name for the network pool to be created and associated with the Management Cluster

boolean
ceipEnabled
Optional

Enable VCF Customer Experience Improvement Program

boolean
skipEsxThumbprintValidation
Optional

Skip ESXi thumbprint validation. Applies to both converting an existing environment and deploying a new one

boolean
skipGatewayPingValidation
Optional

Skip networks gateway connectivity validation

object
securitySpec
Optional

Spec contains security settings

object
datastoreSpec
Optional

This specification contains cluster storage configuration

object
vcfOperationsFleetManagementSpec
Optional

Specification for VCF Operations fleet management

object
vcfOperationsSpec
Optional

Specification for VCF Operations

object
vcfOperationsCollectorSpec
Optional

Specification for VCF Operations collector

object
vcfAutomationSpec
Optional

Specification for VCF Automation

string
vcfInstanceName
Optional
Constraints: minLength: 3 maxLength: 300

VCF Instance name. Minumum length 3, maximum length 300

Responses
202

Accepted

Returns SddcTask of type(s) application/json
"SddcTask Object"
string
id
Optional
Constraints: minLength: 3 maxLength: 256

SDDC ID

string
name
Optional

Task name

string
status
Required

SDDC Task status. One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE

object
localizableNamePack
Optional

A message pack representing a localizable message and suitable for machine processing. Contains a message key unique in the scope of the specified component, as well as the arguments needed to generate the localized message.

string
creationTimestamp
Required

SDDC Task creation timestamp

array of object
sddcSubTasks
Optional

All SDDC Sub-Tasks

array of object
milestones
Optional

Milestones of the workflow


400

Installation already exists

Returns Error of type(s) application/json
"Error Object"
string
errorCode
Optional

The minor error code

string
errorType
Optional

The error type

array of string
arguments
Optional

The arguments used to localize the message, Can be used by scripts to automate the error processing.

object
context
Optional

The error context (e.g. the component where it occurred).

string
message
Optional

The localized error message

string
remediationMessage
Optional

The localized remediation error message

array of object
causes
Optional

The underlying cause exceptions.

array of Error
nestedErrors
Optional

The nested errors when the error is a composite one

string
referenceToken
Optional

A reference token correlating the error with the relevant detailed error logs. Should be sent to the service provider when reporting issues.

string
label
Optional

The localized label message

string
remediationUrl
Optional

The URL string for remediation documentation link


500

Internal Server Error

Returns Error of type(s) application/json
"Error Object"
string
errorCode
Optional

The minor error code

string
errorType
Optional

The error type

array of string
arguments
Optional

The arguments used to localize the message, Can be used by scripts to automate the error processing.

object
context
Optional

The error context (e.g. the component where it occurred).

string
message
Optional

The localized error message

string
remediationMessage
Optional

The localized remediation error message

array of object
causes
Optional

The underlying cause exceptions.

array of Error
nestedErrors
Optional

The nested errors when the error is a composite one

string
referenceToken
Optional

A reference token correlating the error with the relevant detailed error logs. Should be sent to the service provider when reporting issues.

string
label
Optional

The localized label message

string
remediationUrl
Optional

The URL string for remediation documentation link


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"dnsSpec:"object","networkSpecs":["object"],"sddcId:"string","vcenterSpec:"object"}' https://{api_host}/v1/sddcs