Upload Cluster Template

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"
        }
    ]
}
array of error
errors
Optional

errors


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"
        }
    ]
}
array of error
errors
Optional

errors