Create Cluster Template
API to create the cluster template
Request
URI
POST
https://{api_host}/tca/caas/api/v2/orgs/{orgId}/templates
COPY
Path Parameters
string
orgId
Optional
The identifier of the tenant
Request Body
Cluster template payload
clusterTemplate of type(s) application/json
Required
{
"metadata": {
"id": "string",
"name": "string"
},
"spec": {
"clusterType": "string",
"mgmtCluster": {
"clusterName": "string",
"edgeRef": "string"
},
"description": "string",
"cluster": {
"nfOrchestrationTcaCPId": "string",
"clusterConfigSpec": {
"airgap": {
"caCert": "string",
"fqdn": "string"
},
"autoscaler": {
"enable": false,
"maxNodeProvisionTime": "string",
"maxNodesTotal": 0,
"maxSize0": 0,
"minSize0": 0,
"scaleDownDelayAfterAdd": "string",
"scaleDownDelayAfterDelete": "string",
"scaleDownDelayAfterFailure": "string",
"scaleDownUnneededTime": "string"
},
"clusterNetwork": {
"apiServerPort": 0,
"pods": {
"cidrBlocks": [
"string"
]
},
"serviceDomain": "string",
"services": {
"cidrBlocks": [
"string"
]
}
},
"clusterType": "string",
"cniType": "string",
"controlPlaneEndpoint": {
"host": "string"
},
"ipFamilies": "string",
"proxy": {
"caCert": "string",
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": "string"
},
"publicKeyRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"security": {
"auditConfig": {
"enable": false
},
"podSecurityDefaultPolicy": {
"enable": false,
"podSecurityStandardAudit": "string",
"podSecurityStandardEnforce": "string",
"podSecurityStandardWarn": "string"
}
},
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"topology": {
"class": "string",
"variables": [
{
"definitionFrom": "string",
"name": "string"
}
]
},
"cloudProviders": {
"primeRef": {
"vimId": "string",
"datacenter": "string"
},
"subRefs": [
{
"vimId": "string",
"datacenter": "string"
}
]
},
"proxySpec": {
"type": "string",
"extensionId": "string",
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": "string",
"caCert": "string"
},
"airgapSpec": {
"type": "string",
"extensionId": "string",
"fqdn": "string",
"caCert": "string"
}
},
"controlPlaneSpec": {
"cloneMode": "string",
"cloudMachineTemplate": {
"type": "string",
"vSphereMachine": {
"cloneMode": "string",
"datacenter": "string",
"datastore": "string",
"folder": "string",
"numCoresPerSocket": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"template": "string"
}
},
"clusterName": "string",
"datacenter": "string",
"datastore": "string",
"diskGiB": 0,
"folder": "string",
"healthCheck": {
"maxUnhealthy": "string",
"nodeStartupTimeout": "string",
"unhealthyConditions": [
{
"status": "string",
"timeout": "string",
"type": "string"
}
]
},
"kubeadmConfigTemplate": {
"clusterConfiguration": {
"apiServer": {
"certSANs": [
"string"
],
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
],
"timeoutForControlPlane": "string"
},
"apiVersion": "string",
"certificatesDir": "string",
"clusterName": "string",
"controlPlaneEndpoint": "string",
"controllerManager": {
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
]
},
"dns": {
"imageRepository": "string",
"imageTag": "string"
},
"etcd": {
"external": {
"caFile": "string",
"certFile": "string",
"endpoints": [
"string"
],
"keyFile": "string"
},
"local": {
"dataDir": "string",
"imageRepository": "string",
"imageTag": "string",
"peerCertSANs": [
"string"
],
"serverCertSANs": [
"string"
]
}
},
"imageRepository": "string",
"kind": "string",
"kubernetesVersion": "string",
"networking": {
"dnsDomain": "string",
"podSubnet": "string",
"serviceSubnet": "string"
},
"scheduler": {
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
]
}
},
"joinConfiguration": {
"nodeRegistration": {}
}
},
"memoryMiB": 0,
"network": {
"devices": [
{
"dhcp4": false,
"dhcp6": false,
"gateway4": "string",
"gateway6": "string",
"ipAddressPools": [
{
"name": "string"
}
],
"mtu": 0,
"nameservers": [
"string"
],
"networkName": "string"
}
]
},
"numCPUs": 0,
"numCoresPerSocket": 0,
"replicas": 0,
"resourcePool": "string",
"rolloutBefore": {
"certificatesExpiryDays": 0
},
"storagePolicyName": "string",
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"template": "string",
"controlPlaneName": "string",
"cloudProvider": {
"vimId": "string"
}
}
},
"addOns": [
{
"addOnName": "string",
"clusterRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"name": "string",
"namespace": "string",
"tcaBomReleaseRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"config": {
"partnerSystemRefs": [
"string"
]
}
}
],
"nodepools": [
{
"name": "string",
"autoscaler": {
"enable": false,
"maxSize0": 0,
"minSize0": 0
},
"class": "string",
"cloneMode": "string",
"cloudMachineTemplate": {
"type": "string",
"vSphereMachine": {
"cloneMode": "string",
"datacenter": "string",
"datastore": "string",
"folder": "string",
"numCoresPerSocket": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"template": "string"
}
},
"clusterName": "string",
"datacenter": "string",
"datastore": "string",
"diskGiB": 0,
"folder": "string",
"healthCheck": {
"maxUnhealthy": "string",
"nodeStartupTimeout": "string",
"unhealthyConditions": [
{
"status": "string",
"timeout": "string",
"type": "string"
}
]
},
"kubeadmConfigTemplate": {
"joinConfiguration": {
"nodeRegistration": {}
}
},
"memoryMiB": 0,
"network": {
"devices": [
{
"dhcp4": false,
"dhcp6": false,
"gateway4": "string",
"gateway6": "string",
"ipAddressPools": [
{
"name": "string"
}
],
"mtu": 0,
"nameservers": [
"string"
],
"networkName": "string"
}
]
},
"numCPUs": 0,
"numCoresPerSocket": 0,
"pause": false,
"replicas": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"template": "string",
"variables": [
{
"definitionFrom": "string",
"name": "string"
}
],
"cloudProvider": {
"vimId": "string"
},
"customisations": {
"networkAdapters": [
{
"networkName": "string",
"interfaceName": "string",
"mtu": "number"
}
]
}
}
]
},
"status": {
"lastUpdated": "string",
"creationDate": "string",
"creationTenantId": "string",
"creationUser": "string",
"resourceVersion": "number",
"transformationHistory": {
"transformationDate": "string",
"transformationUser": "string",
"originalClusterTemplateId": "string",
"originalClusterTemplateName": "string"
}
}
}
object
metadata
Required
Cluster template metadata
object
spec
Required
contains details about cluster template configuration (cni, network, cloudproviders, bom etc) and control plane
object
status
Optional
Cluster template status
Responses
200
Successfully created cluster template
Returns clusterTemplate of type(s) application/json
{
"metadata": {
"id": "string",
"name": "string"
},
"spec": {
"clusterType": "string",
"mgmtCluster": {
"clusterName": "string",
"edgeRef": "string"
},
"description": "string",
"cluster": {
"nfOrchestrationTcaCPId": "string",
"clusterConfigSpec": {
"airgap": {
"caCert": "string",
"fqdn": "string"
},
"autoscaler": {
"enable": false,
"maxNodeProvisionTime": "string",
"maxNodesTotal": 0,
"maxSize0": 0,
"minSize0": 0,
"scaleDownDelayAfterAdd": "string",
"scaleDownDelayAfterDelete": "string",
"scaleDownDelayAfterFailure": "string",
"scaleDownUnneededTime": "string"
},
"clusterNetwork": {
"apiServerPort": 0,
"pods": {
"cidrBlocks": [
"string"
]
},
"serviceDomain": "string",
"services": {
"cidrBlocks": [
"string"
]
}
},
"clusterType": "string",
"cniType": "string",
"controlPlaneEndpoint": {
"host": "string"
},
"ipFamilies": "string",
"proxy": {
"caCert": "string",
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": "string"
},
"publicKeyRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"security": {
"auditConfig": {
"enable": false
},
"podSecurityDefaultPolicy": {
"enable": false,
"podSecurityStandardAudit": "string",
"podSecurityStandardEnforce": "string",
"podSecurityStandardWarn": "string"
}
},
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"topology": {
"class": "string",
"variables": [
{
"definitionFrom": "string",
"name": "string"
}
]
},
"cloudProviders": {
"primeRef": {
"vimId": "string",
"datacenter": "string"
},
"subRefs": [
{
"vimId": "string",
"datacenter": "string"
}
]
},
"proxySpec": {
"type": "string",
"extensionId": "string",
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": "string",
"caCert": "string"
},
"airgapSpec": {
"type": "string",
"extensionId": "string",
"fqdn": "string",
"caCert": "string"
}
},
"controlPlaneSpec": {
"cloneMode": "string",
"cloudMachineTemplate": {
"type": "string",
"vSphereMachine": {
"cloneMode": "string",
"datacenter": "string",
"datastore": "string",
"folder": "string",
"numCoresPerSocket": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"template": "string"
}
},
"clusterName": "string",
"datacenter": "string",
"datastore": "string",
"diskGiB": 0,
"folder": "string",
"healthCheck": {
"maxUnhealthy": "string",
"nodeStartupTimeout": "string",
"unhealthyConditions": [
{
"status": "string",
"timeout": "string",
"type": "string"
}
]
},
"kubeadmConfigTemplate": {
"clusterConfiguration": {
"apiServer": {
"certSANs": [
"string"
],
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
],
"timeoutForControlPlane": "string"
},
"apiVersion": "string",
"certificatesDir": "string",
"clusterName": "string",
"controlPlaneEndpoint": "string",
"controllerManager": {
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
]
},
"dns": {
"imageRepository": "string",
"imageTag": "string"
},
"etcd": {
"external": {
"caFile": "string",
"certFile": "string",
"endpoints": [
"string"
],
"keyFile": "string"
},
"local": {
"dataDir": "string",
"imageRepository": "string",
"imageTag": "string",
"peerCertSANs": [
"string"
],
"serverCertSANs": [
"string"
]
}
},
"imageRepository": "string",
"kind": "string",
"kubernetesVersion": "string",
"networking": {
"dnsDomain": "string",
"podSubnet": "string",
"serviceSubnet": "string"
},
"scheduler": {
"extraVolumes": [
{
"hostPath": "string",
"mountPath": "string",
"name": "string",
"pathType": "string",
"readOnly": false
}
]
}
},
"joinConfiguration": {
"nodeRegistration": {}
}
},
"memoryMiB": 0,
"network": {
"devices": [
{
"dhcp4": false,
"dhcp6": false,
"gateway4": "string",
"gateway6": "string",
"ipAddressPools": [
{
"name": "string"
}
],
"mtu": 0,
"nameservers": [
"string"
],
"networkName": "string"
}
]
},
"numCPUs": 0,
"numCoresPerSocket": 0,
"replicas": 0,
"resourcePool": "string",
"rolloutBefore": {
"certificatesExpiryDays": 0
},
"storagePolicyName": "string",
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"template": "string",
"controlPlaneName": "string",
"cloudProvider": {
"vimId": "string"
}
}
},
"addOns": [
{
"addOnName": "string",
"clusterRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"name": "string",
"namespace": "string",
"tcaBomReleaseRef": {
"apiVersion": "string",
"fieldPath": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"resourceVersion": "string",
"uid": "string"
},
"config": {
"partnerSystemRefs": [
"string"
]
}
}
],
"nodepools": [
{
"name": "string",
"autoscaler": {
"enable": false,
"maxSize0": 0,
"minSize0": 0
},
"class": "string",
"cloneMode": "string",
"cloudMachineTemplate": {
"type": "string",
"vSphereMachine": {
"cloneMode": "string",
"datacenter": "string",
"datastore": "string",
"folder": "string",
"numCoresPerSocket": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"template": "string"
}
},
"clusterName": "string",
"datacenter": "string",
"datastore": "string",
"diskGiB": 0,
"folder": "string",
"healthCheck": {
"maxUnhealthy": "string",
"nodeStartupTimeout": "string",
"unhealthyConditions": [
{
"status": "string",
"timeout": "string",
"type": "string"
}
]
},
"kubeadmConfigTemplate": {
"joinConfiguration": {
"nodeRegistration": {}
}
},
"memoryMiB": 0,
"network": {
"devices": [
{
"dhcp4": false,
"dhcp6": false,
"gateway4": "string",
"gateway6": "string",
"ipAddressPools": [
{
"name": "string"
}
],
"mtu": 0,
"nameservers": [
"string"
],
"networkName": "string"
}
]
},
"numCPUs": 0,
"numCoresPerSocket": 0,
"pause": false,
"replicas": 0,
"resourcePool": "string",
"storagePolicyName": "string",
"strategy": {
"rollingUpdate": {
"deletePolicy": "string"
},
"type": "string"
},
"tcaBomReleaseRef": {
"name": "string"
},
"template": "string",
"variables": [
{
"definitionFrom": "string",
"name": "string"
}
],
"cloudProvider": {
"vimId": "string"
},
"customisations": {
"networkAdapters": [
{
"networkName": "string",
"interfaceName": "string",
"mtu": "number"
}
]
}
}
]
},
"status": {
"lastUpdated": "string",
"creationDate": "string",
"creationTenantId": "string",
"creationUser": "string",
"resourceVersion": "number",
"transformationHistory": {
"transformationDate": "string",
"transformationUser": "string",
"originalClusterTemplateId": "string",
"originalClusterTemplateName": "string"
}
}
}
object
metadata
Required
Cluster template metadata
object
spec
Required
contains details about cluster template configuration (cni, network, cloudproviders, bom etc) and control plane
object
status
Optional
Cluster template status
400
Returns BadRequest of type(s) application/json
{
"errors": [
{
"code": "string",
"message": "string"
}
]
}
401
Unauthorized
Operation doesn't return any data structure
403
Forbidden
Operation doesn't return any data structure
500
Returns InternalServerError of type(s) application/json
{
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Cluster V2 Templates Operations
POST
Create Cluster Template
DELETE
Delete Cluster Template
GET
Download Cluster Template
POST
Generate Addons Deployment Spec
POST
Generate Cluster Deployment Spec
POST
Generate Node Pools Deployment Spec
GET
Get All Cluster Templates
GET
Get Cluster Template
POST
Transform Cluster Template
PUT
Update Cluster Template
POST
Upload Cluster Template