From 8e00f30696e6af04fcd9ba2ce25bbfca2b84f6f2 Mon Sep 17 00:00:00 2001 From: Evgenii Baidakov Date: Mon, 19 Jan 2026 14:45:16 +0400 Subject: [PATCH] container: Add S3 gate specific tags docs Signed-off-by: Evgenii Baidakov --- CHANGELOG.md | 1 + container/service.proto | 9 +++++++++ container/types.proto | 9 +++++++++ proto-docs/container.md | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c12e026..9f6053d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - `CONTAINER_AWAIT_TIMEOUT` status (#358) - `SetAttribute` and `RemoveAttribute` RPC to `ContainerService` (#362) - `SETATTRIBUTE` and `REMOVEATTRIBUTE` verbs for container sessions V1 (#362) +- Container `S3_TAGS`, `S3_SETTINGS`, `S3_NOTIFICATIONS` attributes (#371) ### Changed - `ContainerService`'s `Put`, `Delete` and `SetExtendedACL` RPC are async/await now (#358) diff --git a/container/service.proto b/container/service.proto index f91b9aa2..ed803efb 100644 --- a/container/service.proto +++ b/container/service.proto @@ -478,11 +478,17 @@ message SetAttributeRequest { // // `attribute` must be one of: // - `CORS`; + // - `S3_TAGS`; + // - `S3_SETTINGS`; + // - `S3_NOTIFICATIONS`; // - `__NEOFS__LOCK_UNTIL`. // // In general, requirements for `value` are the same as for container // creation. Attribute-specific requirements: // - `__NEOFS__LOCK_UNTIL`: new timestamp must be after the current one if any + // - `S3_TAGS`: must be a valid JSON object + // - `S3_SETTINGS`: must be a valid JSON object + // - `S3_NOTIFICATIONS`: must be a valid JSON object message Parameters { // Identifier of the container to set attribute for. neo.fs.v2.refs.ContainerID container_id = 1; @@ -554,6 +560,9 @@ message RemoveAttributeRequest { // // `attribute` must be one of: // - `CORS`; + // - `S3_TAGS`; + // - `S3_SETTINGS`; + // - `S3_NOTIFICATIONS`; // - `__NEOFS__LOCK_UNTIL`. // // Attribute-specific requirements: diff --git a/container/types.proto b/container/types.proto index 3d91bcba..21cd4cd1 100644 --- a/container/types.proto +++ b/container/types.proto @@ -96,6 +96,15 @@ message Container { // // The CORS schema is based on Amazon S3 CORS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) // configuration. + // * S3_TAGS \ + // It is used to store S3 gate-specific container tags. The value is controlled by the gate itself. + // Despite it, the value must be valid JSON object. + // * S3_SETTINGS \ + // It is used to store S3 gate-specific container settings. The value is controlled by the gate itself. + // Despite it, the value must be valid JSON object. + // * S3_NOTIFICATIONS \ + // It is used to store S3 gate-specific container notification settings. The value is controlled by the gate itself. + // Despite it, the value must be valid JSON object. message Attribute { // Attribute name key string key = 1 [json_name = "key"]; diff --git a/proto-docs/container.md b/proto-docs/container.md index 23d61b3d..96c48d0f 100644 --- a/proto-docs/container.md +++ b/proto-docs/container.md @@ -599,6 +599,9 @@ format. `attribute` must be one of: - `CORS`; + - `S3_TAGS`; + - `S3_SETTINGS`; + - `S3_NOTIFICATIONS`; - `__NEOFS__LOCK_UNTIL`. Attribute-specific requirements: @@ -674,11 +677,17 @@ format. `attribute` must be one of: - `CORS`; + - `S3_TAGS`; + - `S3_SETTINGS`; + - `S3_NOTIFICATIONS`; - `__NEOFS__LOCK_UNTIL`. In general, requirements for `value` are the same as for container creation. Attribute-specific requirements: - `__NEOFS__LOCK_UNTIL`: new timestamp must be after the current one if any + - `S3_TAGS`: must be a valid JSON object + - `S3_SETTINGS`: must be a valid JSON object + - `S3_NOTIFICATIONS`: must be a valid JSON object | Field | Type | Label | Description | @@ -865,6 +874,15 @@ And some well-known attributes used by applications only: The CORS schema is based on Amazon S3 CORS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) configuration. +* S3_TAGS \ + It is used to store S3 gate-specific container tags. The value is controlled by the gate itself. + Despite it, the value must be valid JSON object. +* S3_SETTINGS \ + It is used to store S3 gate-specific container settings. The value is controlled by the gate itself. + Despite it, the value must be valid JSON object. +* S3_NOTIFICATIONS \ + It is used to store S3 gate-specific container notification settings. The value is controlled by the gate itself. + Despite it, the value must be valid JSON object. | Field | Type | Label | Description |