Cloud Providers /
Create cluster
Required permission
Account > Cloud > Clusters > Create
Request body
- {object}
name
string requiredThe name of the cluster.min length3max length20pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringThe description of the cluster.max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$provider
string requiredCloud provider to be used for the selected resourceone ofaws, azure, civo, gcp, oci, cloudflare, byokregion
string requiredRegion of the cluster.kubernetesVersion
stringDeprecated: This field is no longer used, the version is now set by the platform.integrationId
stringExisting integration to use for this cluster.pattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$storage
{object}storageEnabled
booleansnapshotsEnabled
booleanstorageClasses
[array]- {object}
id
string requiredname
string requireddescription
stringplatformMapping
string requiredone ofssd, hddkubernetesName
string requireddefaultSnapshotClass
stringsnapshotClasses
[array]- {object}
id
string requiredname
string requireddescription
stringkubernetesName
string requirednodePools
(multiple options: oneOf) requiredAn array of node pools for BYOC or BYOK.- [array]An array of node pools for BYOC.
- {object}Node pool configuration for BYOC clusters
id
string requiredID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node poolsmin length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)nodeType
string requiredMachine type to be used by the node pool.oci
{object}OCI instance specific settings. Must respect ratios as determined by the selected node type.ocpu
integer requiredmin1memory
integer requiredmin1gcp
{object}GCP specific settings.enablePrivateNodes
booleanSet this flag to disable public IP assignment for nodes in this node pool.azure
{object}Azure specific settings.systemPool
booleanWhen 'provider' is 'azure', at least one system node pool is required per cluster.enablePublicNodeIp
booleanWhen 'provider' is 'azure', set this flag to use public node IPs.vnetSubnetId
stringID of the vnet subnet to use.aws
{object}AWS specific node pool settings.launchTemplate
{object}Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored.id
string requiredID of the launch template to use.version
integer requiredVersion of the launch template that should be used.min1nodeCount
integer requiredNumber of nodes to the node pool should be provisioned with.min0max250autoscaling
{object}Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature.enabled
booleanmin
integermin0max249max
integermin1max250computeResources
{object}gpu
{object}timeslicing
{object}Time-slicing configuration object.enabled
booleanWhether or not to enable time-slicing on the GPU.numSlices
numberSets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU.min1preemptible
booleanConfigures node pool with preemptible / spot instances if enabled.diskType
stringThe disk type to use.diskSize
integer requiredDisk size in GBmin1availabilityZones
[array] requiredZones in which the node pool should be provisioned.- string
subnets
[array]Subnets in which the node pool should be provisioned. Required if provider is `oci`.- string
scheduling
{object}Define basic workload scheduling restrictions for this node poolallowJobs
booleanAllow jobs to schedule to this node poolonlyGpuJobs
booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.allowServices
booleanAllow services to schedule to this node poolonlyGpuServices
booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.allowAddons
booleanAllow addons to schedule to this node poolallowBuilds
booleanAllow builds to schedule to this node poolonlyGpuBuilds
booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.allowCeph
booleanAllow the placement of Ceph podslabels
{object}Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules.- [array]An array of node pools for BYOK.
- {object}Node pool configuration for BYOK clusters
id
string requiredID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node poolsmin length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)providerId
string requiredID which identifies kubernetes nodes as belonging to this pool.min length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)computeResources
{object}gpu
{object}supported
booleanWhether this node pool consists of GPU nodes .type
stringGPU type associated with the node pool.pattern[a-z0-9]resources
{object}memoryInfo
{object}sizeInGiB
numberMemory amount of the GPU in Gib.min1mig
{object}Multi-Instance GPU (MIG). configuration object.enabled
booleanWhether or not to enable Multi-Instance GPU (MIG).partitions
[array]The partitions to configure on the GPU.- string
timeslicing
{object}Time-slicing configuration object.enabled
booleanWhether or not to enable time-slicing on the GPU.numSlices
numberSets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU.min1count
integerNumber of GPUs per node.min1defaultPool
booleanFallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.preemptible
booleanConfigures node pool with preemptible / spot instances if enabled.scheduling
{object}Define basic workload scheduling restrictions for this node poolallowJobs
booleanAllow jobs to schedule to this node poolonlyGpuJobs
booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.allowServices
booleanAllow services to schedule to this node poolonlyGpuServices
booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.allowAddons
booleanAllow addons to schedule to this node poolallowBuilds
booleanAllow builds to schedule to this node poolonlyGpuBuilds
booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.allowCeph
booleanAllow the placement of Ceph podslabels
{object}Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules.settings
{object}builds
{object}mode
stringone ofpaas, internal, build-clusterplan
stringPlan to use for builds if they are run on the clustermin length3max length39pattern^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$clusterId
stringCluster to use for scheduling buildspattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$registry
{object}mode
stringone ofpaas, self-hostedregistryId
stringCredentials to use for storing of images.pattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$logging
(multiple options: oneOf)Logging settings- {object}Logging via PaaS.
mode
stringone ofpaas- {object}Logging via Loki (S3 storage).
mode
string requiredone oflokiloki
{object}storageType
string requiredone ofs3s3BucketName
string requireds3AccessKey
string requireds3SecretKey
string requireds3Region
string required- {object}Logging via Loki (GCS storage).
mode
string requiredone oflokiloki
{object}storageType
string requiredone ofgcsgcsBucketName
string requiredgcpIntegrationId
string requiredpattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$vanityDomains
{object}apps
{object}zoneName
string requiredintegrationId
string requiredcustomDomains
{object}zoneName
string requiredintegrationId
string requiredloadBalancers
{object}zoneName
string requiredintegrationId
string requiredinfrastructure
{object}workloads
{object}runtimeClass
stringone ofnone, gvisor, kata-clh, kata-qemu, katars-clhbuilds
{object}runtimeClass
stringone ofnone, gvisor, kata-clh, kata-qemu, katars-clhinstallKata
booleaninstallGvisor
booleancleanupVolumes
booleancleanupSnapshots
booleancephStorageProvider
{object}enabled
booleanresources
{object}cpu
numberConfigure the CPU resources per Ceph replicamin1max20memory
numberConfigure the memory resources per Ceph replicamin4096max40960storage
numberConfigure the data disk size per Ceph replicamin102400max5242880enableMultiReadWriteStorage
booleanConfigure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.enableSingleReadWriteStorage
booleanConfigure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.enableErasureCoding
booleanConfigure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.enableTopologyAwareScheduling
booleanConfigure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.requestModifiers
{object}Allows customising request modifier values.services
{object}Request modifiers for servicescpu
number requiredmin0.2max1memory
number requiredmin0.4max1jobs
{object}Request modifiers for jobscpu
number requiredmin0.2max1memory
number requiredmin0.4max1builds
{object}Request modifiers for buildscpu
number requiredmin0.1max1memory
number requiredmin0.1max1addons
{object}Request modifiers for addonscpu
number requiredmin0.2max1memory
number requiredmin0.4max1restrictions
{object}BYOC restrictions configuration for controlling team accessenabled
boolean requiredEnable or disable BYOC restrictions for this entityteams
[array]List of teams that have access to this BYOC cluster- {object}
teamId
string requiredThe ID of the team that has access to this BYOC clustermin length3max length45pattern^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$gcp
{object}GCP specific data. Required when `provider` is `gcp`networking
{object}network
stringsubnetwork
stringenableAuthorizedIpRanges
booleanprojectId
stringGCP Project IDpattern^[a-z][a-z0-9-]{4,28}[a-z0-9]$aws
{object}AWS specific data. Required when `provider` is `aws`.enablePublicAccessCidrs
booleanpublicAccessCidrs
[array]- stringpattern^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
subnetConfiguration
{object}mode
string requiredThe mode of the AWS subnet configurationone ofdefault-subnets-for-azs, explicit-subnetsvpcId
stringId of the VPCsubnets
[array] requiredList of subnets the cluster should be created for. At least 2 must be specified.- string
vpcEgress
booleanIf egress traffic from the cluster should come from a single static egress IP.oci
{object}OCI specific data. Required when `provider` is `oci`.vcnConfiguration
{object} requiredvcnId
string requiredsubnetIdForKubernetesApi
string requiredsubnetIdsForServiceLBs
[array] required- string
azure
{object}Azure specific data. Required when `provider` is `azure`.networking
{object}vnetConfiguration
{object}mode
string requiredThe vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet.one ofcreate-default, custom-vnetvnetId
stringAzure vnetId that should be used for this cluster. By default a new vnet will be created.networkPluginMode
stringOptional setting to configure overlay mode on Azure.one ofoverlayenableAuthorizedIpRanges
booleanbyok
{object}BYOK specific data. Required when `provider` is `byok`.nodePoolProviderIdLabel
string required
OR
OR
OR
Response body
- {object}Response object.
data
{object} requiredResult data.name
string requiredThe name of the cluster.min length3max length20pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringThe description of the cluster.max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$provider
string requiredCloud provider to be used for the selected resourceone ofaws, azure, civo, gcp, oci, cloudflare, byokregion
string requiredRegion of the cluster.kubernetesVersion
stringDeprecated: This field is no longer used, the version is now set by the platform.integrationId
stringExisting integration to use for this cluster.pattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$storage
{object}storageEnabled
booleansnapshotsEnabled
booleanstorageClasses
[array]- {object}
id
string requiredname
string requireddescription
stringplatformMapping
string requiredone ofssd, hddkubernetesName
string requireddefaultSnapshotClass
stringsnapshotClasses
[array]- {object}
id
string requiredname
string requireddescription
stringkubernetesName
string requirednodePools
(multiple options: oneOf) requiredAn array of node pools for BYOC or BYOK.- [array]An array of node pools for BYOC.
- {object}Node pool configuration for BYOC clusters
id
string requiredID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node poolsmin length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)nodeType
string requiredMachine type to be used by the node pool.oci
{object}OCI instance specific settings. Must respect ratios as determined by the selected node type.ocpu
integer requiredmin1memory
integer requiredmin1gcp
{object}GCP specific settings.enablePrivateNodes
booleanSet this flag to disable public IP assignment for nodes in this node pool.azure
{object}Azure specific settings.systemPool
booleanWhen 'provider' is 'azure', at least one system node pool is required per cluster.enablePublicNodeIp
booleanWhen 'provider' is 'azure', set this flag to use public node IPs.vnetSubnetId
stringID of the vnet subnet to use.aws
{object}AWS specific node pool settings.launchTemplate
{object}Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored.id
string requiredID of the launch template to use.version
integer requiredVersion of the launch template that should be used.min1nodeCount
integer requiredNumber of nodes to the node pool should be provisioned with.min0max250autoscaling
{object}Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature.enabled
booleanmin
integermin0max249max
integermin1max250computeResources
{object}gpu
{object}timeslicing
{object}Time-slicing configuration object.enabled
booleanWhether or not to enable time-slicing on the GPU.numSlices
numberSets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU.min1preemptible
booleanConfigures node pool with preemptible / spot instances if enabled.diskType
stringThe disk type to use.diskSize
integer requiredDisk size in GBmin1availabilityZones
[array] requiredZones in which the node pool should be provisioned.- string
subnets
[array]Subnets in which the node pool should be provisioned. Required if provider is `oci`.- string
scheduling
{object}Define basic workload scheduling restrictions for this node poolallowJobs
booleanAllow jobs to schedule to this node poolonlyGpuJobs
booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.allowServices
booleanAllow services to schedule to this node poolonlyGpuServices
booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.allowAddons
booleanAllow addons to schedule to this node poolallowBuilds
booleanAllow builds to schedule to this node poolonlyGpuBuilds
booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.allowCeph
booleanAllow the placement of Ceph podslabels
{object}Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules.- [array]An array of node pools for BYOK.
- {object}Node pool configuration for BYOK clusters
id
string requiredID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node poolsmin length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)providerId
string requiredID which identifies kubernetes nodes as belonging to this pool.min length3max length63pattern(^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)computeResources
{object}gpu
{object}supported
booleanWhether this node pool consists of GPU nodes .type
stringGPU type associated with the node pool.pattern[a-z0-9]resources
{object}memoryInfo
{object}sizeInGiB
numberMemory amount of the GPU in Gib.min1mig
{object}Multi-Instance GPU (MIG). configuration object.enabled
booleanWhether or not to enable Multi-Instance GPU (MIG).partitions
[array]The partitions to configure on the GPU.- string
timeslicing
{object}Time-slicing configuration object.enabled
booleanWhether or not to enable time-slicing on the GPU.numSlices
numberSets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU.min1count
integerNumber of GPUs per node.min1defaultPool
booleanFallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.preemptible
booleanConfigures node pool with preemptible / spot instances if enabled.scheduling
{object}Define basic workload scheduling restrictions for this node poolallowJobs
booleanAllow jobs to schedule to this node poolonlyGpuJobs
booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.allowServices
booleanAllow services to schedule to this node poolonlyGpuServices
booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.allowAddons
booleanAllow addons to schedule to this node poolallowBuilds
booleanAllow builds to schedule to this node poolonlyGpuBuilds
booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.allowCeph
booleanAllow the placement of Ceph podslabels
{object}Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules.settings
{object}builds
{object}mode
stringone ofpaas, internal, build-clusterplan
stringPlan to use for builds if they are run on the clustermin length3max length39pattern^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$clusterId
stringCluster to use for scheduling buildspattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$registry
{object}mode
stringone ofpaas, self-hostedregistryId
stringCredentials to use for storing of images.pattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$logging
(multiple options: oneOf)Logging settings- {object}Logging via PaaS.
mode
stringone ofpaas- {object}Logging via Loki (S3 storage).
mode
string requiredone oflokiloki
{object}storageType
string requiredone ofs3s3BucketName
string requireds3AccessKey
string requireds3SecretKey
string requireds3Region
string required- {object}Logging via Loki (GCS storage).
mode
string requiredone oflokiloki
{object}storageType
string requiredone ofgcsgcsBucketName
string requiredgcpIntegrationId
string requiredpattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$vanityDomains
{object}apps
{object}zoneName
string requiredintegrationId
string requiredcustomDomains
{object}zoneName
string requiredintegrationId
string requiredloadBalancers
{object}zoneName
string requiredintegrationId
string requiredinfrastructure
{object}workloads
{object}runtimeClass
stringone ofnone, gvisor, kata-clh, kata-qemu, katars-clhbuilds
{object}runtimeClass
stringone ofnone, gvisor, kata-clh, kata-qemu, katars-clhinstallKata
booleaninstallGvisor
booleancleanupVolumes
booleancleanupSnapshots
booleancephStorageProvider
{object}enabled
booleanresources
{object}cpu
numberConfigure the CPU resources per Ceph replicamin1max20memory
numberConfigure the memory resources per Ceph replicamin4096max40960storage
numberConfigure the data disk size per Ceph replicamin102400max5242880enableMultiReadWriteStorage
booleanConfigure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.enableSingleReadWriteStorage
booleanConfigure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.enableErasureCoding
booleanConfigure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.enableTopologyAwareScheduling
booleanConfigure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.requestModifiers
{object}Allows customising request modifier values.services
{object}Request modifiers for servicescpu
number requiredmin0.2max1memory
number requiredmin0.4max1jobs
{object}Request modifiers for jobscpu
number requiredmin0.2max1memory
number requiredmin0.4max1builds
{object}Request modifiers for buildscpu
number requiredmin0.1max1memory
number requiredmin0.1max1addons
{object}Request modifiers for addonscpu
number requiredmin0.2max1memory
number requiredmin0.4max1restrictions
{object}BYOC restrictions configuration for controlling team accessenabled
boolean requiredEnable or disable BYOC restrictions for this entityteams
[array]List of teams that have access to this BYOC cluster- {object}
teamId
string requiredThe ID of the team that has access to this BYOC clustermin length3max length45pattern^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$gcp
{object}GCP specific data. Required when `provider` is `gcp`networking
{object}network
stringsubnetwork
stringenableAuthorizedIpRanges
booleanprojectId
stringGCP Project IDpattern^[a-z][a-z0-9-]{4,28}[a-z0-9]$aws
{object}AWS specific data. Required when `provider` is `aws`.enablePublicAccessCidrs
booleanpublicAccessCidrs
[array]- stringpattern^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
subnetConfiguration
{object}mode
string requiredThe mode of the AWS subnet configurationone ofdefault-subnets-for-azs, explicit-subnetsvpcId
stringId of the VPCsubnets
[array] requiredList of subnets the cluster should be created for. At least 2 must be specified.- string
vpcEgress
booleanIf egress traffic from the cluster should come from a single static egress IP.oci
{object}OCI specific data. Required when `provider` is `oci`.vcnConfiguration
{object} requiredvcnId
string requiredsubnetIdForKubernetesApi
string requiredsubnetIdsForServiceLBs
[array] required- string
azure
{object}Azure specific data. Required when `provider` is `azure`.networking
{object}vnetConfiguration
{object}mode
string requiredThe vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet.one ofcreate-default, custom-vnetvnetId
stringAzure vnetId that should be used for this cluster. By default a new vnet will be created.networkPluginMode
stringOptional setting to configure overlay mode on Azure.one ofoverlayenableAuthorizedIpRanges
booleanbyok
{object}BYOK specific data. Required when `provider` is `byok`.nodePoolProviderIdLabel
string requiredid
string requiredThe ID of clusterstatus
{object}state
{object}state
stringtransitionTime
stringnextUpdateAfter
stringdns
stringAuto-generated dns identifier for this cluster.updatedAt
string requiredThe time the cluster was last updated.createdAt
string requiredThe time the cluster was created.deletionRequested
boolean requiredIndicates if provider resource deletion has been requested.
OR
OR
OR
POST /v1/cloud-providers/clusters
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request POST \
--data '{"name":"GCP Cluster 1","description":"This is a new cluster.","provider":"gcp","region":"europe-west2","kubernetesVersion":"1.30","integrationId":"gcp-integration","nodePools":[{"id":"6aa96121-0345-43ad-bade-af36d540c222","nodeType":"n2-standard-8","nodeCount":3,"autoscaling":{"enabled":true,"min":0,"max":10},"preemptible":false,"diskSize":100}],"settings":{"builds":{"plan":"nf-compute-200"},"registry":{"registryId":"my-registry-credentials"},"requestModifiers":{"services":{"cpu":0.5,"memory":0.8},"jobs":{"cpu":0.5,"memory":0.8},"builds":{"cpu":0.2,"memory":0.5},"addons":{"cpu":0.5,"memory":0.8}}},"aws":{"subnetConfiguration":{"subnets":["eu-west-1a"]}}}' \
https://api.northflank.com/v1/cloud-providers/clusters
Example response
200 OK
JSON
{
"data": {
"name": "GCP Cluster 1",
"description": "This is a new cluster.",
"provider": "gcp",
"region": "europe-west2",
"kubernetesVersion": "1.30",
"integrationId": "gcp-integration",
"nodePools": [
{
"id": "6aa96121-0345-43ad-bade-af36d540c222",
"nodeType": "n2-standard-8",
"nodeCount": 3,
"autoscaling": {
"enabled": true,
"min": 0,
"max": 10
},
"preemptible": false,
"diskSize": 100
}
],
"settings": {
"builds": {
"plan": "nf-compute-200"
},
"registry": {
"registryId": "my-registry-credentials"
},
"requestModifiers": {
"services": {
"cpu": 0.5,
"memory": 0.8
},
"jobs": {
"cpu": 0.5,
"memory": 0.8
},
"builds": {
"cpu": 0.2,
"memory": 0.5
},
"addons": {
"cpu": 0.5,
"memory": 0.8
}
}
},
"aws": {
"subnetConfiguration": {
"subnets": [
"eu-west-1a"
]
}
},
"id": "gcp-cluster-1",
"status": {
"state": {
"state": "initial",
"transitionTime": "2024-05-03T16:40:38.198Z"
}
},
"dns": "xxxxxxxxxx",
"updatedAt": "2021-01-20T11:19:53.175Z",
"createdAt": "2021-01-20T11:19:53.175Z",
"deletionRequested": false
}
}