forked from TrueCloudLab/frostfs-api-go
[#172] Update neofs-api with rich docs and JSON attributes
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
6a69a896e5
commit
80b7033606
13 changed files with 819 additions and 692 deletions
38
v2/accounting/grpc/service.pb.go
generated
38
v2/accounting/grpc/service.pb.go
generated
|
@ -28,13 +28,7 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Message defines the request body of Balance method.
|
||||
//
|
||||
// To indicate the account for which the balance is requested, it's identifier
|
||||
// is used.
|
||||
//
|
||||
// To gain access to the requested information, the request body must be formed
|
||||
// according to the requirements from the system specification.
|
||||
// BalanceRequest message
|
||||
type BalanceRequest struct {
|
||||
// Body of the balance request message.
|
||||
Body *BalanceRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -42,8 +36,8 @@ type BalanceRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -104,10 +98,13 @@ func (m *BalanceRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
//Request body
|
||||
// To indicate the account for which the balance is requested, it's identifier
|
||||
// is used. It can be any existing account in NeoFS sidechain `Balance` smart
|
||||
// contract. If omitted, client implementation MUST set it to the request's
|
||||
// signer `OwnerID`.
|
||||
type BalanceRequest_Body struct {
|
||||
// Carries user identifier in NeoFS system for which the balance
|
||||
// is requested.
|
||||
// Valid user identifier in `OwnerID` format for which the balance is
|
||||
// requested. Required field.
|
||||
OwnerId *grpc1.OwnerID `protobuf:"bytes,1,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -154,9 +151,7 @@ func (m *BalanceRequest_Body) GetOwnerId() *grpc1.OwnerID {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Message defines the response body of Balance method.
|
||||
//
|
||||
// The amount of funds is calculated in decimal numbers.
|
||||
// BalanceResponse message
|
||||
type BalanceResponse struct {
|
||||
// Body of the balance response message.
|
||||
Body *BalanceResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -164,8 +159,8 @@ type BalanceResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -226,9 +221,10 @@ func (m *BalanceResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
//Request body
|
||||
// The amount of funds in GAS token for the `OwnerID`'s account requested.
|
||||
// Balance is `Decimal` format to avoid precision issues with rounding.
|
||||
type BalanceResponse_Body struct {
|
||||
// Carries the amount of funds on the account.
|
||||
// Amount of funds in GAS token for the requested account.
|
||||
Balance *Decimal `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -328,7 +324,7 @@ const _ = grpc2.SupportPackageIsVersion4
|
|||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type AccountingServiceClient interface {
|
||||
// Returns the amount of funds for the requested NeoFS account.
|
||||
// Returns the amount of funds in GAS token for the requested NeoFS account.
|
||||
Balance(ctx context.Context, in *BalanceRequest, opts ...grpc2.CallOption) (*BalanceResponse, error)
|
||||
}
|
||||
|
||||
|
@ -351,7 +347,7 @@ func (c *accountingServiceClient) Balance(ctx context.Context, in *BalanceReques
|
|||
|
||||
// AccountingServiceServer is the server API for AccountingService service.
|
||||
type AccountingServiceServer interface {
|
||||
// Returns the amount of funds for the requested NeoFS account.
|
||||
// Returns the amount of funds in GAS token for the requested NeoFS account.
|
||||
Balance(context.Context, *BalanceRequest) (*BalanceResponse, error)
|
||||
}
|
||||
|
||||
|
|
13
v2/accounting/grpc/types.pb.go
generated
13
v2/accounting/grpc/types.pb.go
generated
|
@ -22,11 +22,18 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Decimal represents the decimal numbers.
|
||||
// Standard floating point data type can't be used in NeoFS due to inexactness
|
||||
// of the result when doing lots of small number operations. To solve the lost
|
||||
// precision issue, special `Decimal` format is used for monetary computations.
|
||||
//
|
||||
// Please see [The General Decimal Arithmetic
|
||||
// Specification](http://speleotrove.com/decimal/) for detailed problem
|
||||
// description.
|
||||
type Decimal struct {
|
||||
// value carries number value.
|
||||
// Number in smallest Token fractions.
|
||||
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
|
||||
// precision carries value precision.
|
||||
// Precision value indicating how many smallest fractions can be in one
|
||||
// integer.
|
||||
Precision uint32 `protobuf:"varint,2,opt,name=precision,proto3" json:"precision,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
|
242
v2/acl/grpc/types.pb.go
generated
242
v2/acl/grpc/types.pb.go
generated
|
@ -27,14 +27,14 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
|||
type Role int32
|
||||
|
||||
const (
|
||||
// Unspecified role, default value.
|
||||
// Unspecified role, default value
|
||||
Role_ROLE_UNSPECIFIED Role = 0
|
||||
// User target rule is applied if sender is the owner of the container.
|
||||
// User target rule is applied if sender is the owner of the container
|
||||
Role_USER Role = 1
|
||||
// System target rule is applied if sender is the storage node within the
|
||||
// container or inner ring node.
|
||||
// container or inner ring node
|
||||
Role_SYSTEM Role = 2
|
||||
// Others target rule is applied if sender is not user or system target.
|
||||
// Others target rule is applied if sender is not user nor system target
|
||||
Role_OTHERS Role = 3
|
||||
)
|
||||
|
||||
|
@ -92,11 +92,12 @@ func (MatchType) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_8233b6696fb3e24f, []int{1}
|
||||
}
|
||||
|
||||
// Operation is an enumeration of operation types.
|
||||
// Request's operation type to match if the rule is applicable to a particular
|
||||
// request.
|
||||
type Operation int32
|
||||
|
||||
const (
|
||||
// Unspecified operation, default value.
|
||||
// Unspecified operation, default value
|
||||
Operation_OPERATION_UNSPECIFIED Operation = 0
|
||||
// Get
|
||||
Operation_GET Operation = 1
|
||||
|
@ -144,11 +145,12 @@ func (Operation) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_8233b6696fb3e24f, []int{2}
|
||||
}
|
||||
|
||||
// Action is an enumeration of EACL actions.
|
||||
// Rule execution result action. Either allows or denies access if the rule's
|
||||
// filters match.
|
||||
type Action int32
|
||||
|
||||
const (
|
||||
// Unspecified action, default value.
|
||||
// Unspecified action, default value
|
||||
Action_ACTION_UNSPECIFIED Action = 0
|
||||
// Allow action
|
||||
Action_ALLOW Action = 1
|
||||
|
@ -176,7 +178,7 @@ func (Action) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_8233b6696fb3e24f, []int{3}
|
||||
}
|
||||
|
||||
// Header is an enumeration of filtering header types.
|
||||
// Enumeration of possible sources of Headers to apply filters.
|
||||
type HeaderType int32
|
||||
|
||||
const (
|
||||
|
@ -208,16 +210,16 @@ func (HeaderType) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_8233b6696fb3e24f, []int{4}
|
||||
}
|
||||
|
||||
// EACLRecord groups information about extended ACL rule.
|
||||
// Describes a single eACL rule.
|
||||
type EACLRecord struct {
|
||||
// Operation carries type of operation.
|
||||
Operation Operation `protobuf:"varint,1,opt,name=operation,json=Operation,proto3,enum=neo.fs.v2.acl.Operation" json:"operation,omitempty"`
|
||||
// Action carries ACL target action.
|
||||
Action Action `protobuf:"varint,2,opt,name=action,json=Action,proto3,enum=neo.fs.v2.acl.Action" json:"action,omitempty"`
|
||||
// filters carries set of filters.
|
||||
Filters []*EACLRecord_Filter `protobuf:"bytes,3,rep,name=filters,json=Filters,proto3" json:"filters,omitempty"`
|
||||
// targets carries information about extended ACL target list.
|
||||
Targets []*EACLRecord_Target `protobuf:"bytes,4,rep,name=targets,json=Targets,proto3" json:"targets,omitempty"`
|
||||
// NeoFS request Verb to match
|
||||
Operation Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=neo.fs.v2.acl.Operation" json:"operation,omitempty"`
|
||||
// Rule execution result. Either allows or denies access if filters match.
|
||||
Action Action `protobuf:"varint,2,opt,name=action,proto3,enum=neo.fs.v2.acl.Action" json:"action,omitempty"`
|
||||
// List of filters to match and see if rule is applicable
|
||||
Filters []*EACLRecord_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"`
|
||||
// List of target subjects to apply ACL rule to
|
||||
Targets []*EACLRecord_Target `protobuf:"bytes,4,rep,name=targets,proto3" json:"targets,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -284,16 +286,16 @@ func (m *EACLRecord) GetTargets() []*EACLRecord_Target {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Filter definition
|
||||
// Filter to check particular properties of the request or object.
|
||||
type EACLRecord_Filter struct {
|
||||
// Header carries type of header.
|
||||
HeaderType HeaderType `protobuf:"varint,1,opt,name=header_type,json=HeaderType,proto3,enum=neo.fs.v2.acl.HeaderType" json:"header_type,omitempty"`
|
||||
// MatchType carries type of match.
|
||||
MatchType MatchType `protobuf:"varint,2,opt,name=match_type,json=MatchType,proto3,enum=neo.fs.v2.acl.MatchType" json:"match_type,omitempty"`
|
||||
// header_name carries name of filtering header.
|
||||
HeaderName string `protobuf:"bytes,3,opt,name=header_name,json=Name,proto3" json:"header_name,omitempty"`
|
||||
// header_val carries value of filtering header.
|
||||
HeaderVal string `protobuf:"bytes,4,opt,name=header_val,json=Value,proto3" json:"header_val,omitempty"`
|
||||
// Define if Object or Request header will be used
|
||||
HeaderType HeaderType `protobuf:"varint,1,opt,name=header_type,json=headerType,proto3,enum=neo.fs.v2.acl.HeaderType" json:"header_type,omitempty"`
|
||||
// Match operation type
|
||||
MatchType MatchType `protobuf:"varint,2,opt,name=match_type,json=matchType,proto3,enum=neo.fs.v2.acl.MatchType" json:"match_type,omitempty"`
|
||||
// Name of the Header to use
|
||||
HeaderName string `protobuf:"bytes,3,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
|
||||
// Expected Header Value or pattern to match
|
||||
HeaderVal string `protobuf:"bytes,4,opt,name=header_val,json=value,proto3" json:"header_val,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -360,12 +362,13 @@ func (m *EACLRecord_Filter) GetHeaderVal() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Information about extended ACL target.
|
||||
// Target to apply ACL rule. Can be a subject's role class or a list of public
|
||||
// keys to match.
|
||||
type EACLRecord_Target struct {
|
||||
// target carries target of ACL rule.
|
||||
Role Role `protobuf:"varint,1,opt,name=role,json=Role,proto3,enum=neo.fs.v2.acl.Role" json:"role,omitempty"`
|
||||
// key_list carries public keys of ACL target.
|
||||
KeyList [][]byte `protobuf:"bytes,2,rep,name=key_list,json=Keys,proto3" json:"key_list,omitempty"`
|
||||
// Target subject's role class
|
||||
Role Role `protobuf:"varint,1,opt,name=role,proto3,enum=neo.fs.v2.acl.Role" json:"role,omitempty"`
|
||||
// List of public keys to identify target subject
|
||||
Keys [][]byte `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -411,23 +414,25 @@ func (m *EACLRecord_Target) GetRole() Role {
|
|||
return Role_ROLE_UNSPECIFIED
|
||||
}
|
||||
|
||||
func (m *EACLRecord_Target) GetKeyList() [][]byte {
|
||||
func (m *EACLRecord_Target) GetKeys() [][]byte {
|
||||
if m != nil {
|
||||
return m.KeyList
|
||||
return m.Keys
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EACLRecord carries the information about extended ACL rules.
|
||||
// Extended ACL rules table. Defined a list of ACL rules additionally to Basic
|
||||
// ACL. Extended ACL rules can be attached to the container and can be updated
|
||||
// or may be defined in `BearerToken` structure. Please see the corresponding
|
||||
// NeoFS Technical Specification's section for detailed description.
|
||||
type EACLTable struct {
|
||||
// eACL format version.
|
||||
// Effectively the version of API library used to create eACL Table
|
||||
// eACL format version. Effectively the version of API library used to create
|
||||
// eACL Table.
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// Carries identifier of the container that should use given
|
||||
// access control rules.
|
||||
ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=ContainerID,proto3" json:"container_id,omitempty"`
|
||||
// Records carries list of extended ACL rule records.
|
||||
Records []*EACLRecord `protobuf:"bytes,3,rep,name=records,json=Records,proto3" json:"records,omitempty"`
|
||||
// Identifier of the container that should use given access control rules
|
||||
ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
|
||||
// List of Extended ACL rules
|
||||
Records []*EACLRecord `protobuf:"bytes,3,rep,name=records,proto3" json:"records,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -487,7 +492,12 @@ func (m *EACLTable) GetRecords() []*EACLRecord {
|
|||
return nil
|
||||
}
|
||||
|
||||
// BearerToken has information about request ACL rules with limited lifetime
|
||||
// BearerToken allows to attach signed Extended ACL rules to the request in
|
||||
// `RequestMetaHeader`. If container's Basic ACL rules allow, the attached rule
|
||||
// set will be checked instead of one attached to the container itself. Just
|
||||
// like [JWT](https://jwt.io), it has a limited lifetime and scope, hence can be
|
||||
// used in the similar use cases, like providing authorisation to externally
|
||||
// authenticated party.
|
||||
type BearerToken struct {
|
||||
// Bearer Token body
|
||||
Body *BearerToken_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -545,12 +555,15 @@ func (m *BearerToken) GetSignature() *grpc.Signature {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Bearer Token body
|
||||
// Bearer Token body structure contains Extended ACL table issued by container
|
||||
// owner with additional information preventing token's abuse.
|
||||
type BearerToken_Body struct {
|
||||
// EACLTable carries table of extended ACL rules
|
||||
// Table of Extended ACL rules to use instead of the ones attached to the
|
||||
// container
|
||||
EaclTable *EACLTable `protobuf:"bytes,1,opt,name=eacl_table,json=eaclTable,proto3" json:"eacl_table,omitempty"`
|
||||
// OwnerID carries identifier of the token owner
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
// `OwnerID` to whom the token was issued. MUST match with the request
|
||||
// originator's `OwnerID`
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
||||
// Token expiration and valid time period parameters
|
||||
Lifetime *BearerToken_Body_TokenLifetime `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
|
@ -612,7 +625,8 @@ func (m *BearerToken_Body) GetLifetime() *BearerToken_Body_TokenLifetime {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Lifetime parameters of the token. Filed names taken from rfc7519.
|
||||
// Lifetime parameters of the token. Filed names taken from
|
||||
// [rfc7519](https://tools.ietf.org/html/rfc7519).
|
||||
type BearerToken_Body_TokenLifetime struct {
|
||||
// Expiration Epoch
|
||||
Exp uint64 `protobuf:"varint,1,opt,name=exp,proto3" json:"exp,omitempty"`
|
||||
|
@ -697,62 +711,62 @@ func init() {
|
|||
func init() { proto.RegisterFile("v2/acl/grpc/types.proto", fileDescriptor_8233b6696fb3e24f) }
|
||||
|
||||
var fileDescriptor_8233b6696fb3e24f = []byte{
|
||||
// 869 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0xdd, 0x6e, 0xe2, 0x46,
|
||||
0x14, 0x5e, 0xff, 0x04, 0xc3, 0x21, 0x5b, 0x59, 0xd3, 0x6e, 0x16, 0xa8, 0x94, 0xa2, 0xdc, 0x34,
|
||||
0x42, 0xc2, 0x68, 0x89, 0xda, 0x95, 0xb6, 0xea, 0x4a, 0x06, 0x26, 0x81, 0x96, 0x60, 0x76, 0x6c,
|
||||
0x52, 0xa5, 0x37, 0x68, 0x30, 0x03, 0xb1, 0xd6, 0xb1, 0x91, 0xed, 0xb0, 0xa5, 0xb7, 0x55, 0xdf,
|
||||
0xa1, 0xcf, 0xd0, 0xdb, 0x7d, 0x89, 0x5e, 0xf6, 0x11, 0xaa, 0xf4, 0xb6, 0x0f, 0x51, 0xcd, 0x18,
|
||||
0x27, 0xc4, 0x9b, 0xd5, 0xde, 0x30, 0xc7, 0x73, 0xbe, 0xef, 0x9c, 0xef, 0x7c, 0x33, 0xd8, 0xf0,
|
||||
0x7c, 0xdd, 0x6e, 0x51, 0xd7, 0x6f, 0x2d, 0xa3, 0x95, 0xdb, 0x4a, 0x36, 0x2b, 0x16, 0x1b, 0xab,
|
||||
0x28, 0x4c, 0x42, 0xf4, 0x34, 0x60, 0xa1, 0xb1, 0x88, 0x8d, 0x75, 0xdb, 0xa0, 0xae, 0x5f, 0xab,
|
||||
0xac, 0xdb, 0xad, 0x88, 0x2d, 0xe2, 0x0f, 0x80, 0x47, 0xff, 0x29, 0x00, 0xd8, 0xec, 0x0e, 0x09,
|
||||
0x73, 0xc3, 0x68, 0x8e, 0xbe, 0x85, 0x52, 0xb8, 0x62, 0x11, 0x4d, 0xbc, 0x30, 0xa8, 0x48, 0x75,
|
||||
0xe9, 0xf8, 0xb3, 0x76, 0xc5, 0x78, 0x50, 0xcb, 0xb0, 0xb2, 0x3c, 0x29, 0xdd, 0x85, 0xa8, 0x09,
|
||||
0x05, 0xea, 0x0a, 0x92, 0x2c, 0x48, 0xcf, 0x72, 0x24, 0x53, 0x24, 0x49, 0x21, 0x5d, 0xd1, 0x2b,
|
||||
0xd0, 0x16, 0x9e, 0x9f, 0xb0, 0x28, 0xae, 0x28, 0x75, 0xe5, 0xb8, 0xdc, 0xae, 0xe7, 0xf0, 0xf7,
|
||||
0x92, 0x8c, 0x53, 0x01, 0x24, 0x5a, 0xba, 0xc6, 0x9c, 0x9b, 0xd0, 0x68, 0xc9, 0x92, 0xb8, 0xa2,
|
||||
0x7e, 0x8a, 0xeb, 0x08, 0x20, 0xd1, 0xd2, 0x35, 0xae, 0xbd, 0x97, 0xa0, 0x90, 0xd6, 0x41, 0xaf,
|
||||
0xa0, 0x7c, 0xc5, 0xe8, 0x9c, 0x45, 0x53, 0x6e, 0xc7, 0x76, 0xd6, 0x6a, 0xae, 0x54, 0x5f, 0x20,
|
||||
0x9c, 0xcd, 0x8a, 0x11, 0xb8, 0x8f, 0xd1, 0x4b, 0x80, 0x6b, 0x9a, 0xb8, 0x57, 0x29, 0x55, 0x7e,
|
||||
0xd4, 0xa6, 0x73, 0x0e, 0x10, 0xcc, 0xd2, 0x5d, 0x88, 0xaa, 0x77, 0x4d, 0x03, 0x7a, 0xcd, 0x2a,
|
||||
0x4a, 0x5d, 0x3a, 0x2e, 0x11, 0x75, 0x44, 0xaf, 0x79, 0x0a, 0xb6, 0xa9, 0x35, 0xf5, 0x2b, 0xaa,
|
||||
0xc8, 0xec, 0x5d, 0x50, 0xff, 0x86, 0xd5, 0x06, 0x50, 0x48, 0x07, 0x40, 0x5f, 0x83, 0x1a, 0x85,
|
||||
0x7e, 0xa6, 0xf6, 0xf3, 0x5c, 0x4b, 0x12, 0xfa, 0x8c, 0xa8, 0xfc, 0x17, 0x1d, 0x40, 0xf1, 0x2d,
|
||||
0xdb, 0x4c, 0x7d, 0x2f, 0x4e, 0x2a, 0x72, 0x5d, 0x39, 0xde, 0x27, 0xea, 0x8f, 0x6c, 0x13, 0x1f,
|
||||
0xbd, 0x97, 0xa0, 0xc4, 0xfd, 0x71, 0xe8, 0xcc, 0x67, 0xe8, 0x05, 0x68, 0x6b, 0x16, 0xc5, 0xd9,
|
||||
0x59, 0x97, 0xdb, 0xcf, 0x77, 0x2a, 0xf2, 0xfb, 0x62, 0x5c, 0xa4, 0x69, 0x92, 0xe1, 0xd0, 0x6b,
|
||||
0xd8, 0x77, 0xc3, 0x20, 0xa1, 0x5e, 0xc0, 0xa2, 0xa9, 0x37, 0x17, 0xc3, 0x97, 0xdb, 0x5f, 0xe6,
|
||||
0x79, 0xdd, 0x0c, 0x33, 0xe8, 0x91, 0xf2, 0xce, 0x03, 0x3a, 0x01, 0x2d, 0x12, 0x67, 0x93, 0x9d,
|
||||
0x7c, 0xf5, 0xa3, 0xa7, 0x47, 0xb4, 0x74, 0x8d, 0x8f, 0x7e, 0x53, 0xa0, 0xdc, 0x61, 0x34, 0x62,
|
||||
0x91, 0x13, 0xbe, 0x65, 0x01, 0x3a, 0x01, 0x75, 0x16, 0xce, 0x37, 0x5b, 0xd1, 0x5f, 0xe5, 0x2a,
|
||||
0xec, 0x20, 0x8d, 0x4e, 0x38, 0xdf, 0x10, 0x01, 0x46, 0x2f, 0xa1, 0x14, 0x7b, 0xcb, 0x80, 0x26,
|
||||
0x37, 0x11, 0xdb, 0xca, 0xae, 0xe6, 0x65, 0xdb, 0x19, 0x80, 0xdc, 0x63, 0x6b, 0xbf, 0xcb, 0xa0,
|
||||
0x76, 0xd2, 0x0a, 0xc0, 0xa8, 0xeb, 0x4f, 0x13, 0x6e, 0xde, 0xb6, 0x79, 0xe5, 0x11, 0xf9, 0xc2,
|
||||
0x5c, 0x52, 0xe2, 0xd8, 0xd4, 0xe7, 0x36, 0x14, 0xc3, 0x77, 0x0f, 0x0c, 0xfb, 0xc0, 0x68, 0xeb,
|
||||
0x5d, 0x6a, 0x96, 0x26, 0x80, 0x83, 0x39, 0x1a, 0x40, 0xd1, 0xf7, 0x16, 0x2c, 0xf1, 0xb6, 0xf7,
|
||||
0xa4, 0xdc, 0x6e, 0x7e, 0x62, 0x4e, 0x43, 0x84, 0xc3, 0x2d, 0x89, 0xdc, 0xd1, 0x6b, 0x18, 0x9e,
|
||||
0x3e, 0x48, 0x21, 0x1d, 0x14, 0xf6, 0xcb, 0x4a, 0x4c, 0xa0, 0x12, 0x1e, 0xf2, 0x9d, 0x60, 0xb6,
|
||||
0x10, 0xe2, 0x54, 0xc2, 0x43, 0xbe, 0xe3, 0xd1, 0x44, 0xb4, 0x56, 0x09, 0x0f, 0x1b, 0xaf, 0x21,
|
||||
0xbd, 0x5b, 0x5f, 0x80, 0x4e, 0xac, 0x21, 0x9e, 0x4e, 0x46, 0xf6, 0x18, 0x77, 0x07, 0xa7, 0x03,
|
||||
0xdc, 0xd3, 0x9f, 0xa0, 0x22, 0xa8, 0x13, 0x1b, 0x13, 0x5d, 0x42, 0x00, 0x05, 0xfb, 0xd2, 0x76,
|
||||
0xf0, 0xb9, 0x2e, 0xf3, 0xd8, 0x72, 0xfa, 0x98, 0xd8, 0xba, 0xd2, 0xb0, 0x60, 0xe7, 0x9f, 0x50,
|
||||
0x83, 0x83, 0x73, 0xd3, 0xe9, 0xf6, 0xa7, 0xce, 0xe5, 0x38, 0x5f, 0x4a, 0x87, 0x7d, 0xdb, 0x21,
|
||||
0x83, 0xd1, 0xd9, 0x14, 0xbf, 0x99, 0x98, 0x43, 0x5d, 0xe2, 0x2d, 0xb7, 0x3b, 0x23, 0xcb, 0xd9,
|
||||
0xee, 0xca, 0x8d, 0x5f, 0x61, 0xe7, 0x0d, 0x54, 0x85, 0x67, 0xd6, 0x18, 0x13, 0xd3, 0x19, 0x58,
|
||||
0xa3, 0x5c, 0x3d, 0x0d, 0x94, 0x33, 0xec, 0xe8, 0x12, 0xd7, 0xd8, 0xc7, 0x66, 0x4f, 0x97, 0xf9,
|
||||
0xd6, 0x78, 0xe2, 0xe8, 0x0a, 0x17, 0xd8, 0xc3, 0x43, 0xec, 0x60, 0x5d, 0x15, 0xc2, 0xb1, 0x49,
|
||||
0xba, 0x7d, 0x7d, 0x0f, 0xed, 0x43, 0xf1, 0x0c, 0x3b, 0xc4, 0x1c, 0x9d, 0x61, 0xbd, 0xc0, 0x15,
|
||||
0x65, 0x4f, 0x7d, 0xd3, 0xee, 0xeb, 0x5a, 0xe3, 0x1b, 0xc8, 0xde, 0x65, 0x07, 0x80, 0xcc, 0xee,
|
||||
0x23, 0x5d, 0x4b, 0xb0, 0x67, 0x0e, 0x87, 0xd6, 0x4f, 0x69, 0xdf, 0x1e, 0x1e, 0x5d, 0xea, 0x72,
|
||||
0xe3, 0x7b, 0xd8, 0x7d, 0x8f, 0x1c, 0x00, 0xe2, 0x7a, 0x30, 0xc9, 0x51, 0xcb, 0xa0, 0x11, 0xfc,
|
||||
0x66, 0x82, 0x6d, 0x27, 0xb5, 0xd3, 0xea, 0xfc, 0x80, 0xbb, 0x8e, 0x2e, 0x77, 0x2e, 0xfe, 0xba,
|
||||
0x3d, 0x94, 0xfe, 0xbe, 0x3d, 0x94, 0xfe, 0xb9, 0x3d, 0x94, 0xfe, 0xf8, 0xf7, 0xf0, 0xc9, 0xcf,
|
||||
0x2f, 0x96, 0x5e, 0x72, 0x75, 0x33, 0x33, 0xdc, 0xf0, 0xba, 0x15, 0xc4, 0x2b, 0xd7, 0x6d, 0xce,
|
||||
0xd9, 0xba, 0x15, 0xb0, 0x70, 0x11, 0x37, 0xe9, 0xca, 0x6b, 0x2e, 0xc3, 0xd6, 0xce, 0x37, 0xe2,
|
||||
0x3b, 0xea, 0xfa, 0x7f, 0xca, 0xfa, 0x88, 0x85, 0xa7, 0xb6, 0x61, 0x8e, 0x07, 0xfc, 0x2a, 0x99,
|
||||
0xae, 0x3f, 0x2b, 0x88, 0x8f, 0xc1, 0xc9, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x66, 0x66, 0x9c,
|
||||
0x8f, 0x50, 0x06, 0x00, 0x00,
|
||||
// 865 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0xdd, 0x8e, 0xda, 0x46,
|
||||
0x14, 0x8e, 0x7f, 0x16, 0x96, 0xc3, 0xa6, 0xb2, 0xa6, 0x4d, 0x02, 0x54, 0xda, 0xa0, 0xbd, 0xe9,
|
||||
0x0a, 0x09, 0xa3, 0xb0, 0x6a, 0x23, 0xa5, 0x6a, 0x24, 0x03, 0xb3, 0x0b, 0x15, 0x8b, 0xc9, 0xd8,
|
||||
0xa4, 0xda, 0xde, 0xa0, 0xc1, 0x0c, 0xac, 0x15, 0x63, 0x23, 0xdb, 0x4b, 0x4a, 0x6f, 0xab, 0xbe,
|
||||
0x43, 0x9f, 0xa1, 0xb7, 0xbd, 0xea, 0x1b, 0xf4, 0xb2, 0x8f, 0x50, 0x6d, 0xef, 0xfb, 0x0c, 0xd5,
|
||||
0x8c, 0x6d, 0xd8, 0x75, 0x36, 0xca, 0xdd, 0x99, 0x39, 0xdf, 0x77, 0xce, 0x77, 0xbe, 0x19, 0x8f,
|
||||
0xe1, 0xd9, 0xa6, 0xdd, 0xa2, 0x8e, 0xd7, 0x5a, 0x86, 0x6b, 0xa7, 0x15, 0x6f, 0xd7, 0x2c, 0xd2,
|
||||
0xd7, 0x61, 0x10, 0x07, 0xe8, 0xb1, 0xcf, 0x02, 0x7d, 0x11, 0xe9, 0x9b, 0xb6, 0x4e, 0x1d, 0xaf,
|
||||
0x56, 0xd9, 0xb4, 0x5b, 0x21, 0x5b, 0x44, 0x1f, 0x00, 0x4f, 0xfe, 0x53, 0x00, 0xb0, 0xd1, 0x1d,
|
||||
0x12, 0xe6, 0x04, 0xe1, 0x1c, 0x7d, 0x03, 0xa5, 0x60, 0xcd, 0x42, 0x1a, 0xbb, 0x81, 0x5f, 0x91,
|
||||
0xea, 0xd2, 0xe9, 0x67, 0xed, 0x8a, 0x7e, 0xaf, 0x96, 0x6e, 0x66, 0x79, 0xb2, 0x87, 0xa2, 0x26,
|
||||
0x14, 0xa8, 0x23, 0x48, 0xb2, 0x20, 0x3d, 0xc9, 0x91, 0x0c, 0x91, 0x24, 0x29, 0x08, 0xbd, 0x82,
|
||||
0xe2, 0xc2, 0xf5, 0x62, 0x16, 0x46, 0x15, 0xa5, 0xae, 0x9c, 0x96, 0xdb, 0xf5, 0x1c, 0x7e, 0x2f,
|
||||
0x49, 0x3f, 0x17, 0x40, 0x92, 0x11, 0x38, 0x37, 0xa6, 0xe1, 0x92, 0xc5, 0x51, 0x45, 0xfd, 0x14,
|
||||
0xd7, 0x16, 0x40, 0x92, 0x11, 0x6a, 0x7f, 0x4a, 0x50, 0x48, 0xea, 0xa1, 0x57, 0x50, 0xbe, 0x66,
|
||||
0x74, 0xce, 0xc2, 0x29, 0xb7, 0x23, 0x9d, 0xb5, 0x9a, 0x2b, 0xd5, 0x17, 0x08, 0x7b, 0xbb, 0x66,
|
||||
0x04, 0xae, 0x77, 0x31, 0x7a, 0x09, 0xb0, 0xa2, 0xb1, 0x73, 0x9d, 0x50, 0xe5, 0x07, 0x6d, 0xba,
|
||||
0xe4, 0x00, 0xc1, 0x2c, 0xad, 0xb2, 0x10, 0x3d, 0xdf, 0x35, 0xf5, 0xe9, 0x8a, 0x55, 0x94, 0xba,
|
||||
0x74, 0x5a, 0xca, 0x2a, 0x8f, 0xe8, 0x8a, 0xa1, 0x2a, 0xa4, 0xab, 0xe9, 0x86, 0x7a, 0x15, 0x55,
|
||||
0xe4, 0x0f, 0x36, 0xd4, 0xbb, 0x61, 0x35, 0x0c, 0x85, 0x64, 0x1c, 0xf4, 0x15, 0xa8, 0x61, 0xe0,
|
||||
0x65, 0x9a, 0x3f, 0xcf, 0x35, 0x26, 0x81, 0xc7, 0x88, 0x00, 0x20, 0x04, 0xea, 0x3b, 0xb6, 0x8d,
|
||||
0x2a, 0x72, 0x5d, 0x39, 0x3d, 0x22, 0x22, 0x3e, 0xf9, 0x43, 0x82, 0x12, 0x77, 0xc8, 0xa6, 0x33,
|
||||
0x8f, 0xa1, 0x17, 0x50, 0xdc, 0xb0, 0x30, 0xca, 0x4e, 0xbb, 0xdc, 0x7e, 0x76, 0xa7, 0x1a, 0xbf,
|
||||
0x31, 0xfa, 0xdb, 0x24, 0x4d, 0x32, 0x1c, 0x7a, 0x0d, 0x47, 0x4e, 0xe0, 0xc7, 0xd4, 0xf5, 0x59,
|
||||
0x38, 0x75, 0xe7, 0x62, 0xfc, 0x72, 0xfb, 0xcb, 0x3c, 0xaf, 0x9b, 0x61, 0x06, 0x3d, 0x52, 0x76,
|
||||
0xf6, 0x0b, 0x74, 0x06, 0xc5, 0x50, 0x9c, 0x4e, 0x76, 0xf6, 0xd5, 0x8f, 0x9e, 0x1f, 0xc9, 0x90,
|
||||
0x27, 0xbf, 0x28, 0x50, 0xee, 0x30, 0x1a, 0xb2, 0xd0, 0x0e, 0xde, 0x31, 0x1f, 0x9d, 0x81, 0x3a,
|
||||
0x0b, 0xe6, 0xdb, 0x54, 0xf4, 0xf3, 0x5c, 0x85, 0x3b, 0x48, 0xbd, 0x13, 0xcc, 0xb7, 0x44, 0x80,
|
||||
0xd1, 0x4b, 0x28, 0x45, 0xee, 0xd2, 0xa7, 0xf1, 0x4d, 0xc8, 0x52, 0xd9, 0xd5, 0xbc, 0x6c, 0x2b,
|
||||
0x03, 0x90, 0x3d, 0xb6, 0xf6, 0xab, 0x0c, 0x6a, 0x27, 0xa9, 0x00, 0x8c, 0x3a, 0xde, 0x34, 0xe6,
|
||||
0xe6, 0xa5, 0xcd, 0x2b, 0x0f, 0xc8, 0x17, 0xe6, 0x92, 0x12, 0xc7, 0x26, 0x3e, 0xb7, 0xe1, 0x30,
|
||||
0x78, 0x7f, 0xcf, 0xb0, 0x0f, 0x8c, 0x36, 0xdf, 0x27, 0x66, 0x15, 0x83, 0x24, 0x40, 0x03, 0x38,
|
||||
0xf4, 0xdc, 0x05, 0x8b, 0xdd, 0xf4, 0xa6, 0x94, 0xdb, 0xcd, 0x4f, 0xcc, 0xa9, 0x8b, 0x70, 0x98,
|
||||
0x92, 0xc8, 0x8e, 0x5e, 0xc3, 0xf0, 0xf8, 0x5e, 0x0a, 0x69, 0xa0, 0xb0, 0x9f, 0xd6, 0x62, 0x02,
|
||||
0x95, 0xf0, 0x90, 0xef, 0xf8, 0xb3, 0x85, 0x10, 0xa7, 0x12, 0x1e, 0xf2, 0x1d, 0x97, 0xc6, 0xa2,
|
||||
0xb5, 0x4a, 0x78, 0xd8, 0x78, 0x0d, 0x2a, 0xbf, 0x5d, 0xe8, 0x0b, 0xd0, 0x88, 0x39, 0xc4, 0xd3,
|
||||
0xc9, 0xc8, 0x1a, 0xe3, 0xee, 0xe0, 0x7c, 0x80, 0x7b, 0xda, 0x23, 0x74, 0x08, 0xea, 0xc4, 0xc2,
|
||||
0x44, 0x93, 0x10, 0x40, 0xc1, 0xba, 0xb2, 0x6c, 0x7c, 0xa9, 0xc9, 0x3c, 0x36, 0xed, 0x3e, 0x26,
|
||||
0x96, 0xa6, 0x34, 0x4c, 0x28, 0xed, 0x3e, 0x0b, 0x54, 0x83, 0xa7, 0x97, 0x86, 0xdd, 0xed, 0x4f,
|
||||
0xed, 0xab, 0x71, 0xbe, 0x94, 0x06, 0x47, 0x96, 0x4d, 0x06, 0xa3, 0x8b, 0x29, 0x7e, 0x33, 0x31,
|
||||
0x86, 0x9a, 0xc4, 0x5b, 0xa6, 0x3b, 0x23, 0xd3, 0x4e, 0x77, 0xe5, 0xc6, 0xcf, 0x50, 0xda, 0x3d,
|
||||
0x47, 0xa8, 0x0a, 0x4f, 0xcc, 0x31, 0x26, 0x86, 0x3d, 0x30, 0x47, 0xb9, 0x7a, 0x45, 0x50, 0x2e,
|
||||
0xb0, 0xad, 0x49, 0x5c, 0x63, 0x1f, 0x1b, 0x3d, 0x4d, 0xe6, 0x5b, 0xe3, 0x89, 0xad, 0x29, 0x5c,
|
||||
0x60, 0x0f, 0x0f, 0xb1, 0x8d, 0x35, 0x55, 0x08, 0xc7, 0x06, 0xe9, 0xf6, 0xb5, 0x03, 0x74, 0x04,
|
||||
0x87, 0x17, 0xd8, 0x26, 0xc6, 0xe8, 0x02, 0x6b, 0x05, 0xae, 0x28, 0x5b, 0xf5, 0x0d, 0xab, 0xaf,
|
||||
0x15, 0x1b, 0x5f, 0x43, 0x21, 0x79, 0xd5, 0xd0, 0x53, 0x40, 0x46, 0xf7, 0x81, 0xae, 0x25, 0x38,
|
||||
0x30, 0x86, 0x43, 0xf3, 0x87, 0xa4, 0x6f, 0x0f, 0x8f, 0xae, 0x34, 0xb9, 0xf1, 0x1d, 0xc0, 0xfe,
|
||||
0x55, 0xe1, 0x54, 0xae, 0x07, 0x93, 0x1c, 0xb5, 0x0c, 0x45, 0x82, 0xdf, 0x4c, 0xb0, 0x65, 0x27,
|
||||
0x76, 0x9a, 0x9d, 0xef, 0x71, 0xd7, 0xd6, 0xe4, 0xce, 0xdb, 0xbf, 0x6e, 0x8f, 0xa5, 0xbf, 0x6f,
|
||||
0x8f, 0xa5, 0x7f, 0x6e, 0x8f, 0xa5, 0xdf, 0xfe, 0x3d, 0x7e, 0xf4, 0xe3, 0x8b, 0xa5, 0x1b, 0x5f,
|
||||
0xdf, 0xcc, 0x74, 0x27, 0x58, 0xb5, 0xfc, 0x68, 0xed, 0x38, 0xcd, 0x39, 0xdb, 0xb4, 0x7c, 0x16,
|
||||
0x2c, 0xa2, 0x26, 0x5d, 0xbb, 0xcd, 0x65, 0xd0, 0xba, 0xf3, 0x97, 0xf8, 0x96, 0x3a, 0xde, 0xef,
|
||||
0xb2, 0x36, 0x62, 0xc1, 0xb9, 0xa5, 0x1b, 0xe3, 0x01, 0xbf, 0x4a, 0x86, 0xe3, 0xcd, 0x0a, 0xe2,
|
||||
0x77, 0x70, 0xf6, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x54, 0x26, 0xa8, 0x52, 0x06, 0x00,
|
||||
0x00,
|
||||
}
|
||||
|
||||
func (m *EACLRecord) Marshal() (dAtA []byte, err error) {
|
||||
|
@ -895,11 +909,11 @@ func (m *EACLRecord_Target) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if len(m.KeyList) > 0 {
|
||||
for iNdEx := len(m.KeyList) - 1; iNdEx >= 0; iNdEx-- {
|
||||
i -= len(m.KeyList[iNdEx])
|
||||
copy(dAtA[i:], m.KeyList[iNdEx])
|
||||
i = encodeVarintTypes(dAtA, i, uint64(len(m.KeyList[iNdEx])))
|
||||
if len(m.Keys) > 0 {
|
||||
for iNdEx := len(m.Keys) - 1; iNdEx >= 0; iNdEx-- {
|
||||
i -= len(m.Keys[iNdEx])
|
||||
copy(dAtA[i:], m.Keys[iNdEx])
|
||||
i = encodeVarintTypes(dAtA, i, uint64(len(m.Keys[iNdEx])))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
|
@ -1209,8 +1223,8 @@ func (m *EACLRecord_Target) Size() (n int) {
|
|||
if m.Role != 0 {
|
||||
n += 1 + sovTypes(uint64(m.Role))
|
||||
}
|
||||
if len(m.KeyList) > 0 {
|
||||
for _, b := range m.KeyList {
|
||||
if len(m.Keys) > 0 {
|
||||
for _, b := range m.Keys {
|
||||
l = len(b)
|
||||
n += 1 + l + sovTypes(uint64(l))
|
||||
}
|
||||
|
@ -1684,7 +1698,7 @@ func (m *EACLRecord_Target) Unmarshal(dAtA []byte) error {
|
|||
}
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field KeyList", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Keys", wireType)
|
||||
}
|
||||
var byteLen int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
|
@ -1711,8 +1725,8 @@ func (m *EACLRecord_Target) Unmarshal(dAtA []byte) error {
|
|||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.KeyList = append(m.KeyList, make([]byte, postIndex-iNdEx))
|
||||
copy(m.KeyList[len(m.KeyList)-1], dAtA[iNdEx:postIndex])
|
||||
m.Keys = append(m.Keys, make([]byte, postIndex-iNdEx))
|
||||
copy(m.Keys[len(m.Keys)-1], dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
|
|
185
v2/container/grpc/service.pb.go
generated
185
v2/container/grpc/service.pb.go
generated
|
@ -37,8 +37,8 @@ type PutRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -99,11 +99,15 @@ func (m *PutRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Container creation request has container structure's signature as a
|
||||
// separate field. It's not stored in sidechain, just verified on container
|
||||
// creation by `Container` smart contract. `ContainerID` is a SHA256 hash of
|
||||
// the stable-marshalled container strucutre, hence there is no need for
|
||||
// additional signature checks.
|
||||
type PutRequest_Body struct {
|
||||
// Container to create in NeoFS.
|
||||
// Container structure to register in NeoFS
|
||||
Container *Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
|
||||
//Signature of stable-marshalled container according to RFC-6979.
|
||||
// Signature of a stable-marshalled container according to RFC-6979
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -165,8 +169,8 @@ type PutResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -227,9 +231,12 @@ func (m *PutResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Container put response body contains information about the newly registered
|
||||
// container as seen by `Container` smart contract. `ContainerID` can be
|
||||
// calculated beforehand from the container structure and compared to the one
|
||||
// returned here to make sure everything was done as expected.
|
||||
type PutResponse_Body struct {
|
||||
// container_id carries identifier of the new container.
|
||||
// Unique identifier of the newly created container
|
||||
ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -284,8 +291,8 @@ type DeleteRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -346,12 +353,13 @@ func (m *DeleteRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Container removal request body has a signed `ContainerID` as a proof of
|
||||
// container owner's intent. The signature will be verified by `Container`
|
||||
// smart contract, so signing algorithm must be supported by NeoVM.
|
||||
type DeleteRequest_Body struct {
|
||||
// container_id carries identifier of the container to delete
|
||||
// from NeoFS.
|
||||
// Identifier of the container to delete from NeoFS
|
||||
ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
// Signature of container id according to RFC-6979.
|
||||
// `ContainerID` signed with the container owner's key according to RFC-6979
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -405,8 +413,8 @@ func (m *DeleteRequest_Body) GetSignature() *grpc1.Signature {
|
|||
return nil
|
||||
}
|
||||
|
||||
// DeleteResponse is empty because delete operation is asynchronous and done
|
||||
// via consensus in inner ring nodes
|
||||
// `DeleteResponse` has an empty body because delete operation is asynchronous
|
||||
// and done via consensus in Inner Ring nodes.
|
||||
type DeleteResponse struct {
|
||||
// Body of container delete response message.
|
||||
Body *DeleteResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -414,8 +422,8 @@ type DeleteResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -476,7 +484,8 @@ func (m *DeleteResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// `DeleteResponse` has an empty body because delete operation is asynchronous
|
||||
// and done via consensus in Inner Ring nodes.
|
||||
type DeleteResponse_Body struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -524,8 +533,8 @@ type GetRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -586,9 +595,9 @@ func (m *GetRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Get container structure request body.
|
||||
type GetRequest_Body struct {
|
||||
// container_id carries identifier of the container to get.
|
||||
// Identifier of the container to get
|
||||
ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -643,8 +652,8 @@ type GetResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -705,9 +714,10 @@ func (m *GetResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Get container response body does not have container structure signature. It
|
||||
// was already verified on container creation.
|
||||
type GetResponse_Body struct {
|
||||
// Container that has been requested.
|
||||
// Requested container structure
|
||||
Container *Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -756,14 +766,14 @@ func (m *GetResponse_Body) GetContainer() *Container {
|
|||
|
||||
// List containers
|
||||
type ListRequest struct {
|
||||
// Body of list containers request message.
|
||||
// Body of list containers request message
|
||||
Body *ListRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -824,9 +834,9 @@ func (m *ListRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// List containers request body.
|
||||
type ListRequest_Body struct {
|
||||
// owner_id carries identifier of the container owner.
|
||||
// Identifier of the container owner
|
||||
OwnerId *grpc1.OwnerID `protobuf:"bytes,1,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -881,8 +891,8 @@ type ListResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -943,9 +953,9 @@ func (m *ListResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// List containers response body.
|
||||
type ListResponse_Body struct {
|
||||
// ContainerIDs carries list of identifiers of the containers that belong to the owner.
|
||||
// List of `ContainerID`s belonging to the requested `OwnerID`
|
||||
ContainerIds []*grpc1.ContainerID `protobuf:"bytes,1,rep,name=container_ids,json=containerIds,proto3" json:"container_ids,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1000,8 +1010,8 @@ type SetExtendedACLRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1062,11 +1072,12 @@ func (m *SetExtendedACLRequest) GetVerifyHeader() *grpc.RequestVerificationHeade
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Set Extended ACL request body does not have separate `ContainerID`
|
||||
// reference. It will be taken from `EACLTable.container_id` field.
|
||||
type SetExtendedACLRequest_Body struct {
|
||||
// Extended ACL to set for the container.
|
||||
// Extended ACL table to set for container
|
||||
Eacl *grpc2.EACLTable `protobuf:"bytes,1,opt,name=eacl,proto3" json:"eacl,omitempty"`
|
||||
// Signature of stable-marshalled Extended ACL according to RFC-6979.
|
||||
// Signature of stable-marshalled Extended ACL table according to RFC-6979
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1128,8 +1139,8 @@ type SetExtendedACLResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1190,7 +1201,9 @@ func (m *SetExtendedACLResponse) GetVerifyHeader() *grpc.ResponseVerificationHea
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// `SetExtendedACLResponse` has an empty body because the operation is
|
||||
// asynchronous and update should be reflected in `Container` smart contract's
|
||||
// storage after next block is issued in sidechain.
|
||||
type SetExtendedACLResponse_Body struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1238,8 +1251,8 @@ type GetExtendedACLRequest struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1300,9 +1313,9 @@ func (m *GetExtendedACLRequest) GetVerifyHeader() *grpc.RequestVerificationHeade
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Get Extended ACL request body
|
||||
type GetExtendedACLRequest_Body struct {
|
||||
// container_id carries identifier of the container that has Extended ACL.
|
||||
// Identifier of the container having Extended ACL
|
||||
ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1357,8 +1370,8 @@ type GetExtendedACLResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1419,11 +1432,13 @@ func (m *GetExtendedACLResponse) GetVerifyHeader() *grpc.ResponseVerificationHea
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Get Extended ACL Response body can be empty if the requested container did
|
||||
// not have Extended ACL Table attached or Extended ACL was not allowed at
|
||||
// container creation.
|
||||
type GetExtendedACLResponse_Body struct {
|
||||
// Extended ACL that has been requested if it was set up.
|
||||
// Extended ACL requested, if available
|
||||
Eacl *grpc2.EACLTable `protobuf:"bytes,1,opt,name=eacl,proto3" json:"eacl,omitempty"`
|
||||
// Signature of stable-marshalled Extended ACL according to RFC-6979.
|
||||
// Signature of stable-marshalled Extended ACL according to RFC-6979
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1574,27 +1589,26 @@ const _ = grpc3.SupportPackageIsVersion4
|
|||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type ContainerServiceClient interface {
|
||||
// Put invokes 'Put' method in container smart-contract and returns
|
||||
// response immediately. After new block in morph chain, request is verified
|
||||
// by inner ring nodes. After one more block in morph chain, container
|
||||
// added into smart-contract storage.
|
||||
// `Put` invokes `Container` smart contract's `Put` method and returns
|
||||
// response immediately. After a new block is issued in sidechain, request is
|
||||
// verified by Inner Ring nodes. After one more block in sidechain, container
|
||||
// is added into smart contract storage.
|
||||
Put(ctx context.Context, in *PutRequest, opts ...grpc3.CallOption) (*PutResponse, error)
|
||||
// Delete invokes 'Delete' method in container smart-contract and returns
|
||||
// response immediately. After new block in morph chain, request is verified
|
||||
// by inner ring nodes. After one more block in morph chain, container
|
||||
// removed from smart-contract storage.
|
||||
// `Delete` invokes `Container` smart contract's `Delete` method and returns
|
||||
// response immediately. After a new block is issued in sidechain, request is
|
||||
// verified by Inner Ring nodes. After one more block in sidechain, container
|
||||
// is added into smart contract storage.
|
||||
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc3.CallOption) (*DeleteResponse, error)
|
||||
// Get returns container from container smart-contract storage.
|
||||
// Returns container structure from `Container` smart contract storage.
|
||||
Get(ctx context.Context, in *GetRequest, opts ...grpc3.CallOption) (*GetResponse, error)
|
||||
// List returns all owner's containers from container smart-contract
|
||||
// storage.
|
||||
// Returns all owner's containers from 'Container` smart contract' storage.
|
||||
List(ctx context.Context, in *ListRequest, opts ...grpc3.CallOption) (*ListResponse, error)
|
||||
// SetExtendedACL invokes 'SetEACL' method in container smart-contract and
|
||||
// returns response immediately. After new block in morph chain,
|
||||
// Extended ACL added into smart-contract storage.
|
||||
// Invokes 'SetEACL' method of 'Container` smart contract and returns response
|
||||
// immediately. After one more block in sidechain, Extended ACL changes are
|
||||
// added into smart contract storage.
|
||||
SetExtendedACL(ctx context.Context, in *SetExtendedACLRequest, opts ...grpc3.CallOption) (*SetExtendedACLResponse, error)
|
||||
// GetExtendedACL returns Extended ACL table and signature from container
|
||||
// smart-contract storage.
|
||||
// Returns Extended ACL table and signature from `Container` smart contract
|
||||
// storage.
|
||||
GetExtendedACL(ctx context.Context, in *GetExtendedACLRequest, opts ...grpc3.CallOption) (*GetExtendedACLResponse, error)
|
||||
}
|
||||
|
||||
|
@ -1662,27 +1676,26 @@ func (c *containerServiceClient) GetExtendedACL(ctx context.Context, in *GetExte
|
|||
|
||||
// ContainerServiceServer is the server API for ContainerService service.
|
||||
type ContainerServiceServer interface {
|
||||
// Put invokes 'Put' method in container smart-contract and returns
|
||||
// response immediately. After new block in morph chain, request is verified
|
||||
// by inner ring nodes. After one more block in morph chain, container
|
||||
// added into smart-contract storage.
|
||||
// `Put` invokes `Container` smart contract's `Put` method and returns
|
||||
// response immediately. After a new block is issued in sidechain, request is
|
||||
// verified by Inner Ring nodes. After one more block in sidechain, container
|
||||
// is added into smart contract storage.
|
||||
Put(context.Context, *PutRequest) (*PutResponse, error)
|
||||
// Delete invokes 'Delete' method in container smart-contract and returns
|
||||
// response immediately. After new block in morph chain, request is verified
|
||||
// by inner ring nodes. After one more block in morph chain, container
|
||||
// removed from smart-contract storage.
|
||||
// `Delete` invokes `Container` smart contract's `Delete` method and returns
|
||||
// response immediately. After a new block is issued in sidechain, request is
|
||||
// verified by Inner Ring nodes. After one more block in sidechain, container
|
||||
// is added into smart contract storage.
|
||||
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
|
||||
// Get returns container from container smart-contract storage.
|
||||
// Returns container structure from `Container` smart contract storage.
|
||||
Get(context.Context, *GetRequest) (*GetResponse, error)
|
||||
// List returns all owner's containers from container smart-contract
|
||||
// storage.
|
||||
// Returns all owner's containers from 'Container` smart contract' storage.
|
||||
List(context.Context, *ListRequest) (*ListResponse, error)
|
||||
// SetExtendedACL invokes 'SetEACL' method in container smart-contract and
|
||||
// returns response immediately. After new block in morph chain,
|
||||
// Extended ACL added into smart-contract storage.
|
||||
// Invokes 'SetEACL' method of 'Container` smart contract and returns response
|
||||
// immediately. After one more block in sidechain, Extended ACL changes are
|
||||
// added into smart contract storage.
|
||||
SetExtendedACL(context.Context, *SetExtendedACLRequest) (*SetExtendedACLResponse, error)
|
||||
// GetExtendedACL returns Extended ACL table and signature from container
|
||||
// smart-contract storage.
|
||||
// Returns Extended ACL table and signature from `Container` smart contract
|
||||
// storage.
|
||||
GetExtendedACL(context.Context, *GetExtendedACLRequest) (*GetExtendedACLResponse, error)
|
||||
}
|
||||
|
||||
|
|
90
v2/container/grpc/types.pb.go
generated
90
v2/container/grpc/types.pb.go
generated
|
@ -24,24 +24,24 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Container is a structure that defines object placement behaviour. Objects
|
||||
// can be stored only within containers. They define placement rule, attributes
|
||||
// and access control information. ID of the container is a 32 byte long
|
||||
// SHA256 hash of stable-marshalled container message.
|
||||
// Container is a structure that defines object placement behaviour. Objects can
|
||||
// be stored only within containers. They define placement rule, attributes and
|
||||
// access control information. ID of the container is a 32 byte long SHA256 hash
|
||||
// of stable-marshalled container message.
|
||||
type Container struct {
|
||||
// Container format version.
|
||||
// Effectively the version of API library used to create container
|
||||
// Container format version. Effectively the version of API library used to
|
||||
// create container.
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// OwnerID carries identifier of the container owner.
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
// Nonce is a 16 byte UUID, used to avoid collisions of container id.
|
||||
// Identifier of the container owner
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
||||
// Nonce is a 16 byte UUID, used to avoid collisions of container id
|
||||
Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
|
||||
// BasicACL contains access control rules for owner, system, others groups and
|
||||
// permission bits for bearer token and Extended ACL.
|
||||
BasicAcl uint32 `protobuf:"varint,4,opt,name=basic_acl,json=basicAcl,proto3" json:"basic_acl,omitempty"`
|
||||
// Attributes define any immutable characteristics of container.
|
||||
// `BasicACL` contains access control rules for owner, system, others groups
|
||||
// and permission bits for `BearerToken` and `Extended ACL`
|
||||
BasicAcl uint32 `protobuf:"varint,4,opt,name=basic_acl,json=basicACL,proto3" json:"basic_acl,omitempty"`
|
||||
// Attributes represent immutable container's meta data
|
||||
Attributes []*Container_Attribute `protobuf:"bytes,5,rep,name=attributes,proto3" json:"attributes,omitempty"`
|
||||
// Placement policy for the object inside the container.
|
||||
// Placement policy for the object inside the container
|
||||
PlacementPolicy *grpc1.PlacementPolicy `protobuf:"bytes,6,opt,name=placement_policy,json=placementPolicy,proto3" json:"placement_policy,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -123,11 +123,19 @@ func (m *Container) GetPlacementPolicy() *grpc1.PlacementPolicy {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Attribute is a key-value pair of strings.
|
||||
// `Attribute` is a user-defined Key-Value metadata pair attached to the
|
||||
// container. Container attribute are immutable. They are set at container
|
||||
// creation and cna never be added or updated.
|
||||
//
|
||||
// There are some "well-known" attributes affecting system behaviour:
|
||||
//
|
||||
// * Subnet \
|
||||
// String ID of container's storage subnet. Container can be attached to
|
||||
// only one subnet.
|
||||
type Container_Attribute struct {
|
||||
// Key of immutable container attribute.
|
||||
// Attribute name key
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
// Value of immutable container attribute.
|
||||
// Attribute value
|
||||
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -190,30 +198,30 @@ func init() { proto.RegisterFile("v2/container/grpc/types.proto", fileDescriptor
|
|||
|
||||
var fileDescriptor_3bfd95a81c72c35c = []byte{
|
||||
// 383 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0x4d, 0xae, 0xd3, 0x30,
|
||||
0x10, 0x26, 0x2d, 0xef, 0xb5, 0x71, 0x41, 0x54, 0x06, 0x41, 0x14, 0x44, 0x14, 0x58, 0x65, 0x53,
|
||||
0x5b, 0xa4, 0x4b, 0xc4, 0xa2, 0x80, 0x10, 0x95, 0x10, 0x54, 0x46, 0x62, 0xc1, 0xa6, 0x72, 0xdc,
|
||||
0x69, 0x6b, 0x91, 0xda, 0x56, 0xec, 0x06, 0xf5, 0x26, 0x9c, 0x81, 0x93, 0xb0, 0xe4, 0x08, 0xa8,
|
||||
0xdc, 0x80, 0x13, 0xa0, 0x24, 0x4a, 0xe8, 0x53, 0xbb, 0xcb, 0xcc, 0xf7, 0x33, 0x33, 0x5f, 0x8c,
|
||||
0x9e, 0x94, 0x29, 0x15, 0x5a, 0x39, 0x2e, 0x15, 0x14, 0x74, 0x53, 0x18, 0x41, 0xdd, 0xc1, 0x80,
|
||||
0x25, 0xa6, 0xd0, 0x4e, 0xe3, 0xfb, 0x0a, 0x34, 0x59, 0x5b, 0x52, 0xa6, 0xa4, 0x63, 0x85, 0x61,
|
||||
0x99, 0x52, 0x05, 0x6e, 0xc7, 0xcd, 0x99, 0x20, 0x0c, 0xca, 0x94, 0x16, 0xb0, 0xb6, 0x67, 0xc8,
|
||||
0xb3, 0xbf, 0x3d, 0xe4, 0xbf, 0x6e, 0x3d, 0xf0, 0x73, 0x34, 0x28, 0xa1, 0xb0, 0x52, 0xab, 0xc0,
|
||||
0x8b, 0xbd, 0x64, 0x94, 0x3e, 0x22, 0xff, 0x47, 0x55, 0x06, 0xe4, 0x73, 0x03, 0xb3, 0x96, 0x87,
|
||||
0x53, 0x34, 0xd4, 0xdf, 0x14, 0x14, 0x4b, 0xb9, 0x0a, 0x7a, 0x97, 0x35, 0x1f, 0x2b, 0x7c, 0xfe,
|
||||
0x86, 0x0d, 0x6a, 0xe2, 0x7c, 0x85, 0x1f, 0xa0, 0x2b, 0xa5, 0x95, 0x80, 0xa0, 0x1f, 0x7b, 0xc9,
|
||||
0x1d, 0xd6, 0x14, 0xf8, 0x31, 0xf2, 0x33, 0x6e, 0xa5, 0x58, 0x72, 0x91, 0x07, 0xb7, 0x63, 0x2f,
|
||||
0xb9, 0xcb, 0x86, 0x75, 0x63, 0x26, 0x72, 0xfc, 0x0e, 0x21, 0xee, 0x5c, 0x21, 0xb3, 0xbd, 0x03,
|
||||
0x1b, 0x5c, 0xc5, 0xfd, 0x64, 0x94, 0x26, 0xe4, 0x42, 0x0e, 0xa4, 0xbb, 0x86, 0xcc, 0x5a, 0x01,
|
||||
0x3b, 0xd1, 0xe2, 0xf7, 0x68, 0x6c, 0x72, 0x2e, 0x60, 0x07, 0xca, 0x2d, 0x8d, 0xce, 0xa5, 0x38,
|
||||
0x04, 0xd7, 0xf5, 0xe2, 0x4f, 0x4f, 0xfc, 0x9a, 0x24, 0xc9, 0xa2, 0x65, 0x2e, 0x6a, 0x22, 0xbb,
|
||||
0x67, 0x6e, 0x36, 0xc2, 0x29, 0xf2, 0xbb, 0x31, 0x78, 0x8c, 0xfa, 0x5f, 0xe1, 0x50, 0x47, 0xe7,
|
||||
0xb3, 0xea, 0xb3, 0xba, 0xb4, 0xe4, 0xf9, 0x1e, 0xea, 0x68, 0x7c, 0xd6, 0x14, 0xaf, 0xb6, 0x3f,
|
||||
0x8f, 0x91, 0xf7, 0xeb, 0x18, 0x79, 0xbf, 0x8f, 0x91, 0xf7, 0xfd, 0x4f, 0x74, 0xeb, 0xcb, 0xcb,
|
||||
0x8d, 0x74, 0xdb, 0x7d, 0x46, 0x84, 0xde, 0x51, 0x65, 0x8d, 0x10, 0x93, 0x15, 0x94, 0x54, 0x81,
|
||||
0x5e, 0xdb, 0x09, 0x37, 0x72, 0xb2, 0xd1, 0xf4, 0xec, 0x49, 0xbc, 0xe8, 0xca, 0x1f, 0xbd, 0x87,
|
||||
0x1f, 0x40, 0xbf, 0xfd, 0x44, 0x66, 0x8b, 0x79, 0xb5, 0x7c, 0x17, 0x41, 0x76, 0x5d, 0xff, 0xe5,
|
||||
0xe9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0x93, 0x14, 0xb3, 0x51, 0x02, 0x00, 0x00,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0x4d, 0xce, 0xd3, 0x30,
|
||||
0x10, 0x25, 0x2d, 0xdf, 0x4f, 0xfc, 0x81, 0xa8, 0x0c, 0x82, 0x28, 0x88, 0x28, 0xb0, 0xca, 0xa6,
|
||||
0xb6, 0x48, 0x97, 0x88, 0x45, 0x29, 0x42, 0x54, 0xaa, 0xa0, 0x32, 0x12, 0x0b, 0x36, 0x95, 0xe3,
|
||||
0x4e, 0x5b, 0x8b, 0xd4, 0xb6, 0x62, 0x37, 0xa8, 0x37, 0xe1, 0x0c, 0x9c, 0x84, 0x25, 0x47, 0x40,
|
||||
0xe5, 0x06, 0x9c, 0x00, 0x25, 0x51, 0x42, 0x3f, 0xb5, 0xbb, 0xf9, 0x79, 0xef, 0xcd, 0xcc, 0xb3,
|
||||
0xd1, 0xb3, 0x32, 0xa5, 0x42, 0x2b, 0xc7, 0xa5, 0x82, 0x82, 0xae, 0x0b, 0x23, 0xa8, 0xdb, 0x1b,
|
||||
0xb0, 0xc4, 0x14, 0xda, 0x69, 0xfc, 0x50, 0x81, 0x26, 0x2b, 0x4b, 0xca, 0x94, 0x74, 0xa8, 0x30,
|
||||
0x2c, 0x53, 0xaa, 0xc0, 0x6d, 0xb9, 0x39, 0x21, 0x84, 0x41, 0x99, 0xd2, 0x02, 0x56, 0xf6, 0xa4,
|
||||
0xf3, 0xe2, 0x6f, 0x0f, 0xf9, 0x93, 0x56, 0x03, 0xbf, 0x44, 0x57, 0x25, 0x14, 0x56, 0x6a, 0x15,
|
||||
0x78, 0xb1, 0x97, 0xdc, 0xa4, 0x4f, 0xc8, 0xff, 0x51, 0x95, 0x00, 0xf9, 0xdc, 0xb4, 0x59, 0x8b,
|
||||
0xc3, 0x29, 0xba, 0xd6, 0xdf, 0x14, 0x14, 0x0b, 0xb9, 0x0c, 0x7a, 0xe7, 0x39, 0x1f, 0xab, 0xfe,
|
||||
0xf4, 0x2d, 0xbb, 0xd2, 0x4d, 0x80, 0x1f, 0xa1, 0x0b, 0xa5, 0x95, 0x80, 0xa0, 0x1f, 0x7b, 0xc9,
|
||||
0x3d, 0xd6, 0x24, 0xf8, 0x29, 0xf2, 0x33, 0x6e, 0xa5, 0x58, 0x70, 0x91, 0x07, 0x77, 0x63, 0x2f,
|
||||
0xb9, 0xcf, 0xae, 0xeb, 0xc2, 0x78, 0x32, 0xc3, 0xef, 0x11, 0xe2, 0xce, 0x15, 0x32, 0xdb, 0x39,
|
||||
0xb0, 0xc1, 0x45, 0xdc, 0x4f, 0x6e, 0xd2, 0x84, 0x9c, 0xf1, 0x81, 0x74, 0xd7, 0x90, 0x71, 0x4b,
|
||||
0x60, 0x47, 0x5c, 0x3c, 0x43, 0x03, 0x93, 0x73, 0x01, 0x5b, 0x50, 0x6e, 0x61, 0x74, 0x2e, 0xc5,
|
||||
0x3e, 0xb8, 0xac, 0x17, 0x7f, 0x7e, 0xa4, 0xd7, 0x38, 0x49, 0xe6, 0x2d, 0x72, 0x5e, 0x03, 0xd9,
|
||||
0x03, 0x73, 0xbb, 0x10, 0x8e, 0x90, 0xdf, 0x8d, 0xc1, 0x03, 0xd4, 0xff, 0x0a, 0xfb, 0xda, 0x3a,
|
||||
0x9f, 0x55, 0x61, 0x75, 0x69, 0xc9, 0xf3, 0x1d, 0xd4, 0xd6, 0xf8, 0xac, 0x49, 0xde, 0x6c, 0x7e,
|
||||
0x1e, 0x22, 0xef, 0xd7, 0x21, 0xf2, 0x7e, 0x1f, 0x22, 0xef, 0xfb, 0x9f, 0xe8, 0xce, 0x97, 0xd7,
|
||||
0x6b, 0xe9, 0x36, 0xbb, 0x8c, 0x08, 0xbd, 0xa5, 0xca, 0x1a, 0x21, 0x86, 0x4b, 0x28, 0xa9, 0x02,
|
||||
0xbd, 0xb2, 0x43, 0x6e, 0xe4, 0x70, 0xad, 0xe9, 0xc9, 0x97, 0x78, 0xd5, 0xa5, 0x3f, 0x7a, 0x8f,
|
||||
0x3f, 0x80, 0x7e, 0xf7, 0x89, 0x8c, 0xe7, 0xd3, 0x6a, 0xf9, 0xce, 0x82, 0xec, 0xb2, 0x7e, 0xe5,
|
||||
0xd1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0x8d, 0x00, 0xb0, 0x51, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *Container) Marshal() (dAtA []byte, err error) {
|
||||
|
|
34
v2/netmap/grpc/service.pb.go
generated
34
v2/netmap/grpc/service.pb.go
generated
|
@ -28,16 +28,16 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Get NodeInfo from the particular node directly
|
||||
// Get NodeInfo structure from the particular node directly
|
||||
type LocalNodeInfoRequest struct {
|
||||
// Body of the balance request message.
|
||||
// Body of the LocalNodeInfo request message
|
||||
Body *LocalNodeInfoRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -98,7 +98,7 @@ func (m *LocalNodeInfoRequest) GetVerifyHeader() *grpc.RequestVerificationHeader
|
|||
return nil
|
||||
}
|
||||
|
||||
//Request body
|
||||
// LocalNodeInfo request body is empty.
|
||||
type LocalNodeInfoRequest_Body struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -138,7 +138,7 @@ func (m *LocalNodeInfoRequest_Body) XXX_DiscardUnknown() {
|
|||
|
||||
var xxx_messageInfo_LocalNodeInfoRequest_Body proto.InternalMessageInfo
|
||||
|
||||
// Local nod Info, including API Version in use
|
||||
// Local Node Info, including API Version in use
|
||||
type LocalNodeInfoResponse struct {
|
||||
// Body of the balance response message.
|
||||
Body *LocalNodeInfoResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -146,8 +146,8 @@ type LocalNodeInfoResponse struct {
|
|||
// message transport and does not affect response execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -208,11 +208,11 @@ func (m *LocalNodeInfoResponse) GetVerifyHeader() *grpc.ResponseVerificationHead
|
|||
return nil
|
||||
}
|
||||
|
||||
//Response body
|
||||
// Local Node Info, including API Version in use.
|
||||
type LocalNodeInfoResponse_Body struct {
|
||||
// API version in use
|
||||
// Latest NeoFS API version in use
|
||||
Version *grpc1.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// NodeInfo from node itself
|
||||
// NodeInfo structure with recent information from node itself
|
||||
NodeInfo *NodeInfo `protobuf:"bytes,2,opt,name=node_info,json=nodeInfo,proto3" json:"node_info,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -319,7 +319,11 @@ const _ = grpc2.SupportPackageIsVersion4
|
|||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type NetmapServiceClient interface {
|
||||
// Return information about Node
|
||||
// Get NodeInfo structure from the particular node directly. Node information
|
||||
// can be taken from `Netmap` smart contract, but in some cases the one may
|
||||
// want to get recent information directly, or to talk to the node not yet
|
||||
// present in `Network Map` to find out what API version can be used for
|
||||
// further communication. Can also be used to check if node is up and running.
|
||||
LocalNodeInfo(ctx context.Context, in *LocalNodeInfoRequest, opts ...grpc2.CallOption) (*LocalNodeInfoResponse, error)
|
||||
}
|
||||
|
||||
|
@ -342,7 +346,11 @@ func (c *netmapServiceClient) LocalNodeInfo(ctx context.Context, in *LocalNodeIn
|
|||
|
||||
// NetmapServiceServer is the server API for NetmapService service.
|
||||
type NetmapServiceServer interface {
|
||||
// Return information about Node
|
||||
// Get NodeInfo structure from the particular node directly. Node information
|
||||
// can be taken from `Netmap` smart contract, but in some cases the one may
|
||||
// want to get recent information directly, or to talk to the node not yet
|
||||
// present in `Network Map` to find out what API version can be used for
|
||||
// further communication. Can also be used to check if node is up and running.
|
||||
LocalNodeInfo(context.Context, *LocalNodeInfoRequest) (*LocalNodeInfoResponse, error)
|
||||
}
|
||||
|
||||
|
|
81
v2/netmap/grpc/types.pb.go
generated
81
v2/netmap/grpc/types.pb.go
generated
|
@ -78,9 +78,9 @@ func (Operation) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_91a1332b2376641a, []int{0}
|
||||
}
|
||||
|
||||
// Selector modifier showing how the node set will be formed
|
||||
// By default selector just groups by attribute into a bucket selecting nodes
|
||||
// only by their hash distance.
|
||||
// Selector modifier shows how the node set will be formed. By default selector
|
||||
// just groups nodes into a bucket by attribute, selecting nodes only by their
|
||||
// hash distance.
|
||||
type Clause int32
|
||||
|
||||
const (
|
||||
|
@ -144,12 +144,13 @@ func (NodeInfo_State) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_91a1332b2376641a, []int{4, 0}
|
||||
}
|
||||
|
||||
// Filter
|
||||
// Filter will return the subset of nodes from `NetworkMap` or another filter's
|
||||
// results, that will satisfy filter's conditions.
|
||||
type Filter struct {
|
||||
// Name of the filter or a reference to the named filter.
|
||||
// '*' means application to the whole unfiltered NetworkMap
|
||||
// At top level it's used as a filter name. At lower levels it's considered to
|
||||
// be a reference to another named filter
|
||||
// Name of the filter or a reference to the named filter. '*' means
|
||||
// application to the whole unfiltered NetworkMap. At top level it's used as a
|
||||
// filter name. At lower levels it's considered to be a reference to another
|
||||
// named filter
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// Key to filter
|
||||
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||
|
@ -157,7 +158,8 @@ type Filter struct {
|
|||
Op Operation `protobuf:"varint,3,opt,name=op,proto3,enum=neo.fs.v2.netmap.Operation" json:"op,omitempty"`
|
||||
// Value to match
|
||||
Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
|
||||
// List of inner filters. Top level operation will be applied to the whole list.
|
||||
// List of inner filters. Top level operation will be applied to the whole
|
||||
// list.
|
||||
Filters []*Filter `protobuf:"bytes,5,rep,name=filters,proto3" json:"filters,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -232,11 +234,12 @@ func (m *Filter) GetFilters() []*Filter {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Selector
|
||||
// Selector chooses a number of nodes from the bucket taking the nearest nodes
|
||||
// to the provided `ContainerID` by hash distance.
|
||||
type Selector struct {
|
||||
// Selector name to reference in object placement section
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// How many nodes to select from bucket
|
||||
// How many nodes to select from the bucket
|
||||
Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
|
||||
// Selector modifier showing how to form a bucket
|
||||
Clause Clause `protobuf:"varint,3,opt,name=clause,proto3,enum=neo.fs.v2.netmap.Clause" json:"clause,omitempty"`
|
||||
|
@ -317,11 +320,13 @@ func (m *Selector) GetFilter() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Exact bucket for each replica
|
||||
// Number of object replicas in a set of nodes from the defined selector. If no
|
||||
// selector set the root bucket containing all possible nodes will be used by
|
||||
// default.
|
||||
type Replica struct {
|
||||
// How many object replicas to put
|
||||
Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
|
||||
// Named selector bucket to put in
|
||||
// Named selector bucket to put replicas
|
||||
Selector string `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -375,12 +380,15 @@ func (m *Replica) GetSelector() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Set of rules to select a subset of nodes able to store container's objects
|
||||
// Set of rules to select a subset of nodes from `NetworkMap` able to store
|
||||
// container's objects. The format is simple enough to transpile from different
|
||||
// storage policy definition languages.
|
||||
type PlacementPolicy struct {
|
||||
// Rules to set number of object replicas and place each one into a particular bucket
|
||||
// Rules to set number of object replicas and place each one into a named
|
||||
// bucket
|
||||
Replicas []*Replica `protobuf:"bytes,1,rep,name=replicas,proto3" json:"replicas,omitempty"`
|
||||
// Container backup factor controls how deep NeoFS will search for nodes
|
||||
// alternatives to include into container.
|
||||
// alternatives to include into container's nodes subset
|
||||
ContainerBackupFactor uint32 `protobuf:"varint,2,opt,name=container_backup_factor,json=containerBackupFactor,proto3" json:"container_backup_factor,omitempty"`
|
||||
// Set of Selectors to form the container's nodes subset
|
||||
Selectors []*Selector `protobuf:"bytes,3,rep,name=selectors,proto3" json:"selectors,omitempty"`
|
||||
|
@ -528,14 +536,49 @@ func (m *NodeInfo) GetState() NodeInfo_State {
|
|||
return NodeInfo_UNSPECIFIED
|
||||
}
|
||||
|
||||
// Attributes of the NeoFS node.
|
||||
// Administrator-defined Attributes of the NeoFS Storage Node.
|
||||
//
|
||||
// Node's attributes are mostly used during Storage Policy evaluation to
|
||||
// calculate object's placement and find a set of nodes satisfying policy
|
||||
// requirements. There are some "well-known" node attributes common to all the
|
||||
// Storage Nodes in the network and used implicitly with default values if not
|
||||
// explicitly set:
|
||||
//
|
||||
// * Capacity \
|
||||
// Total available disk space in Gigabytes.
|
||||
// * Price \
|
||||
// Price in GAS tokens for storing one GB of data during one Epoch. In node
|
||||
// attributes it's a string presenting floating point number with comma or
|
||||
// point delimiter for decimal part. In the Network Map it will be saved as
|
||||
// 64-bit unsigned integer representing number of minimal token fractions.
|
||||
// * Subnet \
|
||||
// String ID of Node's storage subnet. There can be only one subnet served
|
||||
// by the Storage Node.
|
||||
// * Locode \
|
||||
// Node's geographic location in
|
||||
// [UN/LOCODE](https://www.unece.org/cefact/codesfortrade/codes_index.html)
|
||||
// format approximated to the nearest point defined in standard.
|
||||
// * Country \
|
||||
// Country code in
|
||||
// [ISO 3166-1_alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
|
||||
// format. Calculated automatically from `Locode` attribute
|
||||
// * Region \
|
||||
// Country's administative subdivision where node is located. Calculated
|
||||
// automatically from `Locode` attribute based on `SubDiv` field. Presented
|
||||
// in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.
|
||||
// * City \
|
||||
// City, town, village or rural area name where node is located written
|
||||
// without diacritics . Calculated automatically from `Locode` attribute.
|
||||
//
|
||||
// For detailed description of each well-known attribute please see the
|
||||
// corresponding section in NeoFS Technical specification.
|
||||
type NodeInfo_Attribute struct {
|
||||
// Key of the node attribute.
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
// Value of the node attribute.
|
||||
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
||||
// Parent keys, if any
|
||||
// Example: For City it can be Region or Country
|
||||
// Parent keys, if any. For example for `City` it could be `Region` and
|
||||
// `Country`.
|
||||
Parents []string `protobuf:"bytes,3,rep,name=parents,proto3" json:"parents,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
|
331
v2/object/grpc/service.pb.go
generated
331
v2/object/grpc/service.pb.go
generated
|
@ -28,15 +28,16 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Get object request
|
||||
// GET object request
|
||||
type GetRequest struct {
|
||||
// Body of get object request message.
|
||||
Body *GetRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -97,13 +98,12 @@ func (m *GetRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// GET Object request body
|
||||
type GetRequest_Body struct {
|
||||
// Address of the requested object.
|
||||
// Address of the requested object
|
||||
Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Carries the raw option flag of the request.
|
||||
// Raw request is sent to receive only the objects
|
||||
// that are physically stored on the server.
|
||||
// If `raw` flag is set, request will work only with objects that are
|
||||
// physically stored on the peer node
|
||||
Raw bool `protobuf:"varint,2,opt,name=raw,proto3" json:"raw,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -157,7 +157,7 @@ func (m *GetRequest_Body) GetRaw() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
// get object response
|
||||
// GET object response
|
||||
type GetResponse struct {
|
||||
// Body of get object response message.
|
||||
Body *GetResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -165,8 +165,8 @@ type GetResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -227,9 +227,9 @@ func (m *GetResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// GET Object Response body
|
||||
type GetResponse_Body struct {
|
||||
// Carries the single message of the response stream.
|
||||
// Single message in the response stream.
|
||||
//
|
||||
// Types that are valid to be assigned to ObjectPart:
|
||||
// *GetResponse_Body_Init_
|
||||
|
@ -318,13 +318,14 @@ func (*GetResponse_Body) XXX_OneofWrappers() []interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
// Initialization parameters of the object got from NeoFS.
|
||||
// Initial part of the `Object` structure stream. Technically it's a
|
||||
// set of all `Object` structure's fields except `payload`.
|
||||
type GetResponse_Body_Init struct {
|
||||
// Object ID
|
||||
// Object's unique identifier.
|
||||
ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
|
||||
// Object signature
|
||||
// Signed `ObjectID`
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
// Object header.
|
||||
// Object metadata headers
|
||||
Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -385,15 +386,16 @@ func (m *GetResponse_Body_Init) GetHeader() *Header {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Put object request
|
||||
// PUT object request
|
||||
type PutRequest struct {
|
||||
// Body of put object request message.
|
||||
Body *PutRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -454,9 +456,9 @@ func (m *PutRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// PUT request body
|
||||
type PutRequest_Body struct {
|
||||
// Carries the single part of the query stream.
|
||||
// Single message in the request stream.
|
||||
//
|
||||
// Types that are valid to be assigned to ObjectPart:
|
||||
// *PutRequest_Body_Init_
|
||||
|
@ -545,17 +547,17 @@ func (*PutRequest_Body) XXX_OneofWrappers() []interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
// Groups initialization parameters of object placement in NeoFS.
|
||||
// Newly created object structure parameters. If some optional parameters
|
||||
// are not set, they will be calculated by a peer node.
|
||||
type PutRequest_Body_Init struct {
|
||||
// Object ID, where available
|
||||
// ObjectID if available.
|
||||
ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
|
||||
// Object signature, were available
|
||||
// Object signature if available
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
// Header of the object to save in the system.
|
||||
// Object's Header
|
||||
Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"`
|
||||
// Number of the object copies to store within the RPC call.
|
||||
// Default zero value is processed according to the
|
||||
// container placement rules.
|
||||
// Number of the object copies to store within the RPC call. By default
|
||||
// object is processed according to the container's placement policy.
|
||||
CopiesNumber uint32 `protobuf:"varint,4,opt,name=copies_number,json=copiesNumber,proto3" json:"copies_number,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -623,7 +625,7 @@ func (m *PutRequest_Body_Init) GetCopiesNumber() uint32 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Put object response
|
||||
// PUT Object response
|
||||
type PutResponse struct {
|
||||
// Body of put object response message.
|
||||
Body *PutResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -631,8 +633,8 @@ type PutResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -693,10 +695,9 @@ func (m *PutResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// PUT Object response body
|
||||
type PutResponse_Body struct {
|
||||
// Carries identifier of the saved object.
|
||||
// It is used to access an object in the container.
|
||||
// Identifier of the saved object
|
||||
ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -743,15 +744,16 @@ func (m *PutResponse_Body) GetObjectId() *grpc1.ObjectID {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Object Delete request
|
||||
// Object DELETE request
|
||||
type DeleteRequest struct {
|
||||
// Body of delete object request message.
|
||||
Body *DeleteRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -812,9 +814,9 @@ func (m *DeleteRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Object DELETE request body
|
||||
type DeleteRequest_Body struct {
|
||||
// Carries the address of the object to be deleted.
|
||||
// Address of the object to be deleted
|
||||
Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -861,8 +863,8 @@ func (m *DeleteRequest_Body) GetAddress() *grpc1.Address {
|
|||
return nil
|
||||
}
|
||||
|
||||
// DeleteResponse is empty because we cannot guarantee permanent object removal
|
||||
// in distributed system.
|
||||
// DeleteResponse body is empty because we cannot guarantee permanent object
|
||||
// removal in distributed system.
|
||||
type DeleteResponse struct {
|
||||
// Body of delete object response message.
|
||||
Body *DeleteResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -870,8 +872,8 @@ type DeleteResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -932,7 +934,7 @@ func (m *DeleteResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Object DELETE Response has an empty body.
|
||||
type DeleteResponse_Body struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -972,15 +974,16 @@ func (m *DeleteResponse_Body) XXX_DiscardUnknown() {
|
|||
|
||||
var xxx_messageInfo_DeleteResponse_Body proto.InternalMessageInfo
|
||||
|
||||
// Object head request
|
||||
// Object HEAD request
|
||||
type HeadRequest struct {
|
||||
// Body of head object request message.
|
||||
Body *HeadRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1041,15 +1044,14 @@ func (m *HeadRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Object HEAD request body
|
||||
type HeadRequest_Body struct {
|
||||
// Address of the object with the requested header.
|
||||
// Address of the object with the requested Header
|
||||
Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Return only minimal header subset
|
||||
MainOnly bool `protobuf:"varint,2,opt,name=main_only,json=mainOnly,proto3" json:"main_only,omitempty"`
|
||||
// Carries the raw option flag of the request.
|
||||
// Raw request is sent to receive only the headers of the objects
|
||||
// that are physically stored on the server.
|
||||
// If `raw` flag is set, request will work only with objects that are
|
||||
// physically stored on the peer node
|
||||
Raw bool `protobuf:"varint,3,opt,name=raw,proto3" json:"raw,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1110,14 +1112,17 @@ func (m *HeadRequest_Body) GetRaw() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
// Tuple of full object header and signature of object ID.
|
||||
// Tuple of full object header and signature of `ObjectID`. \
|
||||
// Signed `ObjectID` is present to verify full header's authenticity through the
|
||||
// following steps:
|
||||
//
|
||||
// 1. Calculate `SHA-256` of marshalled `Header` structure
|
||||
// 2. Check if the resulting hash matched `ObjectID`
|
||||
// 3. Check if `ObjectID` signature in `signature` field is correct
|
||||
type HeaderWithSignature struct {
|
||||
// Full object header
|
||||
Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
|
||||
// Signed object_id to verify full header's authenticity through following steps:
|
||||
// 1. Calculate SHA-256 of marshalled Headers structure.
|
||||
// 2. Check if the resulting hash matched ObjectID
|
||||
// 3. Check if ObjectID's signature in signature field is correct.
|
||||
// Signed `ObjectID` to verify full header's authenticity
|
||||
Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1171,7 +1176,7 @@ func (m *HeaderWithSignature) GetSignature() *grpc1.Signature {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Head response
|
||||
// Object HEAD response
|
||||
type HeadResponse struct {
|
||||
// Body of head object response message.
|
||||
Body *HeadResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -1179,8 +1184,8 @@ type HeadResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1241,9 +1246,9 @@ func (m *HeadResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Object HEAD response body
|
||||
type HeadResponse_Body struct {
|
||||
// Carries the requested object header or it's part
|
||||
// Requested object header or it's part.
|
||||
//
|
||||
// Types that are valid to be assigned to Head:
|
||||
// *HeadResponse_Body_Header
|
||||
|
@ -1332,15 +1337,16 @@ func (*HeadResponse_Body) XXX_OneofWrappers() []interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
// Search objects request
|
||||
// Object Search request
|
||||
type SearchRequest struct {
|
||||
// Body of search object request message.
|
||||
Body *SearchRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1401,9 +1407,9 @@ func (m *SearchRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Object Search request body
|
||||
type SearchRequest_Body struct {
|
||||
// Carries search container identifier.
|
||||
// Container identifier were to search
|
||||
ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
// Version of the Query Language used
|
||||
Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
|
||||
|
@ -1543,8 +1549,8 @@ type SearchResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1605,9 +1611,9 @@ func (m *SearchResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Object Search response body
|
||||
type SearchResponse_Body struct {
|
||||
// Carries list of object identifiers that match the search query
|
||||
// List of `ObjectID`s that match the search query
|
||||
IdList []*grpc1.ObjectID `protobuf:"bytes,1,rep,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1654,11 +1660,11 @@ func (m *SearchResponse_Body) GetIdList() []*grpc1.ObjectID {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Range groups the parameters of object payload range.
|
||||
// Object payload range.Ranges of zero length SHOULD be considered as invalid.
|
||||
type Range struct {
|
||||
// Carries the offset of the range from the object payload start.
|
||||
// Offset of the range from the object payload start
|
||||
Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
// Carries the length of the object payload range.
|
||||
// Length in bytes of the object payload range
|
||||
Length uint64 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1712,15 +1718,16 @@ func (m *Range) GetLength() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Request to get part of object's payload
|
||||
// Request part of object's payload
|
||||
type GetRangeRequest struct {
|
||||
// Body of get range object request message.
|
||||
Body *GetRangeRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1781,11 +1788,11 @@ func (m *GetRangeRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request Body
|
||||
// Byte range of object's payload request body
|
||||
type GetRangeRequest_Body struct {
|
||||
// Address carries address of the object that contains the requested payload range.
|
||||
// Address of the object containing the requested payload range
|
||||
Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Range carries the parameters of the requested payload range.
|
||||
// Requested payload range
|
||||
Range *Range `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1847,8 +1854,8 @@ type GetRangeResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1909,9 +1916,12 @@ func (m *GetRangeResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Get Range response body uses streams to transfer the response. Because
|
||||
// object payload considered a byte sequence, there is no need to have some
|
||||
// initial preamble message. The requested byte range is sent as a series
|
||||
// chunks.
|
||||
type GetRangeResponse_Body struct {
|
||||
// Carries part of the object payload.
|
||||
// Chunked object payload's range
|
||||
Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -1962,11 +1972,12 @@ func (m *GetRangeResponse_Body) GetChunk() []byte {
|
|||
type GetRangeHashRequest struct {
|
||||
// Body of get range hash object request message.
|
||||
Body *GetRangeHashRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -2027,13 +2038,13 @@ func (m *GetRangeHashRequest) GetVerifyHeader() *grpc.RequestVerificationHeader
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Get hash of object's payload part request body.
|
||||
type GetRangeHashRequest_Body struct {
|
||||
// Carries address of the object that contains the requested payload range.
|
||||
// Address of the object that containing the requested payload range
|
||||
Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Carries the list of object payload range to calculate homomorphic hash.
|
||||
// List of object's payload ranges to calculate homomorphic hash
|
||||
Ranges []*Range `protobuf:"bytes,2,rep,name=ranges,proto3" json:"ranges,omitempty"`
|
||||
// Carries binary salt to XOR object payload ranges before hash calculation.
|
||||
// Binary salt to XOR object's payload ranges before hash calculation
|
||||
Salt []byte `protobuf:"bytes,3,opt,name=salt,proto3" json:"salt,omitempty"`
|
||||
// Checksum algorithm type
|
||||
Type grpc1.ChecksumType `protobuf:"varint,4,opt,name=type,proto3,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"`
|
||||
|
@ -2111,8 +2122,8 @@ type GetRangeHashResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -2173,11 +2184,11 @@ func (m *GetRangeHashResponse) GetVerifyHeader() *grpc.ResponseVerificationHeade
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Get hash of object's payload part response body.
|
||||
type GetRangeHashResponse_Body struct {
|
||||
// Checksum algorithm type
|
||||
Type grpc1.ChecksumType `protobuf:"varint,1,opt,name=type,proto3,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"`
|
||||
// List of range hashes in a binary format.
|
||||
// List of range hashes in a binary format
|
||||
HashList [][]byte `protobuf:"bytes,2,rep,name=hash_list,json=hashList,proto3" json:"hash_list,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -2366,37 +2377,40 @@ const _ = grpc2.SupportPackageIsVersion4
|
|||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type ObjectServiceClient interface {
|
||||
// Get the object from container. Response uses gRPC stream. First response
|
||||
// message carry object of requested address. Chunk messages are parts of
|
||||
// the object's payload if it is needed. All messages except first carry
|
||||
// chunks. Requested object can be restored by concatenation of object
|
||||
// message payload and all chunks keeping receiving order.
|
||||
// Receive full object structure, including Headers and payload. Response uses
|
||||
// gRPC stream. First response message carries object with requested address.
|
||||
// Chunk messages are parts of the object's payload if it is needed. All
|
||||
// messages, except the first one, carry payload chunks. Requested object can
|
||||
// be restored by concatenation of object message payload and all chunks
|
||||
// keeping receiving order.
|
||||
Get(ctx context.Context, in *GetRequest, opts ...grpc2.CallOption) (ObjectService_GetClient, error)
|
||||
// Put the object into container. Request uses gRPC stream. First message
|
||||
// SHOULD BE type of PutHeader. Container id and Owner id of object SHOULD
|
||||
// BE set. Session token SHOULD BE obtained before put operation (see
|
||||
// session package). Chunk messages considered by server as part of object
|
||||
// payload. All messages except first SHOULD BE chunks. Chunk messages
|
||||
// SHOULD BE sent in direct order of fragmentation.
|
||||
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
||||
// SHOULD be set. Session token SHOULD be obtained before `PUT` operation (see
|
||||
// session package). Chunk messages are considered by server as a part of an
|
||||
// object payload. All messages, except first one, SHOULD be payload chunks.
|
||||
// Chunk messages SHOULD be sent in direct order of fragmentation.
|
||||
Put(ctx context.Context, opts ...grpc2.CallOption) (ObjectService_PutClient, error)
|
||||
// Delete the object from a container
|
||||
// Delete the object from a container. There is no immediate removal
|
||||
// guarantee. Object will be marked for removal and deleted eventually.
|
||||
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc2.CallOption) (*DeleteResponse, error)
|
||||
// Head returns the object without data payload. Object in the
|
||||
// response has system header only. If full headers flag is set, extended
|
||||
// headers are also present.
|
||||
// Returns the object Headers without data payload. By default full header is
|
||||
// returned. If `main_only` request field is set, the short header with only
|
||||
// the very minimal information would be returned instead.
|
||||
Head(ctx context.Context, in *HeadRequest, opts ...grpc2.CallOption) (*HeadResponse, error)
|
||||
// Search objects in container. Version of query language format SHOULD BE
|
||||
// set to 1. Search query represented in serialized format (see query
|
||||
// package).
|
||||
// Search objects in container. Search query allows to match by Object
|
||||
// Header's filed values. Please see the corresponding NeoFS Technical
|
||||
// Specification section for more details.
|
||||
Search(ctx context.Context, in *SearchRequest, opts ...grpc2.CallOption) (ObjectService_SearchClient, error)
|
||||
// GetRange of data payload. Range is a pair (offset, length).
|
||||
// Requested range can be restored by concatenation of all chunks
|
||||
// keeping receiving order.
|
||||
// Get byte range of data payload. Range is set as an (offset, length) tuple.
|
||||
// Like in `Get` method, the response uses gRPC stream. Requested range can be
|
||||
// restored by concatenation of all received payload chunks keeping receiving
|
||||
// order.
|
||||
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc2.CallOption) (ObjectService_GetRangeClient, error)
|
||||
// GetRangeHash returns homomorphic hash of object payload range after XOR
|
||||
// operation. Ranges are set of pairs (offset, length). Hashes order in
|
||||
// response corresponds to ranges order in request. Homomorphic hash is
|
||||
// calculated for XORed data.
|
||||
// Returns homomorphic or regular hash of object's payload range after
|
||||
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
||||
// length) tuples. Hashes order in response corresponds to ranges order in
|
||||
// request. Note that hash is calculated for XORed data.
|
||||
GetRangeHash(ctx context.Context, in *GetRangeHashRequest, opts ...grpc2.CallOption) (*GetRangeHashResponse, error)
|
||||
}
|
||||
|
||||
|
@ -2567,37 +2581,40 @@ func (c *objectServiceClient) GetRangeHash(ctx context.Context, in *GetRangeHash
|
|||
|
||||
// ObjectServiceServer is the server API for ObjectService service.
|
||||
type ObjectServiceServer interface {
|
||||
// Get the object from container. Response uses gRPC stream. First response
|
||||
// message carry object of requested address. Chunk messages are parts of
|
||||
// the object's payload if it is needed. All messages except first carry
|
||||
// chunks. Requested object can be restored by concatenation of object
|
||||
// message payload and all chunks keeping receiving order.
|
||||
// Receive full object structure, including Headers and payload. Response uses
|
||||
// gRPC stream. First response message carries object with requested address.
|
||||
// Chunk messages are parts of the object's payload if it is needed. All
|
||||
// messages, except the first one, carry payload chunks. Requested object can
|
||||
// be restored by concatenation of object message payload and all chunks
|
||||
// keeping receiving order.
|
||||
Get(*GetRequest, ObjectService_GetServer) error
|
||||
// Put the object into container. Request uses gRPC stream. First message
|
||||
// SHOULD BE type of PutHeader. Container id and Owner id of object SHOULD
|
||||
// BE set. Session token SHOULD BE obtained before put operation (see
|
||||
// session package). Chunk messages considered by server as part of object
|
||||
// payload. All messages except first SHOULD BE chunks. Chunk messages
|
||||
// SHOULD BE sent in direct order of fragmentation.
|
||||
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
||||
// SHOULD be set. Session token SHOULD be obtained before `PUT` operation (see
|
||||
// session package). Chunk messages are considered by server as a part of an
|
||||
// object payload. All messages, except first one, SHOULD be payload chunks.
|
||||
// Chunk messages SHOULD be sent in direct order of fragmentation.
|
||||
Put(ObjectService_PutServer) error
|
||||
// Delete the object from a container
|
||||
// Delete the object from a container. There is no immediate removal
|
||||
// guarantee. Object will be marked for removal and deleted eventually.
|
||||
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
|
||||
// Head returns the object without data payload. Object in the
|
||||
// response has system header only. If full headers flag is set, extended
|
||||
// headers are also present.
|
||||
// Returns the object Headers without data payload. By default full header is
|
||||
// returned. If `main_only` request field is set, the short header with only
|
||||
// the very minimal information would be returned instead.
|
||||
Head(context.Context, *HeadRequest) (*HeadResponse, error)
|
||||
// Search objects in container. Version of query language format SHOULD BE
|
||||
// set to 1. Search query represented in serialized format (see query
|
||||
// package).
|
||||
// Search objects in container. Search query allows to match by Object
|
||||
// Header's filed values. Please see the corresponding NeoFS Technical
|
||||
// Specification section for more details.
|
||||
Search(*SearchRequest, ObjectService_SearchServer) error
|
||||
// GetRange of data payload. Range is a pair (offset, length).
|
||||
// Requested range can be restored by concatenation of all chunks
|
||||
// keeping receiving order.
|
||||
// Get byte range of data payload. Range is set as an (offset, length) tuple.
|
||||
// Like in `Get` method, the response uses gRPC stream. Requested range can be
|
||||
// restored by concatenation of all received payload chunks keeping receiving
|
||||
// order.
|
||||
GetRange(*GetRangeRequest, ObjectService_GetRangeServer) error
|
||||
// GetRangeHash returns homomorphic hash of object payload range after XOR
|
||||
// operation. Ranges are set of pairs (offset, length). Hashes order in
|
||||
// response corresponds to ranges order in request. Homomorphic hash is
|
||||
// calculated for XORed data.
|
||||
// Returns homomorphic or regular hash of object's payload range after
|
||||
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
||||
// length) tuples. Hashes order in response corresponds to ranges order in
|
||||
// request. Note that hash is calculated for XORed data.
|
||||
GetRangeHash(context.Context, *GetRangeHashRequest) (*GetRangeHashResponse, error)
|
||||
}
|
||||
|
||||
|
|
167
v2/object/grpc/types.pb.go
generated
167
v2/object/grpc/types.pb.go
generated
|
@ -24,7 +24,7 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Type of the object payload content
|
||||
// Type of the object payload content.
|
||||
type ObjectType int32
|
||||
|
||||
const (
|
||||
|
@ -32,7 +32,7 @@ const (
|
|||
ObjectType_REGULAR ObjectType = 0
|
||||
// Used internally to identify deleted objects
|
||||
ObjectType_TOMBSTONE ObjectType = 1
|
||||
// Identifies that the object holds StorageGroup information
|
||||
// StorageGroup information
|
||||
ObjectType_STORAGE_GROUP ObjectType = 2
|
||||
)
|
||||
|
||||
|
@ -86,16 +86,17 @@ func (MatchType) EnumDescriptor() ([]byte, []int) {
|
|||
|
||||
// Short header fields
|
||||
type ShortHeader struct {
|
||||
// Object format version.
|
||||
// Object format version. Effectively the version of API library used to
|
||||
// create particular object
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// Epoch when the object was created
|
||||
CreationEpoch uint64 `protobuf:"varint,2,opt,name=creation_epoch,json=creationEpoch,proto3" json:"creation_epoch,omitempty"`
|
||||
// Object's owner
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
||||
// Type of the object payload content
|
||||
ObjectType ObjectType `protobuf:"varint,4,opt,name=object_type,json=objectType,proto3,enum=neo.fs.v2.object.ObjectType" json:"object_type,omitempty"`
|
||||
// Size of payload in bytes.
|
||||
// 0xFFFFFFFFFFFFFFFF means `payload_length` is unknown
|
||||
// `0xFFFFFFFFFFFFFFFF` means `payload_length` is unknown
|
||||
PayloadLength uint64 `protobuf:"varint,5,opt,name=payload_length,json=payloadLength,proto3" json:"payload_length,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -170,32 +171,32 @@ func (m *ShortHeader) GetPayloadLength() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Object Headers
|
||||
// Object Header
|
||||
type Header struct {
|
||||
// Object format version.
|
||||
// Effectively the version of API library used to create particular object
|
||||
// Object format version. Effectively the version of API library used to
|
||||
// create particular object
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// Object's container
|
||||
ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
|
||||
// Object's owner
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
||||
// Object creation Epoch
|
||||
CreationEpoch uint64 `protobuf:"varint,4,opt,name=creation_epoch,json=creationEpoch,proto3" json:"creation_epoch,omitempty"`
|
||||
// Size of payload in bytes.
|
||||
// 0xFFFFFFFFFFFFFFFF means `payload_length` is unknown
|
||||
// `0xFFFFFFFFFFFFFFFF` means `payload_length` is unknown
|
||||
PayloadLength uint64 `protobuf:"varint,5,opt,name=payload_length,json=payloadLength,proto3" json:"payload_length,omitempty"`
|
||||
// Hash of payload bytes
|
||||
PayloadHash *grpc.Checksum `protobuf:"bytes,6,opt,name=payload_hash,json=payloadHash,proto3" json:"payload_hash,omitempty"`
|
||||
// Special object type
|
||||
// Type of the object payload content
|
||||
ObjectType ObjectType `protobuf:"varint,7,opt,name=object_type,json=objectType,proto3,enum=neo.fs.v2.object.ObjectType" json:"object_type,omitempty"`
|
||||
// Homomorphic hash of the object payload.
|
||||
HomomorphicHash *grpc.Checksum `protobuf:"bytes,8,opt,name=homomorphic_hash,json=homomorphicHash,proto3" json:"homomorphic_hash,omitempty"`
|
||||
// Session token, if it was used during Object creation.
|
||||
// Need it to verify integrity and authenticity out of Request scope.
|
||||
// Session token, if it was used during Object creation. Need it to verify
|
||||
// integrity and authenticity out of Request scope.
|
||||
SessionToken *grpc1.SessionToken `protobuf:"bytes,9,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
||||
// User-defined object attributes
|
||||
Attributes []*Header_Attribute `protobuf:"bytes,10,rep,name=attributes,proto3" json:"attributes,omitempty"`
|
||||
// Position of the object in the split hierarchy.
|
||||
// Position of the object in the split hierarchy
|
||||
Split *Header_Split `protobuf:"bytes,11,opt,name=split,proto3" json:"split,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -312,7 +313,17 @@ func (m *Header) GetSplit() *Header_Split {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Attribute groups the user-defined Key-Value pairs attached to the object
|
||||
// `Attribute` is a user-defined Key-Value metadata pair attached to the
|
||||
// object.
|
||||
//
|
||||
// There are some "well-known" attributes starting with `__NEOFS__` prefix
|
||||
// that affect system behaviour:
|
||||
//
|
||||
// * __NEOFS__UPLOAD_ID
|
||||
// * __NEOFS__EXPIRATION_EPOCH
|
||||
//
|
||||
// For detailed description of each well-known attribute please see the
|
||||
// corresponding section in NeoFS Technical specification.
|
||||
type Header_Attribute struct {
|
||||
// string key to the object attribute
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
|
@ -370,19 +381,20 @@ func (m *Header_Attribute) GetValue() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Information about spawning the objects through a payload splitting.
|
||||
// Bigger objects can be split into a chain of smaller objects. Information
|
||||
// about inter-dependencies between spawned objects and how to re-construct
|
||||
// the original one is in the `Split` headers. Parent and children objects
|
||||
// must be within the same container.
|
||||
type Header_Split struct {
|
||||
// Identifier of the origin object.
|
||||
// Parent and children objects must be within the same container.
|
||||
// Parent object_id is known only to the minor child.
|
||||
// Identifier of the origin object. Known only to the minor child.
|
||||
Parent *grpc.ObjectID `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
|
||||
// Previous carries identifier of the left split neighbor.
|
||||
// Identifier of the left split neighbor
|
||||
Previous *grpc.ObjectID `protobuf:"bytes,2,opt,name=previous,proto3" json:"previous,omitempty"`
|
||||
// `signature` field of the parent object. Used to reconstruct parent.
|
||||
ParentSignature *grpc.Signature `protobuf:"bytes,3,opt,name=parent_signature,json=parentSignature,proto3" json:"parent_signature,omitempty"`
|
||||
// `header` field of the parent object. Used to reconstruct parent.
|
||||
ParentHeader *Header `protobuf:"bytes,4,opt,name=parent_header,json=parentHeader,proto3" json:"parent_header,omitempty"`
|
||||
// Children carries list of identifiers of the objects generated by splitting the current.
|
||||
// List of identifiers of the objects generated by splitting current one.
|
||||
Children []*grpc.ObjectID `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -457,13 +469,12 @@ func (m *Header_Split) GetChildren() []*grpc.ObjectID {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Object structure.
|
||||
// Object structure. Object is immutable and content-addressed. It means
|
||||
// `ObjectID` will change if header or payload changes. It's calculated as a
|
||||
// hash of header field, which contains hash of object's payload.
|
||||
type Object struct {
|
||||
// Object's unique identifier.
|
||||
// Object is content-addressed. It means id will change if header or payload
|
||||
// changes. It's calculated as a hash of header field, which contains hash of
|
||||
// object's payload
|
||||
ObjectId *grpc.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
|
||||
ObjectId *grpc.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectID,proto3" json:"object_id,omitempty"`
|
||||
// Signed object_id
|
||||
Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
// Object metadata headers
|
||||
|
@ -549,57 +560,57 @@ func init() {
|
|||
func init() { proto.RegisterFile("v2/object/grpc/types.proto", fileDescriptor_545319325da7b9b1) }
|
||||
|
||||
var fileDescriptor_545319325da7b9b1 = []byte{
|
||||
// 796 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x95, 0xdd, 0x6e, 0xe3, 0x44,
|
||||
0x14, 0xc7, 0xeb, 0xb4, 0xf9, 0x3a, 0x4e, 0x76, 0xcd, 0x80, 0xc0, 0x64, 0x51, 0xa8, 0x2a, 0x21,
|
||||
0x55, 0x2b, 0xd5, 0x06, 0x6f, 0xd1, 0x0a, 0x55, 0x8b, 0x94, 0x36, 0xde, 0xd6, 0x52, 0xdb, 0x94,
|
||||
0xb1, 0x8b, 0x04, 0x37, 0x96, 0x6b, 0x4f, 0x63, 0xd3, 0xd4, 0x63, 0x79, 0x26, 0x46, 0xbd, 0xe4,
|
||||
0x2d, 0x78, 0x86, 0x7d, 0x0e, 0x2e, 0xb8, 0xe4, 0x11, 0x56, 0xe5, 0x45, 0x90, 0x67, 0xec, 0xf4,
|
||||
0x23, 0xbb, 0x04, 0xf6, 0xca, 0xf6, 0x99, 0xdf, 0xff, 0xcc, 0xf9, 0x9f, 0x39, 0x23, 0xc3, 0xa0,
|
||||
0xb0, 0x4c, 0x7a, 0xf1, 0x0b, 0x09, 0xb9, 0x39, 0xcd, 0xb3, 0xd0, 0xe4, 0x37, 0x19, 0x61, 0x46,
|
||||
0x96, 0x53, 0x4e, 0x91, 0x96, 0x12, 0x6a, 0x5c, 0x32, 0xa3, 0xb0, 0x0c, 0x89, 0x0c, 0xf4, 0xc2,
|
||||
0x32, 0x73, 0x72, 0xc9, 0x96, 0xd8, 0xc1, 0xb3, 0xc2, 0x32, 0x19, 0x61, 0x2c, 0xa1, 0xe9, 0xd2,
|
||||
0xe2, 0xd6, 0x6f, 0x0d, 0x50, 0xdd, 0x98, 0xe6, 0xfc, 0x88, 0x04, 0x11, 0xc9, 0xd1, 0x37, 0xd0,
|
||||
0x2e, 0x48, 0x5e, 0xb2, 0xba, 0xb2, 0xa9, 0x6c, 0xab, 0xd6, 0x67, 0xc6, 0xdd, 0x56, 0x65, 0x7e,
|
||||
0xe3, 0x47, 0xb9, 0x8c, 0x6b, 0x0e, 0x7d, 0x05, 0x4f, 0xc2, 0x9c, 0x04, 0x3c, 0xa1, 0xa9, 0x4f,
|
||||
0x32, 0x1a, 0xc6, 0x7a, 0x63, 0x53, 0xd9, 0xde, 0xc0, 0xfd, 0x3a, 0x6a, 0x97, 0x41, 0x64, 0x41,
|
||||
0x87, 0xfe, 0x9a, 0x92, 0xdc, 0x4f, 0x22, 0x7d, 0xfd, 0xdd, 0xa9, 0x27, 0xe5, 0xba, 0x33, 0xc6,
|
||||
0x6d, 0x01, 0x3a, 0x11, 0x7a, 0x05, 0xaa, 0xb4, 0xe7, 0x97, 0x35, 0xeb, 0x1b, 0x9b, 0xca, 0xf6,
|
||||
0x13, 0xeb, 0x0b, 0xe3, 0xb1, 0x79, 0x63, 0x22, 0x1e, 0xde, 0x4d, 0x46, 0x30, 0xd0, 0xc5, 0x7b,
|
||||
0x59, 0x59, 0x16, 0xdc, 0xcc, 0x68, 0x10, 0xf9, 0x33, 0x92, 0x4e, 0x79, 0xac, 0x37, 0x65, 0x65,
|
||||
0x55, 0xf4, 0x58, 0x04, 0xb7, 0xde, 0xb6, 0xa1, 0xf5, 0xe1, 0xf6, 0xbf, 0x87, 0x5e, 0x48, 0x53,
|
||||
0x1e, 0x24, 0x95, 0xb7, 0x86, 0xd0, 0x3d, 0x7b, 0xac, 0x3b, 0xa8, 0x19, 0x67, 0x8c, 0xd5, 0x85,
|
||||
0xc0, 0x89, 0x3e, 0xa8, 0x2f, 0xcb, 0x2d, 0xdf, 0x78, 0x57, 0xcb, 0xff, 0x9b, 0x7f, 0xb4, 0x07,
|
||||
0xbd, 0x1a, 0x8b, 0x03, 0x16, 0xeb, 0x2d, 0x51, 0x85, 0xbe, 0xe4, 0x20, 0x26, 0xe1, 0x15, 0x9b,
|
||||
0x5f, 0x63, 0xb5, 0xa2, 0x8f, 0x02, 0x16, 0x3f, 0x3e, 0xa2, 0xf6, 0xff, 0x3c, 0xa2, 0x03, 0xd0,
|
||||
0x62, 0x7a, 0x4d, 0xaf, 0x69, 0x9e, 0xc5, 0x49, 0x28, 0xf7, 0xef, 0xac, 0xd8, 0xff, 0xe9, 0x3d,
|
||||
0x85, 0xa8, 0x61, 0x0c, 0xfd, 0x6a, 0xc0, 0x7d, 0x4e, 0xaf, 0x48, 0xaa, 0x77, 0x45, 0x86, 0x2f,
|
||||
0xef, 0x65, 0xa8, 0xd6, 0x0d, 0x57, 0x3e, 0xbd, 0x12, 0xc3, 0x3d, 0x76, 0xef, 0x0b, 0xed, 0x03,
|
||||
0x04, 0x9c, 0xe7, 0xc9, 0xc5, 0x9c, 0x13, 0xa6, 0xc3, 0xe6, 0xfa, 0xb6, 0x6a, 0x6d, 0x2d, 0x1b,
|
||||
0x91, 0x93, 0x62, 0x8c, 0x6a, 0x14, 0xdf, 0x53, 0xa1, 0x5d, 0x68, 0xb2, 0x6c, 0x96, 0x70, 0x5d,
|
||||
0x15, 0x15, 0x0c, 0xdf, 0x2b, 0x77, 0x4b, 0x0a, 0x4b, 0x78, 0xf0, 0x02, 0xba, 0x8b, 0x74, 0x48,
|
||||
0x83, 0xf5, 0x2b, 0x72, 0x23, 0xc6, 0xaf, 0x8b, 0xcb, 0x57, 0xf4, 0x09, 0x34, 0x8b, 0x60, 0x36,
|
||||
0x27, 0x62, 0xb4, 0xba, 0x58, 0x7e, 0x0c, 0xde, 0x34, 0xa0, 0x29, 0xb2, 0xa0, 0xaf, 0xa1, 0x95,
|
||||
0x05, 0x39, 0x49, 0x79, 0x35, 0xb3, 0x4b, 0x9d, 0x93, 0xbd, 0x77, 0xc6, 0xb8, 0xe2, 0xd0, 0x2e,
|
||||
0x74, 0xb2, 0x9c, 0x14, 0x09, 0x9d, 0xb3, 0x6a, 0x5e, 0xdf, 0xaf, 0x59, 0x90, 0x68, 0x0c, 0x9a,
|
||||
0xd4, 0xfb, 0x2c, 0x99, 0xa6, 0x01, 0x9f, 0xe7, 0xa4, 0x9a, 0xd8, 0xcf, 0x1f, 0xab, 0xdd, 0x1a,
|
||||
0xc0, 0x4f, 0xa5, 0x64, 0x11, 0x40, 0xaf, 0xa0, 0x5f, 0x65, 0x89, 0x45, 0x2b, 0xc4, 0xe8, 0x3e,
|
||||
0x2c, 0xe0, 0x41, 0xab, 0x70, 0x4f, 0xe2, 0xd5, 0x0d, 0xdd, 0x85, 0x4e, 0x18, 0x27, 0xb3, 0x28,
|
||||
0x27, 0xa9, 0xde, 0x14, 0x67, 0xf4, 0x2f, 0xa5, 0xd7, 0xe4, 0xd6, 0x1f, 0x0a, 0xb4, 0x64, 0x18,
|
||||
0x7d, 0x0b, 0xdd, 0x6a, 0x60, 0x93, 0x68, 0x65, 0xc3, 0x3a, 0x12, 0x75, 0x22, 0xf4, 0x12, 0xba,
|
||||
0x77, 0xae, 0x1b, 0xab, 0x5c, 0xdf, 0xb1, 0xe5, 0xe9, 0x54, 0x46, 0xd7, 0x57, 0x18, 0xad, 0x38,
|
||||
0xa4, 0x43, 0xbb, 0xba, 0x61, 0xa2, 0x37, 0x3d, 0x5c, 0x7f, 0x3e, 0xdf, 0x03, 0xb8, 0xbb, 0x47,
|
||||
0x48, 0x85, 0x36, 0xb6, 0x0f, 0xcf, 0x8f, 0x47, 0x58, 0x5b, 0x43, 0x7d, 0xe8, 0x7a, 0x93, 0x93,
|
||||
0x7d, 0xd7, 0x9b, 0x9c, 0xda, 0x9a, 0x82, 0x3e, 0x82, 0xbe, 0xeb, 0x4d, 0xf0, 0xe8, 0xd0, 0xf6,
|
||||
0x0f, 0xf1, 0xe4, 0xfc, 0x4c, 0x6b, 0x3c, 0xff, 0x0e, 0xba, 0x27, 0x01, 0x0f, 0x63, 0xa1, 0x1d,
|
||||
0xc0, 0xa7, 0x27, 0x23, 0xef, 0xe0, 0xc8, 0xf7, 0x7e, 0x3a, 0xb3, 0xfd, 0xf3, 0x53, 0xf7, 0xcc,
|
||||
0x3e, 0x70, 0x5e, 0x3b, 0xf6, 0x58, 0x5b, 0x43, 0x1a, 0xf4, 0x5c, 0x0f, 0x3b, 0xa7, 0x87, 0xbe,
|
||||
0xfd, 0xc3, 0xf9, 0xe8, 0x58, 0x53, 0xf6, 0xfd, 0x3f, 0x6f, 0x87, 0xca, 0x5f, 0xb7, 0x43, 0xe5,
|
||||
0xed, 0xed, 0x50, 0xf9, 0xfd, 0xef, 0xe1, 0xda, 0xcf, 0x2f, 0xa7, 0x09, 0x8f, 0xe7, 0x17, 0x46,
|
||||
0x48, 0xaf, 0xcd, 0x94, 0x65, 0x61, 0xb8, 0x13, 0x91, 0xc2, 0x4c, 0x09, 0xbd, 0x64, 0x3b, 0x41,
|
||||
0x96, 0xec, 0x4c, 0xa9, 0xf9, 0xf0, 0xf7, 0xb5, 0x27, 0xdf, 0xdf, 0x34, 0x3e, 0x3e, 0x25, 0xf4,
|
||||
0xb5, 0x6b, 0x8c, 0xce, 0x9c, 0xb2, 0x03, 0xd2, 0xce, 0x45, 0x4b, 0xfc, 0x8d, 0x5e, 0xfc, 0x13,
|
||||
0x00, 0x00, 0xff, 0xff, 0x2c, 0x8c, 0x1d, 0x72, 0xf4, 0x06, 0x00, 0x00,
|
||||
// 793 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x6e, 0xe3, 0x44,
|
||||
0x14, 0xae, 0xd3, 0xe6, 0xef, 0x38, 0xd9, 0x35, 0x03, 0x02, 0x93, 0x45, 0xa1, 0xaa, 0x84, 0x54,
|
||||
0xad, 0x54, 0x1b, 0xbc, 0x45, 0x2b, 0x54, 0x2d, 0x52, 0xda, 0x78, 0xdb, 0x48, 0x6d, 0x53, 0xc6,
|
||||
0x2e, 0x12, 0xdc, 0x58, 0xae, 0x33, 0x8d, 0x4d, 0x53, 0x8f, 0xe5, 0x99, 0x18, 0xf5, 0x92, 0xb7,
|
||||
0xe0, 0x19, 0xf6, 0x39, 0xb8, 0xe0, 0x92, 0x47, 0x58, 0x95, 0x17, 0x41, 0x9e, 0x19, 0x37, 0x6d,
|
||||
0xb3, 0x4b, 0x60, 0xaf, 0x7c, 0xe6, 0xcc, 0xf7, 0x9d, 0x39, 0xdf, 0x37, 0x67, 0x64, 0xe8, 0x15,
|
||||
0x8e, 0x4d, 0x2f, 0x7e, 0x21, 0x11, 0xb7, 0xa7, 0x79, 0x16, 0xd9, 0xfc, 0x26, 0x23, 0xcc, 0xca,
|
||||
0x72, 0xca, 0x29, 0x32, 0x52, 0x42, 0xad, 0x4b, 0x66, 0x15, 0x8e, 0x25, 0x21, 0x3d, 0xb3, 0x70,
|
||||
0xec, 0x9c, 0x5c, 0xb2, 0x25, 0x6c, 0xef, 0x59, 0xe1, 0xd8, 0x8c, 0x30, 0x96, 0xd0, 0x74, 0x69,
|
||||
0x73, 0xeb, 0xb7, 0x1a, 0xe8, 0x5e, 0x4c, 0x73, 0x7e, 0x44, 0xc2, 0x09, 0xc9, 0xd1, 0x37, 0xd0,
|
||||
0x2c, 0x48, 0x5e, 0x62, 0x4d, 0x6d, 0x53, 0xdb, 0xd6, 0x9d, 0xcf, 0xac, 0xc5, 0x51, 0x65, 0x7d,
|
||||
0xeb, 0x47, 0xb9, 0x8d, 0x2b, 0x1c, 0xfa, 0x0a, 0x9e, 0x44, 0x39, 0x09, 0x79, 0x42, 0xd3, 0x80,
|
||||
0x64, 0x34, 0x8a, 0xcd, 0xda, 0xa6, 0xb6, 0xbd, 0x81, 0xbb, 0x55, 0xd6, 0x2d, 0x93, 0xc8, 0x81,
|
||||
0x16, 0xfd, 0x35, 0x25, 0x79, 0x90, 0x4c, 0xcc, 0xf5, 0x77, 0x97, 0x1e, 0x97, 0xfb, 0xa3, 0x21,
|
||||
0x6e, 0x52, 0x19, 0xa0, 0x57, 0xa0, 0x4b, 0x79, 0x41, 0xd9, 0xb3, 0xb9, 0xb1, 0xa9, 0x6d, 0x3f,
|
||||
0x71, 0xbe, 0xb0, 0x1e, 0x8b, 0xb7, 0xc6, 0xe2, 0xe3, 0xdf, 0x64, 0x04, 0x03, 0xbd, 0x8b, 0xcb,
|
||||
0xce, 0xb2, 0xf0, 0x66, 0x46, 0xc3, 0x49, 0x30, 0x23, 0xe9, 0x94, 0xc7, 0x66, 0x5d, 0x76, 0xa6,
|
||||
0xb2, 0xc7, 0x22, 0xb9, 0xf5, 0xb6, 0x09, 0x8d, 0x0f, 0x97, 0xff, 0x3d, 0x74, 0x22, 0x9a, 0xf2,
|
||||
0x30, 0x51, 0xda, 0x6a, 0x82, 0xf7, 0xec, 0x31, 0xef, 0xa0, 0xc2, 0x8c, 0x86, 0x58, 0x8f, 0x16,
|
||||
0x8b, 0x0f, 0xf2, 0x65, 0xd9, 0xf2, 0x8d, 0x77, 0x59, 0xfe, 0xdf, 0xf4, 0xa3, 0x3d, 0xe8, 0x54,
|
||||
0xb0, 0x38, 0x64, 0xb1, 0xd9, 0x10, 0x5d, 0x98, 0x4b, 0x0a, 0x62, 0x12, 0x5d, 0xb1, 0xf9, 0x35,
|
||||
0xd6, 0x15, 0xfa, 0x28, 0x64, 0xf1, 0xe3, 0x2b, 0x6a, 0xfe, 0xcf, 0x2b, 0x3a, 0x00, 0x23, 0xa6,
|
||||
0xd7, 0xf4, 0x9a, 0xe6, 0x59, 0x9c, 0x44, 0xf2, 0xfc, 0xd6, 0x8a, 0xf3, 0x9f, 0xde, 0x63, 0x88,
|
||||
0x1e, 0x86, 0xd0, 0x55, 0x03, 0x1e, 0x70, 0x7a, 0x45, 0x52, 0xb3, 0x2d, 0x2a, 0x7c, 0x79, 0xaf,
|
||||
0x82, 0xda, 0xb7, 0x3c, 0xf9, 0xf5, 0x4b, 0x18, 0xee, 0xb0, 0x7b, 0x2b, 0xb4, 0x0f, 0x10, 0x72,
|
||||
0x9e, 0x27, 0x17, 0x73, 0x4e, 0x98, 0x09, 0x9b, 0xeb, 0xdb, 0xba, 0xb3, 0xb5, 0x2c, 0x44, 0x4e,
|
||||
0x8a, 0x35, 0xa8, 0xa0, 0xf8, 0x1e, 0x0b, 0xed, 0x42, 0x9d, 0x65, 0xb3, 0x84, 0x9b, 0xba, 0xe8,
|
||||
0xa0, 0xff, 0x5e, 0xba, 0x57, 0xa2, 0xb0, 0x04, 0xf7, 0x5e, 0x40, 0xfb, 0xae, 0x1c, 0x32, 0x60,
|
||||
0xfd, 0x8a, 0xdc, 0x88, 0xf1, 0x6b, 0xe3, 0x32, 0x44, 0x9f, 0x40, 0xbd, 0x08, 0x67, 0x73, 0x22,
|
||||
0x46, 0xab, 0x8d, 0xe5, 0xa2, 0xf7, 0xa6, 0x06, 0x75, 0x51, 0x05, 0x7d, 0x0d, 0x8d, 0x2c, 0xcc,
|
||||
0x49, 0xca, 0xd5, 0xcc, 0x2e, 0x39, 0x27, 0xbd, 0x1f, 0x0d, 0xb1, 0xc2, 0xa1, 0x5d, 0x68, 0x65,
|
||||
0x39, 0x29, 0x12, 0x3a, 0x67, 0x6a, 0x5e, 0xdf, 0xcf, 0xb9, 0x43, 0xa2, 0x21, 0x18, 0x92, 0x1f,
|
||||
0xb0, 0x64, 0x9a, 0x86, 0x7c, 0x9e, 0x13, 0x35, 0xb1, 0x9f, 0x3f, 0x66, 0x7b, 0x15, 0x00, 0x3f,
|
||||
0x95, 0x94, 0xbb, 0x04, 0x7a, 0x05, 0x5d, 0x55, 0x25, 0x16, 0x56, 0x88, 0xd1, 0x7d, 0xd8, 0xc0,
|
||||
0x03, 0xab, 0x70, 0x47, 0xc2, 0xd5, 0x0b, 0xdd, 0x85, 0x56, 0x14, 0x27, 0xb3, 0x49, 0x4e, 0x52,
|
||||
0xb3, 0x2e, 0xee, 0xe8, 0x5f, 0x5a, 0xaf, 0x90, 0x5b, 0x7f, 0x68, 0xd0, 0x90, 0x69, 0xf4, 0x2d,
|
||||
0xb4, 0xd5, 0xc0, 0x26, 0x93, 0x95, 0x86, 0xb5, 0xa8, 0x8a, 0xd0, 0x4b, 0x68, 0x2f, 0x54, 0xd7,
|
||||
0x56, 0xa9, 0x5e, 0x60, 0xcb, 0xdb, 0x51, 0x42, 0xd7, 0x57, 0x08, 0x55, 0x38, 0x64, 0x42, 0x53,
|
||||
0xbd, 0x30, 0xe1, 0x4d, 0x07, 0x57, 0xcb, 0xe7, 0x7b, 0x00, 0x8b, 0x77, 0x84, 0x74, 0x68, 0x62,
|
||||
0xf7, 0xf0, 0xfc, 0x78, 0x80, 0x8d, 0x35, 0xd4, 0x85, 0xb6, 0x3f, 0x3e, 0xd9, 0xf7, 0xfc, 0xf1,
|
||||
0xa9, 0x6b, 0x68, 0xe8, 0x23, 0xe8, 0x7a, 0xfe, 0x18, 0x0f, 0x0e, 0xdd, 0xe0, 0x10, 0x8f, 0xcf,
|
||||
0xcf, 0x8c, 0xda, 0xf3, 0xef, 0xa0, 0x7d, 0x12, 0xf2, 0x28, 0x16, 0xdc, 0x1e, 0x7c, 0x7a, 0x32,
|
||||
0xf0, 0x0f, 0x8e, 0x02, 0xff, 0xa7, 0x33, 0x37, 0x38, 0x3f, 0xf5, 0xce, 0xdc, 0x83, 0xd1, 0xeb,
|
||||
0x91, 0x3b, 0x34, 0xd6, 0x90, 0x01, 0x1d, 0xcf, 0xc7, 0xa3, 0xd3, 0xc3, 0xc0, 0xfd, 0xe1, 0x7c,
|
||||
0x70, 0x6c, 0x68, 0xfb, 0xc1, 0x9f, 0xb7, 0x7d, 0xed, 0xaf, 0xdb, 0xbe, 0xf6, 0xf6, 0xb6, 0xaf,
|
||||
0xfd, 0xfe, 0x77, 0x7f, 0xed, 0xe7, 0x97, 0xd3, 0x84, 0xc7, 0xf3, 0x0b, 0x2b, 0xa2, 0xd7, 0x76,
|
||||
0xca, 0xb2, 0x28, 0xda, 0x99, 0x90, 0xc2, 0x4e, 0x09, 0xbd, 0x64, 0x3b, 0x61, 0x96, 0xec, 0x4c,
|
||||
0xa9, 0xfd, 0xf0, 0xf7, 0xb5, 0x27, 0xe3, 0x37, 0xb5, 0x8f, 0x4f, 0x09, 0x7d, 0xed, 0x59, 0x83,
|
||||
0xb3, 0x51, 0xe9, 0x80, 0x94, 0x73, 0xd1, 0x10, 0x7f, 0xa3, 0x17, 0xff, 0x04, 0x00, 0x00, 0xff,
|
||||
0xff, 0x21, 0xf4, 0xc9, 0x66, 0xf4, 0x06, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *ShortHeader) Marshal() (dAtA []byte, err error) {
|
||||
|
|
104
v2/refs/grpc/types.pb.go
generated
104
v2/refs/grpc/types.pb.go
generated
|
@ -22,13 +22,13 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// Checksum algorithm type
|
||||
// Checksum algorithm type.
|
||||
type ChecksumType int32
|
||||
|
||||
const (
|
||||
// Unknown. Not used
|
||||
ChecksumType_CHECKSUM_TYPE_UNSPECIFIED ChecksumType = 0
|
||||
// Tillich-Zemor homomorphic hash funciton
|
||||
// Tillich-Zemor homomorphic hash function
|
||||
ChecksumType_TZ ChecksumType = 1
|
||||
// SHA-256
|
||||
ChecksumType_SHA256 ChecksumType = 2
|
||||
|
@ -54,12 +54,13 @@ func (ChecksumType) EnumDescriptor() ([]byte, []int) {
|
|||
return fileDescriptor_08f084e5f91ec87c, []int{0}
|
||||
}
|
||||
|
||||
// Address of object (container id + object id)
|
||||
// Object in NeoFS can be addressed by it's ContainerID and ObjectID. In string
|
||||
// format there MUST be a '/' delimeter between them.
|
||||
type Address struct {
|
||||
// container_id carries container identifier.
|
||||
ContainerId *ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
|
||||
// object_id carries object identifier.
|
||||
ObjectId *ObjectID `protobuf:"bytes,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
|
||||
// Container identifier
|
||||
ContainerId *ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
|
||||
// Object identifier
|
||||
ObjectId *ObjectID `protobuf:"bytes,2,opt,name=object_id,json=objectID,proto3" json:"object_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -112,9 +113,12 @@ func (m *Address) GetObjectId() *ObjectID {
|
|||
return nil
|
||||
}
|
||||
|
||||
// NeoFS object identifier.
|
||||
// NeoFS Object unique identifier. Objects are immutable and content-addressed.
|
||||
// It means `ObjectID` will change if `header` or `payload` changes. `ObjectID`
|
||||
// is calculated as a hash of `header` field, which contains hash of object's
|
||||
// payload.
|
||||
type ObjectID struct {
|
||||
// value carries the object identifier in a binary format.
|
||||
// Object identifier in a binary format
|
||||
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -161,9 +165,11 @@ func (m *ObjectID) GetValue() []byte {
|
|||
return nil
|
||||
}
|
||||
|
||||
// NeoFS container identifier.
|
||||
// NeoFS container identifier. Container structures are immutable and
|
||||
// content-addressed. `ContainerID` is a 32 byte long SHA256 hash of
|
||||
// stable-marshalled container message.
|
||||
type ContainerID struct {
|
||||
// value carries the container identifier in a binary format.
|
||||
// Container identifier in a binary format.
|
||||
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -210,9 +216,11 @@ func (m *ContainerID) GetValue() []byte {
|
|||
return nil
|
||||
}
|
||||
|
||||
// OwnerID group information about the owner of the NeoFS container.
|
||||
// OwnerID is a derivative of a user's main public key. The transformation
|
||||
// algorithm is the same as for Neo3 wallet addresses. Neo3 wallet address can
|
||||
// be directly used as `OwnerID`.
|
||||
type OwnerID struct {
|
||||
// value carries the identifier of the container owner in a binary format.
|
||||
// Identifier of the container owner in a binary format
|
||||
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -259,11 +267,11 @@ func (m *OwnerID) GetValue() []byte {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Represents API version used by node.
|
||||
// API version used by a node.
|
||||
type Version struct {
|
||||
// Major API version.
|
||||
// Major API version
|
||||
Major uint32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
|
||||
// Minor API version.
|
||||
// Minor API version
|
||||
Minor uint32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -317,12 +325,12 @@ func (m *Version) GetMinor() uint32 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Signature of something in NeoFS
|
||||
// Signature of something in NeoFS.
|
||||
type Signature struct {
|
||||
// Public key used for signing.
|
||||
// Public key used for signing
|
||||
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
// Signature
|
||||
Sign []byte `protobuf:"bytes,2,opt,name=sign,proto3" json:"sign,omitempty"`
|
||||
Sign []byte `protobuf:"bytes,2,opt,name=sign,json=signature,proto3" json:"sign,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -375,7 +383,7 @@ func (m *Signature) GetSign() []byte {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Checksum message
|
||||
// Checksum message.
|
||||
type Checksum struct {
|
||||
// Checksum algorithm type
|
||||
Type ChecksumType `protobuf:"varint,1,opt,name=type,proto3,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"`
|
||||
|
@ -447,34 +455,34 @@ func init() {
|
|||
func init() { proto.RegisterFile("v2/refs/grpc/types.proto", fileDescriptor_08f084e5f91ec87c) }
|
||||
|
||||
var fileDescriptor_08f084e5f91ec87c = []byte{
|
||||
// 427 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x6e, 0xd3, 0x40,
|
||||
0x10, 0x86, 0xeb, 0x50, 0x92, 0x74, 0x12, 0xaa, 0xb0, 0xe2, 0x10, 0x04, 0x84, 0xca, 0x5c, 0x10,
|
||||
0x52, 0xd6, 0xe0, 0x2a, 0x5c, 0x90, 0x90, 0x82, 0x93, 0xaa, 0x16, 0x22, 0x8d, 0xec, 0x14, 0xa9,
|
||||
0xbd, 0x44, 0x8e, 0x3d, 0x71, 0xb7, 0x25, 0xbb, 0xd6, 0xae, 0x6d, 0x94, 0x1b, 0x8f, 0xc1, 0x33,
|
||||
0xf0, 0x24, 0x1c, 0x79, 0x04, 0x14, 0x5e, 0x04, 0xed, 0x26, 0x41, 0x01, 0x04, 0xb7, 0x7f, 0x46,
|
||||
0xdf, 0xb7, 0x63, 0x8f, 0x06, 0xda, 0xa5, 0xeb, 0x48, 0x9c, 0x2b, 0x27, 0x95, 0x59, 0xec, 0xe4,
|
||||
0xcb, 0x0c, 0x15, 0xcd, 0xa4, 0xc8, 0x05, 0x39, 0xe4, 0x28, 0xe8, 0x5c, 0xd1, 0xd2, 0xa5, 0x1a,
|
||||
0xb0, 0x3f, 0x59, 0x50, 0xeb, 0x27, 0x89, 0x44, 0xa5, 0xc8, 0x6b, 0x68, 0xc6, 0x82, 0xe7, 0x11,
|
||||
0xe3, 0x28, 0xa7, 0x2c, 0x69, 0x5b, 0x47, 0xd6, 0xd3, 0x86, 0xfb, 0x80, 0xfe, 0xae, 0x50, 0x6f,
|
||||
0xcb, 0xf8, 0x83, 0xa0, 0xf1, 0x4b, 0xf0, 0x13, 0xd2, 0x83, 0x03, 0x31, 0xbb, 0xc6, 0x38, 0xd7,
|
||||
0x72, 0xc5, 0xc8, 0xed, 0x3f, 0xe5, 0x33, 0x03, 0xf8, 0x83, 0xa0, 0xbe, 0x46, 0xfd, 0xc4, 0x3e,
|
||||
0x82, 0xfa, 0xb6, 0x4b, 0xee, 0xc1, 0xed, 0x32, 0xfa, 0x50, 0xa0, 0x99, 0xdd, 0x0c, 0xd6, 0x85,
|
||||
0xfd, 0x04, 0x1a, 0x3b, 0x43, 0xff, 0x01, 0x3d, 0x86, 0xda, 0xd9, 0xc7, 0xff, 0x01, 0x3d, 0xa8,
|
||||
0xbd, 0x47, 0xa9, 0x98, 0xe0, 0x1a, 0x58, 0x44, 0xd7, 0x42, 0x1a, 0xe0, 0x4e, 0xb0, 0x2e, 0x4c,
|
||||
0x97, 0x71, 0x21, 0xcd, 0xb7, 0xeb, 0xae, 0x2e, 0xec, 0x17, 0x70, 0x10, 0xb2, 0x94, 0x47, 0x79,
|
||||
0x21, 0x91, 0xb4, 0xe0, 0xd6, 0x0d, 0x2e, 0x37, 0xef, 0xea, 0x48, 0x08, 0xec, 0x2b, 0x96, 0x72,
|
||||
0xe3, 0x34, 0x03, 0x93, 0xed, 0x11, 0xd4, 0xbd, 0x2b, 0x8c, 0x6f, 0x54, 0xb1, 0x20, 0xcf, 0x61,
|
||||
0x5f, 0xef, 0xdf, 0x28, 0x87, 0xee, 0xc3, 0xbf, 0x96, 0xb9, 0xe1, 0x26, 0xcb, 0x0c, 0x03, 0x43,
|
||||
0xea, 0x19, 0xaa, 0x58, 0x6c, 0x1e, 0xd4, 0xf1, 0x59, 0x1f, 0x9a, 0xbb, 0x1c, 0x79, 0x04, 0xf7,
|
||||
0xbd, 0xd3, 0xa1, 0xf7, 0x36, 0x3c, 0x7f, 0x37, 0x9d, 0x5c, 0x8c, 0x87, 0xd3, 0xf3, 0x51, 0x38,
|
||||
0x1e, 0x7a, 0xfe, 0x89, 0x3f, 0x1c, 0xb4, 0xf6, 0x48, 0x15, 0x2a, 0x93, 0xcb, 0x96, 0x45, 0x00,
|
||||
0xaa, 0xe1, 0x69, 0xdf, 0xed, 0xbd, 0x6c, 0x55, 0xde, 0x5c, 0x7c, 0x5d, 0x75, 0xac, 0x6f, 0xab,
|
||||
0x8e, 0xf5, 0x7d, 0xd5, 0xb1, 0x3e, 0xff, 0xe8, 0xec, 0x5d, 0x1e, 0xa7, 0x2c, 0xbf, 0x2a, 0x66,
|
||||
0x34, 0x16, 0x0b, 0x87, 0xab, 0x2c, 0x8e, 0xbb, 0x09, 0x96, 0x0e, 0x47, 0x31, 0x57, 0xdd, 0x28,
|
||||
0x63, 0xdd, 0x54, 0x38, 0xbb, 0x57, 0xf4, 0x4a, 0xa7, 0x2f, 0x95, 0xbb, 0x23, 0x14, 0x27, 0x21,
|
||||
0xed, 0x8f, 0x7d, 0xfd, 0x0b, 0x01, 0xce, 0xd5, 0xac, 0x6a, 0x2e, 0xeb, 0xf8, 0x67, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0xbb, 0x23, 0xc5, 0xde, 0x75, 0x02, 0x00, 0x00,
|
||||
// 428 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdf, 0x6a, 0x13, 0x41,
|
||||
0x14, 0xc6, 0xbb, 0xb1, 0xe6, 0xcf, 0x49, 0x2c, 0x71, 0x10, 0x8c, 0xa8, 0xb1, 0xac, 0x37, 0x22,
|
||||
0x64, 0x57, 0xb6, 0xa4, 0x37, 0x82, 0x10, 0x37, 0x29, 0x5d, 0xc4, 0x34, 0xec, 0xa6, 0x42, 0x7b,
|
||||
0x13, 0x36, 0x93, 0x93, 0xed, 0xb4, 0x66, 0x66, 0x99, 0xd9, 0x8d, 0xe4, 0xce, 0xc7, 0xf0, 0x19,
|
||||
0x7c, 0x12, 0x2f, 0x7d, 0x04, 0x89, 0x2f, 0x22, 0x33, 0xd9, 0x60, 0x54, 0xec, 0xdd, 0xf7, 0x1d,
|
||||
0x7e, 0xdf, 0x39, 0xf3, 0xe7, 0x40, 0x6b, 0xe9, 0xb9, 0x12, 0xe7, 0xca, 0x4d, 0x64, 0x4a, 0xdd,
|
||||
0x6c, 0x95, 0xa2, 0x72, 0x52, 0x29, 0x32, 0x41, 0x0e, 0x38, 0x0a, 0x67, 0xae, 0x9c, 0xa5, 0xe7,
|
||||
0x68, 0xc0, 0xfe, 0x6c, 0x41, 0xa5, 0x37, 0x9b, 0x49, 0x54, 0x8a, 0xbc, 0x81, 0x06, 0x15, 0x3c,
|
||||
0x8b, 0x19, 0x47, 0x39, 0x61, 0xb3, 0x96, 0x75, 0x68, 0xbd, 0xa8, 0x7b, 0x8f, 0x9d, 0x3f, 0x23,
|
||||
0x8e, 0xbf, 0x65, 0x82, 0x7e, 0x58, 0xa7, 0xbf, 0x0d, 0xe9, 0x42, 0x4d, 0x4c, 0xaf, 0x91, 0x66,
|
||||
0x3a, 0x5c, 0x32, 0xe1, 0xd6, 0xdf, 0xe1, 0x33, 0x03, 0x04, 0xfd, 0xb0, 0x2a, 0x0a, 0x65, 0x1f,
|
||||
0x42, 0x75, 0x5b, 0x25, 0x0f, 0xe0, 0xee, 0x32, 0xfe, 0x98, 0xa3, 0x99, 0xdd, 0x08, 0x37, 0xc6,
|
||||
0x7e, 0x0e, 0xf5, 0x9d, 0xa1, 0xff, 0x81, 0x9e, 0x41, 0xe5, 0xec, 0xd3, 0x6d, 0x40, 0x17, 0x2a,
|
||||
0x1f, 0x50, 0x2a, 0x26, 0xb8, 0x06, 0x16, 0xf1, 0xb5, 0x90, 0x06, 0xb8, 0x17, 0x6e, 0x8c, 0xa9,
|
||||
0x32, 0x2e, 0xa4, 0x39, 0xbb, 0xae, 0x6a, 0x63, 0x1f, 0x43, 0x2d, 0x62, 0x09, 0x8f, 0xb3, 0x5c,
|
||||
0x22, 0x69, 0xc2, 0x9d, 0x1b, 0x5c, 0x15, 0x7d, 0xb5, 0x24, 0x0f, 0x61, 0x5f, 0xb1, 0x84, 0x9b,
|
||||
0x4c, 0x23, 0xac, 0xa9, 0x2d, 0x6a, 0x0f, 0xa1, 0xea, 0x5f, 0x21, 0xbd, 0x51, 0xf9, 0x82, 0xbc,
|
||||
0x82, 0x7d, 0xfd, 0x09, 0x26, 0x77, 0xe0, 0x3d, 0xf9, 0xe7, 0x45, 0x0b, 0x6e, 0xbc, 0x4a, 0x31,
|
||||
0x34, 0xa4, 0x1e, 0xa4, 0xf2, 0x45, 0xd1, 0x55, 0xcb, 0x97, 0x3d, 0x68, 0xec, 0x72, 0xe4, 0x29,
|
||||
0x3c, 0xf2, 0x4f, 0x07, 0xfe, 0xbb, 0xe8, 0xfc, 0xfd, 0x64, 0x7c, 0x31, 0x1a, 0x4c, 0xce, 0x87,
|
||||
0xd1, 0x68, 0xe0, 0x07, 0x27, 0xc1, 0xa0, 0xdf, 0xdc, 0x23, 0x65, 0x28, 0x8d, 0x2f, 0x9b, 0x16,
|
||||
0x01, 0x28, 0x47, 0xa7, 0x3d, 0xaf, 0x7b, 0xdc, 0x2c, 0xbd, 0xbd, 0xf8, 0xb6, 0x6e, 0x5b, 0xdf,
|
||||
0xd7, 0x6d, 0xeb, 0xc7, 0xba, 0x6d, 0x7d, 0xf9, 0xd9, 0xde, 0xbb, 0x3c, 0x4a, 0x58, 0x76, 0x95,
|
||||
0x4f, 0x1d, 0x2a, 0x16, 0x2e, 0x57, 0x29, 0xa5, 0x9d, 0x19, 0x2e, 0x5d, 0x8e, 0x62, 0xae, 0x3a,
|
||||
0x71, 0xca, 0x3a, 0x89, 0x70, 0x77, 0x57, 0xe9, 0xb5, 0x56, 0x5f, 0x4b, 0xf7, 0x87, 0x28, 0x4e,
|
||||
0x22, 0xa7, 0x37, 0x0a, 0xf4, 0x15, 0x42, 0x9c, 0xab, 0x69, 0xd9, 0xac, 0xd7, 0xd1, 0xaf, 0x00,
|
||||
0x00, 0x00, 0xff, 0xff, 0xa0, 0xaf, 0x9d, 0x5e, 0x7a, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *Address) Marshal() (dAtA []byte, err error) {
|
||||
|
|
33
v2/session/grpc/service.pb.go
generated
33
v2/session/grpc/service.pb.go
generated
|
@ -27,15 +27,16 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// CreateRequest carries an information necessary for opening a session.
|
||||
// Information necessary for opening a session.
|
||||
type CreateRequest struct {
|
||||
// Body of create session token request message.
|
||||
Body *CreateRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Carries request meta information. Header data is used only to regulate message
|
||||
// transport and does not affect request execution.
|
||||
// Carries request meta information. Header data is used only to regulate
|
||||
// message transport and does not affect request execution.
|
||||
MetaHeader *RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries request verification information. This header is used to authenticate
|
||||
// the nodes of the message route and check the correctness of transmission.
|
||||
// Carries request verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -96,11 +97,11 @@ func (m *CreateRequest) GetVerifyHeader() *RequestVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Request body
|
||||
// Session creation request body
|
||||
type CreateRequest_Body struct {
|
||||
// Carries an identifier of a session initiator.
|
||||
// Dession initiating user's or node's key derived `OwnerID`.
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,1,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
// Expiration Epoch
|
||||
// Session expiration `Epoch`
|
||||
Expiration uint64 `protobuf:"varint,2,opt,name=expiration,proto3" json:"expiration,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -154,7 +155,7 @@ func (m *CreateRequest_Body) GetExpiration() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// CreateResponse carries an information about the opened session.
|
||||
// Information about the opened session.
|
||||
type CreateResponse struct {
|
||||
// Body of create session token response message.
|
||||
Body *CreateResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
|
@ -162,8 +163,8 @@ type CreateResponse struct {
|
|||
// message transport and does not affect request execution.
|
||||
MetaHeader *ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"`
|
||||
// Carries response verification information. This header is used to
|
||||
// authenticate the nodes of the message route and check the correctness
|
||||
// of transmission.
|
||||
// authenticate the nodes of the message route and check the correctness of
|
||||
// transmission.
|
||||
VerifyHeader *ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -224,11 +225,11 @@ func (m *CreateResponse) GetVerifyHeader() *ResponseVerificationHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Response body
|
||||
// Session creation response body
|
||||
type CreateResponse_Body struct {
|
||||
// id carries an identifier of session token.
|
||||
// Identifier of a newly created session
|
||||
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// session_key carries a session public key.
|
||||
// Public key used for session
|
||||
SessionKey []byte `protobuf:"bytes,2,opt,name=session_key,json=sessionKey,proto3" json:"session_key,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -335,7 +336,7 @@ const _ = grpc1.SupportPackageIsVersion4
|
|||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type SessionServiceClient interface {
|
||||
// Create opens new session between the client and the server.
|
||||
// Opens a new session between two peers.
|
||||
Create(ctx context.Context, in *CreateRequest, opts ...grpc1.CallOption) (*CreateResponse, error)
|
||||
}
|
||||
|
||||
|
@ -358,7 +359,7 @@ func (c *sessionServiceClient) Create(ctx context.Context, in *CreateRequest, op
|
|||
|
||||
// SessionServiceServer is the server API for SessionService service.
|
||||
type SessionServiceServer interface {
|
||||
// Create opens new session between the client and the server.
|
||||
// Opens a new session between two peers.
|
||||
Create(context.Context, *CreateRequest) (*CreateResponse, error)
|
||||
}
|
||||
|
||||
|
|
171
v2/session/grpc/types.pb.go
generated
171
v2/session/grpc/types.pb.go
generated
|
@ -78,7 +78,7 @@ func (ObjectSessionContext_Verb) EnumDescriptor() ([]byte, []int) {
|
|||
|
||||
// Context information for Session Tokens related to ObjectService requests
|
||||
type ObjectSessionContext struct {
|
||||
// Verb is a type of request for which the token is issued
|
||||
// Type of request for which the token is issued
|
||||
Verb ObjectSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ObjectSessionContext_Verb" json:"verb,omitempty"`
|
||||
// Related Object address
|
||||
Address *grpc.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
|
||||
|
@ -134,11 +134,13 @@ func (m *ObjectSessionContext) GetAddress() *grpc.Address {
|
|||
return nil
|
||||
}
|
||||
|
||||
// NeoFS session token.
|
||||
// NeoFS Session Token.
|
||||
type SessionToken struct {
|
||||
// Session Token body
|
||||
// Session Token contains the proof of trust between peers to be attached in
|
||||
// requests for further verification. Please see corresponding section of
|
||||
// NeoFS Technical Specification for details.
|
||||
Body *SessionToken_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
|
||||
// Signature is a signature of session token information
|
||||
// Signature of `SessionToken` information
|
||||
Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -192,17 +194,17 @@ func (m *SessionToken) GetSignature() *grpc.Signature {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Session token body
|
||||
// Session Token body
|
||||
type SessionToken_Body struct {
|
||||
// ID is a token identifier. valid UUIDv4 represented in bytes
|
||||
// Token identifier is a valid UUIDv4 in binary form
|
||||
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// OwnerID carries identifier of the session initiator.
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
||||
// Lifetime is a lifetime of the session
|
||||
// Identifier of the session initiator
|
||||
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
||||
// Lifetime of the session
|
||||
Lifetime *SessionToken_Body_TokenLifetime `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
|
||||
// SessionKey is a public key of session key
|
||||
// Public key used in session
|
||||
SessionKey []byte `protobuf:"bytes,4,opt,name=session_key,json=sessionKey,proto3" json:"session_key,omitempty"`
|
||||
// Carries context of the session.
|
||||
// Session Context information
|
||||
//
|
||||
// Types that are valid to be assigned to Context:
|
||||
// *SessionToken_Body_Object
|
||||
|
@ -373,11 +375,11 @@ func (m *SessionToken_Body_TokenLifetime) GetIat() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Extended headers for Request/Response
|
||||
// Extended headers for Request/Response.
|
||||
type XHeader struct {
|
||||
// Key of the X-Header.
|
||||
// Key of the X-Header
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
// Value of the X-Header.
|
||||
// Value of the X-Header
|
||||
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -431,21 +433,22 @@ func (m *XHeader) GetValue() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Information about the request
|
||||
// Meta information attached to the request. When forwarded between peers,
|
||||
// request meta headers are folded in matryoshka style.
|
||||
type RequestMetaHeader struct {
|
||||
// Client API version.
|
||||
// Peer's API version used
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// Client local epoch number. Set to 0 if unknown.
|
||||
// Peer's local epoch number. Set to 0 if unknown.
|
||||
Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
|
||||
// Maximum number of nodes in the request route.
|
||||
// Maximum number of intermediate nodes in the request route
|
||||
Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
||||
// Request X-Headers.
|
||||
// Request X-Headers
|
||||
XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"`
|
||||
// Token is a token of the session within which the request is sent
|
||||
// Session token within which the request is sent
|
||||
SessionToken *SessionToken `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
||||
// Bearer is a Bearer token of the request
|
||||
// `BearerToken` with eACL overrides for the request
|
||||
BearerToken *grpc1.BearerToken `protobuf:"bytes,6,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"`
|
||||
// RequestMetaHeader of the origin request.
|
||||
// `RequestMetaHeader` of the origin request
|
||||
Origin *RequestMetaHeader `protobuf:"bytes,7,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -536,15 +539,15 @@ func (m *RequestMetaHeader) GetOrigin() *RequestMetaHeader {
|
|||
|
||||
// Information about the response
|
||||
type ResponseMetaHeader struct {
|
||||
// Server API version.
|
||||
// Peer's API version used
|
||||
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
// Server local epoch number.
|
||||
// Peer's local epoch number
|
||||
Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
|
||||
// Maximum number of nodes in the response route.
|
||||
// Maximum number of intermediate nodes in the request route
|
||||
Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
||||
// Response X-Headers.
|
||||
// Response X-Headers
|
||||
XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"`
|
||||
// Carries response meta header of the origin response.
|
||||
// `ResponseMetaHeader` of the origin request
|
||||
Origin *ResponseMetaHeader `protobuf:"bytes,5,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
@ -619,13 +622,13 @@ func (m *ResponseMetaHeader) GetOrigin() *ResponseMetaHeader {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Verification info for request signed by all intermediate nodes
|
||||
// Verification info for request signed by all intermediate nodes.
|
||||
type RequestVerificationHeader struct {
|
||||
// Request Body signature. Should be generated once by request initiator.
|
||||
BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"`
|
||||
// Request Meta signature is added and signed by any intermediate node
|
||||
// Request Meta signature is added and signed by each intermediate node
|
||||
MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"`
|
||||
// Sign previous hops
|
||||
// Signature of previous hops
|
||||
OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"`
|
||||
// Chain of previous hops signatures
|
||||
Origin *RequestVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||
|
@ -699,9 +702,9 @@ func (m *RequestVerificationHeader) GetOrigin() *RequestVerificationHeader {
|
|||
type ResponseVerificationHeader struct {
|
||||
// Response Body signature. Should be generated once by answering node.
|
||||
BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"`
|
||||
// Response Meta signature is added and signed by any intermediate node
|
||||
// Response Meta signature is added and signed by each intermediate node
|
||||
MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"`
|
||||
// Sign previous hops
|
||||
// Signature of previous hops
|
||||
OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"`
|
||||
// Chain of previous hops signatures
|
||||
Origin *ResponseVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||
|
@ -787,60 +790,60 @@ func init() {
|
|||
func init() { proto.RegisterFile("v2/session/grpc/types.proto", fileDescriptor_6bbc551f310b2b05) }
|
||||
|
||||
var fileDescriptor_6bbc551f310b2b05 = []byte{
|
||||
// 840 bytes of a gzipped FileDescriptorProto
|
||||
// 839 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
|
||||
0x14, 0xce, 0xae, 0x37, 0x76, 0x7c, 0x1c, 0x87, 0xed, 0x28, 0x52, 0x5d, 0x23, 0xa5, 0x91, 0x05,
|
||||
0x22, 0x17, 0xcd, 0x5a, 0x59, 0x2e, 0x00, 0x41, 0xa5, 0xda, 0xf1, 0xb6, 0xb6, 0x28, 0x69, 0x34,
|
||||
0x4e, 0x23, 0xc4, 0x8d, 0xb5, 0x3f, 0xc7, 0xce, 0xb6, 0xce, 0x8e, 0xd9, 0x99, 0x2c, 0xf1, 0x9b,
|
||||
0xf0, 0x0c, 0x20, 0xde, 0x83, 0xcb, 0x5e, 0xf0, 0x00, 0x28, 0x5c, 0x20, 0xf1, 0x02, 0xdc, 0xa2,
|
||||
0x99, 0x1d, 0x3b, 0x26, 0x8e, 0x49, 0xb8, 0x43, 0xdc, 0x9d, 0xd9, 0x39, 0xdf, 0x37, 0xdf, 0xf7,
|
||||
0xcd, 0xf1, 0xc8, 0xf0, 0x7e, 0xe6, 0x36, 0x39, 0x72, 0x1e, 0xb3, 0xa4, 0x39, 0x4a, 0x27, 0x61,
|
||||
0x53, 0x4c, 0x27, 0xc8, 0x9d, 0x49, 0xca, 0x04, 0x23, 0x0f, 0x12, 0x64, 0xce, 0x90, 0x3b, 0x99,
|
||||
0xeb, 0xe8, 0x9e, 0x7a, 0x2d, 0x73, 0x9b, 0x29, 0x0e, 0xf9, 0x52, 0x73, 0xfd, 0x61, 0xe6, 0x36,
|
||||
0xfd, 0x70, 0xbc, 0xb4, 0xd1, 0xf8, 0xd3, 0x80, 0xed, 0x57, 0xc1, 0x1b, 0x0c, 0x45, 0x3f, 0x27,
|
||||
0x39, 0x64, 0x89, 0xc0, 0x4b, 0x41, 0x9e, 0x81, 0x95, 0x61, 0x1a, 0xd4, 0x8c, 0x5d, 0x63, 0x6f,
|
||||
0xcb, 0x7d, 0xe2, 0x2c, 0x9d, 0xe6, 0xdc, 0x06, 0x73, 0x4e, 0x31, 0x0d, 0xa8, 0x42, 0x92, 0x03,
|
||||
0x28, 0xf9, 0x51, 0x94, 0x22, 0xe7, 0x35, 0x73, 0xd7, 0xd8, 0xab, 0xb8, 0x0f, 0x17, 0x48, 0xa4,
|
||||
0x4c, 0xa7, 0x95, 0x6f, 0xd3, 0x59, 0x5f, 0xe3, 0x0d, 0x58, 0x92, 0x80, 0x6c, 0x83, 0x7d, 0xea,
|
||||
0xd1, 0xf6, 0xe0, 0xf5, 0x51, 0xff, 0xd8, 0x3b, 0xec, 0x3d, 0xef, 0x79, 0x1d, 0x7b, 0x8d, 0x94,
|
||||
0xa0, 0x70, 0xfc, 0xfa, 0xc4, 0x36, 0x64, 0xf1, 0xc2, 0x3b, 0xb1, 0x4d, 0xb2, 0x01, 0x56, 0xd7,
|
||||
0x6b, 0x75, 0xec, 0x02, 0x01, 0x28, 0xf6, 0xbd, 0x16, 0x3d, 0xec, 0xda, 0x96, 0xac, 0x3b, 0xde,
|
||||
0x4b, 0xef, 0xc4, 0xb3, 0xd7, 0x49, 0x19, 0xd6, 0x69, 0xeb, 0xe8, 0x85, 0x67, 0x17, 0x49, 0x15,
|
||||
0xca, 0xaa, 0xec, 0xb6, 0xfa, 0x5d, 0xbb, 0xd4, 0xf8, 0xa5, 0x00, 0x9b, 0x5a, 0xfc, 0x09, 0x7b,
|
||||
0x8b, 0x09, 0xf9, 0x14, 0xac, 0x80, 0x45, 0x53, 0xe5, 0xb8, 0xe2, 0x7e, 0x70, 0x8b, 0xe3, 0xc5,
|
||||
0x76, 0xa7, 0xcd, 0xa2, 0x29, 0x55, 0x08, 0xf2, 0x09, 0x94, 0x79, 0x3c, 0x4a, 0x7c, 0x71, 0x91,
|
||||
0xa2, 0xf6, 0xfa, 0xe8, 0xa6, 0xd7, 0xfe, 0xac, 0x81, 0x5e, 0xf7, 0xd6, 0xdf, 0x99, 0x60, 0x49,
|
||||
0x1e, 0xb2, 0x05, 0x66, 0x1c, 0xa9, 0x93, 0x37, 0xa9, 0x19, 0x47, 0xc4, 0x85, 0x0d, 0xf6, 0x5d,
|
||||
0x82, 0xe9, 0x20, 0x8e, 0x56, 0x85, 0xf7, 0x4a, 0xee, 0xf7, 0x3a, 0xb4, 0xa4, 0x1a, 0x7b, 0x11,
|
||||
0x39, 0x82, 0x8d, 0x71, 0x3c, 0x44, 0x11, 0x9f, 0x63, 0xad, 0xa0, 0x30, 0xee, 0x7d, 0x3c, 0x38,
|
||||
0xaa, 0x7c, 0xa9, 0x91, 0x74, 0xce, 0x41, 0x1e, 0x43, 0x45, 0x83, 0x06, 0x6f, 0x71, 0x5a, 0xb3,
|
||||
0x94, 0x38, 0xd0, 0x9f, 0xbe, 0xc4, 0x29, 0x69, 0x41, 0x91, 0xa9, 0x19, 0xa8, 0xad, 0xab, 0xe3,
|
||||
0x3e, 0xba, 0xe7, 0x90, 0x74, 0xd7, 0xa8, 0x06, 0xd6, 0x3d, 0xa8, 0xfe, 0xed, 0x78, 0x62, 0x43,
|
||||
0x01, 0x2f, 0x27, 0x2a, 0x09, 0x8b, 0xca, 0x52, 0x7e, 0x49, 0x82, 0xa1, 0x4a, 0xc1, 0xa2, 0xb2,
|
||||
0x94, 0x5f, 0x62, 0x5f, 0x28, 0x8f, 0x16, 0x95, 0x65, 0xbb, 0x0c, 0xa5, 0x30, 0xe7, 0x6e, 0x1c,
|
||||
0x40, 0xe9, 0xeb, 0x2e, 0xfa, 0x11, 0xa6, 0xb2, 0x4f, 0x0a, 0x97, 0x5c, 0x65, 0x2a, 0x4b, 0xb2,
|
||||
0x0d, 0xeb, 0x99, 0x3f, 0xbe, 0xc8, 0x2f, 0xa9, 0x4c, 0xf3, 0x45, 0xe3, 0x0f, 0x13, 0x1e, 0x50,
|
||||
0xfc, 0xf6, 0x02, 0xb9, 0xf8, 0x0a, 0x85, 0xaf, 0xd1, 0x07, 0x50, 0xca, 0x30, 0x95, 0xb2, 0xf5,
|
||||
0x44, 0x2c, 0xdd, 0xc0, 0x69, 0xbe, 0x4d, 0x67, 0x7d, 0x92, 0x1e, 0x27, 0x2c, 0x3c, 0xd3, 0x62,
|
||||
0xf3, 0x85, 0x94, 0x21, 0xc4, 0x58, 0xc9, 0xad, 0x52, 0x59, 0xca, 0x79, 0xb9, 0x1c, 0x9c, 0xa9,
|
||||
0x63, 0x78, 0xcd, 0xda, 0x2d, 0xec, 0x55, 0xdc, 0xfa, 0x2d, 0xd9, 0x69, 0x1f, 0x74, 0xe3, 0x32,
|
||||
0x2f, 0x38, 0xe9, 0x40, 0x75, 0x76, 0x25, 0x42, 0xc6, 0xa6, 0x83, 0x7f, 0x7c, 0xc7, 0x3d, 0xd3,
|
||||
0x4d, 0xbe, 0x38, 0xe8, 0x4f, 0x61, 0x33, 0x40, 0x3f, 0xc5, 0x54, 0x93, 0x14, 0x15, 0xc9, 0xa2,
|
||||
0x02, 0x3f, 0x1c, 0x3b, 0x6d, 0xd5, 0x92, 0xe3, 0x2b, 0xc1, 0xf5, 0x82, 0x7c, 0x01, 0x45, 0x96,
|
||||
0xc6, 0xa3, 0x38, 0xa9, 0x95, 0x56, 0xfe, 0x52, 0x96, 0xe2, 0xa4, 0x1a, 0xd3, 0xf8, 0xdd, 0x00,
|
||||
0x42, 0x91, 0x4f, 0x58, 0xc2, 0xf1, 0x3f, 0x9e, 0xf6, 0xd3, 0xb9, 0xd1, 0x3c, 0xe6, 0x0f, 0x6f,
|
||||
0x35, 0x7a, 0xd3, 0xca, 0xdc, 0xe9, 0x8f, 0x26, 0x3c, 0xd2, 0x39, 0x9c, 0x62, 0x1a, 0x0f, 0xe3,
|
||||
0xd0, 0x17, 0x31, 0x4b, 0xb4, 0xe1, 0x67, 0xb0, 0x25, 0xdf, 0x8e, 0xc1, 0xf5, 0xc3, 0x61, 0xdc,
|
||||
0xf5, 0x70, 0x54, 0x25, 0x60, 0xbe, 0x94, 0x0c, 0xe7, 0x28, 0xfc, 0xc1, 0xbf, 0x78, 0x7a, 0xaa,
|
||||
0x12, 0x70, 0xcd, 0xd0, 0x01, 0x3b, 0xd7, 0xba, 0xc0, 0x51, 0xb8, 0x8b, 0xe3, 0xbd, 0x1c, 0xb2,
|
||||
0xc8, 0x32, 0x8b, 0xc9, 0x52, 0xd8, 0x27, 0xab, 0xe7, 0x61, 0x39, 0x87, 0x79, 0x5a, 0x3f, 0x99,
|
||||
0x50, 0x9f, 0x85, 0xf9, 0xbf, 0x8e, 0xcb, 0xbb, 0x11, 0xd7, 0xfe, 0x3f, 0x4c, 0xd5, 0xea, 0xbc,
|
||||
0xda, 0xc1, 0xcf, 0x57, 0x3b, 0xc6, 0xbb, 0xab, 0x1d, 0xe3, 0xd7, 0xab, 0x1d, 0xe3, 0xfb, 0xdf,
|
||||
0x76, 0xd6, 0xbe, 0xf9, 0x6c, 0x14, 0x8b, 0xb3, 0x8b, 0xc0, 0x09, 0xd9, 0x79, 0x33, 0xe1, 0x93,
|
||||
0x30, 0xdc, 0x8f, 0x30, 0x6b, 0x26, 0xc8, 0x86, 0x7c, 0xdf, 0x9f, 0xc4, 0xfb, 0x23, 0xd6, 0xbc,
|
||||
0xf1, 0x7f, 0xe2, 0x73, 0xbd, 0xf8, 0xc1, 0xdc, 0x3e, 0x42, 0xf6, 0xbc, 0xef, 0xb4, 0x8e, 0x7b,
|
||||
0x52, 0x86, 0x7e, 0x3b, 0x82, 0xa2, 0xfa, 0x8f, 0xf0, 0xf1, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff,
|
||||
0x00, 0x73, 0x57, 0xf8, 0x88, 0x08, 0x00, 0x00,
|
||||
0x22, 0x17, 0xcd, 0x5a, 0x59, 0x2e, 0x00, 0x41, 0xa5, 0xda, 0xf1, 0xb6, 0x8e, 0x28, 0x69, 0x34,
|
||||
0x4e, 0x23, 0xc4, 0x8d, 0xb5, 0x3f, 0xc7, 0xce, 0xb6, 0xce, 0xce, 0xb2, 0x33, 0x59, 0xe2, 0x37,
|
||||
0xe1, 0x19, 0x40, 0xbc, 0x07, 0x97, 0xbd, 0xe0, 0x01, 0x50, 0xb8, 0x40, 0xe2, 0x05, 0xb8, 0x45,
|
||||
0x33, 0x3b, 0x76, 0x4c, 0x9c, 0x90, 0x70, 0x87, 0xb8, 0x3b, 0xb3, 0x73, 0xbe, 0x6f, 0xbe, 0xef,
|
||||
0x9b, 0xe3, 0x91, 0xe1, 0xfd, 0xdc, 0x6d, 0x73, 0xe4, 0x3c, 0x66, 0x49, 0x7b, 0x9c, 0xa5, 0x61,
|
||||
0x5b, 0x4c, 0x53, 0xe4, 0x4e, 0x9a, 0x31, 0xc1, 0xc8, 0x83, 0x04, 0x99, 0x33, 0xe2, 0x4e, 0xee,
|
||||
0x3a, 0xba, 0xa7, 0xd9, 0xc8, 0xdd, 0x76, 0x86, 0x23, 0xbe, 0xd4, 0xdc, 0x7c, 0x98, 0xbb, 0x6d,
|
||||
0x3f, 0x9c, 0x2c, 0x6d, 0xb4, 0xfe, 0x34, 0x60, 0xf3, 0x55, 0xf0, 0x06, 0x43, 0x31, 0x28, 0x48,
|
||||
0xf6, 0x59, 0x22, 0xf0, 0x42, 0x90, 0x67, 0x60, 0xe5, 0x98, 0x05, 0x0d, 0x63, 0xdb, 0xd8, 0xd9,
|
||||
0x70, 0x9f, 0x38, 0x4b, 0xa7, 0x39, 0x37, 0xc1, 0x9c, 0x13, 0xcc, 0x02, 0xaa, 0x90, 0x64, 0x0f,
|
||||
0x2a, 0x7e, 0x14, 0x65, 0xc8, 0x79, 0xc3, 0xdc, 0x36, 0x76, 0x6a, 0xee, 0xc3, 0x05, 0x12, 0x29,
|
||||
0xd3, 0xe9, 0x14, 0xdb, 0x74, 0xd6, 0xd7, 0x7a, 0x03, 0x96, 0x24, 0x20, 0x9b, 0x60, 0x9f, 0x78,
|
||||
0xb4, 0x3b, 0x7c, 0x7d, 0x38, 0x38, 0xf2, 0xf6, 0x0f, 0x9e, 0x1f, 0x78, 0x3d, 0x7b, 0x85, 0x54,
|
||||
0xa0, 0x74, 0xf4, 0xfa, 0xd8, 0x36, 0x64, 0xf1, 0xc2, 0x3b, 0xb6, 0x4d, 0xb2, 0x06, 0x56, 0xdf,
|
||||
0xeb, 0xf4, 0xec, 0x12, 0x01, 0x28, 0x0f, 0xbc, 0x0e, 0xdd, 0xef, 0xdb, 0x96, 0xac, 0x7b, 0xde,
|
||||
0x4b, 0xef, 0xd8, 0xb3, 0x57, 0x49, 0x15, 0x56, 0x69, 0xe7, 0xf0, 0x85, 0x67, 0x97, 0x49, 0x1d,
|
||||
0xaa, 0xaa, 0xec, 0x77, 0x06, 0x7d, 0xbb, 0xd2, 0xfa, 0xa5, 0x04, 0xeb, 0x5a, 0xfc, 0x31, 0x7b,
|
||||
0x8b, 0x09, 0xf9, 0x14, 0xac, 0x80, 0x45, 0x53, 0xe5, 0xb8, 0xe6, 0x7e, 0x70, 0x83, 0xe3, 0xc5,
|
||||
0x76, 0xa7, 0xcb, 0xa2, 0x29, 0x55, 0x08, 0xf2, 0x09, 0x54, 0x79, 0x3c, 0x4e, 0x7c, 0x71, 0x9e,
|
||||
0xa1, 0xf6, 0xfa, 0xe8, 0xba, 0xd7, 0xc1, 0xac, 0x81, 0x5e, 0xf5, 0x36, 0xdf, 0x99, 0x60, 0x49,
|
||||
0x1e, 0xb2, 0x01, 0x66, 0x1c, 0xa9, 0x93, 0xd7, 0xa9, 0x19, 0x47, 0xc4, 0x85, 0x35, 0xf6, 0x5d,
|
||||
0x82, 0xd9, 0x30, 0x8e, 0x6e, 0x0b, 0xef, 0x95, 0xdc, 0x3f, 0xe8, 0xd1, 0x0a, 0x2b, 0x0a, 0x72,
|
||||
0x08, 0x6b, 0x93, 0x78, 0x84, 0x22, 0x3e, 0xc3, 0x46, 0x49, 0x61, 0xdc, 0xfb, 0x78, 0x70, 0x54,
|
||||
0xf9, 0x52, 0x23, 0xe9, 0x9c, 0x83, 0x3c, 0x86, 0x9a, 0x06, 0x0d, 0xdf, 0xe2, 0xb4, 0x61, 0x29,
|
||||
0x71, 0xa0, 0x3f, 0x7d, 0x89, 0x53, 0xd2, 0x81, 0x32, 0x53, 0x33, 0xd0, 0x58, 0x55, 0xc7, 0x7d,
|
||||
0x74, 0xcf, 0x21, 0xe9, 0xaf, 0x50, 0x0d, 0x6c, 0x7a, 0x50, 0xff, 0xdb, 0xf1, 0xc4, 0x86, 0x12,
|
||||
0x5e, 0xa4, 0x2a, 0x09, 0x8b, 0xca, 0x52, 0x7e, 0x49, 0x82, 0x91, 0x4a, 0xc1, 0xa2, 0xb2, 0x94,
|
||||
0x5f, 0x62, 0x5f, 0x28, 0x8f, 0x16, 0x95, 0x65, 0xb7, 0x0a, 0x95, 0xb0, 0xe0, 0x6e, 0xed, 0x41,
|
||||
0xe5, 0xeb, 0x3e, 0xfa, 0x11, 0x66, 0xb2, 0x4f, 0x0a, 0x97, 0x5c, 0x55, 0x2a, 0x4b, 0xb2, 0x09,
|
||||
0xab, 0xb9, 0x3f, 0x39, 0x2f, 0x2e, 0xa9, 0x4a, 0x8b, 0x45, 0xeb, 0x0f, 0x13, 0x1e, 0x50, 0xfc,
|
||||
0xf6, 0x1c, 0xb9, 0xf8, 0x0a, 0x85, 0xaf, 0xd1, 0x7b, 0x50, 0xc9, 0x31, 0x93, 0xb2, 0xf5, 0x44,
|
||||
0x2c, 0xdd, 0xc0, 0x49, 0xb1, 0x4d, 0x67, 0x7d, 0x92, 0x1e, 0x53, 0x16, 0x9e, 0x6a, 0xb1, 0xc5,
|
||||
0x42, 0xca, 0x10, 0x62, 0xa2, 0xe4, 0xd6, 0xa9, 0x2c, 0xe5, 0xbc, 0x5c, 0x0c, 0x4f, 0xd5, 0x31,
|
||||
0xbc, 0x61, 0x6d, 0x97, 0x76, 0x6a, 0x6e, 0xf3, 0x86, 0xec, 0xb4, 0x0f, 0xba, 0x76, 0x51, 0x14,
|
||||
0x9c, 0xf4, 0xa0, 0x3e, 0xbb, 0x12, 0x21, 0x63, 0xd3, 0xc1, 0x3f, 0xbe, 0xe3, 0x9e, 0xe9, 0x3a,
|
||||
0x5f, 0x1c, 0xf4, 0xa7, 0xb0, 0x1e, 0xa0, 0x9f, 0x61, 0xa6, 0x49, 0xca, 0x8a, 0x64, 0x51, 0x81,
|
||||
0x1f, 0x4e, 0x9c, 0xae, 0x6a, 0x29, 0xf0, 0xb5, 0xe0, 0x6a, 0x41, 0xbe, 0x80, 0x32, 0xcb, 0xe2,
|
||||
0x71, 0x9c, 0x34, 0x2a, 0xb7, 0xfe, 0x52, 0x96, 0xe2, 0xa4, 0x1a, 0xd3, 0xfa, 0xdd, 0x00, 0x42,
|
||||
0x91, 0xa7, 0x2c, 0xe1, 0xf8, 0x1f, 0x4f, 0xfb, 0xe9, 0xdc, 0x68, 0x11, 0xf3, 0x87, 0x37, 0x1a,
|
||||
0xbd, 0x6e, 0x65, 0xee, 0xf4, 0x47, 0x13, 0x1e, 0xe9, 0x1c, 0x4e, 0x30, 0x8b, 0x47, 0x71, 0xe8,
|
||||
0x8b, 0x98, 0x25, 0xda, 0xf0, 0x33, 0xd8, 0x90, 0x6f, 0xc7, 0xf0, 0xea, 0xe1, 0x30, 0xee, 0x7a,
|
||||
0x38, 0xea, 0x12, 0x30, 0x5f, 0x4a, 0x86, 0x33, 0x14, 0xfe, 0xf0, 0x5f, 0x3c, 0x3d, 0x75, 0x09,
|
||||
0xb8, 0x62, 0xe8, 0x81, 0x5d, 0x68, 0x5d, 0xe0, 0x28, 0xdd, 0xc5, 0xf1, 0x5e, 0x01, 0x59, 0x64,
|
||||
0x99, 0xc5, 0x64, 0x29, 0xec, 0x93, 0xdb, 0xe7, 0x61, 0x39, 0x87, 0x79, 0x5a, 0x3f, 0x99, 0xd0,
|
||||
0x9c, 0x85, 0xf9, 0xbf, 0x8e, 0xcb, 0xbb, 0x16, 0xd7, 0xee, 0x3f, 0x4c, 0xd5, 0xed, 0x79, 0x75,
|
||||
0x83, 0x9f, 0x2f, 0xb7, 0x8c, 0x77, 0x97, 0x5b, 0xc6, 0xaf, 0x97, 0x5b, 0xc6, 0xf7, 0xbf, 0x6d,
|
||||
0xad, 0x7c, 0xf3, 0xd9, 0x38, 0x16, 0xa7, 0xe7, 0x81, 0x13, 0xb2, 0xb3, 0x76, 0xc2, 0xd3, 0x30,
|
||||
0xdc, 0x8d, 0x30, 0x6f, 0x27, 0xc8, 0x46, 0x7c, 0xd7, 0x4f, 0xe3, 0xdd, 0x31, 0x6b, 0x5f, 0xfb,
|
||||
0x3f, 0xf1, 0xb9, 0x5e, 0xfc, 0x60, 0x6e, 0x1e, 0x22, 0x7b, 0x3e, 0x70, 0x3a, 0x47, 0x07, 0x52,
|
||||
0x86, 0x7e, 0x3b, 0x82, 0xb2, 0xfa, 0x8f, 0xf0, 0xf1, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x18,
|
||||
0x2f, 0x25, 0xb1, 0x88, 0x08, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *ObjectSessionContext) Marshal() (dAtA []byte, err error) {
|
||||
|
|
22
v2/storagegroup/grpc/types.pb.go
generated
22
v2/storagegroup/grpc/types.pb.go
generated
|
@ -23,22 +23,20 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// StorageGroup groups the information about the NeoFS storage group.
|
||||
// The storage group consists of objects from single container.
|
||||
// StorageGroup keeps verification information for Data Audit sessions. Objects
|
||||
// that require payed storage guaranties are gathered in `StorageGroups` with
|
||||
// additional information used for proof of storage. `StorageGroup` only
|
||||
// contains objects from the same container.
|
||||
type StorageGroup struct {
|
||||
// validation_data_size carries the total size of the payloads of the storage
|
||||
// group members.
|
||||
// Total size of the payloads of objects in the storage group
|
||||
ValidationDataSize uint64 `protobuf:"varint,1,opt,name=validation_data_size,json=validationDataSize,proto3" json:"validation_data_size,omitempty"`
|
||||
// validation_hash carries homomorphic hash from the concatenation of the
|
||||
// payloads of the storage group members
|
||||
// The order of concatenation is the same as the order of the members in the
|
||||
// Members field.
|
||||
// Homomorphic hash from the concatenation of the payloads of the storage
|
||||
// group members. The order of concatenation is the same as the order of the
|
||||
// members in the `members` field.
|
||||
ValidationHash *grpc.Checksum `protobuf:"bytes,2,opt,name=validation_hash,json=validationHash,proto3" json:"validation_hash,omitempty"`
|
||||
// expiration_epoch carries last NeoFS epoch number of the storage group
|
||||
// lifetime.
|
||||
// Last NeoFS epoch number of the storage group lifetime
|
||||
ExpirationEpoch uint64 `protobuf:"varint,3,opt,name=expiration_epoch,json=expirationEpoch,proto3" json:"expiration_epoch,omitempty"`
|
||||
// Members carries the list of identifiers of the object storage group members.
|
||||
// The list is strictly ordered.
|
||||
// Strictly ordered list of storage group member objects
|
||||
Members []*grpc.ObjectID `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
|
|
Loading…
Reference in a new issue