Skip to content
Open
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
2 changes: 1 addition & 1 deletion nebius/ai/v1/job.proto
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ message JobSpec {

// Restart attempts for the job.
int64 restart_attempts = 30 [(buf.validate.field) = {
int64: {gte: 0}
int64: {gte: -1}
}];

// Job timeout.
Expand Down
2 changes: 2 additions & 0 deletions nebius/compute/v1/disk.proto
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,8 @@ message DiskStatus {
SourceImageCPUArchitecture source_image_cpu_architecture = 9;

message LockState {
// Disk is locked for deletion and for read-write operations while image is being created.
// Here is the list of these images.
repeated string images = 1;
}

Expand Down
2 changes: 0 additions & 2 deletions nebius/iam/v1/federated_credentials.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ message FederatedCredentialsSpec {
}

message OidcCredentialsProvider {
// *
// It's not required provider OIDC issuer should be real OIDC provider, but should expose OIDC configuration
// with "/.well-known/openid-configuration" endpoint. Configuration should contains the "jwks_uri" endpoint
// where the JSON Web Key Set (JWKS) can be found; this set contains public keys used to verify
Expand All @@ -47,7 +46,6 @@ message OidcCredentialsProvider {
// - response size for jwks_uri and "/.well-known/openid-configuration limited by 100KB.
string issuer_url = 1 [(buf.validate.field).required = true];

// *
// Literally json, which represents JWKS with public keys for JWT verification.
// It worth mentioned that in a case of adding/rotating keys the jwk_set_json also should be updated here.
// Besides, the "issuer" parameter should be set even if the JWKS will be resolved locally.
Expand Down
2 changes: 0 additions & 2 deletions nebius/iam/v1/federation_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,10 @@ service FederationService {

rpc Update(UpdateFederationRequest) returns (common.v1.Operation);

// *
// Activates an existing federation.
// By default, a newly created federation is in the active state.
rpc Activate(ActivateFederationRequest) returns (common.v1.Operation);

// *
// Deactivates an existing federation.
// When a federation is inactive, all users under it will be unable to authenticate.
rpc Deactivate(DeactivateFederationRequest) returns (common.v1.Operation);
Expand Down
4 changes: 4 additions & 0 deletions nebius/storage/v1/bucket.proto
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import "nebius/common/v1/metadata.proto";
import "nebius/storage/v1/base.proto";
import "nebius/storage/v1/bucket_counters.proto";
import "nebius/storage/v1/bucket_policy.proto";
import "nebius/storage/v1/cors.proto";
import "nebius/storage/v1/lifecycle.proto";

option go_package = "github.com/nebius/gosdk/proto/nebius/storage/v1";
Expand Down Expand Up @@ -41,6 +42,9 @@ message BucketSpec {

LifecycleConfiguration lifecycle_configuration = 5;

// Cross-origin resource sharing configuration.
CORSConfiguration cors = 8;

// Storage class to use by default for uploads to the bucket. It may be overridden by `x-amz-storage-class` header.
// If not set - STANDARD is used as a default storage class.
StorageClass default_storage_class = 9;
Expand Down
38 changes: 38 additions & 0 deletions nebius/storage/v1/cors.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
syntax = "proto3";

package nebius.storage.v1;

import "buf/validate/validate.proto";

option go_package = "github.com/nebius/gosdk/proto/nebius/storage/v1";
option java_multiple_files = true;
option java_outer_classname = "CorsProto";
option java_package = "ai.nebius.pub.storage.v1";

// Cross-origin resource sharing (CORS) configuration.
message CORSConfiguration {
// CORS rules.
repeated CORSRule rules = 1 [(buf.validate.field) = {
repeated: {max_items: 100}
}];
}

message CORSRule {
// Optional rule identifier.
optional string id = 1;

// Headers that are allowed in a preflight request through the Access-Control-Request-Headers header
repeated string allowed_headers = 2;

// The origins that you want to allow cross-domain requests from. Single wildcard * is allowed.
repeated string allowed_origins = 3 [(buf.validate.field).required = true];

// HTTP methods CORS is allowed for: GET, PUT, POST, DELETE, HEAD.
repeated string allowed_methods = 4 [(buf.validate.field).required = true];

// Headers in the response that you want customers to be able to access from their applications.
repeated string expose_headers = 5;

// Time in seconds that your browser can cache the response for a preflight request as identified by the resource.
optional int32 max_age_seconds = 6;
}