Upload Cluster Template
API to upload a cluster template
Request
URI
POST
https://{api_host}/tca/caas/api/v2/orgs/{orgId}/templateUpload
COPY
Path Parameters
string
orgId
Optional
The identifier of the tenant
Request Body
Cluster template upload payload
uploadFileRequest of type(s) multipart/form-data
Required
{
"file": "string"
}
string As binary As binary
file
Required
Cluster template json file
Responses
200
Successfully uploaded 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