class documentation

Undocumented

Method __dir__ Undocumented
Method __init__ Create a wrapper around a protobuf message instance.
Method boot_disk.setter Undocumented
Method cloud_init_user_data.setter Undocumented
Method filesystems.setter Undocumented
Method gpu_cluster.setter Undocumented
Method gpu_settings.setter Undocumented
Method metadata.setter Undocumented
Method network_interfaces.setter Undocumented
Method os.setter Undocumented
Method preemptible.setter Undocumented
Method reservation_policy.setter Undocumented
Method resources.setter Undocumented
Method service_account_id.setter Undocumented
Method taints.setter Undocumented
Constant __PB2_DESCRIPTOR__ Undocumented
Constant __PY_TO_PB2__ Undocumented
Class Variable __mask_functions__ Undocumented
Property boot_disk Parameters of a Node Nebius Compute Instance boot disk.
Property cloud_init_user_data cloud-init user-data Should contain at least one SSH key.
Property filesystems Static attachments of Compute Filesystem. Can be used as a workaround, until CSI for Compute Disk and Filesystem will be available.
Property gpu_cluster Nebius Compute GPUCluster ID that will be attached to node.
Property gpu_settings GPU-related settings.
Property metadata Undocumented
Property network_interfaces Undocumented
Property os 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
Property preemptible Configures whether the nodes in the group are preemptible. Set to empty value to enable preemptible nodes.
Property reservation_policy reservation_policy is an interface of the "capacity block" (or "capacity block group") mechanism of Nebius Compute.
Property resources Resources that will have Nebius Compute Instance where Node kubelet will run.
Property service_account_id 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...
Property 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...

Inherited from Message:

Class Method get_descriptor Return the protobuf descriptor for this message class.
Class Method is_credentials Return True if the field contains credentials.
Class Method is_sensitive Return True if the field is marked as sensitive.
Method __repr__ Return a human-readable representation of the message, sanitizing sensitive fields.
Method check_presence Check explicit presence for a field in the protobuf message.
Method get_full_update_reset_mask Build a reset mask for a full update of this message.
Method get_mask Return the tracked reset mask.
Method is_default Return True if a field equals its default value.
Method set_mask Replace the tracked reset mask.
Method which_field_in_oneof Return the set field name for a given oneof.
Instance Variable __PB2_CLASS__ Protobuf message class associated with this wrapper.
Instance Variable __pb2_message__ Underlying protobuf message instance.
Method _clear_field Clear a field and record it in the reset mask.
Method _get_field Return a field value with optional wrapping and presence handling.
Method _set_field Set a field value and update the reset mask.
Class Variable __credentials_fields Undocumented
Class Variable __default Undocumented
Class Variable __sensitive_fields Undocumented
Instance Variable __recorded_reset_mask Mask tracking fields cleared or set to default.
def __dir__(self) -> abc.Iterable[builtins.str]: (source)

Undocumented

def __init__(self, initial_message: message_1.Message | None = None, *, metadata: NodeMetadataTemplate | node_group_pb2.NodeMetadataTemplate | None | unset.UnsetType = unset.Unset, taints: abc.Iterable[NodeTaint] | None | unset.UnsetType = unset.Unset, resources: ResourcesSpec | instance_template_pb2.ResourcesSpec | None | unset.UnsetType = unset.Unset, boot_disk: DiskSpec | instance_template_pb2.DiskSpec | None | unset.UnsetType = unset.Unset, gpu_settings: GpuSettings | node_group_pb2.GpuSettings | None | unset.UnsetType = unset.Unset, os: builtins.str | None | unset.UnsetType = unset.Unset, gpu_cluster: GpuClusterSpec | node_group_pb2.GpuClusterSpec | None | unset.UnsetType = unset.Unset, network_interfaces: abc.Iterable[NetworkInterfaceTemplate] | None | unset.UnsetType = unset.Unset, filesystems: abc.Iterable[AttachedFilesystemSpec] | None | unset.UnsetType = unset.Unset, cloud_init_user_data: builtins.str | None | unset.UnsetType = unset.Unset, service_account_id: builtins.str | None | unset.UnsetType = unset.Unset, preemptible: PreemptibleSpec | node_group_pb2.PreemptibleSpec | None | unset.UnsetType = unset.Unset, reservation_policy: ReservationPolicy | node_group_pb2.ReservationPolicy | None | unset.UnsetType = unset.Unset): (source)

Create a wrapper around a protobuf message instance.

Raises
AttributeErrorIf the wrapper is missing required class metadata.
@boot_disk.setter
def boot_disk(self, value: DiskSpec | instance_template_pb2.DiskSpec | None): (source)

Undocumented

@cloud_init_user_data.setter
def cloud_init_user_data(self, value: builtins.str | None): (source)

Undocumented

Undocumented

@gpu_cluster.setter
def gpu_cluster(self, value: GpuClusterSpec | node_group_pb2.GpuClusterSpec | None): (source)

Undocumented

@gpu_settings.setter
def gpu_settings(self, value: GpuSettings | node_group_pb2.GpuSettings | None): (source)

Undocumented

@metadata.setter
def metadata(self, value: NodeMetadataTemplate | node_group_pb2.NodeMetadataTemplate | None): (source)

Undocumented

Undocumented

@os.setter
def os(self, value: builtins.str | None): (source)

Undocumented

@preemptible.setter
def preemptible(self, value: PreemptibleSpec | node_group_pb2.PreemptibleSpec | None): (source)

Undocumented

@reservation_policy.setter
def reservation_policy(self, value: ReservationPolicy | node_group_pb2.ReservationPolicy | None): (source)

Undocumented

@resources.setter
def resources(self, value: ResourcesSpec | instance_template_pb2.ResourcesSpec | None): (source)

Undocumented

@service_account_id.setter
def service_account_id(self, value: builtins.str | None): (source)

Undocumented

Undocumented

__PB2_DESCRIPTOR__ = (source)

Undocumented

Value
descriptor.DescriptorWrap[descriptor_1.Descriptor]('.nebius.mk8s.v1.NodeTemplate'
,
                                                   node_group_pb2.DESCRIPTOR,
                                                   descriptor_1.Descriptor)
__PY_TO_PB2__: builtins.dict[builtins.str, builtins.str] = (source)

Undocumented

Value
{'metadata': 'metadata',
 'taints': 'taints',
 'resources': 'resources',
 'boot_disk': 'boot_disk',
 'gpu_settings': 'gpu_settings',
 'os': 'os',
 'gpu_cluster': 'gpu_cluster',
...
@builtins.property
boot_disk: DiskSpec = (source)

Parameters of a Node Nebius Compute Instance boot disk.

@builtins.property
cloud_init_user_data: builtins.str = (source)

cloud-init user-data Should contain at least one SSH key.

Static attachments of Compute Filesystem. Can be used as a workaround, until CSI for Compute Disk and Filesystem will be available.

@builtins.property
gpu_cluster: GpuClusterSpec = (source)

Nebius Compute GPUCluster ID that will be attached to node.

@builtins.property
gpu_settings: GpuSettings = (source)

GPU-related settings.

@builtins.property
metadata: NodeMetadataTemplate = (source)

Undocumented

@builtins.property
network_interfaces: abc.MutableSequence[NetworkInterfaceTemplate] = (source)

Undocumented

@builtins.property
os: builtins.str = (source)

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"
@builtins.property
preemptible: PreemptibleSpec | None = (source)

Configures whether the nodes in the group are preemptible. Set to empty value to enable preemptible nodes.

@builtins.property
reservation_policy: ReservationPolicy = (source)

reservation_policy is an interface of the "capacity block" (or "capacity block group") mechanism of Nebius Compute.

@builtins.property
resources: ResourcesSpec = (source)

Resources that will have Nebius Compute Instance where Node kubelet will run.

@builtins.property
service_account_id: builtins.str = (source)

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.

@builtins.property
taints: abc.MutableSequence[NodeTaint] = (source)

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.