> ## 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.

# Preflight Check



## OpenAPI

````yaml https://api.nebius.cloud/openapi.json post /mk8s/v1/node-groups/preflight-check
openapi: 3.0.3
info:
  title: Nebius API
  version: version not set
servers:
  - url: https://api.nebius.cloud
security:
  - bearerAuth: []
tags:
  - name: nebius.ai.v1.DevlabService
  - name: nebius.ai.v1.EndpointService
  - name: nebius.ai.v1.JobService
  - name: nebius.applications.v1alpha1.K8sReleaseService
  - name: nebius.applications.v1alpha1.VmAppTemplateService
  - name: nebius.audit.v2.AuditEventExportService
  - name: nebius.audit.v2.AuditEventService
  - name: nebius.billing.v1.CalculatorService
  - name: nebius.billing.v1.PricingPolicyService
  - name: nebius.billing.v1alpha1.CalculatorService
  - name: nebius.billing.v1alpha1.OneTimeExportService
  - name: nebius.capacity.v1.CapacityAllowanceService
  - name: nebius.capacity.v1.CapacityBlockGroupService
  - name: nebius.capacity.v1.CapacityIntervalService
  - name: nebius.capacity.v1.ResourceAdviceService
  - name: nebius.compute.v1.DiskService
  - name: nebius.compute.v1.DiskSnapshotService
  - name: nebius.compute.v1.FilesystemService
  - name: nebius.compute.v1.GpuClusterService
  - name: nebius.compute.v1.ImageService
  - name: nebius.compute.v1.InstanceService
  - name: nebius.compute.v1.MaintenanceService
  - name: nebius.compute.v1.NVLInstanceGroupService
  - name: nebius.compute.v1.NodeService
  - name: nebius.compute.v1.PlatformService
  - name: nebius.dns.v1.RecordService
  - name: nebius.dns.v1.ZoneService
  - name: nebius.iam.v1.AccessKeyService
  - name: nebius.iam.v1.AccessPermitService
  - name: nebius.iam.v1.AuthPublicKeyService
  - name: nebius.iam.v1.FederatedCredentialsService
  - name: nebius.iam.v1.FederationCertificateService
  - name: nebius.iam.v1.FederationService
  - name: nebius.iam.v1.GroupMembershipService
  - name: nebius.iam.v1.GroupService
  - name: nebius.iam.v1.InvitationService
  - name: nebius.iam.v1.ProfileService
  - name: nebius.iam.v1.ProjectService
  - name: nebius.iam.v1.ServiceAccountService
  - name: nebius.iam.v1.SessionManagementService
  - name: nebius.iam.v1.StaticKeyService
  - name: nebius.iam.v1.TenantService
  - name: nebius.iam.v1.TenantUserAccountService
  - name: nebius.iam.v1.TenantUserAccountWithAttributesService
  - name: nebius.iam.v2.AccessKeyService
  - name: nebius.iam.v2.ProjectService
  - name: nebius.iam.v2.TenantService
  - name: nebius.kms.v1.AsymmetricCryptoService
  - name: nebius.kms.v1.AsymmetricKeyService
  - name: nebius.kms.v1.SymmetricCryptoService
  - name: nebius.kms.v1.SymmetricKeyService
  - name: nebius.logging.agentmanager.v1.VersionService
  - name: nebius.logging.v1.LogExportService
  - name: nebius.maintenance.v1alpha1.MaintenanceService
  - name: nebius.mk8s.v1.ClusterService
  - name: nebius.mk8s.v1.NodeGroupService
  - name: nebius.mk8s.v1alpha1.ClusterService
  - name: nebius.mk8s.v1alpha1.NodeGroupService
  - name: nebius.msp.mlflow.v1alpha1.ClusterService
  - name: nebius.msp.postgresql.v1alpha1.BackupService
  - name: nebius.msp.postgresql.v1alpha1.ClusterService
  - name: nebius.mysterybox.v1.PayloadService
  - name: nebius.mysterybox.v1.SecretService
  - name: nebius.mysterybox.v1.SecretVersionService
  - name: nebius.quotas.v1.QuotaAllowanceService
  - name: nebius.registry.v1.ArtifactService
  - name: nebius.registry.v1.RegistryService
  - name: nebius.storage.v1.BucketService
  - name: nebius.storage.v1.InventoryService
  - name: nebius.storage.v1.TransferService
  - name: nebius.storage.v1alpha1.TransferService
  - name: nebius.tunnel.v1.TunnelService
  - name: nebius.vpc.v1.AllocationService
  - name: nebius.vpc.v1.NetworkService
  - name: nebius.vpc.v1.PoolService
  - name: nebius.vpc.v1.RouteService
  - name: nebius.vpc.v1.RouteTableService
  - name: nebius.vpc.v1.SecurityGroupService
  - name: nebius.vpc.v1.SecurityRuleService
  - name: nebius.vpc.v1.SubnetService
  - name: nebius.vpc.v1.TargetGroupService
  - name: nebius.vpc.v1alpha1.AllocationService
  - name: nebius.vpc.v1alpha1.NetworkService
  - name: nebius.vpc.v1alpha1.PoolService
  - name: nebius.vpc.v1alpha1.ScopeService
  - name: nebius.vpc.v1alpha1.SubnetService
paths:
  /mk8s/v1/node-groups/preflight-check:
    post:
      tags:
        - nebius.mk8s.v1.NodeGroupService
      summary: Preflight Check
      operationId: NodeGroupService_PreflightCheck
      parameters:
        - description: Field mask specifying fields to reset to their default values.
          in: header
          name: X-ResetMask
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/nebius.mk8s.v1.PreflightCheckNodeGroupRequest
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/nebius.mk8s.v1.PreflightCheckNodeGroupResponse
          description: A successful response.
components:
  schemas:
    nebius.mk8s.v1.PreflightCheckNodeGroupRequest:
      properties:
        context:
          $ref: '#/components/schemas/nebius.common.v1.PreflightCheckContext'
        metadata:
          $ref: '#/components/schemas/nebius.common.v1.ResourceMetadata'
        spec:
          $ref: '#/components/schemas/nebius.mk8s.v1.NodeGroupSpec'
      type: object
    nebius.mk8s.v1.PreflightCheckNodeGroupResponse:
      properties:
        diagnostics:
          items:
            $ref: '#/components/schemas/nebius.common.v1.PreflightCheckDiagnostic'
          type: array
        pathsRequireRecreate:
          type: string
        requiresUserApproval:
          type: boolean
      type: object
    nebius.common.v1.PreflightCheckContext:
      description: >-
        Context supplied by a caller when requesting a server-side preflight
        check.
      properties:
        action:
          allOf:
            - $ref: >-
                #/components/schemas/nebius.common.v1.PreflightCheckContext.Action
          description: Operation evaluated by the preflight check.
        pathsRequireRecreate:
          description: >-
            Additive Nebius mask of fields that require resource recreation when
            changed.

            For RECREATE, the calling tool fills this mask with the paths that
            caused it to recreate the resource.

            If a field at one of these paths changes, the calling tool must
            delete the existing resource

            and create a new resource with the requested values.

            Empty means that the caller has not identified any such fields.
          type: string
        tool:
          description: >-
            Lower-case name of the calling tool, such as "terraform", "cli", or
            "console".

            Empty means that no tool-specific behavior is requested.
          type: string
        unknownPaths:
          description: >-
            Nebius mask identifying values in the proposed request that are
            unknown.

            An unknown value is not available to the caller when it sends the
            preflight request.

            The caller expects the actual value to be available when the create
            or update operation runs.

            The mask is rooted at the request's metadata and spec fields. Empty
            means all supplied values are known;

            "*" means the complete proposed request is unknown.
          type: string
      type: object
    nebius.common.v1.ResourceMetadata:
      description: Common resource metadata.
      properties:
        createdAt:
          description: Timestamp indicating when the resource was created.
          format: date-time
          readOnly: true
          type: string
        id:
          description: Identifier for the resource, unique for its resource type.
          type: string
        labels:
          additionalProperties:
            type: string
          description: Labels associated with the resource.
          type: object
        name:
          description: Human readable name for the resource.
          type: string
        parentId:
          description: Identifier of the parent resource to which the resource belongs.
          type: string
        resourceVersion:
          description: >-
            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.
          format: int64
          type: string
        updatedAt:
          description: Timestamp indicating when the resource was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - parentId
      type: object
    nebius.mk8s.v1.NodeGroupSpec:
      properties:
        autoRepair:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.NodeGroupAutoRepairSpec'
          description: Parameters for nodes auto repair.
        autoscaling:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.NodeGroupAutoscalingSpec'
          description: >-
            Enables [Kubernetes Cluster
            Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler)

            for that NodeGroup, and defines autoscaling parameters.
        fixedNodeCount:
          description: >-
            Number of nodes in the group. Can be changed manually at any time,
            except for a node group with NVLink.
          format: int64
          type: string
        strategy:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.NodeGroupDeploymentStrategy'
          description: >-
            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.
        template:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.NodeTemplate'
          description: >-
            Parameters for Kubernetes Node object and Nebius Compute Instance

            If not written opposite a NodeTemplate field update will cause
            NodeGroup roll-out according NodeGroupDeploymentStrategy.
        version:
          description: >-
            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.
          type: string
      required:
        - template
      type: object
    nebius.common.v1.PreflightCheckDiagnostic:
      description: A user-facing diagnostic produced by a preflight check.
      properties:
        details:
          description: Optional plain-text consequence and remediation details.
          type: string
        path:
          description: >-
            Optional Nebius field path rooted at metadata or spec.

            Empty means that the diagnostic applies to the resource or operation
            as a whole.
          type: string
        severity:
          allOf:
            - $ref: >-
                #/components/schemas/nebius.common.v1.PreflightCheckDiagnostic.Severity
          description: >-
            Effect of the diagnostic on the proposed operation. Must not be
            UNSPECIFIED.
        summary:
          description: Required single-line, plain-text user-facing explanation.
          type: string
      type: object
    nebius.common.v1.PreflightCheckContext.Action:
      default: UNSPECIFIED
      description: |-
        Operation evaluated by the preflight check.

         - UNSPECIFIED: Infer UPDATE when the request metadata contains a resource ID; otherwise infer CREATE.
         - CREATE: Evaluate resource creation.
         - UPDATE: Evaluate a resource update.
         - DELETE: Evaluate resource deletion. Reserved until delete preflight requests are supported.
         - RECREATE: Evaluate resource recreation. This is the same as CREATE, but assumes that the resource
        with the requested ID is deleted immediately before it is created.
      enum:
        - UNSPECIFIED
        - CREATE
        - UPDATE
        - DELETE
        - RECREATE
      type: string
    nebius.mk8s.v1.NodeGroupAutoRepairSpec:
      properties:
        conditions:
          description: Conditions that determine whether a node should be auto repaired.
          items:
            $ref: '#/components/schemas/nebius.mk8s.v1.NodeAutoRepairCondition'
          type: array
      type: object
    nebius.mk8s.v1.NodeGroupAutoscalingSpec:
      properties:
        maxNodeCount:
          format: int64
          type: string
        minNodeCount:
          format: int64
          type: string
      type: object
    nebius.mk8s.v1.NodeGroupDeploymentStrategy:
      properties:
        drainTimeout:
          description: >-
            Maximum amount of time that the service will spend attempting to
            gracefully drain a node

            (evicting its pods) before falling back to pod deletion.

            A value of 0 means no timeout: the node can be drained for an
            unlimited time.

            Important consequence of that is if PodDisruptionBudget doesn't
            allow evicting a pod,

            then NodeGroup update with node re-creation will hang on that pod
            eviction.

            Note that this is different from `kubectl drain --timeout`, which
            gives up and returns an error.


            On 2026-08-01, defaults to 0.

            IMPORTANT: starting from Q3 2026 new default is 10m;

            for new clusters it will default to 10m,

            node groups in existing clusters will be gradually migrated during
            Q3 to the default of 10m as well.

            To get the actual value for your node group, please see 'strategy'
            in its status.
          type: string
        maxSurge:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.PercentOrCount'
          description: >-
            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.


            On 2026-08-01, defaults to 1.

            IMPORTANT: starting from Q3 2026 new default is 0;

            for new clusters it will default to 0,

            node groups in existing clusters will be gradually migrated during
            Q3 to the default of 0 as well.

            To get the actual value for your node group, please see 'strategy'
            in its status.


            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.
        maxUnavailable:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.PercentOrCount'
          description: >-
            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.


            On 2026-08-01, defaults to 0.

            IMPORTANT: starting from Q3 2026 new default is 1;

            for new clusters it will default to 1,

            node groups in existing clusters will be gradually migrated during
            Q3 to the default of 1 as well.

            To get the actual value for your node group, please see 'strategy'
            in its status.


            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.
      type: object
    nebius.mk8s.v1.NodeTemplate:
      properties:
        bootDisk:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.DiskSpec'
          description: Parameters of a Node Nebius Compute Instance boot disk.
        cloudInitUserData:
          description: |-
            cloud-init user-data
            Should contain at least one SSH key.
          type: string
        filesystems:
          description: >-
            Static attachments of Compute Filesystem.

            Can be used as a workaround, until CSI for Compute Disk and
            Filesystem will be available.
          items:
            $ref: '#/components/schemas/nebius.mk8s.v1.AttachedFilesystemSpec'
          type: array
        gpuCluster:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.GpuClusterSpec'
          description: Nebius Compute GPUCluster ID that will be attached to node.
        gpuSettings:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.GpuSettings'
          description: GPU-related settings.
        instanceMetadata:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.InstanceMetadataTemplate'
          description: Metadata propagated to the Compute Instances in the NodeGroup.
        localDisks:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.LocalDisksSpec'
          description: >-
            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.
        maxPods:
          description: >-
            The maximum number of Pods per node for your cluster. If omitted,
            MK8S assigns the default value of 110. When you

            configure the maximum number of Pods per node for the cluster, MK8S
            uses this value to allocate a CIDR range for every node

            in group. The node CIDR prefix is calculated as `32 - ceil(log2(2 *
            max_pods))`, i.e. the smallest IPv4 subnet whose total address

            count is at least `2 * max_pods`. Not all IPs are usable for
            workload Pods because some of them are consumed by system Pods.
          format: int64
          type: string
        metadata:
          $ref: '#/components/schemas/nebius.mk8s.v1.NodeMetadataTemplate'
        networkInterfaces:
          items:
            $ref: '#/components/schemas/nebius.mk8s.v1.NetworkInterfaceTemplate'
          type: array
        nvlink:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.NVLinkSpec'
          description: NVLinkSpec configures NVLink settings for the NodeGroup.
        os:
          description: >-
            OS version that will be used to create the boot disk of Compute
            Instances in the NodeGroup.

            Supported OS depend on the platform and Kubernetes version.

            To get the up-to-date list of supported OS for a given Kubernetes
            version and platform, run:

            nebius mk8s node-group get-compatibility-matrix
            --cluster-kubernetes-version VERSION --platform PLATFORM
          type: string
        preemptible:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.PreemptibleSpec'
          description: |-
            Configures whether the nodes in the group are preemptible.
            Set to empty value to enable preemptible nodes.
        reservationPolicy:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.ReservationPolicy'
          description: >-
            reservation_policy is an interface of the "capacity block" (or
            "capacity block group") mechanism of Nebius Compute.
        resources:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.ResourcesSpec'
          description: >-
            Resources that will have Nebius Compute Instance where Node kubelet
            will run.
        serviceAccountId:
          description: >-
            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.
          type: string
        taints:
          description: >-
            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.
          items:
            $ref: '#/components/schemas/nebius.mk8s.v1.NodeTaint'
          type: array
      required:
        - resources
      type: object
    nebius.common.v1.PreflightCheckDiagnostic.Severity:
      default: UNSPECIFIED
      description: |-
        Effect of the diagnostic on the proposed operation.

         - UNSPECIFIED: Invalid for a returned diagnostic.
         - ERROR: The proposed operation cannot proceed.
         - WARNING: The proposed operation can proceed, subject to requires_user_approval.
      enum:
        - UNSPECIFIED
        - ERROR
        - WARNING
      type: string
    nebius.mk8s.v1.NodeAutoRepairCondition:
      properties:
        disabled:
          description: When true, disables the default auto-repair condition rules.
          type: boolean
        status:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.ConditionStatus'
          description: Node condition status.
        timeout:
          description: >-
            The duration after which the node is automatically repaired if the
            condition remains in the specified status.
          type: string
        type:
          description: Node condition type.
          type: string
      required:
        - type
      type: object
    nebius.mk8s.v1.PercentOrCount:
      properties:
        count:
          format: int64
          type: string
        percent:
          format: int64
          type: string
      type: object
    nebius.mk8s.v1.DiskSpec:
      properties:
        blockSizeBytes:
          format: int64
          type: string
        diskEncryption:
          $ref: '#/components/schemas/nebius.mk8s.v1.DiskEncryption'
        sizeBytes:
          format: int64
          type: string
        sizeGibibytes:
          format: int64
          type: string
        sizeKibibytes:
          format: int64
          type: string
        sizeMebibytes:
          format: int64
          type: string
        type:
          $ref: '#/components/schemas/nebius.mk8s.v1.DiskSpec.DiskType'
      type: object
    nebius.mk8s.v1.AttachedFilesystemSpec:
      properties:
        attachMode:
          $ref: >-
            #/components/schemas/nebius.mk8s.v1.AttachedFilesystemSpec.AttachMode
        existingFilesystem:
          $ref: '#/components/schemas/nebius.mk8s.v1.ExistingFilesystem'
        mountTag:
          description: >-
            Specifies the user-defined identifier, allowing to use it as a
            device in mount command.
          type: string
      required:
        - attachMode
        - mountTag
      type: object
    nebius.mk8s.v1.GpuClusterSpec:
      properties:
        id:
          type: string
      type: object
    nebius.mk8s.v1.GpuSettings:
      description: GPU-related settings.
      properties:
        dra:
          description: >-
            Enables Dynamic Resource Allocation for this GPU node group.

            For nodes whose image contains preinstalled NVIDIA drivers, disables
            the legacy NVIDIA device plugin.

            For GPU nodes attached to a Compute GPU cluster, advertises RDMA
            capability through the managed DRANet DaemonSet.
          type: boolean
        driversPreset:
          description: >-
            Identifier of the predefined set of drivers included in the
            ComputeImage deployed on ComputeInstances that are part of the
            NodeGroup.

            Supported presets depend on the platform and Kubernetes version.

            To get the up-to-date list of supported presets for a given
            Kubernetes version and platform, run:

            nebius mk8s node-group get-compatibility-matrix
            --cluster-kubernetes-version VERSION --platform PLATFORM

            Leave empty for GPU nodes that do not have preinstalled drivers,
            including DRA-enabled node groups.
          type: string
      type: object
    nebius.mk8s.v1.InstanceMetadataTemplate:
      properties:
        labels:
          additionalProperties:
            type: string
          description: >-
            Labels propagated into Compute Instance metadata.

            Provider-managed labels take precedence over user-provided instance
            labels.
          type: object
      type: object
    nebius.mk8s.v1.LocalDisksSpec:
      properties:
        config:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.LocalDisksSpecConfig'
          description: >-
            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.
        passthroughGroup:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.PassthroughGroupRequest'
          description: |-
            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.
      type: object
    nebius.mk8s.v1.NodeMetadataTemplate:
      properties:
        labels:
          additionalProperties:
            type: string
          description: >-
            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.
          type: object
      type: object
    nebius.mk8s.v1.NetworkInterfaceTemplate:
      properties:
        publicIpAddress:
          allOf:
            - $ref: '#/components/schemas/nebius.mk8s.v1.PublicIPAddress'
          description: |-
            Parameters for Public IPv4 address associated with the interface.
            Set to empty value, to enable it.
        securityGroups:
          description: >-
            User provided VPC Security Groups which will be assigned to all
            nodes of this NodeGroup.
          items:
            $ref: '#/components/schemas/nebius.mk8s.v1.SecurityGroup'
          type: array
        subnetId:
          description: >-
            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.
          type: string
      type: object
    nebius.mk8s.v1.NVLinkSpec:
      properties:
        nvlInstanceGroupId:
          description: Existing NVLInstanceGroup ID to use.
          type: string
      type: object
    nebius.mk8s.v1.PreemptibleSpec:
      type: object
    nebius.mk8s.v1.ReservationPolicy:
      description: >-
        ReservationPolicy is copied as-is from NebiusAPI
        `compute/v1/instance.proto`.
      properties:
        policy:
          $ref: '#/components/schemas/nebius.mk8s.v1.ReservationPolicy.Policy'
        reservationIds:
          description: Capacity block groups, order matters
          items:
            type: string
          type: array
      type: object
    nebius.mk8s.v1.ResourcesSpec:
      properties:
        platform:
          type: string
        preset:
          type: string
      required:
        - platform
      type: object
    nebius.mk8s.v1.NodeTaint:
      description: >-
        See
        https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
      properties:
        effect:
          $ref: '#/components/schemas/nebius.mk8s.v1.NodeTaint.Effect'
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
        - effect
      type: object
    nebius.mk8s.v1.ConditionStatus:
      default: CONDITION_STATUS_UNSPECIFIED
      enum:
        - CONDITION_STATUS_UNSPECIFIED
        - 'TRUE'
        - 'FALSE'
        - UNKNOWN
      type: string
    nebius.mk8s.v1.DiskEncryption:
      properties:
        type:
          $ref: >-
            #/components/schemas/nebius.mk8s.v1.DiskEncryption.DiskEncryptionType
      type: object
    nebius.mk8s.v1.DiskSpec.DiskType:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - NETWORK_SSD
        - NETWORK_HDD
        - NETWORK_SSD_IO_M3
        - NETWORK_SSD_NON_REPLICATED
      type: string
    nebius.mk8s.v1.AttachedFilesystemSpec.AttachMode:
      default: UNSPECIFIED
      enum:
        - UNSPECIFIED
        - READ_ONLY
        - READ_WRITE
      type: string
    nebius.mk8s.v1.ExistingFilesystem:
      properties:
        id:
          type: string
      required:
        - id
      type: object
    nebius.mk8s.v1.LocalDisksSpecConfig:
      description: >-
        LocalDisksSpecConfig defines actions that managed Kubernetes service
        performs on mounted local disks

        to provide them inside Kubernetes cluster with a convenient interface.
      properties:
        kubeletEphemeral:
          description: >-
            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.
          type: boolean
        none:
          description: >-
            none: "do nothing" - local disks will be provisioned as on a regular
            compute instance.
          type: boolean
      type: object
    nebius.mk8s.v1.PassthroughGroupRequest:
      properties:
        requested:
          description: >-
            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.
          type: boolean
      type: object
    nebius.mk8s.v1.PublicIPAddress:
      description: Describes a public IP address.
      type: object
    nebius.mk8s.v1.SecurityGroup:
      properties:
        id:
          type: string
      type: object
    nebius.mk8s.v1.ReservationPolicy.Policy:
      default: AUTO
      description: >2-
         - 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.
      enum:
        - AUTO
        - FORBID
        - STRICT
      type: string
    nebius.mk8s.v1.NodeTaint.Effect:
      default: EFFECT_UNSPECIFIED
      enum:
        - EFFECT_UNSPECIFIED
        - NO_EXECUTE
        - NO_SCHEDULE
        - PREFER_NO_SCHEDULE
      type: string
    nebius.mk8s.v1.DiskEncryption.DiskEncryptionType:
      default: DISK_ENCRYPTION_UNSPECIFIED
      enum:
        - DISK_ENCRYPTION_UNSPECIFIED
        - DISK_ENCRYPTION_MANAGED
      type: string
  securitySchemes:
    bearerAuth:
      description: The Authorization header expects a Bearer token.
      scheme: bearer
      type: http

````