Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions nebius/compute/v1/disk.proto
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,13 @@ message DiskStatus {
int64 block_size_bytes = 8;

SourceImageCPUArchitecture source_image_cpu_architecture = 9;

message LockState {
repeated string images = 1;
}

// Indicates resources that prevent the disk from being attached as read-write.
LockState lock_state = 11;
}

message DiskEncryption {
Expand Down
15 changes: 14 additions & 1 deletion nebius/compute/v1/image.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ syntax = "proto3";

package nebius.compute.v1;

import "buf/validate/validate.proto";
import "nebius/common/v1/metadata.proto";
import "nebius/annotations.proto";
import "google/protobuf/timestamp.proto";
Expand All @@ -28,13 +29,25 @@ message ImageSpec {
ARM64 = 2;
}

optional string description = 1 [(field_behavior) = IMMUTABLE];
optional string description = 1 [
(field_behavior) = IMMUTABLE,
deprecated = true,
(field_deprecation_details) = { effective_at: "2026-01-01", description: "The field is empty" }
];

string image_family = 2 [(field_behavior) = IMMUTABLE];

// part of identifier into the image family
string version = 3 [(field_behavior) = IMMUTABLE];

oneof source {
option (buf.validate.oneof).required = true;

// ID of the disk to create the image from
string source_disk_id = 4 [(field_behavior) = IMMUTABLE];
}

// CPU architecture supported by the image
CPUArchitecture cpu_architecture = 6 [(field_behavior) = IMMUTABLE];

// human readable name for image family
Expand Down
10 changes: 10 additions & 0 deletions nebius/compute/v1/image_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package nebius.compute.v1;
import "buf/validate/validate.proto";
import "nebius/annotations.proto";
import "nebius/common/v1/metadata.proto";
import "nebius/common/v1/operation.proto";
import "nebius/common/v1/operation_service.proto";
import "nebius/compute/v1/image.proto";
import "nebius/compute/v1/operation_service.proto";
Expand All @@ -30,6 +31,9 @@ service ImageService {
// Lists all images in a specific parent resource.
rpc List(ListImagesRequest) returns (ListImagesResponse);

// Creates a new image resource.
rpc Create(CreateImageRequest) returns (common.v1.Operation);

// Lists all operations that were performed within a specific parent resource.
rpc ListOperationsByParent(ListOperationsByParentRequest) returns (common.v1.ListOperationsResponse);

Expand Down Expand Up @@ -66,6 +70,12 @@ message ListImagesRequest {
];
}

message CreateImageRequest {
common.v1.ResourceMetadata metadata = 1;

ImageSpec spec = 2;
}

message ListImagesResponse {
repeated Image items = 1;

Expand Down