> ## Documentation Index
> Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create k8s cluster



## OpenAPI

````yaml /api-reference/services_documented/cloud_api.yaml post /cloud/v2/k8s/clusters/{project_id}/{region_id}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-07T20:33:46.548242+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
    x-displayName: Bare Metal
  - name: Container as a Service
    x-displayName: Container as a Service
  - name: Cost Reports
    x-displayName: Cost Reports
  - name: DDoS Protection
    x-displayName: DDoS Protection
  - name: Everywhere Inference
    x-displayName: Everywhere Inference
  - name: Everywhere Inference Apps
    x-displayName: Everywhere Inference Apps
  - name: File Shares
    x-displayName: File Shares
  - name: Floating IPs
    x-displayName: Floating IPs
  - name: Function as a Service
    x-displayName: Function as a Service
  - name: GPU Bare Metal
    x-displayName: GPU Bare Metal
  - name: GPU Virtual
    x-displayName: GPU Virtual
  - name: IP Ranges
    x-displayName: IP Ranges
  - name: Images
    x-displayName: Images
  - name: Instances
    x-displayName: Instances
  - name: Load Balancers
    x-displayName: Load Balancers
  - name: Logging
    x-displayName: Logging
  - name: Managed Kubernetes
    x-displayName: Managed Kubernetes
  - name: Managed PostgreSQL
    x-displayName: Managed PostgreSQL
  - name: Networks
    x-displayName: Networks
  - name: Placement Groups
    x-displayName: Placement Groups
  - name: Projects
    x-displayName: Projects
  - name: Quotas
    x-displayName: Quotas
  - name: Regions
    x-displayName: Regions
  - name: Registry
    x-displayName: Registry
  - name: Reservations
    x-displayName: Reservations
  - name: Reserved IPs
    x-displayName: Reserved IPs
  - name: Routers
    x-displayName: Routers
  - name: SSH Keys
    x-displayName: SSH Keys
  - name: Secrets
    x-displayName: Secrets
  - name: Security Groups
    x-displayName: Security Groups
  - name: Snapshot Schedules
    x-displayName: Snapshot Schedules
  - name: Snapshots
    x-displayName: Snapshots
  - name: Tasks
    x-displayName: Tasks
  - name: User Actions
    x-displayName: User Actions
  - name: User Role Assignments
    x-displayName: User Role Assignments
  - name: Volumes
    x-displayName: Volumes
paths:
  /cloud/v2/k8s/clusters/{project_id}/{region_id}:
    post:
      tags:
        - Managed Kubernetes
      summary: Create k8s cluster
      operationId: K8sClustersViewSetV2.post
      parameters:
        - in: path
          name: project_id
          required: true
          description: Project ID
          schema:
            description: Project ID
            example: 1
            examples:
              - 1
            title: Project Id
            type: integer
        - in: path
          name: region_id
          required: true
          description: Region ID
          schema:
            description: Region ID
            example: 7
            examples:
              - 7
            title: Region Id
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterCreateV2Serializer'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            task_id_list = client.cloud.k8s.clusters.create(
                project_id=1,
                region_id=7,
                keypair="some_keypair",
                name="string",
                pools=[{
                    "flavor_id": "g1-standard-1-2",
                    "min_node_count": 3,
                    "name": "my-pool",
                }],
                version="1.28.1",
            )
            print(task_id_list.tasks)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/cloud\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\ttaskIDList, err := client.Cloud.K8S.Clusters.New(context.TODO(), cloud.K8SClusterNewParams{\n\t\tProjectID: gcore.Int(1),\n\t\tRegionID:  gcore.Int(7),\n\t\tKeypair:   \"some_keypair\",\n\t\tName:      \"string\",\n\t\tPools: []cloud.K8SClusterNewParamsPool{{\n\t\t\tFlavorID:     \"g1-standard-1-2\",\n\t\t\tMinNodeCount: 3,\n\t\t\tName:         \"my-pool\",\n\t\t}},\n\t\tVersion: \"1.28.1\",\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", taskIDList.Tasks)\n}\n"
components:
  schemas:
    K8sClusterCreateV2Serializer:
      properties:
        add_ons:
          $ref: '#/components/schemas/K8sClusterAddonsCreateV2Serializer'
          description: Cluster add-ons configuration
          examples:
            - slurm:
                enabled: true
                file_share_id: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
                ssh_key_ids:
                  - 25735292-bd97-44b0-a1af-d7eab876261d
                  - efc01f3a-35b9-4385-89f9-e38439093ee7
                worker_count: 2
          x-stainless-terraform-configurability: computed_optional
        authentication:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterAuthenticationCreateV2Serializer'
            - type: 'null'
          default: null
          description: Authentication settings
          examples:
            - oidc:
                client_id: kubernetes
                groups_claim: groups
                groups_prefix: 'oidc:'
                issuer_url: https://accounts.provider.example
                required_claims:
                  claim: value
                signing_algs:
                  - RS256
                  - RS512
                username_claim: sub
                username_prefix: 'oidc:'
          x-stainless-terraform-configurability: computed_optional
        autoscaler_config:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: null
          description: >-
            Cluster autoscaler configuration.


            It allows you to override the default cluster-autoscaler parameters
            provided by the platform with your preferred values.


            Supported parameters (in alphabetical order):

            - balance-similar-node-groups (boolean: true/false) - Detect similar
            node groups and balance the number of nodes between them.

            - expander (string: random, most-pods, least-waste, price, priority,
            grpc) - Type of node group expander to be used in scale up.
            Specifying multiple values separated by commas will call the
            expanders in succession until there is only one option remaining.

            - expendable-pods-priority-cutoff (float) - Pods with priority below
            cutoff will be expendable. They can be killed without any
            consideration during scale down and they don't cause scale up. Pods
            with null priority (PodPriority disabled) are non expendable.

            - ignore-daemonsets-utilization (boolean: true/false) - Should CA
            ignore DaemonSet pods when calculating resource utilization for
            scaling down.

            - max-empty-bulk-delete (integer) - Maximum number of empty nodes
            that can be deleted at the same time.

            - max-graceful-termination-sec (integer) - Maximum number of seconds
            CA waits for pod termination when trying to scale down a node.

            - max-node-provision-time (duration: e.g., '15m') - The default
            maximum time CA waits for node to be provisioned - the value can be
            overridden per node group.

            - max-total-unready-percentage (float) - Maximum percentage of
            unready nodes in the cluster. After this is exceeded, CA halts
            operations.

            - new-pod-scale-up-delay (duration: e.g., '10s') - Pods less than
            this old will not be considered for scale-up. Can be increased for
            individual pods through annotation.

            - ok-total-unready-count (integer) - Number of allowed unready
            nodes, irrespective of max-total-unready-percentage.

            - scale-down-delay-after-add (duration: e.g., '10m') - How long
            after scale up that scale down evaluation resumes.

            - scale-down-delay-after-delete (duration: e.g., '10s') - How long
            after node deletion that scale down evaluation resumes.

            - scale-down-delay-after-failure (duration: e.g., '3m') - How long
            after scale down failure that scale down evaluation resumes.

            - scale-down-enabled (boolean: true/false) - Should CA scale down
            the cluster.

            - scale-down-unneeded-time (duration: e.g., '10m') - How long a node
            should be unneeded before it is eligible for scale down.

            - scale-down-unready-time (duration: e.g., '20m') - How long an
            unready node should be unneeded before it is eligible for scale
            down.

            - scale-down-utilization-threshold (float) - The maximum value
            between the sum of cpu requests and sum of memory requests of all
            pods running on the node divided by node's corresponding allocatable
            resource, below which a node can be considered for scale down.

            - scan-interval (duration: e.g., '10s') - How often cluster is
            reevaluated for scale up or down.

            - skip-nodes-with-custom-controller-pods (boolean: true/false) - If
            true cluster autoscaler will never delete nodes with pods owned by
            custom controllers.

            - skip-nodes-with-local-storage (boolean: true/false) - If true
            cluster autoscaler will never delete nodes with pods with local
            storage, e.g. EmptyDir or HostPath.

            - skip-nodes-with-system-pods (boolean: true/false) - If true
            cluster autoscaler will never delete nodes with pods from
            kube-system (except for DaemonSet or mirror pods).
          examples:
            - scale-down-unneeded-time: 5m
          title: Autoscaler Config
          x-stainless-terraform-configurability: computed_optional
        cni:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterCNICreateV2Serializer'
            - type: 'null'
          default: null
          description: Cluster CNI settings
          examples:
            - cilium:
                encryption: true
                hubble_relay: true
                hubble_ui: true
                lb_acceleration: true
                lb_mode: snat
                tunnel: geneve
              provider: cilium
        csi:
          $ref: '#/components/schemas/K8sClusterCSICreateV2Serializer'
          description: Container Storage Interface (CSI) driver settings
          examples:
            - nfs:
                vast_enabled: true
        ddos_profile:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterDdosProfileCreateV2Serializer'
            - type: 'null'
          default: null
          description: Advanced DDoS Protection profile
          examples:
            - enabled: true
              fields:
                - base_field: 10
                  field_value:
                    - 45046
                    - 45047
              profile_template: 29
        fixed_network:
          anyOf:
            - type: string
            - type: 'null'
          default: ''
          description: The network of the cluster
          examples:
            - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: Fixed Network
        fixed_subnet:
          anyOf:
            - type: string
            - type: 'null'
          default: ''
          description: The subnet of the cluster
          examples:
            - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: Fixed Subnet
        is_ipv6:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          description: Enable public v6 address
          examples:
            - true
            - false
          title: Is Ipv6
        keypair:
          description: The keypair of the cluster
          example: some_keypair
          examples:
            - some_keypair
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Keypair
          type: string
        logging:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterLoggingCreateV2Serializer'
            - type: 'null'
          default: null
          description: Logging configuration
          examples:
            - destination_region_id: 1
              enabled: true
              retention_policy:
                period: 45
              topic_name: my-log-name
            - null
        name:
          description: The name of the cluster
          example: string
          examples:
            - string
          maxLength: 20
          minLength: 1
          pattern: ^[a-z][a-z0-9\-]{0,18}[a-z0-9]$
          title: Name
          type: string
        pods_ip_pool:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The IP pool for the pods
          examples:
            - 172.16.0.0/18
          title: Pods Ip Pool
          x-stainless-terraform-configurability: computed_optional
        pods_ipv6_pool:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The IPv6 pool for the pods
          examples:
            - 2a03:90c0:88:393::/64
          title: Pods Ipv6 Pool
          x-stainless-terraform-configurability: computed_optional
        pools:
          description: The pools of the cluster
          items:
            $ref: '#/components/schemas/K8sClusterPoolCreateV2Serializer'
          minItems: 1
          title: Pools
          type: array
        services_ip_pool:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The IP pool for the services
          examples:
            - 172.24.0.0/18
          title: Services Ip Pool
          x-stainless-terraform-configurability: computed_optional
        services_ipv6_pool:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The IPv6 pool for the services
          examples:
            - 2a03:90c0:88:381::/108
          title: Services Ipv6 Pool
          x-stainless-terraform-configurability: computed_optional
        version:
          description: The version of the k8s cluster
          example: 1.28.1
          examples:
            - 1.28.1
          title: Version
          type: string
      required:
        - keypair
        - name
        - pools
        - version
      title: K8sClusterCreateV2Serializer
      type: object
    TaskIDsSerializer:
      properties:
        tasks:
          description: >-
            List of task IDs representing asynchronous operations. Use these IDs
            to monitor operation progress:

            - `GET /v1/tasks/{task_id}` - Check individual task status and
            details

            Poll task status until completion (`FINISHED`/`ERROR`) before
            proceeding with dependent operations.
          example:
            - d478ae29-dedc-4869-82f0-96104425f565
          examples:
            - - d478ae29-dedc-4869-82f0-96104425f565
          items:
            type: string
          title: Tasks
          type: array
      required:
        - tasks
      title: TaskIDsSerializer
      type: object
    K8sClusterAddonsCreateV2Serializer:
      properties:
        slurm:
          $ref: '#/components/schemas/K8sClusterSlurmAddonEnableV2Serializer'
          description: Slurm add-on configuration
          x-stainless-terraform-configurability: computed_optional
      title: K8sClusterAddonsCreateV2Serializer
      type: object
    K8sClusterAuthenticationCreateV2Serializer:
      properties:
        oidc:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterOIDCV2Serializer'
            - type: 'null'
          default: null
          description: OIDC authentication settings
          x-stainless-terraform-configurability: computed_optional
      title: K8sClusterAuthenticationCreateV2Serializer
      type: object
    K8sClusterCNICreateV2Serializer:
      properties:
        cilium:
          anyOf:
            - $ref: '#/components/schemas/K8sClusterCiliumV2Serializer'
            - type: 'null'
          default: null
          description: Cilium settings
        provider:
          $ref: '#/components/schemas/K8sClusterCNI'
          default: calico
          description: CNI provider
          examples:
            - calico
      title: K8sClusterCNICreateV2Serializer
      type: object
    K8sClusterCSICreateV2Serializer:
      properties:
        nfs:
          $ref: '#/components/schemas/K8sClusterNFSCreateV2Serializer'
          description: NFS CSI driver settings
          examples:
            - vast_enabled: true
      title: K8sClusterCSICreateV2Serializer
      type: object
    K8sClusterDdosProfileCreateV2Serializer:
      properties:
        enabled:
          description: Enable advanced DDoS protection
          example: true
          examples:
            - true
          title: Enabled
          type: boolean
        fields:
          default: []
          description: DDoS profile parameters
          example:
            - base_field: 10
              field_value:
                - 45046
                - 45047
          examples:
            - - base_field: 10
                field_value:
                  - 45046
                  - 45047
          items:
            $ref: '#/components/schemas/K8sClusterDdosProfileFieldV2Serializer'
          title: Fields
          type: array
        profile_template:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: DDoS profile template ID
          examples:
            - 29
          title: Profile Template
        profile_template_name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: DDoS profile template name
          examples: []
          title: Profile Template Name
      required:
        - enabled
      title: K8sClusterDdosProfileCreateV2Serializer
      type: object
    K8sClusterLoggingCreateV2Serializer:
      properties:
        destination_region_id:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
            - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
            - true
            - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
            - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
            - type: 'null'
          default: null
          description: The logs retention policy
          examples:
            - period: 45
        topic_name:
          anyOf:
            - maxLength: 223
              minLength: 1
              pattern: >-
                ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
              type: string
            - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
            - my-log-name
          title: Topic Name
      title: K8sClusterLoggingCreateV2Serializer
      type: object
    K8sClusterPoolCreateV2Serializer:
      properties:
        auto_healing_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          description: Enable auto healing
          examples:
            - true
            - false
          title: Auto Healing Enabled
        boot_volume_size:
          anyOf:
            - maximum: 2000
              minimum: 10
              type: integer
            - type: 'null'
          default: null
          description: Boot volume size
          examples:
            - 50
          title: Boot Volume Size
          x-stainless-terraform-configurability: computed_optional
        boot_volume_type:
          anyOf:
            - $ref: '#/components/schemas/VolumeTypeName'
            - type: 'null'
          default: null
          description: Boot volume type
          examples:
            - ssd_hiiops
          x-stainless-terraform-configurability: computed_optional
        crio_config:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: null
          description: Cri-o configuration for pool nodes
          examples:
            - default-ulimits: nofile=1024:2048
          title: Crio Config
          x-stainless-terraform-configurability: computed_optional
        flavor_id:
          description: Flavor ID
          example: g1-standard-1-2
          examples:
            - g1-standard-1-2
          title: Flavor Id
          type: string
        is_public_ipv4:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          description: Enable public v4 address
          examples:
            - true
            - false
          title: Is Public Ipv4
        kubelet_config:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: null
          description: Kubelet configuration for pool nodes
          examples:
            - podMaxPids: '4096'
          title: Kubelet Config
          x-stainless-terraform-configurability: computed_optional
        labels:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: {}
          description: Labels applied to the cluster pool
          examples:
            - my-label: foo
          title: Labels
        max_node_count:
          anyOf:
            - maximum: 200
              minimum: 1
              type: integer
            - type: 'null'
          default: null
          description: Maximum node count
          examples:
            - 5
          title: Max Node Count
          x-stainless-terraform-configurability: computed_optional
        min_node_count:
          description: Minimum node count
          example: 3
          examples:
            - 3
          maximum: 200
          minimum: 1
          title: Min Node Count
          type: integer
          x-stainless-terraform-configurability: computed_optional
        name:
          description: Pool's name
          example: my-pool
          examples:
            - my-pool
          maxLength: 20
          minLength: 1
          pattern: ^[a-z][a-z0-9\-]{0,18}[a-z0-9]$
          title: Name
          type: string
        servergroup_policy:
          anyOf:
            - $ref: '#/components/schemas/ServerGroupPolicyEnum'
            - type: 'null'
          default: null
          description: 'Server group policy: anti-affinity, soft-anti-affinity or affinity'
        taints:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: {}
          description: Taints applied to the cluster pool
          examples:
            - my-taint: bar:NoSchedule
          title: Taints
      required:
        - flavor_id
        - min_node_count
        - name
      title: K8sClusterPoolCreateV2Serializer
      type: object
    K8sClusterSlurmAddonEnableV2Serializer:
      properties:
        enabled:
          const: true
          description: >-
            The Slurm add-on will be enabled in the cluster.


            This add-on is only supported in clusters running Kubernetes v1.31
            and v1.32 with at least 1 GPU cluster pool and VAST NFS support
            enabled.
          example: true
          examples:
            - true
          title: Enabled
          type: boolean
          x-stainless-terraform-configurability: computed_optional
        file_share_id:
          description: >-
            ID of a VAST file share to be used as Slurm storage.


            The Slurm add-on will create separate Persistent Volume Claims for
            different purposes (controller spool, worker spool, jail) on that
            file share.


            The file share must have `root_squash` disabled, while `path_length`
            and `allowed_characters` settings must be set to `NPL`.
          example: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
          examples:
            - cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
          format: uuid4
          title: File Share Id
          type: string
          x-stainless-terraform-configurability: computed_optional
        ssh_key_ids:
          description: >-
            IDs of SSH keys to authorize for SSH connection to Slurm login
            nodes.
          example:
            - 25735292-bd97-44b0-a1af-d7eab876261d
            - efc01f3a-35b9-4385-89f9-e38439093ee7
          examples:
            - - 25735292-bd97-44b0-a1af-d7eab876261d
              - efc01f3a-35b9-4385-89f9-e38439093ee7
          items:
            format: uuid4
            type: string
          minItems: 1
          title: Ssh Key Ids
          type: array
          x-stainless-terraform-configurability: computed_optional
        worker_count:
          description: >-
            Size of the worker pool, i.e. the number of Slurm worker nodes.


            Each Slurm worker node will be backed by a Pod scheduled on one of
            cluster's GPU nodes.


            Note: Downscaling (reducing worker count) is not supported.
          example: 2
          examples:
            - 2
          minimum: 1
          title: Worker Count
          type: integer
          x-stainless-terraform-configurability: computed_optional
      required:
        - enabled
        - file_share_id
        - ssh_key_ids
        - worker_count
      title: K8sClusterSlurmAddonEnableV2Serializer
      type: object
    K8sClusterOIDCV2Serializer:
      properties:
        client_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Client ID
          examples:
            - kubernetes
          title: Client Id
          x-stainless-terraform-configurability: computed_optional
        groups_claim:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: JWT claim to use as the user's group
          examples:
            - groups
          title: Groups Claim
          x-stainless-terraform-configurability: computed_optional
        groups_prefix:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Prefix prepended to group claims
          examples:
            - 'oidc:'
          title: Groups Prefix
          x-stainless-terraform-configurability: computed_optional
        issuer_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Issuer URL
          examples:
            - https://accounts.provider.example
          title: Issuer Url
          x-stainless-terraform-configurability: computed_optional
        required_claims:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          default: null
          description: Key-value pairs that describe required claims in the token
          examples:
            - claim: value
          title: Required Claims
          x-stainless-terraform-configurability: computed_optional
        signing_algs:
          anyOf:
            - items:
                $ref: '#/components/schemas/OIDCSigningAlgorithmEnum'
              type: array
            - type: 'null'
          default: null
          description: Accepted signing algorithms
          examples:
            - - RS512
          title: Signing Algs
          x-stainless-terraform-configurability: computed_optional
        username_claim:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: JWT claim to use as the user name
          examples:
            - sub
          title: Username Claim
          x-stainless-terraform-configurability: computed_optional
        username_prefix:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Prefix prepended to username claims to prevent clashes
          examples:
            - 'oidc:'
          title: Username Prefix
          x-stainless-terraform-configurability: computed_optional
      title: K8sClusterOIDCV2Serializer
      type: object
    K8sClusterCiliumV2Serializer:
      properties:
        encryption:
          default: false
          description: Wireguard encryption
          title: Encryption
          type: boolean
        hubble_relay:
          default: false
          description: Hubble Relay
          title: Hubble Relay
          type: boolean
        hubble_ui:
          default: false
          description: Hubble UI
          title: Hubble Ui
          type: boolean
        lb_acceleration:
          default: false
          description: LoadBalancer acceleration
          title: Lb Acceleration
          type: boolean
        lb_mode:
          $ref: '#/components/schemas/K8sClusterCiliumLBMode'
          default: snat
          description: LoadBalancer mode
          examples:
            - hybrid
            - snat
            - dsr
        mask_size:
          default: 24
          description: Mask size for IPv4
          example: 24
          examples:
            - 24
          title: Mask Size
          type: integer
        mask_size_v6:
          default: 120
          description: Mask size for IPv6
          example: 120
          examples:
            - 120
          title: Mask Size V6
          type: integer
        routing_mode:
          $ref: '#/components/schemas/K8sClusterCiliumRoutingMode'
          default: tunnel
          description: Routing mode
          examples:
            - tunnel
        tunnel:
          $ref: '#/components/schemas/K8sClusterCiliumTunnel'
          default: geneve
          description: CNI provider
          examples:
            - geneve
      title: K8sClusterCiliumV2Serializer
      type: object
    K8sClusterCNI:
      enum:
        - calico
        - cilium
      title: K8sClusterCNI
      type: string
    K8sClusterNFSCreateV2Serializer:
      properties:
        vast_enabled:
          default: false
          description: >-
            Enable or disable VAST NFS integration. The default value is
            `false`. When set to `true`, a dedicated StorageClass will be
            created in the cluster for each VAST NFS file share defined in the
            cloud. All file shares created prior to cluster creation will be
            available immediately, while those created afterward may take a few
            minutes for to appear.
          example: true
          examples:
            - true
          title: Vast Enabled
          type: boolean
      title: K8sClusterNFSCreateV2Serializer
      type: object
    K8sClusterDdosProfileFieldV2Serializer:
      properties:
        base_field:
          description: ''
          example: 10
          examples:
            - 10
          title: Base Field
          type: integer
        field_value:
          anyOf:
            - {}
            - type: 'null'
          default: null
          description: Complex value for the DDoS profile field
          examples:
            - - 45046
              - 45047
          title: Field Value
      required:
        - base_field
      title: K8sClusterDdosProfileFieldV2Serializer
      type: object
    LaasIndexRetentionPolicyPydanticSerializer:
      properties:
        period:
          anyOf:
            - exclusiveMinimum: 0
              maximum: 1825
              type: integer
            - type: 'null'
          description: Duration of days for which logs must be kept.
          examples:
            - 45
          title: Period
      required:
        - period
      title: LaasIndexRetentionPolicyPydanticSerializer
      type: object
    VolumeTypeName:
      enum:
        - cold
        - ssd_hiiops
        - ssd_local
        - ssd_lowlatency
        - standard
        - ultra
      title: VolumeTypeName
      type: string
    ServerGroupPolicyEnum:
      enum:
        - affinity
        - anti-affinity
        - soft-anti-affinity
      title: ServerGroupPolicyEnum
      type: string
    OIDCSigningAlgorithmEnum:
      enum:
        - ES256
        - ES384
        - ES512
        - PS256
        - PS384
        - PS512
        - RS256
        - RS384
        - RS512
      title: OIDCSigningAlgorithmEnum
      type: string
    K8sClusterCiliumLBMode:
      enum:
        - dsr
        - hybrid
        - snat
      title: K8sClusterCiliumLBMode
      type: string
    K8sClusterCiliumRoutingMode:
      enum:
        - native
        - tunnel
      title: K8sClusterCiliumRoutingMode
      type: string
    K8sClusterCiliumTunnel:
      enum:
        - ''
        - geneve
        - vxlan
      title: K8sClusterCiliumTunnel
      type: string
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````