1syntax = "proto3"; 2package etcdserverpb; 3 4import "gogoproto/gogo.proto"; 5import "etcdserver.proto"; 6import "rpc.proto"; 7 8option (gogoproto.marshaler_all) = true; 9option (gogoproto.sizer_all) = true; 10option (gogoproto.unmarshaler_all) = true; 11option (gogoproto.goproto_getters_all) = false; 12 13message RequestHeader { 14 uint64 ID = 1; 15 // username is a username that is associated with an auth token of gRPC connection 16 string username = 2; 17 // auth_revision is a revision number of auth.authStore. It is not related to mvcc 18 uint64 auth_revision = 3; 19} 20 21// An InternalRaftRequest is the union of all requests which can be 22// sent via raft. 23message InternalRaftRequest { 24 RequestHeader header = 100; 25 uint64 ID = 1; 26 27 Request v2 = 2; 28 29 RangeRequest range = 3; 30 PutRequest put = 4; 31 DeleteRangeRequest delete_range = 5; 32 TxnRequest txn = 6; 33 CompactionRequest compaction = 7; 34 35 LeaseGrantRequest lease_grant = 8; 36 LeaseRevokeRequest lease_revoke = 9; 37 38 AlarmRequest alarm = 10; 39 40 AuthEnableRequest auth_enable = 1000; 41 AuthDisableRequest auth_disable = 1011; 42 43 InternalAuthenticateRequest authenticate = 1012; 44 45 AuthUserAddRequest auth_user_add = 1100; 46 AuthUserDeleteRequest auth_user_delete = 1101; 47 AuthUserGetRequest auth_user_get = 1102; 48 AuthUserChangePasswordRequest auth_user_change_password = 1103; 49 AuthUserGrantRoleRequest auth_user_grant_role = 1104; 50 AuthUserRevokeRoleRequest auth_user_revoke_role = 1105; 51 AuthUserListRequest auth_user_list = 1106; 52 AuthRoleListRequest auth_role_list = 1107; 53 54 AuthRoleAddRequest auth_role_add = 1200; 55 AuthRoleDeleteRequest auth_role_delete = 1201; 56 AuthRoleGetRequest auth_role_get = 1202; 57 AuthRoleGrantPermissionRequest auth_role_grant_permission = 1203; 58 AuthRoleRevokePermissionRequest auth_role_revoke_permission = 1204; 59} 60 61message EmptyResponse { 62} 63 64// What is the difference between AuthenticateRequest (defined in rpc.proto) and InternalAuthenticateRequest? 65// InternalAuthenticateRequest has a member that is filled by etcdserver and shouldn't be user-facing. 66// For avoiding misusage the field, we have an internal version of AuthenticateRequest. 67message InternalAuthenticateRequest { 68 string name = 1; 69 string password = 2; 70 71 // simple_token is generated in API layer (etcdserver/v3_server.go) 72 string simple_token = 3; 73} 74 75