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
10 changes: 8 additions & 2 deletions nebius/maintenance/v1alpha1/maintenance_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,10 @@ message ListMaintenancesResponse {
message GetMaintenanceRequest {
// ID of the maintenance operation to return.
// To get the maintenance ID use a [MaintenanceService.List] request.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "maintenance" ] }
];
}

message UpdateMaintenanceRequest {
Expand All @@ -57,7 +60,10 @@ message UpdateMaintenanceRequest {

// Metadata associated with the maintenance operation.
// Must include ID of the maintenance operation to update.
common.v1.ResourceMetadata metadata = 1 [(buf.validate.field).required = true];
common.v1.ResourceMetadata metadata = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "maintenance" ] }
];

// Updated specification for the maintenance operation.
MaintenanceSpec spec = 2;
Expand Down
11 changes: 9 additions & 2 deletions nebius/msp/mlflow/v1alpha1/cluster.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,20 @@ message ClusterSpec {
];

// Id of the service account that will be used to access S3 bucket (and create one if not provided).
string service_account_id = 6 [(buf.validate.field).required = true];
string service_account_id = 6 [
(buf.validate.field).required = true,
(nid) = { resource: [ "serviceaccount" ] }
];

// Name of the Nebius S3 bucket for MLflow artifacts. If not provided, will be created under the same parent.
string storage_bucket_name = 7;

// ID of the vpc network.
string network_id = 8 [(buf.validate.field).required = true, (field_behavior) = IMMUTABLE];
string network_id = 8 [
(buf.validate.field).required = true,
(field_behavior) = IMMUTABLE,
(nid) = { resource: [ "vpcnetwork" ] }
];

// Size defines how much resources will be allocated to mlflow
// See supported sizes in the documentation. Default size is the smallest available in the region.
Expand Down
10 changes: 8 additions & 2 deletions nebius/msp/mlflow/v1alpha1/cluster_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ service ClusterService {

message GetClusterRequest {
// ID of the cluster to retrieve.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "mlflow" ] }
];
}

message GetClusterByNameRequest {
Expand Down Expand Up @@ -89,5 +92,8 @@ message CreateClusterRequest {

message DeleteClusterRequest {
// ID of the cluster to delete.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "mlflow" ] }
];
}
20 changes: 16 additions & 4 deletions nebius/msp/postgresql/v1alpha1/backup_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ service BackupService {

message GetBackupRequest {
// ID of the PostgreSQL cluster that holds backup.
string cluster_id = 1 [(buf.validate.field).required = true];
string cluster_id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];

// ID of the designated backup.
string backup_id = 2 [(buf.validate.field).required = true];
Expand All @@ -48,7 +51,10 @@ message ListBackupsRequest {

message ListBackupsByClusterRequest {
// ID of the PostgreSQL cluster to list backups from.
string cluster_id = 1 [(buf.validate.field).required = true];
string cluster_id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];
}

message ListBackupsResponse {
Expand All @@ -58,12 +64,18 @@ message ListBackupsResponse {

message CreateBackupRequest {
// ID of the PostgreSQL cluster that holds backup.
string cluster_id = 1 [(buf.validate.field).required = true];
string cluster_id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];
}

message DeleteBackupRequest {
// ID of the PostgreSQL cluster that holds backup.
string cluster_id = 1 [(buf.validate.field).required = true];
string cluster_id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];

// ID of the designated backup.
string backup_id = 2 [(buf.validate.field).required = true];
Expand Down
6 changes: 5 additions & 1 deletion nebius/msp/postgresql/v1alpha1/cluster.proto
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ message ClusterSpec {
];

// Network ID in which the cluster is created.
string network_id = 6 [(field_behavior) = IMMUTABLE, (buf.validate.field).required = true];
string network_id = 6 [
(field_behavior) = IMMUTABLE,
(buf.validate.field).required = true,
(nid) = { resource: [ "vpcnetwork" ] }
];

ConfigSpec config = 3 [(buf.validate.field).required = true];

Expand Down
27 changes: 21 additions & 6 deletions nebius/msp/postgresql/v1alpha1/cluster_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,18 @@ service ClusterService {
message GetClusterRequest {
// ID of the PostgreSQL Cluster resource to return.
// To get the cluster ID use a [ClusterService.List] request.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];
}

message GetClusterForBackupRequest {
// ID of the PostgreSQL cluster that holds backup.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];

// ID of the backup for which source cluster is requested.
string backup_id = 2 [(buf.validate.field).required = true];
Expand Down Expand Up @@ -107,7 +113,10 @@ message RestoreClusterRequest {
string backup_id = 3 [(buf.validate.field).required = true];

// ID of the PostgreSQL cluster to restore from.
string source_cluster_id = 4 [(buf.validate.field).required = true];
string source_cluster_id = 4 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];

// Timestamp for point in time recovery.
google.protobuf.Timestamp recovery_time = 5;
Expand All @@ -116,7 +125,7 @@ message RestoreClusterRequest {
message DeleteClusterRequest {
// ID of the PostgreSQL cluster to delete.
// To get the PostgreSQL cluster ID, use a [ClusterService.List] request.
string id = 1;
string id = 1 [(nid) = { resource: [ "postgresql" ] }];
}

message UpdateClusterRequest {
Expand All @@ -130,11 +139,17 @@ message UpdateClusterRequest {
message StopClusterRequest {
// ID of the PostgreSQL Cluster resource to pause.
// To get the cluster ID use a [ClusterService.List] request.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];
}

message StartClusterRequest {
// ID of the PostgreSQL Cluster resource to resume.
// To get the cluster ID use a [ClusterService.List] request.
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = { resource: [ "postgresql" ] }
];
}