Validate Sddc Spec

Validate Sddc Spec

VCF Installer specification incorporates all the client inputs regarding VCF (or VVF) components constituting the installation.

Request
URI
POST
https://{api_host}/v1/sddcs/validations
COPY
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
200

Success

Returns Validation of type(s) application/json
"Validation Object"
string
id
Required

ID of the validation

string
description
Required

Description of the validation

string
executionStatus
Required

Execution status of the validation. One among: IN_PROGRESS, FAILED, COMPLETED, UNKNOWN, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS

string
resultStatus
Required

Result status of the validation after it has completed its execution. One among: SUCCEEDED, FAILED, WARNING, UNKNOWN, CANCELLATION_IN_PROGRESS

array of object
validationChecks
Optional

List of one or more validation checks that are performed as part of the validation

object
additionalProperties
Optional

additionalProperties


202

Accepted

Returns Validation of type(s) application/json
"Validation Object"
string
id
Required

ID of the validation

string
description
Required

Description of the validation

string
executionStatus
Required

Execution status of the validation. One among: IN_PROGRESS, FAILED, COMPLETED, UNKNOWN, SKIPPED, CANCELLED, CANCELLATION_IN_PROGRESS

string
resultStatus
Required

Result status of the validation after it has completed its execution. One among: SUCCEEDED, FAILED, WARNING, UNKNOWN, CANCELLATION_IN_PROGRESS

array of object
validationChecks
Optional

List of one or more validation checks that are performed as part of the validation

object
additionalProperties
Optional

additionalProperties


400

Bad user input

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


403

Forbidden

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


404

Not Found

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/validations