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
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- Container `__NEOFS__LOCK_UNTIL` attribute (#357)
- `CONTAINER_LOCKED` status (#357)
- `CONTAINER_AWAIT_TIMEOUT` status (#358)
- `SetAttribute` and `RemoveAttribute` RPC to `ContainerService` (#362)
- `SetAttribute` and `RemoveAttribute` RPC to `ContainerService` (#362, #375)
- `SETATTRIBUTE` and `REMOVEATTRIBUTE` verbs for container sessions V1 (#362)
- Container `S3_TAGS`, `S3_SETTINGS`, `S3_NOTIFICATIONS` attributes (#371)

Expand Down
26 changes: 4 additions & 22 deletions container/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -533,17 +533,8 @@ message SetAttributeRequest {

// Attribute setting response
message SetAttributeResponse {
// Request result message.
message Body {
// Operation execution status.
neo.fs.v2.status.Status status = 1;
}

// Request result.
Body body = 1;

// Signature of stable-marshalled `body` field.
neo.fs.v2.refs.Signature body_signature = 2;
// Operation execution status.
neo.fs.v2.status.Status status = 1;
}

// Attribute removal request
Expand Down Expand Up @@ -608,15 +599,6 @@ message RemoveAttributeRequest {

// Attribute removal response
message RemoveAttributeResponse {
// Request result message.
message Body {
// Operation execution status.
neo.fs.v2.status.Status status = 1;
}

// Request result.
Body body = 1;

// Signature of stable-marshalled `body` field.
neo.fs.v2.refs.Signature body_signature = 2;
// Operation execution status.
neo.fs.v2.status.Status status = 1;
}
26 changes: 0 additions & 26 deletions proto-docs/container.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,10 @@
- [RemoveAttributeRequest.Body](#neo.fs.v2.container.RemoveAttributeRequest.Body)
- [RemoveAttributeRequest.Body.Parameters](#neo.fs.v2.container.RemoveAttributeRequest.Body.Parameters)
- [RemoveAttributeResponse](#neo.fs.v2.container.RemoveAttributeResponse)
- [RemoveAttributeResponse.Body](#neo.fs.v2.container.RemoveAttributeResponse.Body)
- [SetAttributeRequest](#neo.fs.v2.container.SetAttributeRequest)
- [SetAttributeRequest.Body](#neo.fs.v2.container.SetAttributeRequest.Body)
- [SetAttributeRequest.Body.Parameters](#neo.fs.v2.container.SetAttributeRequest.Body.Parameters)
- [SetAttributeResponse](#neo.fs.v2.container.SetAttributeResponse)
- [SetAttributeResponse.Body](#neo.fs.v2.container.SetAttributeResponse.Body)
- [SetExtendedACLRequest](#neo.fs.v2.container.SetExtendedACLRequest)
- [SetExtendedACLRequest.Body](#neo.fs.v2.container.SetExtendedACLRequest.Body)
- [SetExtendedACLResponse](#neo.fs.v2.container.SetExtendedACLResponse)
Expand Down Expand Up @@ -621,18 +619,6 @@ Attribute-specific requirements:
Attribute removal response


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| body | [RemoveAttributeResponse.Body](#neo.fs.v2.container.RemoveAttributeResponse.Body) | | Request result. |
| body_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of stable-marshalled `body` field. |


<a name="neo.fs.v2.container.RemoveAttributeResponse.Body"></a>

### Message RemoveAttributeResponse.Body
Request result message.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| status | [neo.fs.v2.status.Status](#neo.fs.v2.status.Status) | | Operation execution status. |
Expand Down Expand Up @@ -704,18 +690,6 @@ creation. Attribute-specific requirements:
Attribute setting response


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| body | [SetAttributeResponse.Body](#neo.fs.v2.container.SetAttributeResponse.Body) | | Request result. |
| body_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of stable-marshalled `body` field. |


<a name="neo.fs.v2.container.SetAttributeResponse.Body"></a>

### Message SetAttributeResponse.Body
Request result message.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| status | [neo.fs.v2.status.Status](#neo.fs.v2.status.Status) | | Operation execution status. |
Expand Down
5 changes: 2 additions & 3 deletions proto-docs/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,8 +248,7 @@ SessionContextV2 carries unified context for both ObjectService and ContainerSer

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| container | [neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID) | | Container where operation is allowed. For container operations, this is the container being operated on. For object operations, this is the container holding the objects. Empty container ID means wildcard (applies to all containers). Objects list is ignored for wildcard contexts. |
| objects | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | Specific objects where operation is allowed. Only relevant for object operations. Empty list means all objects in the container. Maximum number of objects: 1000. |
| container | [neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID) | | Container where operation is allowed. For container operations, this is the container being operated on. For object operations, this is the container holding the objects. Empty container ID means wildcard (applies to all containers). |
| verbs | [Verb](#neo.fs.v2.session.Verb) | repeated | Operations authorized for this context. Must contain at least one verb (empty list is invalid). Verbs must be sorted in ascending order. Maximum number of verbs: 12. |


Expand Down Expand Up @@ -326,7 +325,7 @@ Session Token body.

Validation rules: 1. Only one wildcard context (empty container ID) is allowed per token. Wildcard context must come first if present. 2. Contexts must be sorted in ascending order by ContainerID. 3. Duplicate containers are not allowed (each container can appear only once). 4. Each context must have at least one verb (enforced by SessionContextV2). 5. Verbs within each context must be sorted in ascending order (enforced by SessionContextV2). 6. Maximum number of contexts: 16.

Delegation rules (when origin token is present): 1. New contexts (containers) can only be added if origin token has a wildcard context. 2. All rights must be narrowed during delegation: - Verbs must be a subset of origin's verbs for the same container - Objects (if specified) must be a subset of origin's objects - Cannot add new verbs not present in origin for the same container |
Delegation rules (when origin token is present): 1. New contexts (containers) can only be added if origin token has a wildcard context. 2. All rights must be narrowed during delegation: - Verbs must be a subset of origin's verbs for the same container - Cannot add new verbs not present in origin for the same container |
| final | [bool](#bool) | | final is a flag indicating whether further delegation is allowed. If set to true, subjects of this token cannot delegate their rights further. |


Expand Down
Loading