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 }