github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/acl/grpc/types.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.0
     4  // 	protoc        v3.21.9
     5  // source: acl/grpc/types.proto
     6  
     7  package acl
     8  
     9  import (
    10  	grpc "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  // Target role of the access control rule in access control list.
    25  type Role int32
    26  
    27  const (
    28  	// Unspecified  role, default value
    29  	Role_ROLE_UNSPECIFIED Role = 0
    30  	// User target rule is applied if sender is the owner of the container
    31  	Role_USER Role = 1
    32  	// System target rule is applied if sender is a storage node within the
    33  	// container or an inner ring node
    34  	Role_SYSTEM Role = 2
    35  	// Others target rule is applied if sender is neither a user nor a system target
    36  	Role_OTHERS Role = 3
    37  )
    38  
    39  // Enum value maps for Role.
    40  var (
    41  	Role_name = map[int32]string{
    42  		0: "ROLE_UNSPECIFIED",
    43  		1: "USER",
    44  		2: "SYSTEM",
    45  		3: "OTHERS",
    46  	}
    47  	Role_value = map[string]int32{
    48  		"ROLE_UNSPECIFIED": 0,
    49  		"USER":             1,
    50  		"SYSTEM":           2,
    51  		"OTHERS":           3,
    52  	}
    53  )
    54  
    55  func (x Role) Enum() *Role {
    56  	p := new(Role)
    57  	*p = x
    58  	return p
    59  }
    60  
    61  func (x Role) String() string {
    62  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    63  }
    64  
    65  func (Role) Descriptor() protoreflect.EnumDescriptor {
    66  	return file_acl_grpc_types_proto_enumTypes[0].Descriptor()
    67  }
    68  
    69  func (Role) Type() protoreflect.EnumType {
    70  	return &file_acl_grpc_types_proto_enumTypes[0]
    71  }
    72  
    73  func (x Role) Number() protoreflect.EnumNumber {
    74  	return protoreflect.EnumNumber(x)
    75  }
    76  
    77  // Deprecated: Use Role.Descriptor instead.
    78  func (Role) EnumDescriptor() ([]byte, []int) {
    79  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{0}
    80  }
    81  
    82  // MatchType is an enumeration of match types.
    83  type MatchType int32
    84  
    85  const (
    86  	// Unspecified match type, default value.
    87  	MatchType_MATCH_TYPE_UNSPECIFIED MatchType = 0
    88  	// Return true if strings are equal
    89  	MatchType_STRING_EQUAL MatchType = 1
    90  	// Return true if strings are different
    91  	MatchType_STRING_NOT_EQUAL MatchType = 2
    92  )
    93  
    94  // Enum value maps for MatchType.
    95  var (
    96  	MatchType_name = map[int32]string{
    97  		0: "MATCH_TYPE_UNSPECIFIED",
    98  		1: "STRING_EQUAL",
    99  		2: "STRING_NOT_EQUAL",
   100  	}
   101  	MatchType_value = map[string]int32{
   102  		"MATCH_TYPE_UNSPECIFIED": 0,
   103  		"STRING_EQUAL":           1,
   104  		"STRING_NOT_EQUAL":       2,
   105  	}
   106  )
   107  
   108  func (x MatchType) Enum() *MatchType {
   109  	p := new(MatchType)
   110  	*p = x
   111  	return p
   112  }
   113  
   114  func (x MatchType) String() string {
   115  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   116  }
   117  
   118  func (MatchType) Descriptor() protoreflect.EnumDescriptor {
   119  	return file_acl_grpc_types_proto_enumTypes[1].Descriptor()
   120  }
   121  
   122  func (MatchType) Type() protoreflect.EnumType {
   123  	return &file_acl_grpc_types_proto_enumTypes[1]
   124  }
   125  
   126  func (x MatchType) Number() protoreflect.EnumNumber {
   127  	return protoreflect.EnumNumber(x)
   128  }
   129  
   130  // Deprecated: Use MatchType.Descriptor instead.
   131  func (MatchType) EnumDescriptor() ([]byte, []int) {
   132  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{1}
   133  }
   134  
   135  // Request's operation type to match if the rule is applicable to a particular
   136  // request.
   137  type Operation int32
   138  
   139  const (
   140  	// Unspecified operation, default value
   141  	Operation_OPERATION_UNSPECIFIED Operation = 0
   142  	// Get
   143  	Operation_GET Operation = 1
   144  	// Head
   145  	Operation_HEAD Operation = 2
   146  	// Put
   147  	Operation_PUT Operation = 3
   148  	// Delete
   149  	Operation_DELETE Operation = 4
   150  	// Search
   151  	Operation_SEARCH Operation = 5
   152  	// GetRange
   153  	Operation_GETRANGE Operation = 6
   154  	// GetRangeHash
   155  	Operation_GETRANGEHASH Operation = 7
   156  )
   157  
   158  // Enum value maps for Operation.
   159  var (
   160  	Operation_name = map[int32]string{
   161  		0: "OPERATION_UNSPECIFIED",
   162  		1: "GET",
   163  		2: "HEAD",
   164  		3: "PUT",
   165  		4: "DELETE",
   166  		5: "SEARCH",
   167  		6: "GETRANGE",
   168  		7: "GETRANGEHASH",
   169  	}
   170  	Operation_value = map[string]int32{
   171  		"OPERATION_UNSPECIFIED": 0,
   172  		"GET":                   1,
   173  		"HEAD":                  2,
   174  		"PUT":                   3,
   175  		"DELETE":                4,
   176  		"SEARCH":                5,
   177  		"GETRANGE":              6,
   178  		"GETRANGEHASH":          7,
   179  	}
   180  )
   181  
   182  func (x Operation) Enum() *Operation {
   183  	p := new(Operation)
   184  	*p = x
   185  	return p
   186  }
   187  
   188  func (x Operation) String() string {
   189  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   190  }
   191  
   192  func (Operation) Descriptor() protoreflect.EnumDescriptor {
   193  	return file_acl_grpc_types_proto_enumTypes[2].Descriptor()
   194  }
   195  
   196  func (Operation) Type() protoreflect.EnumType {
   197  	return &file_acl_grpc_types_proto_enumTypes[2]
   198  }
   199  
   200  func (x Operation) Number() protoreflect.EnumNumber {
   201  	return protoreflect.EnumNumber(x)
   202  }
   203  
   204  // Deprecated: Use Operation.Descriptor instead.
   205  func (Operation) EnumDescriptor() ([]byte, []int) {
   206  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{2}
   207  }
   208  
   209  // Rule execution result action. Either allows or denies access if the rule's
   210  // filters match.
   211  type Action int32
   212  
   213  const (
   214  	// Unspecified action, default value
   215  	Action_ACTION_UNSPECIFIED Action = 0
   216  	// Allow action
   217  	Action_ALLOW Action = 1
   218  	// Deny action
   219  	Action_DENY Action = 2
   220  )
   221  
   222  // Enum value maps for Action.
   223  var (
   224  	Action_name = map[int32]string{
   225  		0: "ACTION_UNSPECIFIED",
   226  		1: "ALLOW",
   227  		2: "DENY",
   228  	}
   229  	Action_value = map[string]int32{
   230  		"ACTION_UNSPECIFIED": 0,
   231  		"ALLOW":              1,
   232  		"DENY":               2,
   233  	}
   234  )
   235  
   236  func (x Action) Enum() *Action {
   237  	p := new(Action)
   238  	*p = x
   239  	return p
   240  }
   241  
   242  func (x Action) String() string {
   243  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   244  }
   245  
   246  func (Action) Descriptor() protoreflect.EnumDescriptor {
   247  	return file_acl_grpc_types_proto_enumTypes[3].Descriptor()
   248  }
   249  
   250  func (Action) Type() protoreflect.EnumType {
   251  	return &file_acl_grpc_types_proto_enumTypes[3]
   252  }
   253  
   254  func (x Action) Number() protoreflect.EnumNumber {
   255  	return protoreflect.EnumNumber(x)
   256  }
   257  
   258  // Deprecated: Use Action.Descriptor instead.
   259  func (Action) EnumDescriptor() ([]byte, []int) {
   260  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{3}
   261  }
   262  
   263  // Enumeration of possible sources of Headers to apply filters.
   264  type HeaderType int32
   265  
   266  const (
   267  	// Unspecified header, default value.
   268  	HeaderType_HEADER_UNSPECIFIED HeaderType = 0
   269  	// Filter request headers
   270  	HeaderType_REQUEST HeaderType = 1
   271  	// Filter object headers
   272  	HeaderType_OBJECT HeaderType = 2
   273  	// Filter service headers. These are not processed by NeoFS nodes and
   274  	// exist for service use only.
   275  	HeaderType_SERVICE HeaderType = 3
   276  )
   277  
   278  // Enum value maps for HeaderType.
   279  var (
   280  	HeaderType_name = map[int32]string{
   281  		0: "HEADER_UNSPECIFIED",
   282  		1: "REQUEST",
   283  		2: "OBJECT",
   284  		3: "SERVICE",
   285  	}
   286  	HeaderType_value = map[string]int32{
   287  		"HEADER_UNSPECIFIED": 0,
   288  		"REQUEST":            1,
   289  		"OBJECT":             2,
   290  		"SERVICE":            3,
   291  	}
   292  )
   293  
   294  func (x HeaderType) Enum() *HeaderType {
   295  	p := new(HeaderType)
   296  	*p = x
   297  	return p
   298  }
   299  
   300  func (x HeaderType) String() string {
   301  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   302  }
   303  
   304  func (HeaderType) Descriptor() protoreflect.EnumDescriptor {
   305  	return file_acl_grpc_types_proto_enumTypes[4].Descriptor()
   306  }
   307  
   308  func (HeaderType) Type() protoreflect.EnumType {
   309  	return &file_acl_grpc_types_proto_enumTypes[4]
   310  }
   311  
   312  func (x HeaderType) Number() protoreflect.EnumNumber {
   313  	return protoreflect.EnumNumber(x)
   314  }
   315  
   316  // Deprecated: Use HeaderType.Descriptor instead.
   317  func (HeaderType) EnumDescriptor() ([]byte, []int) {
   318  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{4}
   319  }
   320  
   321  // Describes a single eACL rule.
   322  type EACLRecord struct {
   323  	state         protoimpl.MessageState
   324  	sizeCache     protoimpl.SizeCache
   325  	unknownFields protoimpl.UnknownFields
   326  
   327  	// NeoFS request Verb to match
   328  	Operation Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=neo.fs.v2.acl.Operation" json:"operation,omitempty"`
   329  	// Rule execution result. Either allows or denies access if filters match.
   330  	Action Action `protobuf:"varint,2,opt,name=action,proto3,enum=neo.fs.v2.acl.Action" json:"action,omitempty"`
   331  	// List of filters to match and see if rule is applicable
   332  	Filters []*EACLRecord_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"`
   333  	// List of target subjects to apply ACL rule to
   334  	Targets []*EACLRecord_Target `protobuf:"bytes,4,rep,name=targets,proto3" json:"targets,omitempty"`
   335  }
   336  
   337  func (x *EACLRecord) Reset() {
   338  	*x = EACLRecord{}
   339  	if protoimpl.UnsafeEnabled {
   340  		mi := &file_acl_grpc_types_proto_msgTypes[0]
   341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  		ms.StoreMessageInfo(mi)
   343  	}
   344  }
   345  
   346  func (x *EACLRecord) String() string {
   347  	return protoimpl.X.MessageStringOf(x)
   348  }
   349  
   350  func (*EACLRecord) ProtoMessage() {}
   351  
   352  func (x *EACLRecord) ProtoReflect() protoreflect.Message {
   353  	mi := &file_acl_grpc_types_proto_msgTypes[0]
   354  	if protoimpl.UnsafeEnabled && x != nil {
   355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   356  		if ms.LoadMessageInfo() == nil {
   357  			ms.StoreMessageInfo(mi)
   358  		}
   359  		return ms
   360  	}
   361  	return mi.MessageOf(x)
   362  }
   363  
   364  // Deprecated: Use EACLRecord.ProtoReflect.Descriptor instead.
   365  func (*EACLRecord) Descriptor() ([]byte, []int) {
   366  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{0}
   367  }
   368  
   369  func (x *EACLRecord) GetOperation() Operation {
   370  	if x != nil {
   371  		return x.Operation
   372  	}
   373  	return Operation_OPERATION_UNSPECIFIED
   374  }
   375  
   376  func (x *EACLRecord) GetAction() Action {
   377  	if x != nil {
   378  		return x.Action
   379  	}
   380  	return Action_ACTION_UNSPECIFIED
   381  }
   382  
   383  func (x *EACLRecord) GetFilters() []*EACLRecord_Filter {
   384  	if x != nil {
   385  		return x.Filters
   386  	}
   387  	return nil
   388  }
   389  
   390  func (x *EACLRecord) GetTargets() []*EACLRecord_Target {
   391  	if x != nil {
   392  		return x.Targets
   393  	}
   394  	return nil
   395  }
   396  
   397  // Extended ACL rules table. A list of ACL rules defined additionally to Basic
   398  // ACL. Extended ACL rules can be attached to a container and can be updated
   399  // or may be defined in `BearerToken` structure. Please see the corresponding
   400  // NeoFS Technical Specification section for detailed description.
   401  type EACLTable struct {
   402  	state         protoimpl.MessageState
   403  	sizeCache     protoimpl.SizeCache
   404  	unknownFields protoimpl.UnknownFields
   405  
   406  	// eACL format version. Effectively, the version of API library used to create
   407  	// eACL Table.
   408  	Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
   409  	// Identifier of the container that should use given access control rules
   410  	ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
   411  	// List of Extended ACL rules
   412  	Records []*EACLRecord `protobuf:"bytes,3,rep,name=records,proto3" json:"records,omitempty"`
   413  }
   414  
   415  func (x *EACLTable) Reset() {
   416  	*x = EACLTable{}
   417  	if protoimpl.UnsafeEnabled {
   418  		mi := &file_acl_grpc_types_proto_msgTypes[1]
   419  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   420  		ms.StoreMessageInfo(mi)
   421  	}
   422  }
   423  
   424  func (x *EACLTable) String() string {
   425  	return protoimpl.X.MessageStringOf(x)
   426  }
   427  
   428  func (*EACLTable) ProtoMessage() {}
   429  
   430  func (x *EACLTable) ProtoReflect() protoreflect.Message {
   431  	mi := &file_acl_grpc_types_proto_msgTypes[1]
   432  	if protoimpl.UnsafeEnabled && x != nil {
   433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   434  		if ms.LoadMessageInfo() == nil {
   435  			ms.StoreMessageInfo(mi)
   436  		}
   437  		return ms
   438  	}
   439  	return mi.MessageOf(x)
   440  }
   441  
   442  // Deprecated: Use EACLTable.ProtoReflect.Descriptor instead.
   443  func (*EACLTable) Descriptor() ([]byte, []int) {
   444  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{1}
   445  }
   446  
   447  func (x *EACLTable) GetVersion() *grpc.Version {
   448  	if x != nil {
   449  		return x.Version
   450  	}
   451  	return nil
   452  }
   453  
   454  func (x *EACLTable) GetContainerId() *grpc.ContainerID {
   455  	if x != nil {
   456  		return x.ContainerId
   457  	}
   458  	return nil
   459  }
   460  
   461  func (x *EACLTable) GetRecords() []*EACLRecord {
   462  	if x != nil {
   463  		return x.Records
   464  	}
   465  	return nil
   466  }
   467  
   468  // BearerToken allows to attach signed Extended ACL rules to the request in
   469  // `RequestMetaHeader`. If container's Basic ACL rules allow, the attached rule
   470  // set will be checked instead of one attached to the container itself. Just
   471  // like [JWT](https://jwt.io), it has a limited lifetime and scope, hence can be
   472  // used in the similar use cases, like providing authorisation to externally
   473  // authenticated party.
   474  //
   475  // BearerToken can be issued only by the container's owner and must be signed using
   476  // the key associated with the container's `OwnerID`.
   477  type BearerToken struct {
   478  	state         protoimpl.MessageState
   479  	sizeCache     protoimpl.SizeCache
   480  	unknownFields protoimpl.UnknownFields
   481  
   482  	// Bearer Token body
   483  	Body *BearerToken_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
   484  	// Signature of BearerToken body
   485  	Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
   486  }
   487  
   488  func (x *BearerToken) Reset() {
   489  	*x = BearerToken{}
   490  	if protoimpl.UnsafeEnabled {
   491  		mi := &file_acl_grpc_types_proto_msgTypes[2]
   492  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   493  		ms.StoreMessageInfo(mi)
   494  	}
   495  }
   496  
   497  func (x *BearerToken) String() string {
   498  	return protoimpl.X.MessageStringOf(x)
   499  }
   500  
   501  func (*BearerToken) ProtoMessage() {}
   502  
   503  func (x *BearerToken) ProtoReflect() protoreflect.Message {
   504  	mi := &file_acl_grpc_types_proto_msgTypes[2]
   505  	if protoimpl.UnsafeEnabled && x != nil {
   506  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   507  		if ms.LoadMessageInfo() == nil {
   508  			ms.StoreMessageInfo(mi)
   509  		}
   510  		return ms
   511  	}
   512  	return mi.MessageOf(x)
   513  }
   514  
   515  // Deprecated: Use BearerToken.ProtoReflect.Descriptor instead.
   516  func (*BearerToken) Descriptor() ([]byte, []int) {
   517  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{2}
   518  }
   519  
   520  func (x *BearerToken) GetBody() *BearerToken_Body {
   521  	if x != nil {
   522  		return x.Body
   523  	}
   524  	return nil
   525  }
   526  
   527  func (x *BearerToken) GetSignature() *grpc.Signature {
   528  	if x != nil {
   529  		return x.Signature
   530  	}
   531  	return nil
   532  }
   533  
   534  // Filter to check particular properties of the request or the object.
   535  //
   536  // By default `key` field refers to the corresponding object's `Attribute`.
   537  // Some Object's header fields can also be accessed by adding `$Object:`
   538  // prefix to the name. Here is the list of fields available via this prefix:
   539  //
   540  //   - $Object:version \
   541  //     version
   542  //   - $Object:objectID \
   543  //     object_id
   544  //   - $Object:containerID \
   545  //     container_id
   546  //   - $Object:ownerID \
   547  //     owner_id
   548  //   - $Object:creationEpoch \
   549  //     creation_epoch
   550  //   - $Object:payloadLength \
   551  //     payload_length
   552  //   - $Object:payloadHash \
   553  //     payload_hash
   554  //   - $Object:objectType \
   555  //     object_type
   556  //   - $Object:homomorphicHash \
   557  //     homomorphic_hash
   558  //
   559  // Please note, that if request or response does not have object's headers of
   560  // full object (Range, RangeHash, Search, Delete), it will not be possible to
   561  // filter by object header fields or user attributes. From the well-known list
   562  // only `$Object:objectID` and `$Object:containerID` will be available, as
   563  // it's possible to take that information from the requested address.
   564  type EACLRecord_Filter struct {
   565  	state         protoimpl.MessageState
   566  	sizeCache     protoimpl.SizeCache
   567  	unknownFields protoimpl.UnknownFields
   568  
   569  	// Define if Object or Request header will be used
   570  	HeaderType HeaderType `protobuf:"varint,1,opt,name=header_type,json=headerType,proto3,enum=neo.fs.v2.acl.HeaderType" json:"header_type,omitempty"`
   571  	// Match operation type
   572  	MatchType MatchType `protobuf:"varint,2,opt,name=match_type,json=matchType,proto3,enum=neo.fs.v2.acl.MatchType" json:"match_type,omitempty"`
   573  	// Name of the Header to use
   574  	Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
   575  	// Expected Header Value or pattern to match
   576  	Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
   577  }
   578  
   579  func (x *EACLRecord_Filter) Reset() {
   580  	*x = EACLRecord_Filter{}
   581  	if protoimpl.UnsafeEnabled {
   582  		mi := &file_acl_grpc_types_proto_msgTypes[3]
   583  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   584  		ms.StoreMessageInfo(mi)
   585  	}
   586  }
   587  
   588  func (x *EACLRecord_Filter) String() string {
   589  	return protoimpl.X.MessageStringOf(x)
   590  }
   591  
   592  func (*EACLRecord_Filter) ProtoMessage() {}
   593  
   594  func (x *EACLRecord_Filter) ProtoReflect() protoreflect.Message {
   595  	mi := &file_acl_grpc_types_proto_msgTypes[3]
   596  	if protoimpl.UnsafeEnabled && x != nil {
   597  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   598  		if ms.LoadMessageInfo() == nil {
   599  			ms.StoreMessageInfo(mi)
   600  		}
   601  		return ms
   602  	}
   603  	return mi.MessageOf(x)
   604  }
   605  
   606  // Deprecated: Use EACLRecord_Filter.ProtoReflect.Descriptor instead.
   607  func (*EACLRecord_Filter) Descriptor() ([]byte, []int) {
   608  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{0, 0}
   609  }
   610  
   611  func (x *EACLRecord_Filter) GetHeaderType() HeaderType {
   612  	if x != nil {
   613  		return x.HeaderType
   614  	}
   615  	return HeaderType_HEADER_UNSPECIFIED
   616  }
   617  
   618  func (x *EACLRecord_Filter) GetMatchType() MatchType {
   619  	if x != nil {
   620  		return x.MatchType
   621  	}
   622  	return MatchType_MATCH_TYPE_UNSPECIFIED
   623  }
   624  
   625  func (x *EACLRecord_Filter) GetKey() string {
   626  	if x != nil {
   627  		return x.Key
   628  	}
   629  	return ""
   630  }
   631  
   632  func (x *EACLRecord_Filter) GetValue() string {
   633  	if x != nil {
   634  		return x.Value
   635  	}
   636  	return ""
   637  }
   638  
   639  // Target to apply ACL rule. Can be a subject's role class or a list of public
   640  // keys to match.
   641  type EACLRecord_Target struct {
   642  	state         protoimpl.MessageState
   643  	sizeCache     protoimpl.SizeCache
   644  	unknownFields protoimpl.UnknownFields
   645  
   646  	// Target subject's role class
   647  	Role Role `protobuf:"varint,1,opt,name=role,proto3,enum=neo.fs.v2.acl.Role" json:"role,omitempty"`
   648  	// List of public keys to identify target subject
   649  	Keys [][]byte `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"`
   650  }
   651  
   652  func (x *EACLRecord_Target) Reset() {
   653  	*x = EACLRecord_Target{}
   654  	if protoimpl.UnsafeEnabled {
   655  		mi := &file_acl_grpc_types_proto_msgTypes[4]
   656  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   657  		ms.StoreMessageInfo(mi)
   658  	}
   659  }
   660  
   661  func (x *EACLRecord_Target) String() string {
   662  	return protoimpl.X.MessageStringOf(x)
   663  }
   664  
   665  func (*EACLRecord_Target) ProtoMessage() {}
   666  
   667  func (x *EACLRecord_Target) ProtoReflect() protoreflect.Message {
   668  	mi := &file_acl_grpc_types_proto_msgTypes[4]
   669  	if protoimpl.UnsafeEnabled && x != nil {
   670  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   671  		if ms.LoadMessageInfo() == nil {
   672  			ms.StoreMessageInfo(mi)
   673  		}
   674  		return ms
   675  	}
   676  	return mi.MessageOf(x)
   677  }
   678  
   679  // Deprecated: Use EACLRecord_Target.ProtoReflect.Descriptor instead.
   680  func (*EACLRecord_Target) Descriptor() ([]byte, []int) {
   681  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{0, 1}
   682  }
   683  
   684  func (x *EACLRecord_Target) GetRole() Role {
   685  	if x != nil {
   686  		return x.Role
   687  	}
   688  	return Role_ROLE_UNSPECIFIED
   689  }
   690  
   691  func (x *EACLRecord_Target) GetKeys() [][]byte {
   692  	if x != nil {
   693  		return x.Keys
   694  	}
   695  	return nil
   696  }
   697  
   698  // Bearer Token body structure contains Extended ACL table issued by the container
   699  // owner with additional information preventing token abuse.
   700  type BearerToken_Body struct {
   701  	state         protoimpl.MessageState
   702  	sizeCache     protoimpl.SizeCache
   703  	unknownFields protoimpl.UnknownFields
   704  
   705  	// Table of Extended ACL rules to use instead of the ones attached to the
   706  	// container. If it contains `container_id` field, bearer token is only
   707  	// valid for this specific container. Otherwise, any container of the same owner
   708  	// is allowed.
   709  	EaclTable *EACLTable `protobuf:"bytes,1,opt,name=eacl_table,json=eaclTable,proto3" json:"eacl_table,omitempty"`
   710  	// `OwnerID` defines to whom the token was issued. It must match the request
   711  	// originator's `OwnerID`. If empty, any token bearer will be accepted.
   712  	OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
   713  	// Token expiration and valid time period parameters
   714  	Lifetime *BearerToken_Body_TokenLifetime `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
   715  }
   716  
   717  func (x *BearerToken_Body) Reset() {
   718  	*x = BearerToken_Body{}
   719  	if protoimpl.UnsafeEnabled {
   720  		mi := &file_acl_grpc_types_proto_msgTypes[5]
   721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   722  		ms.StoreMessageInfo(mi)
   723  	}
   724  }
   725  
   726  func (x *BearerToken_Body) String() string {
   727  	return protoimpl.X.MessageStringOf(x)
   728  }
   729  
   730  func (*BearerToken_Body) ProtoMessage() {}
   731  
   732  func (x *BearerToken_Body) ProtoReflect() protoreflect.Message {
   733  	mi := &file_acl_grpc_types_proto_msgTypes[5]
   734  	if protoimpl.UnsafeEnabled && x != nil {
   735  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   736  		if ms.LoadMessageInfo() == nil {
   737  			ms.StoreMessageInfo(mi)
   738  		}
   739  		return ms
   740  	}
   741  	return mi.MessageOf(x)
   742  }
   743  
   744  // Deprecated: Use BearerToken_Body.ProtoReflect.Descriptor instead.
   745  func (*BearerToken_Body) Descriptor() ([]byte, []int) {
   746  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{2, 0}
   747  }
   748  
   749  func (x *BearerToken_Body) GetEaclTable() *EACLTable {
   750  	if x != nil {
   751  		return x.EaclTable
   752  	}
   753  	return nil
   754  }
   755  
   756  func (x *BearerToken_Body) GetOwnerId() *grpc.OwnerID {
   757  	if x != nil {
   758  		return x.OwnerId
   759  	}
   760  	return nil
   761  }
   762  
   763  func (x *BearerToken_Body) GetLifetime() *BearerToken_Body_TokenLifetime {
   764  	if x != nil {
   765  		return x.Lifetime
   766  	}
   767  	return nil
   768  }
   769  
   770  // Lifetime parameters of the token. Field names taken from
   771  // [rfc7519](https://tools.ietf.org/html/rfc7519).
   772  type BearerToken_Body_TokenLifetime struct {
   773  	state         protoimpl.MessageState
   774  	sizeCache     protoimpl.SizeCache
   775  	unknownFields protoimpl.UnknownFields
   776  
   777  	// Expiration Epoch
   778  	Exp uint64 `protobuf:"varint,1,opt,name=exp,proto3" json:"exp,omitempty"`
   779  	// Not valid before Epoch
   780  	Nbf uint64 `protobuf:"varint,2,opt,name=nbf,proto3" json:"nbf,omitempty"`
   781  	// Issued at Epoch
   782  	Iat uint64 `protobuf:"varint,3,opt,name=iat,proto3" json:"iat,omitempty"`
   783  }
   784  
   785  func (x *BearerToken_Body_TokenLifetime) Reset() {
   786  	*x = BearerToken_Body_TokenLifetime{}
   787  	if protoimpl.UnsafeEnabled {
   788  		mi := &file_acl_grpc_types_proto_msgTypes[6]
   789  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   790  		ms.StoreMessageInfo(mi)
   791  	}
   792  }
   793  
   794  func (x *BearerToken_Body_TokenLifetime) String() string {
   795  	return protoimpl.X.MessageStringOf(x)
   796  }
   797  
   798  func (*BearerToken_Body_TokenLifetime) ProtoMessage() {}
   799  
   800  func (x *BearerToken_Body_TokenLifetime) ProtoReflect() protoreflect.Message {
   801  	mi := &file_acl_grpc_types_proto_msgTypes[6]
   802  	if protoimpl.UnsafeEnabled && x != nil {
   803  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   804  		if ms.LoadMessageInfo() == nil {
   805  			ms.StoreMessageInfo(mi)
   806  		}
   807  		return ms
   808  	}
   809  	return mi.MessageOf(x)
   810  }
   811  
   812  // Deprecated: Use BearerToken_Body_TokenLifetime.ProtoReflect.Descriptor instead.
   813  func (*BearerToken_Body_TokenLifetime) Descriptor() ([]byte, []int) {
   814  	return file_acl_grpc_types_proto_rawDescGZIP(), []int{2, 0, 0}
   815  }
   816  
   817  func (x *BearerToken_Body_TokenLifetime) GetExp() uint64 {
   818  	if x != nil {
   819  		return x.Exp
   820  	}
   821  	return 0
   822  }
   823  
   824  func (x *BearerToken_Body_TokenLifetime) GetNbf() uint64 {
   825  	if x != nil {
   826  		return x.Nbf
   827  	}
   828  	return 0
   829  }
   830  
   831  func (x *BearerToken_Body_TokenLifetime) GetIat() uint64 {
   832  	if x != nil {
   833  		return x.Iat
   834  	}
   835  	return 0
   836  }
   837  
   838  var File_acl_grpc_types_proto protoreflect.FileDescriptor
   839  
   840  var file_acl_grpc_types_proto_rawDesc = []byte{
   841  	0x0a, 0x14, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73,
   842  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
   843  	0x32, 0x2e, 0x61, 0x63, 0x6c, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63,
   844  	0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a,
   845  	0x0a, 0x45, 0x41, 0x43, 0x4c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x6f,
   846  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18,
   847  	0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x4f,
   848  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
   849  	0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
   850  	0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
   851  	0x61, 0x63, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69,
   852  	0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20,
   853  	0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
   854  	0x61, 0x63, 0x6c, 0x2e, 0x45, 0x41, 0x43, 0x4c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x46,
   855  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a,
   856  	0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
   857  	0x20, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e,
   858  	0x45, 0x41, 0x43, 0x4c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
   859  	0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0xa5, 0x01, 0x0a, 0x06, 0x46,
   860  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f,
   861  	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f,
   862  	0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
   863  	0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70,
   864  	0x65, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
   865  	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
   866  	0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52,
   867  	0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
   868  	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
   869  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
   870  	0x75, 0x65, 0x1a, 0x45, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x04,
   871  	0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6e, 0x65, 0x6f,
   872  	0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52,
   873  	0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20,
   874  	0x03, 0x28, 0x0c, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x09, 0x45, 0x41,
   875  	0x43, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
   876  	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
   877  	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
   878  	0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f,
   879  	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
   880  	0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66,
   881  	0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63,
   882  	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65,
   883  	0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65,
   884  	0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x45, 0x41, 0x43, 0x4c,
   885  	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22,
   886  	0x83, 0x03, 0x0a, 0x0b, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
   887  	0x33, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
   888  	0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65,
   889  	0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04,
   890  	0x62, 0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
   891  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
   892  	0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
   893  	0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x85, 0x02,
   894  	0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x65, 0x61, 0x63, 0x6c, 0x5f, 0x74,
   895  	0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f,
   896  	0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x45, 0x41, 0x43, 0x4c, 0x54,
   897  	0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x65, 0x61, 0x63, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12,
   898  	0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
   899  	0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65,
   900  	0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65,
   901  	0x72, 0x49, 0x44, 0x12, 0x49, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18,
   902  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
   903  	0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65,
   904  	0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65,
   905  	0x74, 0x69, 0x6d, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x45,
   906  	0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12,
   907  	0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78,
   908  	0x70, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x62, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
   909  	0x6e, 0x62, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
   910  	0x52, 0x03, 0x69, 0x61, 0x74, 0x2a, 0x3e, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a,
   911  	0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
   912  	0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a,
   913  	0x06, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x54, 0x48,
   914  	0x45, 0x52, 0x53, 0x10, 0x03, 0x2a, 0x4f, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
   915  	0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45,
   916  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10,
   917  	0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01,
   918  	0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
   919  	0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x7a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
   920  	0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e,
   921  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07,
   922  	0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10,
   923  	0x02, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45,
   924  	0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48,
   925  	0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x45, 0x54, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x06,
   926  	0x12, 0x10, 0x0a, 0x0c, 0x47, 0x45, 0x54, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x48, 0x41, 0x53, 0x48,
   927  	0x10, 0x07, 0x2a, 0x35, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12,
   928  	0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
   929  	0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12,
   930  	0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x0a, 0x48, 0x65, 0x61,
   931  	0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x48, 0x45, 0x41, 0x44, 0x45,
   932  	0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
   933  	0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
   934  	0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56,
   935  	0x49, 0x43, 0x45, 0x10, 0x03, 0x42, 0x52, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
   936  	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 0x62,
   937  	0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f,
   938  	0x76, 0x32, 0x2f, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x61, 0x63, 0x6c, 0xaa,
   939  	0x02, 0x17, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
   940  	0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x41, 0x63, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   941  	0x33,
   942  }
   943  
   944  var (
   945  	file_acl_grpc_types_proto_rawDescOnce sync.Once
   946  	file_acl_grpc_types_proto_rawDescData = file_acl_grpc_types_proto_rawDesc
   947  )
   948  
   949  func file_acl_grpc_types_proto_rawDescGZIP() []byte {
   950  	file_acl_grpc_types_proto_rawDescOnce.Do(func() {
   951  		file_acl_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_acl_grpc_types_proto_rawDescData)
   952  	})
   953  	return file_acl_grpc_types_proto_rawDescData
   954  }
   955  
   956  var file_acl_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
   957  var file_acl_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   958  var file_acl_grpc_types_proto_goTypes = []interface{}{
   959  	(Role)(0),                              // 0: neo.fs.v2.acl.Role
   960  	(MatchType)(0),                         // 1: neo.fs.v2.acl.MatchType
   961  	(Operation)(0),                         // 2: neo.fs.v2.acl.Operation
   962  	(Action)(0),                            // 3: neo.fs.v2.acl.Action
   963  	(HeaderType)(0),                        // 4: neo.fs.v2.acl.HeaderType
   964  	(*EACLRecord)(nil),                     // 5: neo.fs.v2.acl.EACLRecord
   965  	(*EACLTable)(nil),                      // 6: neo.fs.v2.acl.EACLTable
   966  	(*BearerToken)(nil),                    // 7: neo.fs.v2.acl.BearerToken
   967  	(*EACLRecord_Filter)(nil),              // 8: neo.fs.v2.acl.EACLRecord.Filter
   968  	(*EACLRecord_Target)(nil),              // 9: neo.fs.v2.acl.EACLRecord.Target
   969  	(*BearerToken_Body)(nil),               // 10: neo.fs.v2.acl.BearerToken.Body
   970  	(*BearerToken_Body_TokenLifetime)(nil), // 11: neo.fs.v2.acl.BearerToken.Body.TokenLifetime
   971  	(*grpc.Version)(nil),                   // 12: neo.fs.v2.refs.Version
   972  	(*grpc.ContainerID)(nil),               // 13: neo.fs.v2.refs.ContainerID
   973  	(*grpc.Signature)(nil),                 // 14: neo.fs.v2.refs.Signature
   974  	(*grpc.OwnerID)(nil),                   // 15: neo.fs.v2.refs.OwnerID
   975  }
   976  var file_acl_grpc_types_proto_depIdxs = []int32{
   977  	2,  // 0: neo.fs.v2.acl.EACLRecord.operation:type_name -> neo.fs.v2.acl.Operation
   978  	3,  // 1: neo.fs.v2.acl.EACLRecord.action:type_name -> neo.fs.v2.acl.Action
   979  	8,  // 2: neo.fs.v2.acl.EACLRecord.filters:type_name -> neo.fs.v2.acl.EACLRecord.Filter
   980  	9,  // 3: neo.fs.v2.acl.EACLRecord.targets:type_name -> neo.fs.v2.acl.EACLRecord.Target
   981  	12, // 4: neo.fs.v2.acl.EACLTable.version:type_name -> neo.fs.v2.refs.Version
   982  	13, // 5: neo.fs.v2.acl.EACLTable.container_id:type_name -> neo.fs.v2.refs.ContainerID
   983  	5,  // 6: neo.fs.v2.acl.EACLTable.records:type_name -> neo.fs.v2.acl.EACLRecord
   984  	10, // 7: neo.fs.v2.acl.BearerToken.body:type_name -> neo.fs.v2.acl.BearerToken.Body
   985  	14, // 8: neo.fs.v2.acl.BearerToken.signature:type_name -> neo.fs.v2.refs.Signature
   986  	4,  // 9: neo.fs.v2.acl.EACLRecord.Filter.header_type:type_name -> neo.fs.v2.acl.HeaderType
   987  	1,  // 10: neo.fs.v2.acl.EACLRecord.Filter.match_type:type_name -> neo.fs.v2.acl.MatchType
   988  	0,  // 11: neo.fs.v2.acl.EACLRecord.Target.role:type_name -> neo.fs.v2.acl.Role
   989  	6,  // 12: neo.fs.v2.acl.BearerToken.Body.eacl_table:type_name -> neo.fs.v2.acl.EACLTable
   990  	15, // 13: neo.fs.v2.acl.BearerToken.Body.owner_id:type_name -> neo.fs.v2.refs.OwnerID
   991  	11, // 14: neo.fs.v2.acl.BearerToken.Body.lifetime:type_name -> neo.fs.v2.acl.BearerToken.Body.TokenLifetime
   992  	15, // [15:15] is the sub-list for method output_type
   993  	15, // [15:15] is the sub-list for method input_type
   994  	15, // [15:15] is the sub-list for extension type_name
   995  	15, // [15:15] is the sub-list for extension extendee
   996  	0,  // [0:15] is the sub-list for field type_name
   997  }
   998  
   999  func init() { file_acl_grpc_types_proto_init() }
  1000  func file_acl_grpc_types_proto_init() {
  1001  	if File_acl_grpc_types_proto != nil {
  1002  		return
  1003  	}
  1004  	if !protoimpl.UnsafeEnabled {
  1005  		file_acl_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1006  			switch v := v.(*EACLRecord); i {
  1007  			case 0:
  1008  				return &v.state
  1009  			case 1:
  1010  				return &v.sizeCache
  1011  			case 2:
  1012  				return &v.unknownFields
  1013  			default:
  1014  				return nil
  1015  			}
  1016  		}
  1017  		file_acl_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1018  			switch v := v.(*EACLTable); i {
  1019  			case 0:
  1020  				return &v.state
  1021  			case 1:
  1022  				return &v.sizeCache
  1023  			case 2:
  1024  				return &v.unknownFields
  1025  			default:
  1026  				return nil
  1027  			}
  1028  		}
  1029  		file_acl_grpc_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1030  			switch v := v.(*BearerToken); i {
  1031  			case 0:
  1032  				return &v.state
  1033  			case 1:
  1034  				return &v.sizeCache
  1035  			case 2:
  1036  				return &v.unknownFields
  1037  			default:
  1038  				return nil
  1039  			}
  1040  		}
  1041  		file_acl_grpc_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1042  			switch v := v.(*EACLRecord_Filter); i {
  1043  			case 0:
  1044  				return &v.state
  1045  			case 1:
  1046  				return &v.sizeCache
  1047  			case 2:
  1048  				return &v.unknownFields
  1049  			default:
  1050  				return nil
  1051  			}
  1052  		}
  1053  		file_acl_grpc_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1054  			switch v := v.(*EACLRecord_Target); i {
  1055  			case 0:
  1056  				return &v.state
  1057  			case 1:
  1058  				return &v.sizeCache
  1059  			case 2:
  1060  				return &v.unknownFields
  1061  			default:
  1062  				return nil
  1063  			}
  1064  		}
  1065  		file_acl_grpc_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1066  			switch v := v.(*BearerToken_Body); i {
  1067  			case 0:
  1068  				return &v.state
  1069  			case 1:
  1070  				return &v.sizeCache
  1071  			case 2:
  1072  				return &v.unknownFields
  1073  			default:
  1074  				return nil
  1075  			}
  1076  		}
  1077  		file_acl_grpc_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1078  			switch v := v.(*BearerToken_Body_TokenLifetime); i {
  1079  			case 0:
  1080  				return &v.state
  1081  			case 1:
  1082  				return &v.sizeCache
  1083  			case 2:
  1084  				return &v.unknownFields
  1085  			default:
  1086  				return nil
  1087  			}
  1088  		}
  1089  	}
  1090  	type x struct{}
  1091  	out := protoimpl.TypeBuilder{
  1092  		File: protoimpl.DescBuilder{
  1093  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1094  			RawDescriptor: file_acl_grpc_types_proto_rawDesc,
  1095  			NumEnums:      5,
  1096  			NumMessages:   7,
  1097  			NumExtensions: 0,
  1098  			NumServices:   0,
  1099  		},
  1100  		GoTypes:           file_acl_grpc_types_proto_goTypes,
  1101  		DependencyIndexes: file_acl_grpc_types_proto_depIdxs,
  1102  		EnumInfos:         file_acl_grpc_types_proto_enumTypes,
  1103  		MessageInfos:      file_acl_grpc_types_proto_msgTypes,
  1104  	}.Build()
  1105  	File_acl_grpc_types_proto = out.File
  1106  	file_acl_grpc_types_proto_rawDesc = nil
  1107  	file_acl_grpc_types_proto_goTypes = nil
  1108  	file_acl_grpc_types_proto_depIdxs = nil
  1109  }