class documentation

Undocumented

Class __OneOfClass_type__ Undocumented
Class __OneOfClass_type_existing_disk__ Undocumented
Class __OneOfClass_type_managed_disk__ Undocumented
Method __init__ Create a message from a source message and field values.
Method attach_mode.setter Set or clear the generated attach_mode field.
Method device_id.setter Set or clear the generated device_id field.
Method existing_disk.setter Set or clear the generated existing_disk field.
Method managed_disk.setter Set or clear the generated managed_disk field.
Constant __PROTO_DESCRIPTOR__ Protobuf message descriptor from the registry.
Constant __PROTO_FULL_NAME__ Fully qualified protobuf message name.
Constant __PY_TO_PB2__ Mapping from Python member names to protobuf names.
Property attach_mode Undocumented
Property device_id Specifies the user-defined identifier, allowing to use '/dev/disk/by-id/virtio-{device_id}' as a device path in mount command.
Property existing_disk Attach an existing disk.
Property managed_disk Attach a managed disk.
Property type Undocumented

Inherited from Message:

Class Method from_json Create a message from protobuf JSON mapping.
Class Method FromString Create a message by parsing protobuf wire-format bytes.
Class Method get_descriptor Return the message descriptor from the registry.
Class Method is_credentials Return True if a Python field contains credentials.
Class Method is_sensitive Return True if a Python field has the sensitive annotation.
Method __dir__ List generated fields, oneofs, and nested declarations.
Method __repr__ Render non-default fields without disclosing annotated secrets.
Method ByteSize Return the serialized protobuf wire size in bytes.
Method check_presence Check presence using a generated Python field name.
Method Clear Clear all fields, extensions, unknown fields, and the reset mask.
Method clear_extension Clear an extension value.
Method ClearField Clear a protobuf field or oneof and record it in the reset mask.
Method CopyFrom Replace this message with an independent copy of another message.
Method FindInitializationErrors Return paths of missing required fields.
Method get_extension Return an extension value.
Method get_full_update_reset_mask Create a reset mask from the current protobuf state.
Method get_mask Return the reset mask for field changes.
Method has_extension Return True if an extension has explicit presence.
Method HasField Return True if a protobuf field or oneof has explicit presence.
Method is_default Return True if a generated field has its default value.
Method IsInitialized Return True if every required field is initialized.
Method MergeFrom Merge fields from another message of the same generated type.
Method MergeFromString Merge protobuf wire-format bytes into this message.
Method ParseFromString Parse protobuf wire-format bytes and replace this message.
Method SerializeToString Serialize the message using protobuf wire format.
Method set_extension Set an extension value.
Method set_mask Set the reset mask for this message.
Method to_json Serialize this message using protobuf JSON mapping.
Method which_field_in_oneof Return the selected Python field name for a protobuf oneof.
Method WhichOneof Return the selected protobuf field name for a oneof.
Constant __EXTENSION_REGISTRY__ Registry that decodes protobuf extensions.
Constant __FIELDS__ Runtime field data that the generator creates.
Constant __MAX_NESTING_DEPTH__ Maximum protobuf nesting depth for serialization, parsing, and initialization checks.
Constant __PB2_DESCRIPTOR__ Alias for code that expects a protobuf descriptor.
Constant __REGISTRY__ Registry for the message and its descriptor.
Property Extensions Provide protobuf-compatible mapping access to extension values.
Class Method _fields_by_number Undocumented
Class Method _fields_by_proto_name Undocumented
Class Method _fields_by_python_name Undocumented
Class Method _from_string Deserialize internally without invoking generated user warnings.
Class Method _oneof_python_name Undocumented
Class Method _public_fields_by_proto_name Undocumented
Class Method _public_fields_by_python_name Undocumented
Static Method _format_map_key Undocumented
Static Method _repr_field Undocumented
Method _bind_child Undocumented
Method _bind_mutation Undocumented
Method _check_same_type Undocumented
Method _child_changed Undocumented
Method _clear_state Undocumented
Method _closed_enum_unknown Undocumented
Method _converted_view Undocumented
Method _decode_map_entry Undocumented
Method _detach_child Undocumented
Method _field_has_value Undocumented
Method _field_is_default Undocumented
Method _find_initialization_errors Undocumented
Method _get_field Undocumented
Method _map Undocumented
Method _merge_from_string Undocumented
Method _nesting_limit Undocumented
Method _notify Undocumented
Method _record_reset Undocumented
Method _repeated Undocumented
Method _select Undocumented
Method _serialize_to_string Undocumented
Method _set_field Undocumented
Method _suspend_mutation Undocumented
Method _suspend_reset_mask Undocumented
Method _try_decode_field Undocumented
Method _write_field Undocumented
Instance Variable _extensions Undocumented
Instance Variable _mutation_suspended Undocumented
Instance Variable _on_mutation Undocumented
Instance Variable _oneofs Undocumented
Instance Variable _present Undocumented
Instance Variable _reset_mask Undocumented
Instance Variable _reset_mask_suspended Undocumented
Instance Variable _unknown_fields Undocumented
Instance Variable _values Undocumented
Instance Variable _views Undocumented
def __init__(self, initial_message: SerializableMessage | None = None, *, attach_mode: AttachedDiskSpec__AttachMode | None | UnsetType = _NEBIUS_UNSET, existing_disk: ExistingDisk | None | UnsetType = _NEBIUS_UNSET, managed_disk: ManagedDisk | None | UnsetType = _NEBIUS_UNSET, device_id: str | None | UnsetType = _NEBIUS_UNSET): (source)

Create a message from a source message and field values.

Set or clear the generated attach_mode field.

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

Set or clear the generated device_id field.

@existing_disk.setter
def existing_disk(self, value: ExistingDisk | None): (source)

Set or clear the generated existing_disk field.

@managed_disk.setter
def managed_disk(self, value: ManagedDisk | None): (source)

Set or clear the generated managed_disk field.

__PROTO_DESCRIPTOR__ = (source)

Protobuf message descriptor from the registry.

Value
REGISTRY.message_descriptor('nebius.compute.v1.AttachedDiskSpec')
__PROTO_FULL_NAME__: str = (source)

Fully qualified protobuf message name.

Value
'nebius.compute.v1.AttachedDiskSpec'
__PY_TO_PB2__: dict[str, str] = (source)

Mapping from Python member names to protobuf names.

Value
{'attach_mode': 'attach_mode',
 'existing_disk': 'existing_disk',
 'managed_disk': 'managed_disk',
 'device_id': 'device_id',
 'type': 'type',
 'AttachMode': 'AttachMode'}
@_NebiusProperty
attach_mode: AttachedDiskSpec__AttachMode = (source)

Undocumented

@_NebiusProperty
device_id: str = (source)

Specifies the user-defined identifier, allowing to use '/dev/disk/by-id/virtio-{device_id}' as a device path in mount command.

@_NebiusProperty
existing_disk: ExistingDisk | None = (source)

Attach an existing disk.

Lifecycle:

  • The disk is preserved when the instance is deleted (it will be detached).

Switching to a managed disk:

  • To delete the disk together with the instance, switch to ManagedDisk in the instance spec.
  • For the switch, ManagedDisk.name MUST match the current disk name (see DiskService.Get for the disk referenced by ExistingDisk.id).
  • When converting an ExistingDisk to a ManagedDisk, you must provide ManagedDisk.name and ManagedDisk.spec exactly as they are currently defined in the disk resource. Obtain the current values via DiskService.Get and copy them verbatim. If ManagedDisk.spec differs from the current disk spec, the instance update will fail.
@_NebiusProperty
managed_disk: ManagedDisk | None = (source)

Attach a managed disk.

Lifecycle:

  • The disk is deleted when the instance is deleted.

Semantics:

  • Specifying a ManagedDisk expresses an intent to have that managed disk attached.
  • If this intent cannot be satisfied, the entire operation fails.
  • You can check the intent status in instance.status.disk_attachments.

Updates and matching:

  • Managed disks can be updated only via instance spec updates. Updates via DiskService are not allowed.
  • During updates, disks are matched by name.

Renaming and data loss:

  • Changing the disk name triggers disk replacement (create a new disk and delete the old one), which causes data loss.
  • To rename a managed disk safely: 1) switch it to ExistingDisk in the instance spec, and 2) update/rename it via DiskService.

Conflicts:

  • Instance create/update fails if there is already a disk with the same name. as requested by any ManagedDisk.

Finding the disk ID:

  • The disk ID is available in instance.status.disk_attachments after it is created. Use DiskAttachmentStatus.name to find the desired disk which matches name.

Switching to an existing (non-managed) disk:

  • To preserve the disk after instance deletion, switch it to ExistingDisk in the instance spec, use the disk ID from instance.status.disk_attachments.

Deletion protection:

  • Switching ExistingDisk to ManagedDisk fails if Disk.spec.deletion_protection is enabled.
  • Deleting an instance that has a ManagedDisk fails if Disk.spec.deletion_protection is enabled.