Vcenter Namespaces NamespaceTemplates create
Creates a namespace template on a cluster on which vSphere Namespaces are enabled in this vCenter Server. This release supports creating a single namespace template, and the call fails if there is a request to make another one. 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 com.vmware.vcenter.namespace_management.supervisors.Topology#get 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 7.0.2.00100.
Returns an authorization error if you do not have all of the privileges described as follows:
- Operation execution requires
Namespaces.SelfServiceManage
.
Identifier for the cluster on which vSphere Namespaces are enabled.
The parameter must be an identifier for the resource type: ClusterComputeResource
.
Specification for setting up the namespace template.
Show optional properties
{
"template": "string",
"resource_spec": {},
"storage_specs": [
{
"policy": "string"
}
]
}
{
"template": "string",
"resource_spec": {},
"storage_specs": [
{
"policy": "string",
"limit": 0
}
],
"networks": [
"string"
],
"permissions": [
{
"subject_type": "string",
"subject": "string",
"domain": "string"
}
],
"vm_service_spec": {
"content_libraries": [
"string"
],
"vm_classes": [
"string"
]
},
"content_libraries": [
{
"content_library": "string",
"writable": false,
"allow_import": false,
"resource_naming_strategy": "string"
}
]
}
Identifier of the namespace template. This has DNS_LABEL restrictions as specified in . This name is unique across all namespaces templates in this vCenter server.
This property was added in vSphere API 7.0.2.00100.
When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: ClusterComputeResource
. When operations return a value of this schema as a response, the property will be an identifier for the resource type: ClusterComputeResource
.
Resource quotas that this template defines. Resource quota on the namespace. Refer to Vcenter NamespaceManagement NamespaceResourceOptions Info.create_resource_quota_type and use GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options for retrieving the type for the value for this field. For an example of this, see Vcenter Namespaces ResourceQuotaOptionsV1.
This property was added in vSphere API 7.0.2.00100.
Storage that this template defines and will be associated with a namespace after namespace realization. This field should not be empty and at least one policy should be supplied. The {link create} throws {term InvalidArgument} exception if this field is set empty.
This property was added in vSphere API 7.0.2.00100.
vSphere Networks that this template captures and are associated with the namespace after namespace realization. vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter NamespaceManagement Networks Info schemas.
This property was added in vSphere API 7.0.2.00100.
The field must be left missing or null
if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as the network provider, since the network(s) for this namespace will be managed by NSX Container Plugin. If field is missing or null
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 schema as a parameter, the property must contain identifiers for the resource type: com.vmware.vcenter.namespace_management.Network
. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: com.vmware.vcenter.namespace_management.Network
.
Permissions associated with namespace template.
This property was added in vSphere API 7.0.2.00100.
If missing or null
, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.
VM Service specification to be associated with the namespace template. Namespaces created using this template will have access to the virtual machine classes and Content Libraries specified in this {CreateSpec#vmServiceSpec} by default.
This property was added in vSphere API 7.0.3.2.
If missing or null
, the namespaces created using this template will not have access to any virtual machine classes by default, and to any Content Libraries by default unless Content Libraries are specified in the {CreateSpec#contentLibraries}.
Content Library specifications to be associated with the namespace template. Namespaces created using this template will have access to the Content Libraries specified in this {CreateSpec#contentLibraries} by default.
This property was added in vSphere API 8.0.2.0.
If missing or null
, the namespaces created using this template will not have access to any Content Libraries by default unless Content Libraries are specified in the {CreateSpec#vmServiceSpec}.
Success!
Vapi Std Errors InvalidArgument if spec contain any errors, or if {link CreateSpec#storageSpecs} is empty, or if {link CreateSpec#resourceSpec} is not set with {term memory_limit}, {term cpu_limit}, {term storage_request_limit}, or if {link CreateSpec#networks} is not set with networks if the {term cluster} hosting the namespaces uses VSPHERE_NETWORK as its network provider, or if {link CreateSpec#networks} is not empty if the {term cluster} hosting the namespaces uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.
Vapi Std Errors Unsupported if a request arrives to create a second template or to grant access to a user or group from an external identity provider.
Vapi Std Errors AlreadyExists if the namespace template with given name already exists.
"Vapi Std Errors Error Object"
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.
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.
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.
if the user can not be authenticated.
"Vapi Std Errors Unauthenticated Object"
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.
if the user does not have Namespaces.SelfServiceManage privilege.
"Vapi Std Errors Unauthorized Object"
if cluster doesn't exist.
"Vapi Std Errors NotFound Object"
if the system reports an error while responding to the request.
"Vapi Std Errors Error Object"
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.
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.
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.
curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"resource_spec:"object","storage_specs":["object"],"template:"string"}' https://{api_host}/api/vcenter/namespaces/namespace-templates/clusters/{cluster}