Start Bringup Spec Conversion

Start Bringup Spec Conversion

SDDC specification incorporates all the client inputs regarding VMW component parameters constituting the SDDC: NTP, DNS spec, ESXi, VC, VSAN, NSX spec et al.

Request
URI
POST
https://{api_host}/v1/system/sddc-spec-converter
COPY
Query Parameters
string
design
Optional

Supported bringup designs - EMS, VXRAIL

Possible values are : EMS, VXRAIL,

Request Body
File of type(s) multipart/form-data
Optional
{
    "specFile": "string"
}
string
specFile
Required

SDDC specification file which is either a JSON or xls file

Responses
200

OK

Returns SddcSpec of type(s) application/json
{
    "sddcId": "sfo01-m01",
    "taskName": "workflowconfig/workflowspec-ems.json",
    "workflowType": "One among: VCF, VCF_VXRAIL",
    "hostSpecs": [
        {
            "association": "string",
            "ipAddressPrivate": {
                "ipAddress": "192.168.0.123",
                "gateway": "192.168.0.1",
                "subnet": "255.255.255.252",
                "cidr": "172.0.0.0/24"
            },
            "hostname": "esx-1",
            "credentials": {
                "username": "root",
                "password": "string"
            },
            "vSwitch": "vSwitch0",
            "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"
        }
    ],
    "vcenterSpec": {
        "licenseFile": "string",
        "vcenterIp": "10.0.0.6",
        "vcenterHostname": "vcenter.rainpole.io",
        "rootVcenterPassword": "Sample_Password123",
        "vmSize": "medium",
        "storageSize": "lstorage",
        "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"
    },
    "clusterSpec": {
        "clusterName": "ClusterName",
        "clusterEvcMode": "string",
        "personalityName": "string",
        "clusterImageEnabled": true,
        "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
            }
        ],
        "hostFailuresToTolerate": 3,
        "vmFolders": {
            "vmFolders": "string"
        }
    },
    "dvsSpecs": [
        {
            "dvsName": "VdsName",
            "vmnics": [
                "string"
            ],
            "networks": [
                "MANAGEMENT"
            ],
            "niocSpecs": [
                {
                    "trafficType": "MANAGEMENT",
                    "value": "string"
                }
            ],
            "mtu": 9000,
            "isUsedByNsxt": true,
            "nsxtSwitchConfig": {
                "transportZones": [
                    {
                        "name": "string",
                        "transportType": "One among: VLAN, OVERLAY"
                    }
                ],
                "hostSwitchOperationalMode": "One among: STANDARD, ENS, ENS_INTERRUPT"
            },
            "vmnicsToUplinks": [
                {
                    "id": "vmnic0",
                    "uplink": "uplink1"
                }
            ],
            "nsxTeamings": [
                {
                    "policy": "One among: FAILOVER_ORDER, LOADBALANCE_SRCID, LOADBALANCE_SRC_MAC",
                    "activeUplinks": [
                        "string"
                    ],
                    "standByUplinks": [
                        "string"
                    ]
                }
            ]
        }
    ],
    "vsanSpec": {
        "licenseFile": "string",
        "hclFile": "string",
        "datastoreName": "string",
        "vsanDedup": false,
        "esaConfig": {
            "enabled": false
        }
    },
    "nsxtSpec": {
        "nsxtManagers": [
            {
                "hostname": "string",
                "ip": "string"
            }
        ],
        "nsxtManagerSize": "medium",
        "nsxtLicense": "string",
        "vip": "string",
        "vipFqdn": "string",
        "rootNsxtManagerPassword": "string",
        "nsxtAdminPassword": "string",
        "nsxtAuditPassword": "string",
        "overLayTransportZone": {
            "zoneName": "string",
            "networkName": "string"
        },
        "transportVlanId": 1000,
        "ipAddressPoolSpec": {
            "name": "string",
            "description": "string",
            "ignoreUnavailableNsxtCluster": false,
            "subnets": [
                {
                    "ipAddressPoolRanges": [
                        {
                            "start": "string",
                            "end": "string"
                        }
                    ],
                    "cidr": "string",
                    "gateway": "string"
                }
            ]
        }
    },
    "networkSpecs": [
        {
            "networkType": "MANAGEMENT",
            "subnet": "10.0.0.250/24",
            "gateway": "10.0.0.250",
            "subnetMask": "255.255.255.0",
            "excludeIpaddresses": [
                "[10.0.0.10,10.0.0.11]"
            ],
            "excludeIpAddressRanges": [
                "string"
            ],
            "includeIpAddress": [
                "[10.0.0.100]"
            ],
            "includeIpAddressRanges": [
                {
                    "startIpAddress": "192.168.0.123",
                    "endIpAddress": "192.168.0.128"
                }
            ],
            "vlanId": "1000",
            "mtu": "string",
            "teamingPolicy": "loadbalance_ip",
            "activeUplinks": [
                "string"
            ],
            "standbyUplinks": [
                "string"
            ],
            "portGroupKey": "string"
        }
    ],
    "dnsSpec": {
        "subdomain": "vcf.vmware.com",
        "domain": "vmware.com",
        "nameserver": "172.0.0.4",
        "secondaryNameserver": "172.0.0.5",
        "nameservers": [
            "[172.0.0.4, 172.0.0.5]"
        ]
    },
    "ntpServers": [
        "[10.0.0.100, 10.0.0.101]"
    ],
    "sddcManagerSpec": {
        "rootUserCredentials": {
            "username": "root",
            "password": "string"
        },
        "hostname": "string",
        "secondUserCredentials": {
            "username": "root",
            "password": "string"
        },
        "localUserPassword": "string",
        "ipAddress": "string"
    },
    "pscSpecs": [
        {
            "pscSsoSpec": {
                "ssoDomain": "string"
            },
            "adminUserSsoPassword": "string"
        }
    ],
    "vxManagerSpec": {
        "vxManagerHostName": "string",
        "defaultRootUserCredentials": {
            "username": "root",
            "password": "string"
        },
        "defaultAdminUserCredentials": {
            "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"
    },
    "managementPoolName": "string",
    "excludedComponents": [
        "string"
    ],
    "dvSwitchVersion": "8.0.0",
    "ceipEnabled": true,
    "fipsEnabled": true,
    "esxLicense": "XXXX-XXXX-XXXX-XXXX",
    "skipEsxThumbprintValidation": false,
    "skipGatewayPingValidation": false,
    "securitySpec": {
        "esxiCertsMode": "VMCA",
        "rootCaCerts": [
            {
                "alias": "string",
                "certChain": [
                    "string"
                ]
            }
        ]
    },
    "proxySpec": {
        "host": "10.0.0.250",
        "port": 3128,
        "username": "string",
        "password": "string",
        "transferProtocol": "HTTPS"
    },
    "deployWithoutLicenseKeys": false
}
string As ^[a-zA-Z0-9-]+$
sddcId
Required

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

string
taskName
Optional

Name of the task to execute. This is deprecated. Please use property 'workflowType'

string As (VCF|VCF_VXRAIL)
workflowType
Optional

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

hostSpecs
Required

List of ESXi to be added to the Management Cluster

vcenterSpec
Required

Spec contains parameters for vCenter

clusterSpec
Optional

Spec contains parameters for vCenter Cluster

array of DvsSpec
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

vsanSpec
Optional

Spec contains parameters of Virtual SAN

nsxtSpec
Optional

Spec contains parameters for NSX deployment and configurations

networkSpecs
Required

List of Networks which be created and used for Management Cluster

dnsSpec
Required

Spec contains parameters of Domain Name System

array of string
ntpServers
Required

List of NTP servers to be used for configuring Management Appliances

sddcManagerSpec
Optional

Client input parameters for SDDC Manager Virtual Machine

array of PscSpec
pscSpecs
Optional

Specification for SSO Configuration in the Management vCenter Server Appliance

vxManagerSpec
Optional

Spec contains parameters for VxRail Manager

string
managementPoolName
Optional

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

array of string
excludedComponents
Optional

Components of the workflow to be excluded. NOTE: Leave this empty unless you are fully aware of what you are doing.

string
dvSwitchVersion
Optional

The version of the Distributed vSphere Switches to be used. One among: 7.0.0, 7.0.2, 7.0.3, 8.0.0. If blank, then the latest version will be obtain from vCenter Server

boolean
ceipEnabled
Optional

Enable VCF Customer Experience Improvement Program

boolean
fipsEnabled
Optional

Enable Federal Information Processing Standards

string
esxLicense
Optional

License for the ESXi hosts

boolean
skipEsxThumbprintValidation
Optional

Skip ESXi thumbprint validation

boolean
skipGatewayPingValidation
Optional

Skip networks gateway connectivity validation

securitySpec
Optional

Spec contains security settings

proxySpec
Optional

Spec contains parameters for proxy settings

boolean
deployWithoutLicenseKeys
Optional

Flag that indicates if the deployment should happen without license keys.


400

Converting SDDC specification failed

Returns Error of type(s) application/json
{
    "errorCode": "string",
    "errorType": "string",
    "arguments": [
        "string"
    ],
    "context": {
        "context": "string"
    },
    "message": "string",
    "remediationMessage": "string",
    "causes": [
        {
            "type": "string",
            "message": "string"
        }
    ],
    "nestedErrors": [
        "Error Object"
    ],
    "referenceToken": "string"
}
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 ErrorCause
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.


404

Not Found

Returns Error of type(s) application/json
{
    "errorCode": "string",
    "errorType": "string",
    "arguments": [
        "string"
    ],
    "context": {
        "context": "string"
    },
    "message": "string",
    "remediationMessage": "string",
    "causes": [
        {
            "type": "string",
            "message": "string"
        }
    ],
    "nestedErrors": [
        "Error Object"
    ],
    "referenceToken": "string"
}
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 ErrorCause
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.


500

Internal Server Error

Returns Error of type(s) application/json
{
    "errorCode": "string",
    "errorType": "string",
    "arguments": [
        "string"
    ],
    "context": {
        "context": "string"
    },
    "message": "string",
    "remediationMessage": "string",
    "causes": [
        {
            "type": "string",
            "message": "string"
        }
    ],
    "nestedErrors": [
        "Error Object"
    ],
    "referenceToken": "string"
}
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 ErrorCause
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.


501

Not Implemented

Returns Error of type(s) application/json
{
    "errorCode": "string",
    "errorType": "string",
    "arguments": [
        "string"
    ],
    "context": {
        "context": "string"
    },
    "message": "string",
    "remediationMessage": "string",
    "causes": [
        {
            "type": "string",
            "message": "string"
        }
    ],
    "nestedErrors": [
        "Error Object"
    ],
    "referenceToken": "string"
}
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 ErrorCause
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.