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