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
9 changes: 8 additions & 1 deletion nebius/storage/v1/lifecycle.proto
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,14 @@ message LifecycleAccessFilter {

// User agents to match. Condition is satisfied if the request's user agent contains any of these substrings.
// An empty list matches all user agents.
repeated string user_agents = 3 [(buf.validate.field) = { repeated: { max_items: 100 } }];
repeated string user_agents = 3 [
(buf.validate.field) = {
repeated: {
max_items: 100,
items: { string: { max_len: 200 } }
}
}
];

enum Type {
TYPE_UNSPECIFIED = 0;
Expand Down
14 changes: 14 additions & 0 deletions nebius/storage/v1alpha1/transfer.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ message TransferSpec {

string region = 3 [(field_behavior) = IMMUTABLE, (buf.validate.field).required = true];

// Prefix to filter objects in the source bucket. Only objects whose keys start with this prefix will be transferred.
// During transfer, the resulting object key in the destination bucket is computed
// by removing source.prefix from the original key and then prepending destination.prefix (if provided).
// Important: This transformation may result in an empty object key or one that exceeds allowed length limits.
// Use prefixes that guarantee valid resulting object keys for your objects after transformation.
string prefix = 6 [(field_behavior) = IMMUTABLE];

// Credentials for accessing the source bucket. These credentials must have list and get permissions.
// This parameter must be specified only during create operations.
BucketCredentials credentials = 4 [(field_behavior) = INPUT_ONLY];
Expand All @@ -53,6 +60,13 @@ message TransferSpec {
message DestinationBucket {
string bucket_name = 1 [(field_behavior) = IMMUTABLE, (buf.validate.field).required = true];

// Prefix to add to the beginning of each transferred object key in the destination bucket.
// During transfer, the resulting object key in the destination bucket is computed
// by removing source.prefix (if provided) from the original key and then prepending destination.prefix.
// Important: This transformation may result in an empty object key or one that exceeds allowed length limits.
// Use prefixes that guarantee valid resulting object keys for your objects after transformation.
string prefix = 3 [(field_behavior) = IMMUTABLE];

// Credentials for accessing the destination bucket. These credentials must have head and write permissions.
// This parameter must be specified only during create operations.
BucketCredentials credentials = 2 [(field_behavior) = INPUT_ONLY];
Expand Down