Cloud Providers /
Get cluster
Required permission
Account > Cloud > Clusters > Read
Path parameters
- clusterId string requiredID of the cluster
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, coreweave, aiven, backblaze, byok
- region 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}
- storageClasses [array]
- {object}
- id string required
- name string required
- description string
- type stringone ofstorage-class, snapshot-class
- kubernetesName string required
- defaultSnapshotClass string
- options {object}
- capabilities {object}
- expansion booleanIncreasing volume size after provisioning.
- snapshot booleanPoint in time snapshotting of volumes.
- accessModes {object}
- ReadWriteOnce booleanAccess mode where a volume is exclusively attached to a single pod at a time.
- ReadWriteMany booleanAccess mode where a volume can be attached to multiple single pods at a time for read and write operations.
- storageSize {object}
- minValidSize integerEnforces a minimum storage size per addon or volume.min1
- maxValidSize integerEnforces a maximum storage size per addon or volume.min1
- suggestedOptions [array]Specific storage size options to suggest in the UI.
- integermin1
- platform {object}
- supportedResources [array]
- stringone ofaddon, volume, build-cache
- snapshotClasses [array]
- {object}
- id string required
- name string required
- description string
- kubernetesName string required
- nodePools (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 requiredmin1
- memory integer requiredmin1
- gcp {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.min1
- nodeCount integer requiredNumber of nodes to the node pool should be provisioned with.min0max250
- autoscaling {object}Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature.
- enabled boolean
- min integermin0max249
- max integermin1max250
- computeResources {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.min1
- preemptible booleanConfigures node pool with preemptible / spot instances if enabled.
- diskType stringThe disk type to use.
- diskSize integer requiredDisk size in GBmin1
- availabilityZones [array]Zones 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 pool
- allowJobs booleanAllow jobs to schedule to this node pool
- onlyGpuJobs booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
- allowServices booleanAllow services to schedule to this node pool
- onlyGpuServices booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
- allowAddons booleanAllow addons to schedule to this node pool
- allowBuilds booleanAllow builds to schedule to this node pool
- onlyGpuBuilds booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
- allowCeph booleanAllow the placement of Ceph pods
- labels {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.min1
- mig {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.min1
- count integerNumber of GPUs per node.min1
- defaultPool 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 pool
- allowJobs booleanAllow jobs to schedule to this node pool
- onlyGpuJobs booleanRestrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
- allowServices booleanAllow services to schedule to this node pool
- onlyGpuServices booleanRestrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
- allowAddons booleanAllow addons to schedule to this node pool
- allowBuilds booleanAllow builds to schedule to this node pool
- onlyGpuBuilds booleanRestrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
- allowCeph booleanAllow the placement of Ceph pods
- platform {object}
- architecture stringPlatform architecture of the underlying node type.one ofamd64, arm64
- labels {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-cluster
- plan 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]+)*)?$
- caching {object}Cache settings for builds
- allow booleanWhether to allow local disk based caching for builds.
- storageClassName stringStorage class used by default for local disk based caching.
- registry {object}
- mode stringone ofpaas, self-hosted
- registryId 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 ofloki
- loki {object}
- storageType string requiredone ofs3
- s3BucketName string required
- s3AccessKey string required
- s3SecretKey string required
- s3Region string required
- {object}Logging via Loki (GCS storage).
- mode string requiredone ofloki
- loki {object}
- storageType string requiredone ofgcs
- gcsBucketName string required
- gcpIntegrationId string requiredpattern^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
- vanityDomains {object}
- apps {object}
- zoneName string required
- integrationId string required
- customDomains {object}
- zoneName string required
- integrationId string required
- loadBalancers {object}
- zoneName string required
- integrationId string required
- infrastructure {object}
- workloads {object}
- runtimeClass stringone ofnone, gvisor, kata-clh, kata-qemu
- builds {object}
- runtimeClass stringone ofnone, gvisor, kata-clh, kata-qemu
- installKata boolean
- installGvisor boolean
- cleanupVolumes boolean
- cleanupSnapshots boolean
- cephStorageProvider {object}
- enabled boolean
- resources {object}
- cpu numberConfigure the CPU resources per Ceph replicamin1max20
- memory numberConfigure the memory resources per Ceph replicamin4096max40960
- storage numberConfigure the data disk size per Ceph replicamin102400max5242880
- enableMultiReadWriteStorage 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 services
- cpu number requiredmin0.2max1
- memory number requiredmin0.4max1
- jobs {object}Request modifiers for jobs
- cpu number requiredmin0.2max1
- memory number requiredmin0.4max1
- builds {object}Request modifiers for builds
- cpu number requiredmin0.1max1
- memory number requiredmin0.1max1
- addons {object}Request modifiers for addons
- cpu number requiredmin0.2max1
- memory number requiredmin0.4max1
- restrictions {object}BYOC restrictions configuration for controlling team access
- enabled boolean requiredEnable or disable BYOC restrictions for this entity
- teams [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 string
- subnetwork string
- enableAuthorizedIpRanges boolean
- projectId stringGCP Project IDpattern^[a-z][a-z0-9-]{4,28}[a-z0-9]$
- aws {object}AWS specific data. Required when `provider` is `aws`.
- enablePublicAccessCidrs boolean
- publicAccessCidrs [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-subnets
- vpcId stringId of the VPC
- subnets [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} required
- vcnId string required
- subnetIdForKubernetesApi string required
- subnetIdsForServiceLBs [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-vnet
- vnetId 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 ofoverlay
- enableAuthorizedIpRanges boolean
- coreweave {object}CoreWeave specific data. Required when `provider` is `coreweave`.
- zone string requiredAZ of the cluster
- network {object}Network settings
- networkMode string requiredone ofcreate-default, custom
- vpcId string
- customPrefixNames {object}
- podCidrName string required
- serviceCidrName string required
- internalLbCidrNames [array] required
- string
- byok {object}BYOK specific data. Required when `provider` is `byok`.
- nodePoolProviderIdLabel string required
- id string requiredThe ID of cluster
- status {object}
- state {object}
- state string
- transitionTime string
- nextUpdateAfter string
- dns 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
GET /v1/cloud-providers/clusters/{clusterId}
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
  }
}