REST API - set

vcenter namespace management clusters: set

Set a new configuration on the cluster object. The specified configuration is applied in entirety and will replace the current configuration fully.

Request:

HTTP request

PUT https://{server}/api/vcenter/namespace-management/clusters/{cluster}
{
    "master_DNS_search_domains"[
        "string",
        "string"
    ],
    "workload_ntp_servers"[
        "string",
        "string"
    ],
    "image_storage"{
        "storage_policy""obj-103"
    },
    "ncp_cluster_network_spec"{
        "default_ingress_tls_certificate""string",
        "pod_cidrs"[
            {
                "address""string",
                "prefix"1
            },
            {
                "address""string",
                "prefix"1
            }
        ],
        "egress_cidrs"[
            {
                "address""string",
                "prefix"1
            },
            {
                "address""string",
                "prefix"1
            }
        ],
        "ingress_cidrs"[
            {
                "address""string",
                "prefix"1
            },
            {
                "address""string",
                "prefix"1
            }
        ]
    },
    "master_NTP_servers"[
        "string",
        "string"
    ],
    "ephemeral_storage_policy""obj-103",
    "default_image_repository""string",
    "login_banner""string",
    "size_hint""TINY",
    "worker_DNS"[
        "string",
        "string"
    ],
    "default_image_registry"{
        "hostname""string",
        "port"1
    },
    "master_DNS"[
        "string",
        "string"
    ],
    "network_provider""NSXT_CONTAINER_PLUGIN",
    "master_storage_policy""obj-103",
    "default_kubernetes_service_content_library""obj-103"
}

Path Parameters

Name Type Description
Required
cluster string Identifier for the cluster on which vSphere Namespaces is enabled.

Body Parameters:

Name Type Description
bold = required
- set_spec New specification for the cluster.
-.size_hint string This affects the size and resources allocated to the Kubernetes API server.

Determines the configuration of Kubernetes API server and the worker nodes. It also determines the default values associated with the maximum number of pods and services. Use get to get information associated with a sizing_hint. Value is one of:
TINY: Cluster size of 'tiny'.
SMALL: Cluster size of 'small'.
MEDIUM: Cluster size of 'medium'.
LARGE: Cluster size of 'large'.

-.network_provider string The provider of cluster networking for this vSphere Namespaces cluster.

Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster. Value is one of:
NSXT_CONTAINER_PLUGIN: NSX-T Container Plugin.
VSPHERE_NETWORK: vSphere Networking. This constant was added in vSphere API 7.0.1.0.

-.ncp_cluster_network_spec NCP_cluster_network_set_spec Specification for the NSX Container Plugin cluster network.

Optional. It is only relevant when network_provider has value NSXT_CONTAINER_PLUGIN. This field is optional and it is only relevant when the value of network_provider is NSXT_CONTAINER_PLUGIN.

-.ncp_cluster_network_spec.pod_cidrs ipv4_cidr[] CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.ingress_cidrs, vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.egress_cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list. All Pod CIDR blocks must be of at least subnet size /23.

-.ncp_cluster_network_spec.pod_cidrs[].address string The IPv4 address.

-.ncp_cluster_network_spec.pod_cidrs[].prefix long The CIDR prefix.

-.ncp_cluster_network_spec.ingress_cidrs ipv4_cidr[] CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.pod_cidrs, com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.egress_cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list.

-.ncp_cluster_network_spec.ingress_cidrs[].address string The IPv4 address.

-.ncp_cluster_network_spec.ingress_cidrs[].prefix long The CIDR prefix.

-.ncp_cluster_network_spec.egress_cidrs ipv4_cidr[] CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.pod_cidrs, com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_set_spec.ingress_cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list.

-.ncp_cluster_network_spec.egress_cidrs[].address string The IPv4 address.

-.ncp_cluster_network_spec.egress_cidrs[].prefix long The CIDR prefix.

-.ncp_cluster_network_spec.default_ingress_tls_certificate string PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.

-.master_DNS string[] List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.

Optional. If unset, DNS servers set on Kubernetes API server will be cleared.

-.worker_DNS string[] List of DNS server IP addresses to use on the worker nodes, specified in order of preference.

Optional. If unset, DNS servers set on worker nodes will be cleared.

-.master_DNS_search_domains string[] List of domains (for example "vmware.com") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.

Optional. If unset, DNS search domains set on Kubernetes API server will be cleared.

-.master_NTP_servers string[] List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.

Optional. If unset, VMware Tools based time synchronization is enabled and any set NTP servers are cleared.

-.master_storage_policy string Identifier of storage policy associated with Kubernetes API server.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.

-.ephemeral_storage_policy string Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.

-.login_banner string Disclaimer to be displayed prior to login via the Kubectl plugin.

Optional. If unset, disclaimer to be displayed prior to login via the Kubectl plugin will be cleared.

-.image_storage image_storage_spec Specification for storage to be used for container images.

-.image_storage.storage_policy string Identifier of the storage policy.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.

-.default_image_registry image_registry Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.

Optional. If unset, default image registry will be set to Docker Hub.

-.default_image_registry.hostname string IP address or the hostname of container image registry.

-.default_image_registry.port long Port number of the container image registry.

Optional. If unset, defaults to 443.

-.default_image_repository string Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.

Optional. If unset, default image repository will be set to Docker Hub official repository in case of Docker Hub image registry, otherwise will be set to empty string.

-.default_kubernetes_service_content_library string Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. Modifying or clearing the Content Library identifier will not affect existing vSphere Kubernetes Service clusters. However, upgrades or scale-out of existing clusters may be affected if the new Content Library doesn't have the necessary VM Images.

Optional. If unset, the Content Library identifier will be cleared.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.content.Library.

-.workload_ntp_servers string[] List of NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference. This attribute was added in vSphere API 7.0.1.0.

Optional. If unset, NTP for Kubernetes API servers will be used.

Response:

HTTP Status Code: 204

Headers:

None

Type:

None

Errors:

HTTP Status Code Type Description
500 error if the system reports an error while responding to the request.
400 invalid_argument if spec contain any errors.
400 not_allowed_in_current_state if vSphere Namespaces is being disabled on this cluster.
404 not_found if cluster could not be located.
401 unauthenticated if the user can not be authenticated.
403 unauthorized if the user does not have Namespaces.Manage privilege.