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

# create

<div>
  <h2>Name</h2>

  <p style={{ paddingLeft: "4ch" }}>
    <code>nebius mk8s node-group create</code>
  </p>
</div>

<div>
  <h2>Synopsis</h2>

  <p style={{ paddingLeft: "4ch" }}>
    ```
    nebius mk8s node-group create
      --auto-repair-conditions
      --autoscaling-max-node-count
      --autoscaling-min-node-count
      --fixed-node-count
      --labels
      --name
      --parent-id [required]
      --resource-version
      --strategy-drain-timeout
      --strategy-max-surge-count
      --strategy-max-surge-percent
      --strategy-max-unavailable-count
      --strategy-max-unavailable-percent
      --template-boot-disk-block-size-bytes
      --template-boot-disk-size-bytes
      --template-boot-disk-size-gibibytes
      --template-boot-disk-size-kibibytes
      --template-boot-disk-size-mebibytes
      --template-boot-disk-type
      --template-cloud-init-user-data
      --template-filesystems
      --template-gpu-cluster-id
      --template-gpu-settings-drivers-preset
      --template-local-disks-config-kubelet-ephemeral
      --template-local-disks-config-none
      --template-local-disks-passthrough-group-requested
      --template-metadata-labels
      --template-network-interfaces
      --template-os
      --template-preemptible
      --template-reservation-policy-policy
      --template-reservation-policy-reservation-ids
      --template-resources-platform [required]
      --template-resources-preset [required]
      --template-service-account-id
      --template-taints
      --version
      --async
      -i, --interactive
    ```
  </p>
</div>

<div>
  <h2>Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--auto-repair-conditions` (json)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Conditions that determine whether a node should be auto repaired.
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      (structure)
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>disabled</strong> -> (bool)
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        When true, disables the default auto-repair condition rules.
      </p>

      <p style={{ paddingLeft: "6ch" }}>Mutually exclusive with: <em>timeout</em>.</p>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>status</strong> -> (string)
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        Node condition status.
      </p>

      <p style={{ paddingLeft: "6ch" }}>A value must be one of:</p>

      <ul style={{ paddingLeft: "8ch" }}>
        <li>
          <code>"condition\_status\_unspecified"</code>
        </li>

        <li>
          <code>"true"</code>
        </li>

        <li>
          <code>"false"</code>
        </li>

        <li>
          <code>"unknown"</code>
        </li>
      </ul>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>timeout</strong> -> (duration)<em>\[google.protobuf.Duration]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        The duration after which the node is automatically repaired if the condition remains in the specified status.
      </p>

      <p style={{ paddingLeft: "6ch" }}>Mutually exclusive with: <em>disabled</em>.</p>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>type</strong> -> (string)<em>\[required]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        Node condition type.
      </p>
    </p>

    <p style={{ paddingLeft: "4ch" }}>JSON Schema:</p>

    <p style={{ paddingLeft: "4ch" }}>
      ```json theme={null}
      [{                                                                 
        "disabled": false,                                               
        "status": "condition_status_unspecified"|"true"|"false"|"unknown",
        "type": ""                                                       
      }]
      ```
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--autoscaling-max-node-count` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--fixed-node-count`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--autoscaling-min-node-count` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--fixed-node-count`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--fixed-node-count` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Number of nodes in the group. Can be changed manually at any time.
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--autoscaling-max-node-count`, `--autoscaling-min-node-count`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--labels` (string->string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Labels associated with the resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--name` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Human readable name for the resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--parent-id` (string)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Identifier of the parent resource to which the resource belongs.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--resource-version` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Version of the resource for safe concurrent modifications and consistent reads.<br />
      Positive and monotonically increases on each resource spec change (but *not* on each change of the<br />
      resource's container(s) or status).<br />
      Service allows zero value or current.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--strategy-drain-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Maximum amount of time that the service will spend on attempting gracefully draining a node (evicting it's pods), before<br />
      falling back to pod deletion.<br />
      By default, node can be drained unlimited time.<br />
      Important consequence of that is if PodDisruptionBudget doesn't allow to evict a pod,<br />
      then NodeGroup update with node re-creation will hung on that pod eviction.<br />
      Note, that it is different from `kubectl drain --timeout`.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--strategy-max-surge-count` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--strategy-max-surge-percent`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--strategy-max-surge-percent` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--strategy-max-surge-count`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--strategy-max-unavailable-count` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--strategy-max-unavailable-percent`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--strategy-max-unavailable-percent` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--strategy-max-unavailable-count`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-block-size-bytes` (int64)
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-size-bytes` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-boot-disk-size-gibibytes`, `--template-boot-disk-size-kibibytes`, `--template-boot-disk-size-mebibytes`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-size-gibibytes` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-boot-disk-size-bytes`, `--template-boot-disk-size-kibibytes`, `--template-boot-disk-size-mebibytes`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-size-kibibytes` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-boot-disk-size-bytes`, `--template-boot-disk-size-gibibytes`, `--template-boot-disk-size-mebibytes`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-size-mebibytes` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-boot-disk-size-bytes`, `--template-boot-disk-size-gibibytes`, `--template-boot-disk-size-kibibytes`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-boot-disk-type` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>A value must be one of:</p>

    <ul style={{ paddingLeft: "8ch" }}>
      <li>
        <code>unspecified</code>
      </li>

      <li>
        <code>network\_ssd</code>
      </li>

      <li>
        <code>network\_hdd</code>
      </li>

      <li>
        <code>network\_ssd\_io\_m3</code>
      </li>

      <li>
        <code>network\_ssd\_non\_replicated</code>
      </li>
    </ul>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-cloud-init-user-data` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Cloud-init user-data<br />
      Should contain at least one SSH key.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-filesystems` (json)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Static attachments of Compute Filesystem.<br />
      Can be used as a workaround, until CSI for Compute Disk and Filesystem will be available.
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      (structure)
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>attach\_mode</strong> -> (string)<em>\[required]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>A value must be one of:</p>

      <ul style={{ paddingLeft: "8ch" }}>
        <li>
          <code>"unspecified"</code>
        </li>

        <li>
          <code>"read\_only"</code>
        </li>

        <li>
          <code>"read\_write"</code>
        </li>
      </ul>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>existing\_filesystem</strong> -> (structure)
      </p>

      <p style={{ paddingLeft: "2ch" }}>
        <p style={{ paddingLeft: "4ch" }}>
          <strong>id</strong> -> (string)<em>\[required]</em>
        </p>
      </p>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>mount\_tag</strong> -> (string)<em>\[required]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        Specifies the user-defined identifier, allowing to use it as a device in mount command.
      </p>
    </p>

    <p style={{ paddingLeft: "4ch" }}>JSON Schema:</p>

    <p style={{ paddingLeft: "4ch" }}>
      ```json theme={null}
      [{                                                     
        "attach_mode": "unspecified"|"read_only"|"read_write",
        "existing_filesystem": {
          "id": ""              
        },
        "mount_tag": ""                                      
      }]
      ```
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-gpu-cluster-id` (string)
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-gpu-settings-drivers-preset` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Identifier of the predefined set of drivers included in the ComputeImage deployed on ComputeInstances that are part of the NodeGroup.<br />
      Supported presets for different platform / Kubernetes version combinations:<br />

      * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`:<br />
        * `version`: 1.30 → `"cuda12"` (CUDA 12.4)<br />
        * `version`: 1.31 → `"cuda12"` (CUDA 12.4), `"cuda12.4"`, `"cuda12.8"`<br />
      * `gpu-b200-sxm`:<br />
        * `version`: 1.31 → `"cuda12"` (CUDA 12.8), `"cuda12.8"`<br />
      * `gpu-b200-sxm-a`:<br />
        * `version`: 1.31 → `"cuda12.8"`.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-local-disks-config-kubelet-ephemeral` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Kubelet\_ephemeral: combine all local disks into a single storage volume and use it as kubelet's local ephemeral storage on the node<br />
      See also [https://kubernetes.io/docs/concepts/storage/ephemeral-storage/](https://kubernetes.io/docs/concepts/storage/ephemeral-storage/)<br />

      <br />

      The default when LocalDisksSpecConfig is not set.
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-local-disks-config-none`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-local-disks-config-none` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      None: "do nothing" - local disks will be provisioned as on a regular compute instance.
    </p>

    <p style={{ paddingLeft: "4ch" }}>Mutually exclusive with: `--template-local-disks-config-kubelet-ephemeral`.</p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-local-disks-passthrough-group-requested` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Passthrough local disks from the underlying host.<br />

      <br />

      Devices are expected to appear in the guest as NVMe devices (nvme0, nvme1, ...),<br />
      but the exact number depends on the preset.<br />
      Enabled only when this field is explicitly set.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-metadata-labels` (string->string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Kubernetes Node labels.<br />

      <br />

      Keys and values must follow Kubernetes label syntax:<br />
      [https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)<br />

      <br />

      For now change will not be propagated to existing nodes, so will be applied only to Kubernetes Nodes created after the field change.<br />
      That behavior may change later.<br />
      So, for now you will need to manually set them to existing nodes, if that is needed.<br />

      <br />

      System labels containing "kubernetes.io" and "k8s.io" will be ignored.<br />
      Field change will NOT trigger NodeGroup roll out.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-network-interfaces` (json)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      (structure)
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>public\_ip\_address</strong> -> (structure)<em>\[meaningful\_empty\_value]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        Parameters for Public IPv4 address associated with the interface.<br />
        Set to empty value, to enable it.
      </p>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>subnet\_id</strong> -> (string)<em>\[non\_empty\_default]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>
        Nebius VPC Subnet ID that will be attached to a node cloud instance network interface.<br />
        By default Cluster control plane subnet\_id used.<br />
        Subnet should be located in the same network with control plane.
      </p>
    </p>

    <p style={{ paddingLeft: "4ch" }}>JSON Schema:</p>

    <p style={{ paddingLeft: "4ch" }}>
      ```json theme={null}
      [{                      
        "public_ip_address": {
        },
        "subnet_id": ""       
      }]
      ```
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-os` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      OS version that will be used to create the boot disk of Compute Instances in the NodeGroup.<br />
      Supported platform / Kubernetes version / OS / driver presets combinations<br />

      * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`, `cpu-e1`, `cpu-e2`, `cpu-d3`:<br />
        * `drivers_preset`: `""`<br />
          * `version`: 1.30 → `"ubuntu22.04"`<br />
          * `version`: 1.31 → `"ubuntu22.04"` (default), `"ubuntu24.04"`<br />
      * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`:<br />
        * `drivers_preset`: `"cuda12"` (CUDA 12.4)<br />
          * `version`: 1.30, 1.31 → `"ubuntu22.04"`<br />
        * `drivers_preset`: `"cuda12.4"`<br />
          * `version`: 1.31 → `"ubuntu22.04"`<br />
        * `drivers_preset`: `"cuda12.8"`<br />
          * `version`: 1.31 → `"ubuntu24.04"`<br />
      * `gpu-b200-sxm`:<br />
        * `drivers_preset`: `""`<br />
          * `version`: 1.30, 1.31 → `"ubuntu24.04"`<br />
        * `drivers_preset`: `"cuda12"` (CUDA 12.8)<br />
          * `version`: 1.30, 1.31 → `"ubuntu24.04"`<br />
        * `drivers_preset`: `"cuda12.8"`<br />
          * `version`: 1.31 → `"ubuntu24.04"`<br />
      * `gpu-b200-sxm-a`:<br />
        * `drivers_preset`: `""`<br />
          * `version`: 1.31 → `"ubuntu24.04"`<br />
        * `drivers_preset`: `"cuda12.8"`<br />
          * `version`: 1.31 → `"ubuntu24.04"`.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-preemptible` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Configures whether the nodes in the group are preemptible.<br />
      Set to empty value to enable preemptible nodes.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-reservation-policy-policy` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>A value must be one of:</p>

    <ul style={{ paddingLeft: "8ch" }}>
      <li>
        <code>auto</code>
      </li>

      <li>
        <code>forbid</code>
      </li>

      <li>
        <code>strict</code>
      </li>
    </ul>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-reservation-policy-reservation-ids` (string array)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Capacity block groups, order matters.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-resources-platform` (string)<em> \[required]</em>
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-resources-preset` (string)<em> \[required]</em>
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-service-account-id` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      The Nebius service account whose credentials will be available on the nodes of the group.<br />
      With these credentials, it is possible to make `nebius` CLI or public API requests from the nodes<br />
      without the need for extra authentication.<br />
      This service account is also used to make requests to container registry.<br />

      <br />

      `resource.serviceaccount.issueAccessToken` permission is required to use this field.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--template-taints` (json)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Kubernetes Node taints.<br />
      For now change will not be propagated to existing nodes, so will be applied only to Kubernetes Nodes created after the field change.<br />
      That behaviour may change later.<br />
      So, for now you will need to manually set them to existing nodes, if that is needed.<br />
      Field change will NOT trigger NodeGroup roll out.
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      (structure)
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>effect</strong> -> (string)<em>\[required]</em>
      </p>

      <p style={{ paddingLeft: "6ch" }}>A value must be one of:</p>

      <ul style={{ paddingLeft: "8ch" }}>
        <li>
          <code>"effect\_unspecified"</code>
        </li>

        <li>
          <code>"no\_execute"</code>
        </li>

        <li>
          <code>"no\_schedule"</code>
        </li>

        <li>
          <code>"prefer\_no\_schedule"</code>
        </li>
      </ul>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>key</strong> -> (string)<em>\[required]</em>
      </p>
    </p>

    <p style={{ paddingLeft: "2ch" }}>
      <p style={{ paddingLeft: "4ch" }}>
        <strong>value</strong> -> (string)<em>\[required]</em>
      </p>
    </p>

    <p style={{ paddingLeft: "4ch" }}>JSON Schema:</p>

    <p style={{ paddingLeft: "4ch" }}>
      ```json theme={null}
      [{                                                                              
        "effect": "effect_unspecified"|"no_execute"|"no_schedule"|"prefer_no_schedule",
        "key": "",                                                                    
        "value": ""                                                                   
      }]
      ```
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--version` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Version is desired Kubernetes version of the cluster. For now only acceptable format is<br />
      `<major>.<minor>` like "1.31". Option for patch version update will be added later.<br />
      By default the cluster control plane `<major>.<minor>` version will be used.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--async` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      If set, returns operation id. Otherwise, waits for the operation to complete and returns its resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-i, --interactive` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      If set, suggests to insert field values in interactive mode.
    </p>
  </div>
</div>

<div>
  <h2>Global Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-h, --help` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Show this message.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-p, --profile` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set a profile for interacting with the cloud.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--format` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Output format. Supported values: yaml|json|jsonpath|table|text.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-f, --file` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Input file. For 'update' commands automatically set --full=true.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-c, --config` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Provide path to config file.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--debug` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable debug logs.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--color` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable colored output.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-browser` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Do not open browser automatically on auth.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--insecure` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Disable transport security.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--auth-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the request including authentication process, default is 15m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--per-retry-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for each retry attempt, default is 20s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--retries` (uint)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the number of retry attempts, 1 is disable retries, default is 3.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the main request, default is 1m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-check-update` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress check for updates.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-progress` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress progress indicators and spinners.
    </p>
  </div>
</div>

<Expandable title="Input argument JSON Schema">
  <Tabs>
    <Tab title="Full">
      ```json theme={null}
      {              
        "metadata": {                // [required]
          "labels": {                // [map]
                                     // Labels associated with the resource.
            string: string                  
          },
          "name": string,            // Human readable name for the resource.
          "parent_id": string,       // [required]
                                     // Identifier of the parent resource to which the resource belongs.
          "resource_version": int64  // Version of the resource for safe concurrent modifications and consistent reads.
                                     // Positive and monotonically increases on each resource spec change (but *not* on each change of the
                                     // resource's container(s) or status).
                                     // Service allows zero value or current.
        },
        "spec": {                    // [required]
          "auto_repair": {   // Parameters for nodes auto repair.
            "conditions": [{         // Conditions that determine whether a node should be auto repaired.
              "disabled": bool,      // Cannot be set together with: timeout
                                     // When true, disables the default auto-repair condition rules.
              "status": enum(                   // Node condition status.
                "CONDITION_STATUS_UNSPECIFIED",
                "TRUE",                        
                "FALSE",                       
                "UNKNOWN"                      
              ),
              "timeout": "2h30m10s", // [google.protobuf.Duration]
                                     // Cannot be set together with: disabled
                                     // The duration after which the node is automatically repaired if the condition remains in the specified status.
              "type": string         // [required]
                                     // Node condition type.
            }]
          },
          "autoscaling": {           // Cannot be set together with: fixed_node_count
                                     // Enables [Kubernetes Cluster Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler)
                                     // for that NodeGroup, and defines autoscaling parameters.
            "max_node_count": int64,
            "min_node_count": int64 
          },
          "fixed_node_count": int64, // Cannot be set together with: autoscaling
                                     // Number of nodes in the group. Can be changed manually at any time.
          "strategy": {                  // Defines deployment - roll-out, or nodes re-creation during configuration change.
                                         // Allows to setup compromise in roll-out speed, extra resources consumption and workloads disruption.
            "drain_timeout": "2h30m10s", // [google.protobuf.Duration]
                                         // Maximum amount of time that the service will spend on attempting gracefully draining a node (evicting it's pods), before
                                         // falling back to pod deletion.
                                         // By default, node can be drained unlimited time.
                                         // Important consequence of that is if PodDisruptionBudget doesn't allow to evict a pod,
                                         // then NodeGroup update with node re-creation will hung on that pod eviction.
                                         // Note, that it is different from `kubectl drain --timeout`.
            "max_surge": {      // The maximum number of additional nodes that can be provisioned above the desired number of nodes during the update process.
                                // 
                                // This value can be specified either as an absolute number (for example 3) or as a percentage of the desired
                                // number of nodes (for example 5%).
                                // 
                                // When specified as a percentage, the actual number is calculated by rounding up to the nearest whole number.
                                // This value cannot be 0 if `max_unavailable` is also set to 0.
                                // 
                                // Defaults to 1.
                                // 
                                // Example: If set to 25%, the node group can scale up by an additional 25% during the update,
                                // allowing new nodes to be added before old nodes are removed, which helps minimize workload disruption.
                                // 
                                // NOTE:
                                // 
                                // it is user responsibility to ensure that there are enough quota for provision nodes above the desired number.
                                // Available quota effectively limits `max_surge`.
                                // In case of not enough quota even for one extra node, update operation will hung because of quota exhausted error.
                                // Such error will be visible in Operation.progress_data.
              "count": int64,   // Cannot be set together with: percent
              "percent": int64  // Cannot be set together with: count
            },
            "max_unavailable": { // The maximum number of nodes that can be simultaneously unavailable during the update process.
                                 // 
                                 // This value can be specified either as an absolute number (for example 3) or as a percentage of the desired
                                 // number of nodes (for example 5%).
                                 // 
                                 // When specified as a percentage, the actual number is calculated by rounding down to the nearest whole number.
                                 // This value cannot be 0 if `max_surge` is also set to 0.
                                 // 
                                 // Defaults to 0.
                                 // 
                                 // Example: If set to 20%, up to 20% of the nodes can be taken offline at once during the update,
                                 // ensuring that at least 80% of the desired nodes remain operational.
              "count": int64,    // Cannot be set together with: percent
              "percent": int64   // Cannot be set together with: count
            }
          },
          "template": {                     // [required]
                                            // Parameters for Kubernetes Node object and Nebius Compute Instance
                                            // If not written opposite a NodeTemplate field update will cause NodeGroup roll-out according NodeGroupDeploymentStrategy.
            "boot_disk": {               // [non_empty_default]
                                         // Parameters of a Node Nebius Compute Instance boot disk.
              "block_size_bytes": int64,
              "size_bytes": int64,       // Cannot be set together with: size_kibibytes, size_mebibytes, size_gibibytes
              "size_gibibytes": int64,   // Cannot be set together with: size_bytes, size_kibibytes, size_mebibytes
              "size_kibibytes": int64,   // Cannot be set together with: size_bytes, size_mebibytes, size_gibibytes
              "size_mebibytes": int64,   // Cannot be set together with: size_bytes, size_kibibytes, size_gibibytes
              "type": enum(                   // [non_empty_default]
                "UNSPECIFIED",               
                "NETWORK_SSD",               
                "NETWORK_HDD",               
                "NETWORK_SSD_IO_M3",         
                "NETWORK_SSD_NON_REPLICATED" 
              )
            },
            "cloud_init_user_data": string, // [sensitive]
                                            // Cloud-init user-data
                                            // Should contain at least one SSH key.
            "filesystems": [{          // Static attachments of Compute Filesystem.
                                       // Can be used as a workaround, until CSI for Compute Disk and Filesystem will be available.
              "attach_mode": enum( // [required]
                "UNSPECIFIED",    
                "READ_ONLY",      
                "READ_WRITE"      
              ),
              "existing_filesystem": {
                "id": string           // [required]
              },
              "mount_tag": string      // [required]
                                       // Specifies the user-defined identifier, allowing to use it as a device in mount command.
            }],
            "gpu_cluster": { // Nebius Compute GPUCluster ID that will be attached to node.
              "id": string  
            },
            "gpu_settings": {           // GPU-related settings.
              "drivers_preset": string  // [required]
                                        // Identifier of the predefined set of drivers included in the ComputeImage deployed on ComputeInstances that are part of the NodeGroup.
                                        // Supported presets for different platform / Kubernetes version combinations:
                                        // * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`:
                                        //   * `version`: 1.30 → `"cuda12"` (CUDA 12.4)
                                        //   * `version`: 1.31 → `"cuda12"` (CUDA 12.4), `"cuda12.4"`, `"cuda12.8"`
                                        // * `gpu-b200-sxm`:
                                        //   * `version`: 1.31 → `"cuda12"` (CUDA 12.8), `"cuda12.8"`
                                        // * `gpu-b200-sxm-a`:
                                        //   * `version`: 1.31 → `"cuda12.8"`.
            },
            "local_disks": {         // Local_disks enables the provisioning of fast local drives.
                                     // This type of storage is strictly ephemeral: on node restart, all data is erased, similar to RAM.
              "config": {                  // [non_empty_default]
                                           // Config defines actions that managed Kubernetes service performs on mounted local disks
                                           // to provide them inside Kubernetes cluster with a convenient interface.
                                           // 
                                           // When omitted, a default value is generated.
                "kubelet_ephemeral": bool, // Cannot be set together with: none
                                           // Kubelet_ephemeral: combine all local disks into a single storage volume and use it as kubelet's local ephemeral storage on the node
                                           // See also https://kubernetes.io/docs/concepts/storage/ephemeral-storage/
                                           // 
                                           // The default when LocalDisksSpecConfig is not set.
                "none": bool               // Cannot be set together with: kubelet_ephemeral
                                           // None: "do nothing" - local disks will be provisioned as on a regular compute instance.
              },
              "passthrough_group": { // Requests passthrough local disks from the host.
                                     // Topology of the provided disks is preserved during stop and start
                                     // for every instance of a specific platform and preset in the region.
                "requested": bool    // Passthrough local disks from the underlying host.
                                     // 
                                     // Devices are expected to appear in the guest as NVMe devices (nvme0, nvme1, ...),
                                     // but the exact number depends on the preset.
                                     // Enabled only when this field is explicitly set.
              }
            },
            "metadata": {
              "labels": {        // [map]
                                 // Kubernetes Node labels.
                                 // 
                                 // Keys and values must follow Kubernetes label syntax:
                                 // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
                                 // 
                                 // For now change will not be propagated to existing nodes, so will be applied only to Kubernetes Nodes created after the field change.
                                 // That behavior may change later.
                                 // So, for now you will need to manually set them to existing nodes, if that is needed.
                                 // 
                                 // System labels containing "kubernetes.io" and "k8s.io" will be ignored.
                                 // Field change will NOT trigger NodeGroup roll out.
                string: string          
              }
            },
            "network_interfaces": [{ // [non_empty_default]
              "public_ip_address": { // [meaningful_empty_value]
                                     // Parameters for Public IPv4 address associated with the interface.
                                     // Set to empty value, to enable it.
              },
              "subnet_id": string    // [non_empty_default]
                                     // Nebius VPC Subnet ID that will be attached to a node cloud instance network interface.
                                     // By default Cluster control plane subnet_id used.
                                     // Subnet should be located in the same network with control plane.
            }],
            "os": string,                   // OS version that will be used to create the boot disk of Compute Instances in the NodeGroup.
                                            // Supported platform / Kubernetes version / OS / driver presets combinations
                                            // * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`, `cpu-e1`, `cpu-e2`, `cpu-d3`:
                                            //   * `drivers_preset`: `""`
                                            //     * `version`: 1.30 → `"ubuntu22.04"`
                                            //     * `version`: 1.31 → `"ubuntu22.04"` (default), `"ubuntu24.04"`
                                            // * `gpu-l40s-a`, `gpu-l40s-d`, `gpu-h100-sxm`, `gpu-h200-sxm`:
                                            //   * `drivers_preset`: `"cuda12"` (CUDA 12.4)
                                            //     * `version`: 1.30, 1.31 → `"ubuntu22.04"`
                                            //   * `drivers_preset`: `"cuda12.4"`
                                            //     * `version`: 1.31 → `"ubuntu22.04"`
                                            //   * `drivers_preset`: `"cuda12.8"`
                                            //     * `version`: 1.31 → `"ubuntu24.04"`
                                            // * `gpu-b200-sxm`:
                                            //   * `drivers_preset`: `""`
                                            //     * `version`: 1.30, 1.31 → `"ubuntu24.04"`
                                            //   * `drivers_preset`: `"cuda12"` (CUDA 12.8)
                                            //     * `version`: 1.30, 1.31 → `"ubuntu24.04"`
                                            //   * `drivers_preset`: `"cuda12.8"`
                                            //     * `version`: 1.31 → `"ubuntu24.04"`
                                            // * `gpu-b200-sxm-a`:
                                            //   * `drivers_preset`: `""`
                                            //     * `version`: 1.31 → `"ubuntu24.04"`
                                            //   * `drivers_preset`: `"cuda12.8"`
                                            //     * `version`: 1.31 → `"ubuntu24.04"`.
            "preemptible": { // [meaningful_empty_value]
                             // Configures whether the nodes in the group are preemptible.
                             // Set to empty value to enable preemptible nodes.
            },
            "reservation_policy": {        // Reservation_policy is an interface of the "capacity block" (or "capacity block group") mechanism of Nebius Compute.
              "policy": enum(
                "AUTO",       // 1) Will try to launch instance in any reservation_ids if provided.
                              // 2) Will try to launch instance in any of the available capacity block.
                              // 3) Will try to launch instance in PAYG if 1 & 2 are not satisfied.
                "FORBID",     // The instance is launched only using on-demand (PAYG) capacity.
                              // No attempt is made to find or use a Capacity Block.
                              // It's an error to provide reservation_ids with policy = FORBID.
                "STRICT"      // 1) Will try to launch the instance in Capacity Blocks from reservation_ids if provided.
                              // 2) If reservation_ids are not provided will try to launch instance in suitable & available Capacity Block.
                              // 3) Fail otherwise.
              ),
              "reservation_ids": [string]  // Capacity block groups, order matters.
            },
            "resources": {        // [required]
                                  // Resources that will have Nebius Compute Instance where Node kubelet will run.
              "platform": string, // [required]
              "preset": string   
            },
            "service_account_id": string,   // The Nebius service account whose credentials will be available on the nodes of the group.
                                            // With these credentials, it is possible to make `nebius` CLI or public API requests from the nodes
                                            // without the need for extra authentication.
                                            // This service account is also used to make requests to container registry.
                                            // 
                                            // `resource.serviceaccount.issueAccessToken` permission is required to use this field.
            "taints": [{       // Kubernetes Node taints.
                               // For now change will not be propagated to existing nodes, so will be applied only to Kubernetes Nodes created after the field change.
                               // That behaviour may change later.
                               // So, for now you will need to manually set them to existing nodes, if that is needed.
                               // Field change will NOT trigger NodeGroup roll out.
              "effect": enum(         // [required]
                "EFFECT_UNSPECIFIED",
                "NO_EXECUTE",        
                "NO_SCHEDULE",       
                "PREFER_NO_SCHEDULE" 
              ),
              "key": string,   // [required]
              "value": string  // [required]
            }]
          },
          "version": string          // Version is desired Kubernetes version of the cluster. For now only acceptable format is
                                     // `<major>.<minor>` like "1.31". Option for patch version update will be added later.
                                     // By default the cluster control plane `<major>.<minor>` version will be used.
        }
      }
      ```
    </Tab>

    <Tab title="CopyPaste Friendly">
      ```json theme={null}
      nebius mk8s node-group create '
      {              
        "metadata": {           
          "labels": {           
            "": ""                  
          },
          "name": "",           
          "parent_id": "",      
          "resource_version": 0 
        },
        "spec": {               
          "auto_repair": {  
            "conditions": [{                                                   
              "disabled": false,                                               
              "status": "condition_status_unspecified"|"true"|"false"|"unknown",
              "type": ""                                                       
            }]
          },
          "autoscaling": {      
            "max_node_count": 0,
            "min_node_count": 0 
          },
          "strategy": {                 
            "drain_timeout": "2h30m10s",
            "max_surge": { 
              "count": 0   
            },
            "max_unavailable": {
              "count": 0        
            }
          },
          "template": {                
            "boot_disk": {                                                                                      
              "block_size_bytes": 0,                                                                            
              "size_bytes": 0,                                                                                  
              "type": "unspecified"|"network_ssd"|"network_hdd"|"network_ssd_io_m3"|"network_ssd_non_replicated"
            },
            "cloud_init_user_data": "",
            "filesystems": [{                                      
              "attach_mode": "unspecified"|"read_only"|"read_write",
              "existing_filesystem": {
                "id": ""              
              },
              "mount_tag": ""                                      
            }],
            "gpu_cluster": {
              "id": ""      
            },
            "gpu_settings": {      
              "drivers_preset": "" 
            },
            "local_disks": {        
              "config": {                  
                "kubelet_ephemeral": false 
              },
              "passthrough_group": {
                "requested": false  
              }
            },
            "metadata": {
              "labels": {   
                "": ""          
              }
            },
            "network_interfaces": [{
              "public_ip_address": {
              },
              "subnet_id": ""       
            }],
            "os": "",                  
            "preemptible": {
            },
            "reservation_policy": {             
              "policy": "auto"|"forbid"|"strict",
              "reservation_ids": [""]           
            },
            "resources": {   
              "platform": "",
              "preset": ""   
            },
            "service_account_id": "",  
            "taints": [{                                                                    
              "effect": "effect_unspecified"|"no_execute"|"no_schedule"|"prefer_no_schedule",
              "key": "",                                                                    
              "value": ""                                                                   
            }]
          },
          "version": ""         
        }
      }
      '
      ```
    </Tab>
  </Tabs>
</Expandable>

<strong>Auto generated on 19-May-2026</strong>
