Generate Cluster Deployment Spec

Generate Cluster Deployment Spec

API to generate cluster deployment spec

Request
URI
POST
https://{api_host}/tca/caas/api/v2/orgs/{orgId}/templates/{templateId}/cluster/resolve
COPY
Path Parameters
string
orgId
Optional

The identifier of the tenant

string
templateId
Required

Cluster template Id for which deploy spec to be generated


Request Body

Overrides for cluster template. Cluster deploy spec is generated by merging the cluster template and overrides

clusterOverrides of type(s) application/json
Required
{
    "spec": {}
}
object
metadata
Optional

cluster metadata

object
spec
Required

cluster spec

Responses
200

Returns cluster deployment spec

Returns cluster of type(s) application/json
{
    "id": "string",
    "metadata": {
        "resourceVersion": "number",
        "name": "string",
        "mgmtClusterName": "string",
        "tcaCpId": "string",
        "createdByIntent": "string",
        "modifiedByIntent": "string",
        "annotations": {
            "templateName": "string"
        }
    },
    "spec": {
        "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"
            }
        }
    },
    "status": {
        "clusterUrl": "string",
        "kubernetesVersion": "string",
        "resourceVersion": "number",
        "opstatus": "string",
        "deleteAccepted": false,
        "vimId": "string",
        "hostProfile": "string",
        "computeResource": {
            "name": "string",
            "type": "string"
        },
        "stats": {
            "nodepools": {
                "ready": 0,
                "total": 0,
                "lastTransitionTime": "string"
            },
            "addons": {
                "ready": 0,
                "total": 0,
                "lastTransitionTime": "string"
            }
        },
        "conditions": [
            {
                "lastTransitionTime": "string",
                "status": "string",
                "type": "string",
                "reason": "string",
                "message": "string",
                "severity": "string"
            }
        ]
    },
    "lastUpdated": "string",
    "creationDate": "string",
    "creationTenantId": "string",
    "creationUser": "string",
    "intentQueued": false
}
string
id
Optional

identifier of the cluster. This field is read only

object
metadata
Optional

metadata

object
spec
Optional

contains details about cluster configuration (cni, network, cloudproviders, bom etc) and control plane

object
status
Optional

status

string
lastUpdated
Optional

lastUpdated

string
creationDate
Optional

creationDate

string
creationTenantId
Optional

creationTenantId

string
creationUser
Optional

creationUser

boolean
intentQueued
Optional

intentQueued


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

404
Returns NotFound of type(s) application/json
{
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}
array of error
errors
Optional

errors


500
Returns InternalServerError of type(s) application/json
{
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}
array of error
errors
Optional

errors