Namespaces_Instances_CreateSpec

Namespaces_Instances_CreateSpec
Namespaces_Instances_CreateSpec

The Instances.CreateSpec structure contains the specification required to set up a namespace on a single vSphere cluster.

JSON Example
{
    "cluster": "string",
    "namespace": "string",
    "description": "string",
    "resource_spec": {},
    "access_list": [
        {
            "subject_type": "string",
            "subject": "string",
            "domain": "string",
            "role": "string",
            "identity_provider": "string"
        }
    ],
    "storage_specs": [
        {
            "policy": "string",
            "limit": 0
        }
    ],
    "networks": [
        "string"
    ],
    "vm_service_spec": {
        "content_libraries": [
            "string"
        ],
        "vm_classes": [
            "string"
        ]
    },
    "content_libraries": [
        {
            "content_library": "string",
            "writable": false
        }
    ],
    "creator": {
        "subject": "string",
        "domain": "string"
    },
    "namespace_network": {
        "network_provider": "string",
        "network": {
            "namespace_network_cidrs": [
                {
                    "address": "string",
                    "prefix": 0
                }
            ],
            "ingress_cidrs": [
                {
                    "address": "string",
                    "prefix": 0
                }
            ],
            "egress_cidrs": [
                {
                    "address": "string",
                    "prefix": 0
                }
            ],
            "nsx_tier0_gateway": "string",
            "subnet_prefix_length": 0,
            "routed_mode": false,
            "load_balancer_size": "string"
        }
    }
}
string
cluster
Required

Identifier of the cluster on which the namespace is being created. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.

string
namespace
Required

Identifier of the namespace. This has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server. In this version, this maps to the name of a Kubernetes namespace. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.namespaces.Instance.

string
description
Optional

Description for the namespace. If unset, no description is added to the namespace.

object
resource_spec
Optional

Resource quota on the namespace. Refer to com.vmware.vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use com.vmware.vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1. If unset, no resource limits will be set on the namespace.

access_list
Optional

Access controls associated with the namespace. If unset, only users with Administrator role can access the namespace.

storage_specs
Optional

Storage associated with the namespace. If unset, storage policies will not be associated with the namespace which will prevent users from being able to provision pods with persistent storage on the namespace. Users will be able to provision pods which use local storage.

array of string
networks
Optional

The vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing com.vmware.vcenter.namespace_management.Networks.Info structures. The field must be left unset if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSXT_VPC as the network provider, since the network(s) for this namespace will be managed on NSX-T. When using NSXT_CONTAINER_PLUGIN as network provider, a new network dedicated to the namespace will be created as part of namespace creation to override cluster network configs if Instances.NsxNetworkCreateSpec is set.

If the field is unset when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.

When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: com.vmware.vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: com.vmware.vcenter.namespace_management.Network.

vm_service_spec
Optional

The Instances.VMServiceSpec structure contains the specification required to configure the VM Service specification associated with a namespace.

content_libraries
Optional

List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. The Content Libraries specified in {VMServiceSpec#contentLibraries} will also be used by the VM Image Service but will be read-only by default to users.

If the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then:

  • The Content Library is only surfaced to users once.
  • The settings here are honored.

If unset, no additional Content Libraries will be configured for the VM Image Service except for the Content Libraries specified in {VMServiceSpec#contentLibraries}.

creator
Optional

The Instances.Principal structure contains the information about the creator of namespace.

namespace_network
Optional

The Instances.NetworkCreateSpec structure contains the specification required to create a vSphere Namespaces network object.