diff --git a/v2/acl/grpc/types.pb.go b/v2/acl/grpc/types.pb.go index 3d0f0e1d..052ceb28 100644 --- a/v2/acl/grpc/types.pb.go +++ b/v2/acl/grpc/types.pb.go @@ -556,6 +556,11 @@ func (x *BearerToken) GetSignature() *grpc.Signature { // * $Object:homomorphicHash \ // homomorphic_hash // +// Please note, that if request or response does not have object's headers or +// full object (Range, RangeHash, Search, Delete), it will not be possible to +// filter by object header fields or user attributes. From the well-known list +// only `$Object:objectID` and `$Object:containerID` will be available, as +// it's possible to take that information from the requested address. type EACLRecord_Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache diff --git a/v2/container/grpc/types.pb.go b/v2/container/grpc/types.pb.go index f23cad54..6639bc32 100644 --- a/v2/container/grpc/types.pb.go +++ b/v2/container/grpc/types.pb.go @@ -130,7 +130,9 @@ func (x *Container) GetPlacementPolicy() *grpc1.PlacementPolicy { // container. Container attributes are immutable. They are set at container // creation and can never be added or updated. // -// Key name must be a valid UTF-8 string. Value can't be empty. +// Key name must be a container-unique valid UTF-8 string. Value can't be +// empty. Containers with duplicated attribute names or attributes with empty +// values will be considered invalid. // // There are some "well-known" attributes affecting system behaviour: // diff --git a/v2/netmap/grpc/types.pb.go b/v2/netmap/grpc/types.pb.go index 178d9750..3fd7d8fb 100644 --- a/v2/netmap/grpc/types.pb.go +++ b/v2/netmap/grpc/types.pb.go @@ -536,7 +536,10 @@ type NodeInfo struct { PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // Ways to connect to a node Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // Carries list of the NeoFS node attributes in a string key-value format. + // Carries list of the NeoFS node attributes in a key-value form. Key name + // must be a node-unique valid UTF-8 string. Value can't be empty. NodeInfo + // structures with duplicated attribute names or attributes with empty values + // will be considered invalid. Attributes []*NodeInfo_Attribute `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"` // Carries state of the NeoFS node. State NodeInfo_State `protobuf:"varint,4,opt,name=state,proto3,enum=neo.fs.v2.netmap.NodeInfo_State" json:"state,omitempty"` diff --git a/v2/object/grpc/types.pb.go b/v2/object/grpc/types.pb.go index e2de279e..2f900b8a 100644 --- a/v2/object/grpc/types.pb.go +++ b/v2/object/grpc/types.pb.go @@ -520,7 +520,9 @@ func (x *SplitInfo) GetLink() *grpc.ObjectID { // `Attribute` is a user-defined Key-Value metadata pair attached to the // object. // -// Key name must be a valid UTF-8 string. Value can't be empty. +// Key name must be a object-unique valid UTF-8 string. Value can't be empty. +// Objects with duplicated attribute names or attributes with empty values +// will be considered invalid. // // There are some "well-known" attributes starting with `__NEOFS__` prefix // that affect system behaviour: diff --git a/v2/refs/grpc/types.pb.go b/v2/refs/grpc/types.pb.go index b0e18b59..55a80f49 100644 --- a/v2/refs/grpc/types.pb.go +++ b/v2/refs/grpc/types.pb.go @@ -142,10 +142,19 @@ func (x *Address) GetObjectId() *ObjectID { // NeoFS Object unique identifier. Objects are immutable and content-addressed. // It means `ObjectID` will change if `header` or `payload` changes. // -// `ObjectID` is a 32 byte long SHA256 hash of object's `header` field, which, -// in it's turn, contains hash of object's payload. +// `ObjectID` is a 32 byte long +// [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of +// object's `header` field, which, in it's turn, contains hash of object's +// payload. // -// String presentation is base58 encoded string. +// String presentation is +// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string. +// +// JSON value will be the data encoded as a string using standard base64 +// encoding with paddings. Either +// [standard](https://tools.ietf.org/html/rfc4648#section-4) or +// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding +// with/without paddings are accepted. type ObjectID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -197,10 +206,18 @@ func (x *ObjectID) GetValue() []byte { // NeoFS container identifier. Container structures are immutable and // content-addressed. // -// `ContainerID` is a 32 byte long SHA256 hash of stable-marshalled container -// message. +// `ContainerID` is a 32 byte long +// [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of +// stable-marshalled container message. // -// String presentation is base58 encoded string. +// String presentation is +// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string. +// +// JSON value will be the data encoded as a string using standard base64 +// encoding with paddings. Either +// [standard](https://tools.ietf.org/html/rfc4648#section-4) or +// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding +// with/without paddings are accepted. type ContainerID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -256,7 +273,14 @@ func (x *ContainerID) GetValue() []byte { // `OwnerID` is a 25 bytes sequence starting with Neo version prefix byte // followed by 20 bytes of ScrptHash and 4 bytes of checksum. // -// String presentation is Base58 Check Encoded string. +// String presentation is [Base58 +// Check](https://en.bitcoin.it/wiki/Base58Check_encoding) Encoded string. +// +// JSON value will be the data encoded as a string using standard base64 +// encoding with paddings. Either +// [standard](https://tools.ietf.org/html/rfc4648#section-4) or +// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding +// with/without paddings are accepted. type OwnerID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache