forked from TrueCloudLab/frostfs-api
6 KiB
6 KiB
Protocol Documentation
Table of Contents
acl/types.proto
Message EACLRecord
EACLRecord groups information about extended ACL rule.
Field | Type | Label | Description |
---|---|---|---|
operation | EACLRecord.Operation | Operation carries type of operation. | |
action | EACLRecord.Action | Action carries ACL target action. | |
Filters | EACLRecord.FilterInfo | repeated | Filters carries set of filters. |
Targets | EACLRecord.TargetInfo | repeated | Targets carries information about extended ACL target list. |
Message EACLRecord.FilterInfo
FilterInfo groups information about filter.
Field | Type | Label | Description |
---|---|---|---|
header | EACLRecord.FilterInfo.Header | Header carries type of header. | |
matchType | EACLRecord.FilterInfo.MatchType | MatchType carries type of match. | |
HeaderName | string | HeaderName carries name of filtering header. | |
HeaderVal | string | HeaderVal carries value of filtering header. |
Message EACLRecord.TargetInfo
TargetInfo groups information about extended ACL target.
Field | Type | Label | Description |
---|---|---|---|
Target | Target | Target carries target of ACL rule. | |
KeyList | bytes | repeated | KeyList carries public keys of ACL target. |
Message EACLTable
EACLRecord carries the information about extended ACL rules.
Field | Type | Label | Description |
---|---|---|---|
Records | EACLRecord | repeated | Records carries list of extended ACL rule records. |
EACLRecord.Action
Action is an enumeration of EACL actions.
Name | Number | Description |
---|---|---|
ActionUnknown | 0 | |
Allow | 1 | |
Deny | 2 |
EACLRecord.FilterInfo.Header
Header is an enumeration of filtering header types.
Name | Number | Description |
---|---|---|
HeaderUnknown | 0 | |
Request | 1 | |
ObjectSystem | 2 | |
ObjectUser | 3 |
EACLRecord.FilterInfo.MatchType
MatchType is an enumeration of match types.
Name | Number | Description |
---|---|---|
MatchUnknown | 0 | |
StringEqual | 1 | |
StringNotEqual | 2 |
EACLRecord.Operation
Operation is an enumeration of operation types.
Name | Number | Description |
---|---|---|
OPERATION_UNKNOWN | 0 | |
GET | 1 | |
HEAD | 2 | |
PUT | 3 | |
DELETE | 4 | |
SEARCH | 5 | |
GETRANGE | 6 | |
GETRANGEHASH | 7 |
Target
Target of the access control rule in access control list.
Name | Number | Description |
---|---|---|
Unknown | 0 | Unknown target, default value. |
User | 1 | User target rule is applied if sender is the owner of the container. |
System | 2 | System target rule is applied if sender is the storage node within the container or inner ring node. |
Others | 3 | Others target rule is applied if sender is not user or system target. |
PubKey | 4 | PubKey target rule is applied if sender has public key provided in extended ACL. |
Scalar Value Types
.proto Type | Notes | C++ Type | Java Type | Python Type |
---|---|---|---|---|
double | double | double | float | |
float | float | float | float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
uint32 | Uses variable-length encoding. | uint32 | int | int/long |
uint64 | Uses variable-length encoding. | uint64 | long | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
sfixed32 | Always four bytes. | int32 | int | int |
sfixed64 | Always eight bytes. | int64 | long | int/long |
bool | bool | boolean | boolean | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |