You can add or modify the HCX Cloud specification through a PUT request.

Procedure

  • Send the following PUT request to the server. The session ID is sent in the header of the request.
    https://{{server_ip}}:9443/api/v1/sddc

Results

No response is expected.

Example: HCX Cloud Specification Information

{
    
        "dataCenter": {
            "name": "MGMT_DC",
            "managementFolder": "MGMT_VMs",
            "clusters": {
                "management": {
                    "name": "MGMT_CLU",
                    "hosts": []
                },
                "secondaryClusters": []
            }
        },
        "vcSpec": {
            "credentialSpec": {
                "ssoPassword": "VMware123!",
                "ssoDomain": "vsphere.local",
                "rootVcenterPassword": "VMware123!"
            },
            "managementNetwork": {
                "ip": "192.168.105.50",
                "fqdn": "vc.cloud.vmw",
                "prefix": "24",
                "gateway": "192.168.105.1"
            },
            "esx1Datastore": "vsanDatastore",
            "licenseSpec": {
                "vcLicense": "",
                "hostLicense": ""
            },
            "dep_network": "VM Network",
            "thin_disk_mode": "true",
            "deployment_option": "small"
        },
        "dnsSpec": {
            "dns_1": [
                "192.168.101.5"
            ],
            "domains": [
                "cloud.vmw",
                "vmware.com"
            ]
        },
        "ntpSpec": {
            "ntp_server": [
                "time.vmware.com"
            ]
        },
        "dvsSpec": {
            "dvsName": "MGMT_DVS"
        },
        "resourcePools": {
               "managementResourcePool": "MGMT-ResourcePool",
               "workloadResourcePool": "Compute-ResourcePool"
         },
        "nsxSpec": {
            "diskMode": "thin",
            "deploymentOption": "small",
            "nsxManagerCredentialSpec": {
                "rootPassword": "NSRRocks123!",
                "cliPassword": "NSRRocks123!",
                "auditPassword": "NSRRocks123!"
            },
            "nsxManager1": {
                "managementNetwork": {
                    "ip": "192.168.105.51",
                    "subnet": "255.255.255.0",
                    "fqdn": "192.168.105.51",
                    "gateway": "192.168.105.1"
                }
            },
            "nsxManager2": {
                "managementNetwork": {
                    "ip": "192.168.105.52",
                    "subnet": "255.255.255.0",
                    "fqdn": "192.168.105.51",
                    "gateway": "192.168.105.1"
                }
            },
            "nsxManager3": {
                "managementNetwork": {
                    "ip": "192.168.105.53",
                    "subnet": "255.255.255.0",
                    "fqdn": "192.168.105.53",
                    "gateway": "192.168.105.1"
                }
            },
            "virtualIP": "192.168.105.55",
            "nsxEdgeSpec": {
                "edgeCluster": "NSX_EDGE_CLUSTER",
                "edgeNode1": {
                    "credentialSpec": {
                        "rootPassword": "NSRRocks123!",
                        "cliPassword": "NSRRocks123!"
                    },
                    "managementNetwork": {
                        "ip": "192.168.105.61",
                        "fqdn": "edge1.cloud.vmw",
                        "prefix": "24",
                        "gateway": "192.168.105.1",
                        "subnet": "255.255.255.0"
                    },
                    "datastore": "vsanDatastore",
                    "deploymentNetwork": {
                        "network0": "VM_MGMT",
                        "network1": "EDGE_OVERLAY",
                        "network2": "EDGE_UPLINK1",
                        "network3": "EDGE_UPLINK2"
                    },
                    "thinDiskMode": "true",
                    "deploymentOption": "small",
                    "nodeSwitch": {
                        "nvds1": {
                            "switchName": "NVDS-1",
                            "uplinkProfile": "nsx-edge-overlay-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth0"
                            }
                        },
                        "nvds2": {
                            "switchName": "NVDS-2",
                            "uplinkProfile": "nsx-edge-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth1"
                            }
                        },
                        "nvds3": {
                            "switchName": "NVDS-3",
                            "uplinkProfile": "nsx-edge-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth2"
                            }
                        }
                    }
                },
                "edgeNode2": {
                    "credentialSpec": {
                        "rootPassword": "NSRRocks123!",
                        "cliPassword": "NSRRocks123!"
                    },
                    "managementNetwork": {
                        "ip": "192.168.105.62",
                        "fqdn": "edge2.cloud.vmw",
                        "prefix": "24",
                        "gateway": "192.168.105.1",
                        "subnet": "255.255.255.0"
                    },
                    "datastore": "vsanDatastore",
                    "deploymentNetwork": {
                        "network0": "VM_MGMT",
                        "network1": "EDGE_OVERLAY",
                        "network2": "EDGE_UPLINK1",
                        "network3": "EDGE_UPLINK2"
                    },
                    "thinDiskMode": "true",
                    "deploymentOption": "small",
                    "nodeSwitch": {
                        "nvds1": {
                            "switchName": "NVDS-1",
                            "uplinkProfile": "nsx-edge-overlay-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth0"
                            }
                        },
                        "nvds2": {
                            "switchName": "NVDS-2",
                            "uplinkProfile": "nsx-edge-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth1"
                            }
                        },
                        "nvds3": {
                            "switchName": "NVDS-3",
                            "uplinkProfile": "nsx-edge-uplink-profile",
                            "ipPool": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                            "virtualNic": {
                                "uplinkName": "uplink-1",
                                "deviceName": "fp-eth2"
                            }
                        }
                    }
                }
            },
            "uplinkProfileSpec": {
                "nsxEdgeOverlayUplinkProfile": {
                    "displayName": "nsx-edge-overlay-uplink-profile",
                    "description": "Used to define how the Edge Node VMs connect to the network to provide participate in the Overlay network.",
                    "mtu": "9000",
                    "transportVlan": "0",
                    "teaming": {
                        "standbyList": [],
                        "activeList": [
                            {
                                "uplinkName": "uplink-1",
                                "uplinkType": "PNIC"
                            }
                        ],
                        "policy": "FAILOVER_ORDER"
                    }
                },
                "nsxEdgeUplinkProfile": {
                    "displayName": "nsx-edge-uplink-profile",
                    "description": "Used to define how the Edge Node VMs connect to the physical network.",
                    "mtu": "1500",
                    "transportVlan": "0",
                    "teaming": {
                        "standbyList": [],
                        "activeList": [
                            {
                                "uplinkName": "uplink-1",
                                "uplinkType": "PNIC"
                            }
                        ],
                        "policy": "FAILOVER_ORDER"
                    }
                },
                "hostUplinkProfile": {
                    "displayName": "host-uplink-profile",
                    "mtu": "9000",
                    "teaming": {
                        "policy": "LOADBALANCE_SRCID",
                        "standbyList": [],
                        "activeList": [
                            {
                                "uplinkName": "uplink-1",
                                "uplinkType": "PNIC",
                                "deviceName": "vmnic2"
                            },
                            {
                                "uplinkName": "uplink-2",
                                "uplinkType": "PNIC",
                                "deviceName": "vmnic3"
                            }
                        ]
                    },
                    "transportVlan": "1200",
                    "namedTeamings": [
                        {
                            "name": "Edge_Transport",
                            "policy": "FAILOVER_ORDER",
                            "standbyList": [],
                            "activeList": [
                                {
                                    "uplinkName": "uplink-1",
                                    "uplinkType": "PNIC"
                                }
                            ]
                        },
                        {
                            "name": "Uplink1_Only",
                            "policy": "FAILOVER_ORDER",
                            "standbyList": [],
                            "activeList": [
                                {
                                    "uplinkName": "uplink-1",
                                    "uplinkType": "PNIC"
                                }
                            ]
                        },
                        {
                            "name": "Uplink2_Only",
                            "policy": "FAILOVER_ORDER",
                            "standbyList": [],
                            "activeList": [
                                {
                                    "uplinkName": "uplink-2",
                                    "uplinkType": "PNIC"
                                }
                            ]
                        }
                    ]
                }
            },
            "ipPoolSpec": {
                "sddcIpPool": {
                    "displayName": "SDDC_ESX_TEP_IP_POOL_GENEVE2",
                    "start": "192.168.106.10",
                    "end": "192.168.106.30",
                    "cidr": "192.168.106.0/24",
                    "tepGatewayIp": "192.168.106.1"
                },
                "sddcEdgeIpPool": {
                    "displayName": "SDDC_EDGE_TEP_IP_POOL_GENEVE2",
                    "start": "192.168.107.10",
                    "end": "192.168.107.20",
                    "cidr": "192.168.107.0/24",
                    "tepGatewayIp": "192.168.107.1"
                }
            },
            "nsxTransportZones": {
                "sddcNvdsName": "NVDS-1",
                "edgeUplink1TransportZone": {
                    "displayName": "SDDC_EDGE_UPLINK1_TZONE",
                    "hostSwitchName": "NVDS-2",
                    "description": "Used for connecting one of the Edge Node VMs interfaces to the physical network",
                    "transportType": "VLAN"
                },
                "edgeUplink2TransportZone": {
                    "displayName": "SDDC_EDGE_UPLINK2_TZONE",
                    "hostSwitchName": "NVDS-3",
                    "description": "Used for connecting one of the Edge Node VMs interfaces to the physical network",
                    "transportType": "VLAN"
                },
                "vlanTransportZone": {
                    "displayName": "SDDC_VLAN_TZONE",
                    "hostSwitchName": "NVDS-1",
                    "description": "SDDC_VLAN_TZONE",
                    "transportType": "VLAN",
                    "uplinkTeamingPolicyNames": [
                        "Edge_Transport",
                        "Uplink1_Only",
                        "Uplink2_Only"
                    ]
                },
                "overlayTransportZone": {
                    "displayName": "SDDC_OVERLAY_TZONE",
                    "hostSwitchName": "NVDS-1",
                    "description": "SDDC_OVERLAY_TZONE",
                    "transportType": "OVERLAY"
                }
            },
            "logicalSwitchSpec": {
                "edgeOverlay": {
                    "displayName": "EDGE_OVERLAY",
                    "transportZone": "SDDC_VLAN_TZONE",
                    "uplinkTeamingPolicyNames": "Edge_Transport",
                    "vlan": "1100"
                },
                "edgeUplink1": {
                    "displayName": "EDGE_UPLINK1",
                    "transportZone": "SDDC_VLAN_TZONE",
                    "uplinkTeamingPolicyNames": "Uplink1_Only",
                    "vlanRanges": {
                        "start": 0,
                        "end": 4094
                    }
                },
                "edgeUplink2": {
                    "displayName": "EDGE_UPLINK2",
                    "transportZone": "SDDC_VLAN_TZONE",
                    "uplinkTeamingPolicyNames": "Uplink2_Only",
                    "vlanRanges": {
                        "start": 0,
                        "end": 4094
                    }
                }
            },
            "routerSpec": {
                "tierZeroGateway": {
                    "name": "T0",
                    "haMode": "ACTIVE_STANDBY",
                    "failOverMode": "NON_PREEMPTIVE",
                    "description": "T0 gateway router for outboud connections.",
                    "routeRedistributionTypes": [
                        "TIER0_NAT"
                    ],
                    "routeAdvertisementTypes": [
                        "TIER1_CONNECTED"
                    ],
                    "edgeUplink1TransportZoneSegment": {
                        "name": "VLAN-UPLINK-SEGMENT-1",
                        "description": "VLAN-UPLINK-SEGMENT-1-2100",
                        "vlan": "2100"
                    },
                    "edgeUplink2TransportZoneSegment": {
                        "name": "VLAN-UPLINK-SEGMENT-2",
                        "description": "VLAN-UPLINK-SEGMENT-2-2200",
                        "vlan": "2200"
                    },
                    "tierZeroInterfaces": [
                        {
                            "name": "Uplink-I1",
                            "ipAddressWithCidr": "172.16.1.1/24",
                            "connectedWithSegment": "VLAN-UPLINK-SEGMENT-1",
                            "placementEdgeNode": "edge1.cloud.vmw"
                        },
                        {
                            "name": "Uplink-I2",
                            "ipAddressWithCidr": "172.16.2.1/24",
                            "connectedWithSegment": "VLAN-UPLINK-SEGMENT-2",
                            "placementEdgeNode": "edge1.cloud.vmw"
                        },
                        {
                            "name": "Uplink-I3",
                            "ipAddressWithCidr": "172.16.1.2/24",
                            "connectedWithSegment": "VLAN-UPLINK-SEGMENT-1",
                            "placementEdgeNode": "edge2.cloud.vmw"
                        },
                        {
                            "name": "Uplink-I4",
                            "ipAddressWithCidr": "172.16.2.2/24",
                            "connectedWithSegment": "VLAN-UPLINK-SEGMENT-2",
                            "placementEdgeNode": "edge2.cloud.vmw"
                        }
                    ]
                },
                "tierOneGateway": {
                    "name": "CGW",
                    "failOverMode": "NON_PREEMPTIVE",
                    "routeAdvertisementTypes": [
                        "TIER1_CONNECTED"
                    ],
                    "description": "Tier 1 Router for internal East-west SDDC overlay traffic.",
                    "logicalOverlaySwitches": [
                        {
                            "name": "WorkloadLS1",
                            "description": "Segment for internal overlay Network.",
                            "type": "ROUTED",
                            "gatewayIpAddressWithCidr": "192.168.200.1/24",
                            "internalNetwrokWithCidr": "192.168.200.0/24"
                        }
                    ]
                }
            },
            "licenseKey": ""
        },
        "portGrpSpecs": {
            "vmMgmt": {
                "type": "VM_MGMT",
                "vlan": 0
            },
            "vsan": {
                "type": "VSAN",
                "vlan": 0
            },
            "nsxTransport": {
                "type": "TRANSPORT_PG",
                "vlan": 0
            },
            "vmotion": {
                "type": "VMOTION_PG",
                "vlan": 0
            },
            "esxMgmt": {
                "type": "ESXi_MGMT",
                "vlan": 0
            },
            "hcxUplink": {
                "type": "HCX_UPLINK",
                "vlan": 0
            }
        },
        "vsanSpec": {
            "license": ""
        },
        "hcxSpec": {
            "hcxCloudDeploy": "true",
            "hcxEnterpriseDeploy": "false",
            "hcxCloudSpec": {
                "mgrCliPassword": "NSRRocks123!",
                "mgrRootPassword": "NSRRocks123!",
                "hostname": "hcx.cloud.vmw",
                "mgrIp": "192.168.108.2",
                "mgrGateway": "192.168.108.1",
                "systemName": "hcx-cloud",
                "datastore":"vsanDatastore",
                "resourcePoolName": "MGMT-ResourcePool",
                "diskMode": "thin",
                "publicAccessUrl": "https://192.168.108.2",
                "dataCenterLocation": {
                    "city": "Dallas",
                    "country": "United States",
                    "province": "Texas",
                    "latitude": "32.78306",
                    "longitude": "-96.80667"
                },
                "hcxActivation": {
                    "url": "https://connect.hcx.vmware.com",
                    "activationKey": ""
                },
                "networkProfiles": {
                    "mgmtNetworkProfile": {
                        "name": "HCX_MGMT",
                        "portGroupName": "VM_MGMT",
                        "switchName": "MGMT_DVS",
                        "ipScopes": [
                            {
                                "networkIpRanges": [
                                    {
                                        "startAddress": "192.168.108.10",
                                        "endAddress": "192.168.108.20"
                                    }
                                ],
                                "gateway": "192.168.108.1",
                                "primaryDns": "192.168.101.5"
                            }
                        ]
                    },
                    "vMotionNetworkProfile": {
                        "name": "VMOTION",
                        "portGroupName": "VMOTION_PG",
                        "switchName": "MGMT_DVS",
                        "ipScopes": [
                            {
                                "networkIpRanges": [
                                    {
                                        "startAddress": "192.168.103.30",
                                        "endAddress": "192.168.103.40"
                                    }
                                ],
                                "gateway": "192.168.103.1",
                                "primaryDns": "192.168.101.5"
                            }
                        ]
                    },
                    "externalNetworkProfile": {
                        "name": "HCX_UPLINK",
                        "portGroupName": "HCX_UPLINK",
                        "switchName": "MGMT_DVS",
                        "ipScopes": [
                            {
                                "networkIpRanges": [
                                    {
                                        "startAddress": "192.168.109.10",
                                        "endAddress": "192.168.109.20"
                                    }
                                ],
                                "gateway": "192.168.109.1",
                                "primaryDns": "192.168.101.5"
                            }
                        ]
                    }
                },
                "computeProfile": {
                    "name": "CLOUDCP",
                    "datastoreName": "vsanDatastore",
                    "resourcePoolName": "MGMT-ResourcePool",
                    "switchName": "SDDC_OVERLAY_TZONE",
                    "computeNetworkProfileTags": {
                        "mgmtNetworkProfile": [
                            "management",
                            "replication"
                        ],
                        "externalNetworkProfile": [
                            "uplink"
                        ],
                        "vMotionNetworkProfile": [
                            "vmotion"
                        ]
                    }
                }
            }
        }
    
}