Create Edge Cluster

Create Edge Cluster

Create an NSX Edge Cluster

Request
URI
POST
https://{api_host}/v1/edge-clusters
COPY
Request Body
EdgeClusterCreationSpec of type(s) application/json
Required

Show optional properties

{
    "edgeClusterName": "string",
    "edgeClusterType": "One among: NSX-T",
    "edgeRootPassword": "string",
    "edgeAdminPassword": "string",
    "edgeAuditPassword": "string",
    "edgeFormFactor": "One among: XLARGE, LARGE, MEDIUM, SMALL",
    "mtu": 0,
    "edgeNodeSpecs": [
        {
            "edgeNodeName": "string",
            "managementIP": "string",
            "managementGateway": "string",
            "edgeTepVlan": 0
        }
    ],
    "edgeClusterProfileType": "One among: DEFAULT, CUSTOM",
    "edgeClusterProfileSpec": {
        "edgeClusterProfileName": "string",
        "bfdAllowedHop": 0,
        "bfdDeclareDeadMultiple": 0,
        "bfdProbeInterval": 0,
        "standbyRelocationThreshold": 0
    }
}
{
    "edgeClusterName": "string",
    "edgeClusterType": "One among: NSX-T",
    "edgeRootPassword": "string",
    "edgeAdminPassword": "string",
    "edgeAuditPassword": "string",
    "edgeFormFactor": "One among: XLARGE, LARGE, MEDIUM, SMALL",
    "tier0ServicesHighAvailability": "One among: ACTIVE_ACTIVE, ACTIVE_STANDBY",
    "mtu": 0,
    "asn": 0,
    "edgeNodeSpecs": [
        {
            "edgeNodeName": "string",
            "managementIP": "string",
            "managementGateway": "string",
            "vmManagementPortgroupVlan": 0,
            "vmManagementPortgroupName": "string",
            "edgeTepGateway": "string",
            "edgeTep1IP": "string",
            "edgeTep2IP": "string",
            "edgeTepIpAddressPool": {
                "name": "string",
                "nsxId": "string"
            },
            "edgeTepVlan": 0,
            "clusterId": "string",
            "interRackCluster": false,
            "uplinkNetwork": [
                {
                    "uplinkVlan": 0,
                    "uplinkInterfaceIP": "string",
                    "peerIP": "string",
                    "asnPeer": 0,
                    "bgpPeerPassword": "string",
                    "bgpPeers": [
                        {
                            "ip": "string",
                            "asn": 0,
                            "password": "string"
                        }
                    ]
                }
            ],
            "firstNsxVdsUplink": "One among: uplink1, uplink2, uplink3, uplink4, uplink5, uplink6, uplink7, uplink8",
            "secondNsxVdsUplink": "One among: uplink1, uplink2, uplink3, uplink4, uplink5, uplink6, uplink7, uplink8"
        }
    ],
    "newIpAddressPoolSpecs": [
        {
            "name": "string",
            "description": "string",
            "ignoreUnavailableNsxtCluster": false,
            "subnets": [
                {
                    "ipAddressPoolRanges": [
                        {
                            "start": "string",
                            "end": "string"
                        }
                    ],
                    "cidr": "string",
                    "gateway": "string"
                }
            ]
        }
    ],
    "tier0RoutingType": "One among: EBGP, STATIC",
    "tier0Name": "string",
    "tier1Name": "string",
    "tier1Unhosted": false,
    "edgeClusterProfileType": "One among: DEFAULT, CUSTOM",
    "edgeClusterProfileSpec": {
        "edgeClusterProfileName": "string",
        "bfdAllowedHop": 0,
        "bfdDeclareDeadMultiple": 0,
        "bfdProbeInterval": 0,
        "standbyRelocationThreshold": 0
    },
    "skipTepRoutabilityCheck": false,
    "transitSubnets": [
        "string"
    ],
    "internalTransitSubnets": [
        "string"
    ]
}
string
edgeClusterName
Required

Name for the edge cluster.

string As (NSX-T)
edgeClusterType
Required

Type of edge cluster

string
edgeRootPassword
Required

Edge Password for root user.

string
edgeAdminPassword
Required

Edge Password for admin user

string
edgeAuditPassword
Required

Edge Password for audit

string As (XLARGE|LARGE|MEDIUM|SMALL)
edgeFormFactor
Required

Edge Form Factor

string As (ACTIVE_ACTIVE|ACTIVE_STANDBY|)
tier0ServicesHighAvailability
Optional

High-availability Mode for Tier-0

integer As int32 As int32
mtu
Required

Maximum transmission unit

integer As int64 As int64
asn
Optional

ASN to be used for the edge cluster

edgeNodeSpecs
Required

Specifications for Edge Node. Number of Edge Nodes cannot exceed 8 if HA mode is ACTIVE-ACTIVE and can not exceed 2 if HA mode is ACTIVE-STANDBY

newIpAddressPoolSpecs
Optional

Specifications for new NSX IP address pool(s)

string As (EBGP|STATIC|)
tier0RoutingType
Optional

Tier 0 Routing type -eg eBGP, Static

string
tier0Name
Optional

Name for the Tier-0

string
tier1Name
Optional

Name for the Tier-1

boolean
tier1Unhosted
Optional

Select whether Tier-1 being created per this spec is hosted on the new Edge cluster or not (default value is false, meaning hosted)

string As (CUSTOM|DEFAULT)
edgeClusterProfileType
Required

Type of edge cluster profile

edgeClusterProfileSpec
Required

This specification contains edge cluster profile configurations

boolean
skipTepRoutabilityCheck
Optional

Set to true to bypass normal ICMP-based check of Edge TEP / host TEP routability (default is false, meaning do check)

array of string
transitSubnets
Optional

Transit subnet addresses in CIDR notation that are used to assign addresses to logical links connecting Tier-0 and Tier-1s

array of string
internalTransitSubnets
Optional

Subnet addresses in CIDR notation that are used to assign addresses to logical links connecting service routers and distributed routers

Responses
202

Accepted

Returns Task of type(s) application/json
{
    "id": "string",
    "name": "string",
    "localizableDescriptionPack": {
        "component": "string",
        "messageKey": "string",
        "arguments": [
            "string"
        ],
        "message": "string",
        "bundle": "string"
    },
    "type": "Sample values: HOST_COMMISSION, HOST_DECOMMISSION",
    "status": "One among: PENDING, IN_PROGRESS, In Progress, SUCCESSFUL, Successful, FAILED, Failed, CANCELLED, Cancelled, COMPLETED_WITH_WARNING, SKIPPED",
    "creationTimestamp": "string",
    "completionTimestamp": "string",
    "subTasks": [
        {
            "name": "string",
            "type": "string",
            "description": "string",
            "status": "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, NOT_APPLICABLE",
            "creationTimestamp": "string",
            "completionTimestamp": "string",
            "stages": [
                {
                    "name": "string",
                    "type": "string",
                    "description": "string",
                    "status": "One among: PENDING, IN_PROGRESS, SUCCESSFUL, FAILED",
                    "creationTimestamp": "string",
                    "completionTimestamp": "string",
                    "errors": [
                        {
                            "errorCode": "string",
                            "errorType": "string",
                            "arguments": [
                                "string"
                            ],
                            "context": {
                                "context": "string"
                            },
                            "message": "string",
                            "remediationMessage": "string",
                            "causes": [
                                {
                                    "type": "string",
                                    "message": "string"
                                }
                            ],
                            "nestedErrors": [
                                "Error Object"
                            ],
                            "referenceToken": "string"
                        }
                    ]
                }
            ],
            "errors": [
                {
                    "errorCode": "string",
                    "errorType": "string",
                    "arguments": [
                        "string"
                    ],
                    "context": {
                        "context": "string"
                    },
                    "message": "string",
                    "remediationMessage": "string",
                    "causes": [
                        {
                            "type": "string",
                            "message": "string"
                        }
                    ],
                    "nestedErrors": [
                        "Error Object"
                    ],
                    "referenceToken": "string"
                }
            ],
            "resources": [
                {
                    "resourceId": "BE8A5E04-92A0-43F6-A166-AA041F4327CC",
                    "fqdn": "sfo-vc01.rainpole.io",
                    "type": "One among: SDDC_MANAGER, PSC, VCENTER, NSX_MANAGER, NSXT_MANAGER, VRA, VRLI, VROPS, VRSLCM, VXRAIL_MANAGER, NSX_ALB, ESXI",
                    "name": "string",
                    "sans": [
                        "sfo-vc01.rainpole.io"
                    ]
                }
            ],
            "subTasks": [
                "SubTask Object"
            ]
        }
    ],
    "errors": [
        {
            "errorCode": "string",
            "errorType": "string",
            "arguments": [
                "string"
            ],
            "context": {
                "context": "string"
            },
            "message": "string",
            "remediationMessage": "string",
            "causes": [
                {
                    "type": "string",
                    "message": "string"
                }
            ],
            "nestedErrors": [
                "Error Object"
            ],
            "referenceToken": "string"
        }
    ],
    "resources": [
        {
            "resourceId": "BE8A5E04-92A0-43F6-A166-AA041F4327CC",
            "fqdn": "sfo-vc01.rainpole.io",
            "type": "One among: SDDC_MANAGER, PSC, VCENTER, NSX_MANAGER, NSXT_MANAGER, VRA, VRLI, VROPS, VRSLCM, VXRAIL_MANAGER, NSX_ALB, ESXI",
            "name": "string",
            "sans": [
                "sfo-vc01.rainpole.io"
            ]
        }
    ],
    "resolutionStatus": "Can have only one of the two values: RESOLVED or UNRESOLVED",
    "isCancellable": false,
    "isRetryable": false
}
string
id
Required

Task ID

string
name
Required

Task name

localizableDescriptionPack
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
type
Optional

Operation that is represented by the Task in machine readable format. The value is controlled by the owners/producers of the Task. The convention is _

string
status
Required

Task status

string
creationTimestamp
Required

Task creation timestamp

string
completionTimestamp
Required

Task completion timestamp

array of SubTask
subTasks
Optional

List of sub-tasks of the task

array of Error
errors
Optional

List of errors in case of a failure

array of Resource
resources
Optional

List of resources associated with task

string
resolutionStatus
Optional

Resolution state

boolean
isCancellable
Optional

Represents task can be cancellable or not.

boolean
isRetryable
Optional

Indicates whether a task is eligible for retry or not.


400

Bad Request

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

InternalServerError

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.