forked from TrueCloudLab/frostfs-api
container: add Get/Set extended ACL rpc
This commit is contained in:
parent
e65752699f
commit
17e07df8d9
2 changed files with 135 additions and 0 deletions
|
@ -27,6 +27,12 @@ service Service {
|
|||
|
||||
// List returns all user's containers
|
||||
rpc List(ListRequest) returns (ListResponse);
|
||||
|
||||
// SetExtendedACL changes extended ACL rules of the container
|
||||
rpc SetExtendedACL(SetExtendedACLRequest) returns (SetExtendedACLResponse);
|
||||
|
||||
// GetExtendedACL returns extended ACL rules of the container
|
||||
rpc GetExtendedACL(GetExtendedACLRequest) returns (GetExtendedACLResponse);
|
||||
}
|
||||
|
||||
message PutRequest {
|
||||
|
@ -99,3 +105,42 @@ message ListResponse {
|
|||
// CID (container id) is list of SHA256 hashes of the container structures
|
||||
repeated bytes CID = 1 [(gogoproto.customtype) = "CID", (gogoproto.nullable) = false];
|
||||
}
|
||||
|
||||
message ExtendedACLKey {
|
||||
// ID (container id) is a SHA256 hash of the container structure
|
||||
bytes ID = 1 [(gogoproto.customtype) = "CID", (gogoproto.nullable) = false];
|
||||
}
|
||||
|
||||
message ExtendedACLValue {
|
||||
// EACL carries binary representation of the table of extended ACL rules
|
||||
bytes EACL = 1;
|
||||
// Signature carries EACL field signature
|
||||
bytes Signature = 2;
|
||||
}
|
||||
|
||||
message SetExtendedACLRequest {
|
||||
// Key carries key to extended ACL information
|
||||
ExtendedACLKey Key = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
// Value carries extended ACL information
|
||||
ExtendedACLValue Value = 2 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
// RequestMetaHeader contains information about request meta headers (should be embedded into message)
|
||||
service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)
|
||||
service.RequestVerificationHeader Verify = 99 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
}
|
||||
|
||||
message SetExtendedACLResponse {}
|
||||
|
||||
message GetExtendedACLRequest {
|
||||
// Key carries key to extended ACL information
|
||||
ExtendedACLKey Key = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
// RequestMetaHeader contains information about request meta headers (should be embedded into message)
|
||||
service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)
|
||||
service.RequestVerificationHeader Verify = 99 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
}
|
||||
|
||||
message GetExtendedACLResponse {
|
||||
// ACL carries extended ACL information
|
||||
ExtendedACLValue ACL = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue