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