Vcenter NamespaceManagement Supervisors enableOnComputeCluster

Vcenter NamespaceManagement Supervisors enableOnComputeCluster

Enable the Supervisor on a single vSphere cluster. This operation sets up the Kubernetes instance for the cluster along with worker nodes. A consumption fault domain zone will automatically be created if the specified cluster is not already associated with a vSphere Zone.

To verify if the Supervisor is compatible with this vSphere cluster use: GET /vcenter/namespace-management/cluster-compatibility.

A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster.

To call this API on a Supervisor with multiple vSphere Clusters, use GET /vcenter/namespace-management/supervisors/{supervisor}/topology to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.

This operation was added in vSphere API 8.0.0.1.

Request
URI
POST
https://{api_host}/api/vcenter/namespace-management/supervisors/{cluster}?action=enable_on_compute_cluster
COPY
Path Parameters
string
cluster
Required

Identifier for the cluster used to enable the Supervisor Cluster.

The parameter must be an identifier for the resource type: ClusterComputeResource.


Request Body

Specification for configuring the Supervisor and Workloads.

Show optional properties

{
    "name": "string",
    "control_plane": {},
    "workloads": {}
}
{
    "zone": "string",
    "name": "string",
    "control_plane": {
        "network": {
            "network": "string",
            "backing": {
                "backing": "string",
                "network": "string",
                "network_segment": {
                    "networks": [
                        "string"
                    ]
                }
            },
            "services": {
                "dns": {
                    "servers": [
                        "string"
                    ],
                    "search_domains": [
                        "string"
                    ]
                },
                "ntp": {
                    "servers": [
                        "string"
                    ]
                }
            },
            "ip_management": {
                "dhcp_enabled": false,
                "gateway_address": "string",
                "ip_assignments": [
                    {
                        "assignee": "string",
                        "ranges": [
                            {
                                "address": "string",
                                "count": 0
                            }
                        ]
                    }
                ]
            },
            "floating_ip_address": "string",
            "proxy": {
                "proxy_settings_source": "string",
                "https_proxy_config": "string",
                "http_proxy_config": "string",
                "no_proxy_config": [
                    "string"
                ],
                "tls_root_ca_bundle": "string"
            }
        },
        "login_banner": "string",
        "size": "string",
        "storage_policy": "string",
        "count": 0
    },
    "workloads": {
        "network": {
            "network": "string",
            "network_type": "string",
            "nsx": {
                "dvs": "string",
                "namespace_subnet_prefix": 0
            },
            "vsphere": {
                "dvpg": "string"
            },
            "nsx_vpc": {
                "nsx_project": "string",
                "vpc_connectivity_profile": "string",
                "default_private_cidrs": [
                    {
                        "address": "string",
                        "prefix": 0
                    }
                ]
            },
            "services": {
                "dns": {
                    "servers": [
                        "string"
                    ],
                    "search_domains": [
                        "string"
                    ]
                },
                "ntp": {
                    "servers": [
                        "string"
                    ]
                }
            },
            "ip_management": {
                "dhcp_enabled": false,
                "gateway_address": "string",
                "ip_assignments": [
                    {
                        "assignee": "string",
                        "ranges": [
                            {
                                "address": "string",
                                "count": 0
                            }
                        ]
                    }
                ]
            }
        },
        "edge": {
            "id": "string",
            "load_balancer_address_ranges": [
                {
                    "address": "string",
                    "count": 0
                }
            ],
            "haproxy": {
                "servers": [
                    {
                        "host": "string",
                        "port": 0
                    }
                ],
                "username": "string",
                "password": "string",
                "certificate_authority_chain": "string"
            },
            "nsx": {
                "edge_cluster_id": "string",
                "default_ingress_tls_certificate": "string",
                "routing_mode": "string",
                "egress_ip_ranges": [
                    {
                        "address": "string",
                        "count": 0
                    }
                ],
                "t0_gateway": "string",
                "load_balancer_size": "string"
            },
            "nsx_advanced": {
                "server": {
                    "host": "string",
                    "port": 0
                },
                "username": "string",
                "password": "string",
                "certificate_authority_chain": "string",
                "cloud_name": "string"
            },
            "foundation": {
                "deployment_target": {
                    "zones": [
                        "string"
                    ],
                    "storage_policy": "string",
                    "deployment_size": "string",
                    "availability": "string"
                },
                "interfaces": [
                    {
                        "personas": [
                            "string"
                        ],
                        "network": {
                            "network_type": "string",
                            "dvpg_network": {
                                "name": "string",
                                "network": "string",
                                "ipam": "string",
                                "ip_config": {
                                    "ip_ranges": [
                                        {
                                            "address": "string",
                                            "count": 0
                                        }
                                    ],
                                    "gateway": "string"
                                }
                            }
                        }
                    }
                ],
                "network_services": {
                    "dns": {
                        "servers": [
                            "string"
                        ],
                        "search_domains": [
                            "string"
                        ]
                    },
                    "ntp": {
                        "servers": [
                            "string"
                        ]
                    },
                    "syslog": {
                        "endpoint": "string",
                        "certificate_authority_pem": "string"
                    }
                }
            },
            "provider": "string"
        },
        "kube_api_server_options": {
            "security": {
                "certificate_dns_names": [
                    "string"
                ]
            }
        },
        "images": {
            "registry": {
                "hostname": "string",
                "port": 0,
                "username": "string",
                "password": "string",
                "certificate_chain": "string"
            },
            "repository": "string",
            "kubernetes_content_library": "string",
            "content_libraries": [
                {
                    "content_library": "string",
                    "supervisor_services": [
                        "string"
                    ],
                    "resource_naming_strategy": "string"
                }
            ]
        },
        "storage": {
            "cloud_native_file_volume": {
                "vsan_clusters": [
                    "string"
                ]
            },
            "ephemeral_storage_policy": "string",
            "image_storage_policy": "string"
        }
    }
}
string
zone
Optional

Vcenter NamespaceManagement Supervisors EnableOnComputeClusterSpec.zone describes consumption fault domain zone available to the Supervisor and its workloads.

This property was added in vSphere API 8.0.0.1.

Zone will be created and associated with the cluster. If missing or null, the zone name will be generated based on the cluster managed object ID. The zone can be managed with the consumption fault domain zone api.

When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: com.vmware.vcenter.consumption_domains.Zone. When operations return a value of this schema as a response, the property will be an identifier for the resource type: com.vmware.vcenter.consumption_domains.Zone.

string
name
Required

A Vcenter NamespaceManagement Supervisors EnableSpec.name is a user-friendly identifier for this Supervisor.

This property was added in vSphere API 8.0.0.1.

control_plane
Required

Vcenter NamespaceManagement Supervisors EnableSpec.control_plane specifies configuration for the Supervisor control plane.

This property was added in vSphere API 8.0.0.1.

workloads
Required

Vcenter NamespaceManagement Supervisors EnableSpec.workloads specifies configuration for compute, network, and storage for workloads.

This property was added in vSphere API 8.0.0.1.

Authentication
This operation uses the following authentication methods.
Responses
200

ID of the Supervisor object being enabled.

The response will be an identifier for the resource type: com.vmware.vcenter.namespace_management.supervisor.Supervisor.

Returns string of type(s) application/json
Operation doesn't return any data structure

400

Vapi Std Errors AlreadyExists if the cluster already has the Supervisor enabled.

Vapi Std Errors InvalidArgument if spec contains any errors.

Vapi Std Errors Unsupported if the specified cluster is not supported for the Supervisor, the cluster's hosts do not have the required ESX version, or for any other incompatibilities.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


401

if the user can not be authenticated.

Returns Vapi Std Errors Unauthenticated of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthenticated0
"Vapi Std Errors Unauthenticated Object"
string
challenge
Optional

Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.

For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm="27da1358-2ba4-11e9-b210-d663bd873d93",sts="http://vcenter/sso?vsphere.local", Basic realm="vCenter"

This property was added in vSphere API 7.0.0.0.

This property is optional because it was added in a newer version than its parent node.


403

if the user does not have Namespaces.Manage privilege.

Returns Vapi Std Errors Unauthorized of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthorized0
"Vapi Std Errors Unauthorized Object"

404

if resources/objects could not be located.

Returns Vapi Std Errors NotFound of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors NotFound0
"Vapi Std Errors NotFound Object"

500

Vapi Std Errors Error if the system reports an error while responding to the request.

Vapi Std Errors UnableToAllocateResource if the specified cluster is not licensed.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"control_plane":"{}","name:"string","workloads":"{}"}' https://{api_host}/api/vcenter/namespace-management/supervisors/{cluster}?action=enable_on_compute_cluster