Merge pull request #5574 from xiang90/auth

auth: make naming consistent
This commit is contained in:
Xiang Li 2016-06-07 11:24:29 -07:00
commit 0d1133178f
14 changed files with 718 additions and 705 deletions

View File

@ -72,8 +72,8 @@ type AuthStore interface {
// UserChangePassword changes a password of a user
UserChangePassword(r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)
// UserGrant grants a role to the user
UserGrant(r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error)
// UserGrantRole grants a role to the user
UserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)
// UserGet gets the detailed information of a user
UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)
@ -84,8 +84,8 @@ type AuthStore interface {
// RoleAdd adds a new role
RoleAdd(r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)
// RoleGrant grants a permission to a role
RoleGrant(r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error)
// RoleGrantPermission grants a permission to a role
RoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)
// RoleGet gets the detailed information of a role
RoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)
@ -270,7 +270,7 @@ func (as *authStore) UserChangePassword(r *pb.AuthUserChangePasswordRequest) (*p
return &pb.AuthUserChangePasswordResponse{}, nil
}
func (as *authStore) UserGrant(r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error) {
func (as *authStore) UserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {
tx := as.be.BatchTx()
tx.Lock()
defer tx.Unlock()
@ -294,7 +294,7 @@ func (as *authStore) UserGrant(r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantRes
idx := sort.SearchStrings(user.Roles, r.Role)
if idx < len(user.Roles) && strings.Compare(user.Roles[idx], r.Role) == 0 {
plog.Warningf("user %s is already granted role %s", r.User, r.Role)
return &pb.AuthUserGrantResponse{}, nil
return &pb.AuthUserGrantRoleResponse{}, nil
}
user.Roles = append(user.Roles, r.Role)
@ -308,7 +308,7 @@ func (as *authStore) UserGrant(r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantRes
tx.UnsafePut(authUsersBucketName, user.Name, marshaledUser)
plog.Noticef("granted role %s to user %s", r.Role, r.User)
return &pb.AuthUserGrantResponse{}, nil
return &pb.AuthUserGrantRoleResponse{}, nil
}
func (as *authStore) UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {
@ -521,7 +521,7 @@ func (perms permSlice) Swap(i, j int) {
perms[i], perms[j] = perms[j], perms[i]
}
func (as *authStore) RoleGrant(r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error) {
func (as *authStore) RoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {
tx := as.be.BatchTx()
tx.Lock()
defer tx.Unlock()
@ -566,7 +566,7 @@ func (as *authStore) RoleGrant(r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantRes
plog.Noticef("role %s's permission of key %s is updated as %s", r.Name, r.Perm.Key, authpb.Permission_Type_name[int32(r.Perm.PermType)])
return &pb.AuthRoleGrantResponse{}, nil
return &pb.AuthRoleGrantPermissionResponse{}, nil
}
func (as *authStore) isOpPermitted(userName string, key string, write bool, read bool) bool {

View File

@ -190,13 +190,13 @@ func TestUserGrant(t *testing.T) {
}
// grants a role to the user
_, err = as.UserGrant(&pb.AuthUserGrantRequest{User: "foo", Role: "role-test"})
_, err = as.UserGrantRole(&pb.AuthUserGrantRoleRequest{User: "foo", Role: "role-test"})
if err != nil {
t.Fatal(err)
}
// grants a role to a non-existing user
_, err = as.UserGrant(&pb.AuthUserGrantRequest{User: "foo-test", Role: "role-test"})
_, err = as.UserGrantRole(&pb.AuthUserGrantRoleRequest{User: "foo-test", Role: "role-test"})
if err == nil {
t.Fatalf("expected %v, got %v", ErrUserNotFound, err)
}

View File

@ -32,11 +32,11 @@ type (
AuthUserAddResponse pb.AuthUserAddResponse
AuthUserDeleteResponse pb.AuthUserDeleteResponse
AuthUserChangePasswordResponse pb.AuthUserChangePasswordResponse
AuthUserGrantResponse pb.AuthUserGrantResponse
AuthUserGrantRoleResponse pb.AuthUserGrantRoleResponse
AuthUserGetResponse pb.AuthUserGetResponse
AuthUserRevokeRoleResponse pb.AuthUserRevokeRoleResponse
AuthRoleAddResponse pb.AuthRoleAddResponse
AuthRoleGrantResponse pb.AuthRoleGrantResponse
AuthRoleGrantPermissionResponse pb.AuthRoleGrantPermissionResponse
AuthRoleGetResponse pb.AuthRoleGetResponse
AuthRoleRevokePermissionResponse pb.AuthRoleRevokePermissionResponse
AuthRoleDeleteResponse pb.AuthRoleDeleteResponse
@ -66,8 +66,8 @@ type Auth interface {
// UserChangePassword changes a password of a user.
UserChangePassword(ctx context.Context, name string, password string) (*AuthUserChangePasswordResponse, error)
// UserGrant grants a role to a user.
UserGrant(ctx context.Context, user string, role string) (*AuthUserGrantResponse, error)
// UserGrantRole grants a role to a user.
UserGrantRole(ctx context.Context, user string, role string) (*AuthUserGrantRoleResponse, error)
// UserGet gets a detailed information of a user.
UserGet(ctx context.Context, name string) (*AuthUserGetResponse, error)
@ -78,8 +78,8 @@ type Auth interface {
// RoleAdd adds a new role to an etcd cluster.
RoleAdd(ctx context.Context, name string) (*AuthRoleAddResponse, error)
// RoleGrant grants a permission to a role.
RoleGrant(ctx context.Context, name string, key string, permType PermissionType) (*AuthRoleGrantResponse, error)
// RoleGrantPermission grants a permission to a role.
RoleGrantPermission(ctx context.Context, name string, key string, permType PermissionType) (*AuthRoleGrantPermissionResponse, error)
// RoleGet gets a detailed information of a role.
RoleGet(ctx context.Context, role string) (*AuthRoleGetResponse, error)
@ -132,9 +132,9 @@ func (auth *auth) UserChangePassword(ctx context.Context, name string, password
return (*AuthUserChangePasswordResponse)(resp), rpctypes.Error(err)
}
func (auth *auth) UserGrant(ctx context.Context, user string, role string) (*AuthUserGrantResponse, error) {
resp, err := auth.remote.UserGrant(ctx, &pb.AuthUserGrantRequest{User: user, Role: role})
return (*AuthUserGrantResponse)(resp), rpctypes.Error(err)
func (auth *auth) UserGrantRole(ctx context.Context, user string, role string) (*AuthUserGrantRoleResponse, error) {
resp, err := auth.remote.UserGrantRole(ctx, &pb.AuthUserGrantRoleRequest{User: user, Role: role})
return (*AuthUserGrantRoleResponse)(resp), rpctypes.Error(err)
}
func (auth *auth) UserGet(ctx context.Context, name string) (*AuthUserGetResponse, error) {
@ -152,13 +152,13 @@ func (auth *auth) RoleAdd(ctx context.Context, name string) (*AuthRoleAddRespons
return (*AuthRoleAddResponse)(resp), rpctypes.Error(err)
}
func (auth *auth) RoleGrant(ctx context.Context, name string, key string, permType PermissionType) (*AuthRoleGrantResponse, error) {
func (auth *auth) RoleGrantPermission(ctx context.Context, name string, key string, permType PermissionType) (*AuthRoleGrantPermissionResponse, error) {
perm := &authpb.Permission{
Key: []byte(key),
PermType: authpb.Permission_Type(permType),
}
resp, err := auth.remote.RoleGrant(ctx, &pb.AuthRoleGrantRequest{Name: name, Perm: perm})
return (*AuthRoleGrantResponse)(resp), rpctypes.Error(err)
resp, err := auth.remote.RoleGrantPermission(ctx, &pb.AuthRoleGrantPermissionRequest{Name: name, Perm: perm})
return (*AuthRoleGrantPermissionResponse)(resp), rpctypes.Error(err)
}
func (auth *auth) RoleGet(ctx context.Context, role string) (*AuthRoleGetResponse, error) {

View File

@ -47,7 +47,7 @@ func TestUserError(t *testing.T) {
t.Fatalf("expected %v, got %v", rpctypes.ErrUserNotFound, err)
}
_, err = authapi.UserGrant(context.TODO(), "foo", "test-role-does-not-exist")
_, err = authapi.UserGrantRole(context.TODO(), "foo", "test-role-does-not-exist")
if err != rpctypes.ErrRoleNotFound {
t.Fatalf("expected %v, got %v", rpctypes.ErrRoleNotFound, err)
}

View File

@ -30,10 +30,10 @@ func NewRoleCommand() *cobra.Command {
}
ac.AddCommand(newRoleAddCommand())
ac.AddCommand(newRoleGrantCommand())
ac.AddCommand(newRoleDeleteCommand())
ac.AddCommand(newRoleGetCommand())
ac.AddCommand(newRoleRevokePermissionCommand())
ac.AddCommand(newRoleDeleteCommand())
ac.AddCommand(newRoleGrantPermissionCommand())
return ac
}
@ -46,11 +46,11 @@ func newRoleAddCommand() *cobra.Command {
}
}
func newRoleGrantCommand() *cobra.Command {
func newRoleDeleteCommand() *cobra.Command {
return &cobra.Command{
Use: "grant <role name> <permission type> <key>",
Short: "grant a key to a role",
Run: roleGrantCommandFunc,
Use: "delete <role name>",
Short: "delete a role",
Run: roleDeleteCommandFunc,
}
}
@ -62,6 +62,14 @@ func newRoleGetCommand() *cobra.Command {
}
}
func newRoleGrantPermissionCommand() *cobra.Command {
return &cobra.Command{
Use: "grant-permission <role name> <permission type> <key>",
Short: "grant a key to a role",
Run: roleGrantPermissionCommandFunc,
}
}
func newRoleRevokePermissionCommand() *cobra.Command {
return &cobra.Command{
Use: "revoke-permission <role name> <key>",
@ -70,14 +78,6 @@ func newRoleRevokePermissionCommand() *cobra.Command {
}
}
func newRoleDeleteCommand() *cobra.Command {
return &cobra.Command{
Use: "delete <role name>",
Short: "delete a role",
Run: roleDeleteCommandFunc,
}
}
// roleAddCommandFunc executes the "role add" command.
func roleAddCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
@ -92,23 +92,18 @@ func roleAddCommandFunc(cmd *cobra.Command, args []string) {
fmt.Printf("Role %s created\n", args[0])
}
// roleGrantCommandFunc executes the "role grant" command.
func roleGrantCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 3 {
ExitWithError(ExitBadArgs, fmt.Errorf("role grant command requires role name, permission type, and key as its argument."))
// roleDeleteCommandFunc executes the "role delete" command.
func roleDeleteCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
ExitWithError(ExitBadArgs, fmt.Errorf("role delete command requires role name as its argument."))
}
perm, err := clientv3.StrToPermissionType(args[1])
if err != nil {
ExitWithError(ExitBadArgs, err)
}
_, err = mustClientFromCmd(cmd).Auth.RoleGrant(context.TODO(), args[0], args[2], perm)
_, err := mustClientFromCmd(cmd).Auth.RoleDelete(context.TODO(), args[0])
if err != nil {
ExitWithError(ExitError, err)
}
fmt.Printf("Role %s updated\n", args[0])
fmt.Printf("Role %s deleted\n", args[0])
}
// roleGetCommandFunc executes the "role get" command.
@ -137,6 +132,25 @@ func roleGetCommandFunc(cmd *cobra.Command, args []string) {
}
}
// roleGrantPermissionCommandFunc executes the "role grant-permission" command.
func roleGrantPermissionCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 3 {
ExitWithError(ExitBadArgs, fmt.Errorf("role grant command requires role name, permission type, and key as its argument."))
}
perm, err := clientv3.StrToPermissionType(args[1])
if err != nil {
ExitWithError(ExitBadArgs, err)
}
_, err = mustClientFromCmd(cmd).Auth.RoleGrantPermission(context.TODO(), args[0], args[2], perm)
if err != nil {
ExitWithError(ExitError, err)
}
fmt.Printf("Role %s updated\n", args[0])
}
// roleRevokePermissionCommandFunc executes the "role revoke-permission" command.
func roleRevokePermissionCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 2 {
@ -150,17 +164,3 @@ func roleRevokePermissionCommandFunc(cmd *cobra.Command, args []string) {
fmt.Printf("Permission of key %s is revoked from role %s\n", args[1], args[0])
}
// roleDeleteCommandFunc executes the "role delete" command.
func roleDeleteCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
ExitWithError(ExitBadArgs, fmt.Errorf("role delete command requires role name as its argument."))
}
_, err := mustClientFromCmd(cmd).Auth.RoleDelete(context.TODO(), args[0])
if err != nil {
ExitWithError(ExitError, err)
}
fmt.Printf("Role %s deleted\n", args[0])
}

View File

@ -32,9 +32,9 @@ func NewUserCommand() *cobra.Command {
ac.AddCommand(newUserAddCommand())
ac.AddCommand(newUserDeleteCommand())
ac.AddCommand(newUserChangePasswordCommand())
ac.AddCommand(newUserGrantCommand())
ac.AddCommand(newUserGetCommand())
ac.AddCommand(newUserChangePasswordCommand())
ac.AddCommand(newUserGrantRoleCommand())
ac.AddCommand(newUserRevokeRoleCommand())
return ac
@ -64,6 +64,15 @@ func newUserDeleteCommand() *cobra.Command {
}
}
func newUserGetCommand() *cobra.Command {
// TODO(mitake): this command should also get detailed information of roles of the user
return &cobra.Command{
Use: "get <user name>",
Short: "get detailed information of a user",
Run: userGetCommandFunc,
}
}
func newUserChangePasswordCommand() *cobra.Command {
cmd := cobra.Command{
Use: "passwd <user name>",
@ -76,20 +85,11 @@ func newUserChangePasswordCommand() *cobra.Command {
return &cmd
}
func newUserGrantCommand() *cobra.Command {
func newUserGrantRoleCommand() *cobra.Command {
return &cobra.Command{
Use: "grant <user name> <role name>",
Use: "grant-role <user name> <role name>",
Short: "grant a role to a user",
Run: userGrantCommandFunc,
}
}
func newUserGetCommand() *cobra.Command {
// TODO(mitake): this command should also get detailed information of roles of the user
return &cobra.Command{
Use: "get <user name>",
Short: "get detailed information of a user",
Run: userGetCommandFunc,
Run: userGrantRoleCommandFunc,
}
}
@ -137,6 +137,25 @@ func userDeleteCommandFunc(cmd *cobra.Command, args []string) {
fmt.Printf("User %s deleted\n", args[0])
}
// userGetCommandFunc executes the "user get" command.
func userGetCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
ExitWithError(ExitBadArgs, fmt.Errorf("user get command requires user name as its argument."))
}
resp, err := mustClientFromCmd(cmd).Auth.UserGet(context.TODO(), args[0])
if err != nil {
ExitWithError(ExitError, err)
}
fmt.Printf("User: %s\n", args[0])
fmt.Printf("Roles:")
for _, role := range resp.Roles {
fmt.Printf(" %s", role)
}
fmt.Printf("\n")
}
// userChangePasswordCommandFunc executes the "user passwd" command.
func userChangePasswordCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
@ -159,13 +178,13 @@ func userChangePasswordCommandFunc(cmd *cobra.Command, args []string) {
fmt.Println("Password updated")
}
// userGrantCommandFunc executes the "user grant" command.
func userGrantCommandFunc(cmd *cobra.Command, args []string) {
// userGrantRoleCommandFunc executes the "user grant-role" command.
func userGrantRoleCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 2 {
ExitWithError(ExitBadArgs, fmt.Errorf("user grant command requires user name and role name as its argument."))
}
_, err := mustClientFromCmd(cmd).Auth.UserGrant(context.TODO(), args[0], args[1])
_, err := mustClientFromCmd(cmd).Auth.UserGrantRole(context.TODO(), args[0], args[1])
if err != nil {
ExitWithError(ExitError, err)
}
@ -173,25 +192,6 @@ func userGrantCommandFunc(cmd *cobra.Command, args []string) {
fmt.Printf("Role %s is granted to user %s\n", args[1], args[0])
}
// userGetCommandFunc executes the "user get" command.
func userGetCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 1 {
ExitWithError(ExitBadArgs, fmt.Errorf("user get command requires user name as its argument."))
}
resp, err := mustClientFromCmd(cmd).Auth.UserGet(context.TODO(), args[0])
if err != nil {
ExitWithError(ExitError, err)
}
fmt.Printf("User: %s\n", args[0])
fmt.Printf("Roles:")
for _, role := range resp.Roles {
fmt.Printf(" %s", role)
}
fmt.Printf("\n")
}
// userRevokeRoleCommandFunc executes the "user revoke-role" command.
func userRevokeRoleCommandFunc(cmd *cobra.Command, args []string) {
if len(args) != 2 {

View File

@ -84,8 +84,8 @@ func (as *AuthServer) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRe
return resp, nil
}
func (as *AuthServer) RoleGrant(ctx context.Context, r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error) {
resp, err := as.authenticator.RoleGrant(ctx, r)
func (as *AuthServer) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {
resp, err := as.authenticator.RoleGrantPermission(ctx, r)
if err != nil {
return nil, togRPCError(err)
}
@ -116,8 +116,8 @@ func (as *AuthServer) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*p
return resp, nil
}
func (as *AuthServer) UserGrant(ctx context.Context, r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error) {
resp, err := as.authenticator.UserGrant(ctx, r)
func (as *AuthServer) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {
resp, err := as.authenticator.UserGrantRole(ctx, r)
if err != nil {
return nil, togRPCError(err)
}

View File

@ -51,20 +51,23 @@ type applierV3 interface {
DeleteRange(txnID int64, dr *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error)
Txn(rt *pb.TxnRequest) (*pb.TxnResponse, error)
Compaction(compaction *pb.CompactionRequest) (*pb.CompactionResponse, <-chan struct{}, error)
LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error)
LeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error)
Alarm(*pb.AlarmRequest) (*pb.AlarmResponse, error)
AuthEnable() (*pb.AuthEnableResponse, error)
AuthDisable() (*pb.AuthDisableResponse, error)
Authenticate(r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error)
UserAdd(ua *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)
UserDelete(ua *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)
UserChangePassword(ua *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)
UserGrant(ua *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error)
UserGrantRole(ua *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)
UserGet(ua *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)
UserRevokeRole(ua *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)
RoleAdd(ua *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)
RoleGrant(ua *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error)
RoleGrantPermission(ua *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)
RoleGet(ua *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)
RoleRevokePermission(ua *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)
RoleDelete(ua *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)
@ -113,16 +116,16 @@ func (s *EtcdServer) applyV3Request(r *pb.InternalRaftRequest) *applyResult {
ar.resp, ar.err = s.applyV3.UserDelete(r.AuthUserDelete)
case r.AuthUserChangePassword != nil:
ar.resp, ar.err = s.applyV3.UserChangePassword(r.AuthUserChangePassword)
case r.AuthUserGrant != nil:
ar.resp, ar.err = s.applyV3.UserGrant(r.AuthUserGrant)
case r.AuthUserGrantRole != nil:
ar.resp, ar.err = s.applyV3.UserGrantRole(r.AuthUserGrantRole)
case r.AuthUserGet != nil:
ar.resp, ar.err = s.applyV3.UserGet(r.AuthUserGet)
case r.AuthUserRevokeRole != nil:
ar.resp, ar.err = s.applyV3.UserRevokeRole(r.AuthUserRevokeRole)
case r.AuthRoleAdd != nil:
ar.resp, ar.err = s.applyV3.RoleAdd(r.AuthRoleAdd)
case r.AuthRoleGrant != nil:
ar.resp, ar.err = s.applyV3.RoleGrant(r.AuthRoleGrant)
case r.AuthRoleGrantPermission != nil:
ar.resp, ar.err = s.applyV3.RoleGrantPermission(r.AuthRoleGrantPermission)
case r.AuthRoleGet != nil:
ar.resp, ar.err = s.applyV3.RoleGet(r.AuthRoleGet)
case r.AuthRoleRevokePermission != nil:
@ -543,8 +546,8 @@ func (a *applierV3backend) UserChangePassword(r *pb.AuthUserChangePasswordReques
return a.s.AuthStore().UserChangePassword(r)
}
func (a *applierV3backend) UserGrant(r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error) {
return a.s.AuthStore().UserGrant(r)
func (a *applierV3backend) UserGrantRole(r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {
return a.s.AuthStore().UserGrantRole(r)
}
func (a *applierV3backend) UserGet(r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {
@ -559,8 +562,8 @@ func (a *applierV3backend) RoleAdd(r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddRes
return a.s.AuthStore().RoleAdd(r)
}
func (a *applierV3backend) RoleGrant(r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error) {
return a.s.AuthStore().RoleGrant(r)
func (a *applierV3backend) RoleGrantPermission(r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {
return a.s.AuthStore().RoleGrantPermission(r)
}
func (a *applierV3backend) RoleGet(r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {

View File

@ -67,12 +67,12 @@
AuthUserGetRequest
AuthUserDeleteRequest
AuthUserChangePasswordRequest
AuthUserGrantRequest
AuthUserGrantRoleRequest
AuthUserRevokeRoleRequest
AuthRoleAddRequest
AuthRoleGetRequest
AuthRoleDeleteRequest
AuthRoleGrantRequest
AuthRoleGrantPermissionRequest
AuthRoleRevokePermissionRequest
AuthEnableResponse
AuthDisableResponse
@ -81,12 +81,12 @@
AuthUserGetResponse
AuthUserDeleteResponse
AuthUserChangePasswordResponse
AuthUserGrantResponse
AuthUserGrantRoleResponse
AuthUserRevokeRoleResponse
AuthRoleAddResponse
AuthRoleGetResponse
AuthRoleDeleteResponse
AuthRoleGrantResponse
AuthRoleGrantPermissionResponse
AuthRoleRevokePermissionResponse
*/
package etcdserverpb

View File

@ -46,18 +46,18 @@ type InternalRaftRequest struct {
Alarm *AlarmRequest `protobuf:"bytes,10,opt,name=alarm" json:"alarm,omitempty"`
AuthEnable *AuthEnableRequest `protobuf:"bytes,1000,opt,name=auth_enable,json=authEnable" json:"auth_enable,omitempty"`
AuthDisable *AuthDisableRequest `protobuf:"bytes,1011,opt,name=auth_disable,json=authDisable" json:"auth_disable,omitempty"`
AuthUserAdd *AuthUserAddRequest `protobuf:"bytes,1012,opt,name=auth_user_add,json=authUserAdd" json:"auth_user_add,omitempty"`
AuthUserDelete *AuthUserDeleteRequest `protobuf:"bytes,1013,opt,name=auth_user_delete,json=authUserDelete" json:"auth_user_delete,omitempty"`
AuthUserChangePassword *AuthUserChangePasswordRequest `protobuf:"bytes,1014,opt,name=auth_user_change_password,json=authUserChangePassword" json:"auth_user_change_password,omitempty"`
AuthUserGrant *AuthUserGrantRequest `protobuf:"bytes,1015,opt,name=auth_user_grant,json=authUserGrant" json:"auth_user_grant,omitempty"`
AuthRoleAdd *AuthRoleAddRequest `protobuf:"bytes,1016,opt,name=auth_role_add,json=authRoleAdd" json:"auth_role_add,omitempty"`
AuthRoleGrant *AuthRoleGrantRequest `protobuf:"bytes,1017,opt,name=auth_role_grant,json=authRoleGrant" json:"auth_role_grant,omitempty"`
Authenticate *AuthenticateRequest `protobuf:"bytes,1018,opt,name=authenticate" json:"authenticate,omitempty"`
AuthUserGet *AuthUserGetRequest `protobuf:"bytes,1019,opt,name=auth_user_get,json=authUserGet" json:"auth_user_get,omitempty"`
AuthRoleGet *AuthRoleGetRequest `protobuf:"bytes,1020,opt,name=auth_role_get,json=authRoleGet" json:"auth_role_get,omitempty"`
AuthUserRevokeRole *AuthUserRevokeRoleRequest `protobuf:"bytes,1021,opt,name=auth_user_revoke_role,json=authUserRevokeRole" json:"auth_user_revoke_role,omitempty"`
AuthRoleRevokePermission *AuthRoleRevokePermissionRequest `protobuf:"bytes,1022,opt,name=auth_role_revoke_permission,json=authRoleRevokePermission" json:"auth_role_revoke_permission,omitempty"`
AuthRoleDelete *AuthRoleDeleteRequest `protobuf:"bytes,1023,opt,name=auth_role_delete,json=authRoleDelete" json:"auth_role_delete,omitempty"`
Authenticate *AuthenticateRequest `protobuf:"bytes,1012,opt,name=authenticate" json:"authenticate,omitempty"`
AuthUserAdd *AuthUserAddRequest `protobuf:"bytes,1100,opt,name=auth_user_add,json=authUserAdd" json:"auth_user_add,omitempty"`
AuthUserDelete *AuthUserDeleteRequest `protobuf:"bytes,1101,opt,name=auth_user_delete,json=authUserDelete" json:"auth_user_delete,omitempty"`
AuthUserGet *AuthUserGetRequest `protobuf:"bytes,1102,opt,name=auth_user_get,json=authUserGet" json:"auth_user_get,omitempty"`
AuthUserChangePassword *AuthUserChangePasswordRequest `protobuf:"bytes,1103,opt,name=auth_user_change_password,json=authUserChangePassword" json:"auth_user_change_password,omitempty"`
AuthUserGrantRole *AuthUserGrantRoleRequest `protobuf:"bytes,1104,opt,name=auth_user_grant_role,json=authUserGrantRole" json:"auth_user_grant_role,omitempty"`
AuthUserRevokeRole *AuthUserRevokeRoleRequest `protobuf:"bytes,1105,opt,name=auth_user_revoke_role,json=authUserRevokeRole" json:"auth_user_revoke_role,omitempty"`
AuthRoleAdd *AuthRoleAddRequest `protobuf:"bytes,1200,opt,name=auth_role_add,json=authRoleAdd" json:"auth_role_add,omitempty"`
AuthRoleDelete *AuthRoleDeleteRequest `protobuf:"bytes,1201,opt,name=auth_role_delete,json=authRoleDelete" json:"auth_role_delete,omitempty"`
AuthRoleGet *AuthRoleGetRequest `protobuf:"bytes,1202,opt,name=auth_role_get,json=authRoleGet" json:"auth_role_get,omitempty"`
AuthRoleGrantPermission *AuthRoleGrantPermissionRequest `protobuf:"bytes,1203,opt,name=auth_role_grant_permission,json=authRoleGrantPermission" json:"auth_role_grant_permission,omitempty"`
AuthRoleRevokePermission *AuthRoleRevokePermissionRequest `protobuf:"bytes,1204,opt,name=auth_role_revoke_permission,json=authRoleRevokePermission" json:"auth_role_revoke_permission,omitempty"`
}
func (m *InternalRaftRequest) Reset() { *m = InternalRaftRequest{} }
@ -253,145 +253,145 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
}
i += n12
}
if m.AuthUserAdd != nil {
if m.Authenticate != nil {
data[i] = 0xa2
i++
data[i] = 0x3f
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserAdd.Size()))
n13, err := m.AuthUserAdd.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.Authenticate.Size()))
n13, err := m.Authenticate.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n13
}
if m.AuthUserDelete != nil {
data[i] = 0xaa
if m.AuthUserAdd != nil {
data[i] = 0xe2
i++
data[i] = 0x3f
data[i] = 0x44
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserDelete.Size()))
n14, err := m.AuthUserDelete.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserAdd.Size()))
n14, err := m.AuthUserAdd.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n14
}
if m.AuthUserChangePassword != nil {
data[i] = 0xb2
if m.AuthUserDelete != nil {
data[i] = 0xea
i++
data[i] = 0x3f
data[i] = 0x44
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserChangePassword.Size()))
n15, err := m.AuthUserChangePassword.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserDelete.Size()))
n15, err := m.AuthUserDelete.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n15
}
if m.AuthUserGrant != nil {
data[i] = 0xba
if m.AuthUserGet != nil {
data[i] = 0xf2
i++
data[i] = 0x3f
data[i] = 0x44
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserGrant.Size()))
n16, err := m.AuthUserGrant.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserGet.Size()))
n16, err := m.AuthUserGet.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n16
}
if m.AuthRoleAdd != nil {
data[i] = 0xc2
if m.AuthUserChangePassword != nil {
data[i] = 0xfa
i++
data[i] = 0x3f
data[i] = 0x44
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleAdd.Size()))
n17, err := m.AuthRoleAdd.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserChangePassword.Size()))
n17, err := m.AuthUserChangePassword.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n17
}
if m.AuthRoleGrant != nil {
data[i] = 0xca
if m.AuthUserGrantRole != nil {
data[i] = 0x82
i++
data[i] = 0x3f
data[i] = 0x45
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleGrant.Size()))
n18, err := m.AuthRoleGrant.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserGrantRole.Size()))
n18, err := m.AuthUserGrantRole.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n18
}
if m.Authenticate != nil {
data[i] = 0xd2
if m.AuthUserRevokeRole != nil {
data[i] = 0x8a
i++
data[i] = 0x3f
data[i] = 0x45
i++
i = encodeVarintRaftInternal(data, i, uint64(m.Authenticate.Size()))
n19, err := m.Authenticate.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserRevokeRole.Size()))
n19, err := m.AuthUserRevokeRole.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n19
}
if m.AuthUserGet != nil {
data[i] = 0xda
if m.AuthRoleAdd != nil {
data[i] = 0x82
i++
data[i] = 0x3f
data[i] = 0x4b
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserGet.Size()))
n20, err := m.AuthUserGet.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleAdd.Size()))
n20, err := m.AuthRoleAdd.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n20
}
if m.AuthRoleGet != nil {
data[i] = 0xe2
if m.AuthRoleDelete != nil {
data[i] = 0x8a
i++
data[i] = 0x3f
data[i] = 0x4b
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleGet.Size()))
n21, err := m.AuthRoleGet.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleDelete.Size()))
n21, err := m.AuthRoleDelete.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n21
}
if m.AuthUserRevokeRole != nil {
data[i] = 0xea
if m.AuthRoleGet != nil {
data[i] = 0x92
i++
data[i] = 0x3f
data[i] = 0x4b
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthUserRevokeRole.Size()))
n22, err := m.AuthUserRevokeRole.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleGet.Size()))
n22, err := m.AuthRoleGet.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n22
}
if m.AuthRoleRevokePermission != nil {
data[i] = 0xf2
if m.AuthRoleGrantPermission != nil {
data[i] = 0x9a
i++
data[i] = 0x3f
data[i] = 0x4b
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleRevokePermission.Size()))
n23, err := m.AuthRoleRevokePermission.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleGrantPermission.Size()))
n23, err := m.AuthRoleGrantPermission.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n23
}
if m.AuthRoleDelete != nil {
data[i] = 0xfa
if m.AuthRoleRevokePermission != nil {
data[i] = 0xa2
i++
data[i] = 0x3f
data[i] = 0x4b
i++
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleDelete.Size()))
n24, err := m.AuthRoleDelete.MarshalTo(data[i:])
i = encodeVarintRaftInternal(data, i, uint64(m.AuthRoleRevokePermission.Size()))
n24, err := m.AuthRoleRevokePermission.MarshalTo(data[i:])
if err != nil {
return 0, err
}
@ -512,6 +512,10 @@ func (m *InternalRaftRequest) Size() (n int) {
l = m.AuthDisable.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.Authenticate != nil {
l = m.Authenticate.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserAdd != nil {
l = m.AuthUserAdd.Size()
n += 2 + l + sovRaftInternal(uint64(l))
@ -520,46 +524,42 @@ func (m *InternalRaftRequest) Size() (n int) {
l = m.AuthUserDelete.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserChangePassword != nil {
l = m.AuthUserChangePassword.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserGrant != nil {
l = m.AuthUserGrant.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleAdd != nil {
l = m.AuthRoleAdd.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleGrant != nil {
l = m.AuthRoleGrant.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.Authenticate != nil {
l = m.Authenticate.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserGet != nil {
l = m.AuthUserGet.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleGet != nil {
l = m.AuthRoleGet.Size()
if m.AuthUserChangePassword != nil {
l = m.AuthUserChangePassword.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserGrantRole != nil {
l = m.AuthUserGrantRole.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthUserRevokeRole != nil {
l = m.AuthUserRevokeRole.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleRevokePermission != nil {
l = m.AuthRoleRevokePermission.Size()
if m.AuthRoleAdd != nil {
l = m.AuthRoleAdd.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleDelete != nil {
l = m.AuthRoleDelete.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleGet != nil {
l = m.AuthRoleGet.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleGrantPermission != nil {
l = m.AuthRoleGrantPermission.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
if m.AuthRoleRevokePermission != nil {
l = m.AuthRoleRevokePermission.Size()
n += 2 + l + sovRaftInternal(uint64(l))
}
return n
}
@ -1125,6 +1125,39 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
}
iNdEx = postIndex
case 1012:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Authenticate", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Authenticate == nil {
m.Authenticate = &AuthenticateRequest{}
}
if err := m.Authenticate.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1100:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserAdd", wireType)
}
@ -1157,7 +1190,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
return err
}
iNdEx = postIndex
case 1013:
case 1101:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserDelete", wireType)
}
@ -1190,172 +1223,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
return err
}
iNdEx = postIndex
case 1014:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserChangePassword", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthUserChangePassword == nil {
m.AuthUserChangePassword = &AuthUserChangePasswordRequest{}
}
if err := m.AuthUserChangePassword.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1015:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserGrant", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthUserGrant == nil {
m.AuthUserGrant = &AuthUserGrantRequest{}
}
if err := m.AuthUserGrant.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1016:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleAdd", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleAdd == nil {
m.AuthRoleAdd = &AuthRoleAddRequest{}
}
if err := m.AuthRoleAdd.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1017:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleGrant", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleGrant == nil {
m.AuthRoleGrant = &AuthRoleGrantRequest{}
}
if err := m.AuthRoleGrant.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1018:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Authenticate", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Authenticate == nil {
m.Authenticate = &AuthenticateRequest{}
}
if err := m.Authenticate.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1019:
case 1102:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserGet", wireType)
}
@ -1388,9 +1256,9 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
return err
}
iNdEx = postIndex
case 1020:
case 1103:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleGet", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserChangePassword", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@ -1414,14 +1282,47 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleGet == nil {
m.AuthRoleGet = &AuthRoleGetRequest{}
if m.AuthUserChangePassword == nil {
m.AuthUserChangePassword = &AuthUserChangePasswordRequest{}
}
if err := m.AuthRoleGet.Unmarshal(data[iNdEx:postIndex]); err != nil {
if err := m.AuthUserChangePassword.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1021:
case 1104:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserGrantRole", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthUserGrantRole == nil {
m.AuthUserGrantRole = &AuthUserGrantRoleRequest{}
}
if err := m.AuthUserGrantRole.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1105:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthUserRevokeRole", wireType)
}
@ -1454,9 +1355,9 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
return err
}
iNdEx = postIndex
case 1022:
case 1200:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleRevokePermission", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleAdd", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@ -1480,14 +1381,14 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleRevokePermission == nil {
m.AuthRoleRevokePermission = &AuthRoleRevokePermissionRequest{}
if m.AuthRoleAdd == nil {
m.AuthRoleAdd = &AuthRoleAddRequest{}
}
if err := m.AuthRoleRevokePermission.Unmarshal(data[iNdEx:postIndex]); err != nil {
if err := m.AuthRoleAdd.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1023:
case 1201:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleDelete", wireType)
}
@ -1520,6 +1421,105 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
return err
}
iNdEx = postIndex
case 1202:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleGet", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleGet == nil {
m.AuthRoleGet = &AuthRoleGetRequest{}
}
if err := m.AuthRoleGet.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1203:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleGrantPermission", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleGrantPermission == nil {
m.AuthRoleGrantPermission = &AuthRoleGrantPermissionRequest{}
}
if err := m.AuthRoleGrantPermission.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 1204:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AuthRoleRevokePermission", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRaftInternal
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthRaftInternal
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.AuthRoleRevokePermission == nil {
m.AuthRoleRevokePermission = &AuthRoleRevokePermissionRequest{}
}
if err := m.AuthRoleRevokePermission.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipRaftInternal(data[iNdEx:])
@ -1697,49 +1697,51 @@ var (
)
var fileDescriptorRaftInternal = []byte{
// 701 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x95, 0x4b, 0x6f, 0x13, 0x31,
0x10, 0xc7, 0x69, 0xfa, 0x76, 0x9a, 0xb6, 0x72, 0x29, 0x32, 0xa9, 0x54, 0x4a, 0x10, 0x02, 0x81,
0x28, 0xa8, 0x3d, 0x72, 0x80, 0xd0, 0x94, 0x52, 0x81, 0x50, 0xb5, 0x82, 0x13, 0x87, 0xc8, 0xcd,
0x0e, 0xdb, 0x15, 0xfb, 0xc2, 0xeb, 0x94, 0xf2, 0x85, 0xf8, 0x2c, 0x3d, 0xf2, 0x11, 0x80, 0x13,
0x77, 0xde, 0x6f, 0xfc, 0x5a, 0x6f, 0x37, 0x71, 0x7a, 0x58, 0x69, 0xf7, 0xef, 0xff, 0xfc, 0x66,
0x6c, 0xcf, 0x24, 0x68, 0x89, 0xd1, 0xe7, 0xbc, 0x1b, 0x26, 0x1c, 0x58, 0x42, 0xa3, 0xf5, 0x8c,
0xa5, 0x3c, 0xc5, 0x73, 0xc0, 0x7b, 0x7e, 0x0e, 0xec, 0x10, 0x58, 0xb6, 0xdf, 0x3c, 0x1b, 0xa4,
0x41, 0xaa, 0x16, 0x6e, 0xca, 0x37, 0xed, 0x69, 0x2e, 0x96, 0x1e, 0xa3, 0xcc, 0xb2, 0xac, 0xa7,
0x5f, 0x5b, 0xb7, 0x51, 0xc3, 0x83, 0x97, 0x7d, 0xc8, 0xf9, 0x03, 0xa0, 0x3e, 0x30, 0x3c, 0x8f,
0x6a, 0xbb, 0x1d, 0x32, 0xb6, 0x36, 0x76, 0x75, 0xc2, 0xab, 0x85, 0x1d, 0xdc, 0x44, 0x33, 0xfd,
0x5c, 0xa6, 0x8c, 0x81, 0xd4, 0x84, 0x3a, 0xeb, 0xd9, 0xef, 0xd6, 0x9b, 0x06, 0x5a, 0xda, 0x35,
0x05, 0x79, 0xa2, 0x3a, 0x43, 0x1a, 0x62, 0x5c, 0x46, 0xb5, 0xc3, 0x0d, 0x15, 0x5d, 0xdf, 0x58,
0x5e, 0x3f, 0x59, 0xf2, 0xba, 0x09, 0xf1, 0x84, 0x01, 0xdf, 0x42, 0x93, 0x8c, 0x26, 0x01, 0x90,
0x71, 0xe5, 0x6c, 0x0e, 0x38, 0xe5, 0x52, 0x61, 0xd7, 0x46, 0x7c, 0x0d, 0x8d, 0x67, 0x7d, 0x4e,
0x26, 0x94, 0x9f, 0x54, 0xfd, 0x7b, 0xfd, 0xa2, 0x1e, 0x4f, 0x9a, 0xf0, 0x16, 0x9a, 0xf3, 0x21,
0x02, 0x0e, 0x5d, 0x9d, 0x64, 0x52, 0x05, 0xad, 0x55, 0x83, 0x3a, 0xca, 0x51, 0x49, 0x55, 0xf7,
0x4b, 0x4d, 0x26, 0xe4, 0x47, 0x09, 0x99, 0x72, 0x25, 0x7c, 0x72, 0x94, 0xd8, 0x84, 0xc2, 0x84,
0xef, 0x20, 0xd4, 0x4b, 0xe3, 0x8c, 0xf6, 0x78, 0x98, 0x26, 0x64, 0x5a, 0x85, 0x5c, 0xa8, 0x86,
0x6c, 0xd9, 0xf5, 0x22, 0xf2, 0x44, 0x08, 0xbe, 0x8b, 0xea, 0x11, 0xd0, 0x1c, 0xba, 0x81, 0xa8,
0x98, 0x93, 0x19, 0x17, 0xe1, 0x91, 0x34, 0xec, 0xc8, 0x75, 0x4b, 0x88, 0xac, 0x24, 0xf7, 0xac,
0x09, 0x0c, 0x0e, 0xd3, 0x17, 0x40, 0x66, 0x5d, 0x7b, 0x56, 0x08, 0x4f, 0x19, 0xec, 0x9e, 0xa3,
0x52, 0x93, 0xd7, 0x42, 0x23, 0xca, 0x62, 0x82, 0x5c, 0xd7, 0xd2, 0x96, 0x4b, 0xf6, 0x5a, 0x94,
0x11, 0x6f, 0xa2, 0xa9, 0x03, 0xd5, 0x4d, 0xc4, 0x57, 0x21, 0x2b, 0xce, 0x3b, 0xd7, 0x0d, 0xe7,
0x19, 0x2b, 0x6e, 0xa3, 0x3a, 0xed, 0xf3, 0x83, 0x2e, 0x24, 0x74, 0x3f, 0x02, 0xf2, 0xd1, 0x79,
0x60, 0x6d, 0xe1, 0xd8, 0x56, 0x06, 0xbb, 0x5d, 0x6a, 0x25, 0xdc, 0x41, 0x73, 0x0a, 0xe1, 0x87,
0xb9, 0x62, 0x7c, 0x9a, 0x76, 0xed, 0x57, 0x32, 0x3a, 0xda, 0x61, 0xf7, 0x4b, 0x4b, 0x0d, 0x6f,
0xa3, 0x86, 0xa2, 0xc8, 0x36, 0xef, 0x52, 0xdf, 0x27, 0x9f, 0x47, 0x62, 0x9e, 0x8a, 0xaf, 0xb6,
0xef, 0x57, 0x30, 0x46, 0xc3, 0x8f, 0xd1, 0x62, 0x89, 0xd1, 0x3d, 0x44, 0xbe, 0x68, 0xd2, 0x25,
0x37, 0xc9, 0x34, 0x9f, 0x81, 0xcd, 0xd3, 0x8a, 0x8c, 0x03, 0x74, 0xbe, 0xe4, 0xf5, 0x0e, 0x64,
0x3b, 0x76, 0x33, 0x9a, 0xe7, 0xaf, 0x52, 0xe6, 0x93, 0xaf, 0x1a, 0x7c, 0xdd, 0x0d, 0xde, 0x52,
0xee, 0x3d, 0x63, 0x2e, 0x12, 0x9c, 0xa3, 0xce, 0x65, 0xfc, 0x10, 0x2d, 0x94, 0x89, 0x74, 0xeb,
0x7d, 0xd3, 0xf8, 0x96, 0x1b, 0x5f, 0x69, 0xbf, 0x06, 0x3d, 0xa9, 0xda, 0xc3, 0x64, 0x69, 0x04,
0xea, 0x30, 0xbf, 0x8f, 0x3c, 0x4c, 0x4f, 0x58, 0x06, 0x0f, 0xd3, 0x68, 0xb6, 0x26, 0x85, 0xd1,
0x35, 0xfd, 0x18, 0x59, 0x93, 0x0c, 0x1a, 0xae, 0xc9, 0xaa, 0xf8, 0xbe, 0x6e, 0x13, 0x48, 0x78,
0xd8, 0xa3, 0xe2, 0x56, 0x7e, 0x6a, 0xd2, 0xc5, 0x61, 0x52, 0x61, 0x29, 0x40, 0x95, 0xb8, 0x6a,
0xa3, 0x04, 0xc0, 0xc9, 0xaf, 0x53, 0x1b, 0x65, 0x07, 0xf8, 0x50, 0xa3, 0x08, 0xad, 0x7a, 0x44,
0x12, 0xf3, 0xfb, 0xd4, 0x23, 0x1a, 0xc4, 0x18, 0x0d, 0x3f, 0x43, 0xcb, 0x65, 0x35, 0x7a, 0xde,
0x15, 0x92, 0xfc, 0xd1, 0xb8, 0x2b, 0xee, 0xaa, 0xcc, 0xe0, 0xa7, 0xe5, 0x30, 0x60, 0x3a, 0xb4,
0x84, 0x63, 0xb4, 0x52, 0xd6, 0x68, 0xe0, 0x19, 0xb0, 0x38, 0xcc, 0x73, 0xf9, 0xe3, 0xf6, 0x57,
0xa7, 0xb8, 0xe1, 0xae, 0x58, 0x73, 0xf6, 0xac, 0xbd, 0x48, 0x44, 0xe8, 0x08, 0x83, 0x9d, 0x1d,
0x95, 0xce, 0xcc, 0xce, 0xbf, 0x91, 0xb3, 0x23, 0x11, 0x8e, 0xd9, 0x29, 0xe5, 0xd6, 0x02, 0x6a,
0x6c, 0xc7, 0x19, 0x7f, 0xed, 0x41, 0x9e, 0xa5, 0x49, 0x0e, 0xf7, 0x16, 0x8f, 0xdf, 0xaf, 0x9e,
0x39, 0xfe, 0xb0, 0x3a, 0xf6, 0x56, 0x3c, 0xef, 0xc4, 0xb3, 0x3f, 0xa5, 0xfe, 0x0f, 0x37, 0xff,
0x07, 0x00, 0x00, 0xff, 0xff, 0x38, 0x10, 0xa2, 0xb7, 0x67, 0x07, 0x00, 0x00,
// 722 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x95, 0xcb, 0x6e, 0xd3, 0x4c,
0x14, 0xc7, 0xbf, 0xa6, 0xd7, 0x4c, 0x9a, 0x7e, 0x65, 0xda, 0xc2, 0x90, 0x4a, 0xa5, 0x14, 0x71,
0x11, 0x97, 0x82, 0xda, 0x25, 0x0b, 0x08, 0x4d, 0x29, 0x95, 0x10, 0xaa, 0x2c, 0x90, 0x90, 0x58,
0x58, 0xd3, 0xf8, 0x90, 0x06, 0x1c, 0xdb, 0x8c, 0x27, 0xa1, 0xbc, 0x15, 0xb7, 0x87, 0xe8, 0x82,
0x4b, 0xe1, 0x09, 0x80, 0x15, 0x7b, 0x78, 0x00, 0x3c, 0x17, 0x8f, 0xed, 0x64, 0xdc, 0x85, 0x25,
0xfb, 0x9c, 0xff, 0xf9, 0x9d, 0x33, 0xf3, 0x9f, 0x49, 0xd0, 0x02, 0xa3, 0xcf, 0xb9, 0xdb, 0x0d,
0x38, 0xb0, 0x80, 0xfa, 0xeb, 0x11, 0x0b, 0x79, 0x88, 0x67, 0x81, 0xb7, 0xbd, 0x18, 0xd8, 0x00,
0x58, 0xb4, 0xdf, 0x58, 0xec, 0x84, 0x9d, 0x50, 0x26, 0x6e, 0x8a, 0x37, 0xa5, 0x69, 0xcc, 0x67,
0x1a, 0x1d, 0xa9, 0xb2, 0xa8, 0xad, 0x5e, 0xd7, 0x6e, 0xa3, 0xba, 0x03, 0xaf, 0xfa, 0x10, 0xf3,
0x07, 0x40, 0x3d, 0x60, 0x78, 0x0e, 0x55, 0x76, 0x5b, 0x64, 0x6c, 0x75, 0xec, 0xca, 0x84, 0x53,
0xe9, 0xb6, 0x70, 0x03, 0xcd, 0xf4, 0x63, 0xd1, 0xb2, 0x07, 0xa4, 0x92, 0x44, 0xab, 0x8e, 0xf9,
0x5e, 0xfb, 0x5e, 0x47, 0x0b, 0xbb, 0x7a, 0x20, 0x27, 0x99, 0x4e, 0x93, 0x46, 0x18, 0x17, 0x51,
0x65, 0xb0, 0x21, 0xab, 0x6b, 0x1b, 0x4b, 0xeb, 0xf9, 0x91, 0xd7, 0x75, 0x89, 0x93, 0x08, 0xf0,
0x2d, 0x34, 0xc9, 0x68, 0xd0, 0x01, 0x32, 0x2e, 0x95, 0x8d, 0x21, 0xa5, 0x48, 0xa5, 0x72, 0x25,
0xc4, 0x57, 0xd1, 0x78, 0xd4, 0xe7, 0x64, 0x42, 0xea, 0x49, 0x51, 0xbf, 0xd7, 0x4f, 0xe7, 0x71,
0x84, 0x08, 0x6f, 0xa1, 0x59, 0x0f, 0x7c, 0xe0, 0xe0, 0xaa, 0x26, 0x93, 0xb2, 0x68, 0xb5, 0x58,
0xd4, 0x92, 0x8a, 0x42, 0xab, 0x9a, 0x97, 0xc5, 0x44, 0x43, 0x7e, 0x18, 0x90, 0x29, 0x5b, 0xc3,
0xc7, 0x87, 0x81, 0x69, 0x98, 0x88, 0xf0, 0x1d, 0x84, 0xda, 0x61, 0x2f, 0xa2, 0x6d, 0xde, 0x0d,
0x03, 0x32, 0x2d, 0x4b, 0xce, 0x15, 0x4b, 0xb6, 0x4c, 0x3e, 0xad, 0xcc, 0x95, 0xe0, 0xbb, 0xa8,
0xe6, 0x03, 0x8d, 0xc1, 0xed, 0x24, 0x13, 0x73, 0x32, 0x63, 0x23, 0x3c, 0x14, 0x82, 0x1d, 0x91,
0x37, 0x04, 0xdf, 0x84, 0xc4, 0x9a, 0x15, 0x81, 0xc1, 0x20, 0x7c, 0x09, 0xa4, 0x6a, 0x5b, 0xb3,
0x44, 0x38, 0x52, 0x60, 0xd6, 0xec, 0x67, 0x31, 0x61, 0x0b, 0xf5, 0x29, 0xeb, 0x11, 0x64, 0xb3,
0xa5, 0x29, 0x52, 0xc6, 0x16, 0x29, 0xc4, 0x9b, 0x68, 0xea, 0x40, 0x9e, 0x26, 0xe2, 0xc9, 0x92,
0x65, 0xab, 0xe7, 0xea, 0xc0, 0x39, 0x5a, 0x8a, 0x9b, 0xa8, 0x46, 0xfb, 0xfc, 0xc0, 0x85, 0x80,
0xee, 0xfb, 0x40, 0x7e, 0x5b, 0x37, 0xac, 0x99, 0x28, 0xb6, 0xa5, 0xc0, 0x2c, 0x97, 0x9a, 0x10,
0x6e, 0xa1, 0x59, 0x89, 0xf0, 0xba, 0xb1, 0x64, 0xfc, 0x99, 0xb6, 0xad, 0x57, 0x30, 0x5a, 0x4a,
0x61, 0xd6, 0x4b, 0xb3, 0x18, 0xbe, 0xaf, 0x28, 0x10, 0xf0, 0x6e, 0x9b, 0x72, 0x20, 0x7f, 0x15,
0xe5, 0xfc, 0x28, 0x25, 0x95, 0xa4, 0x98, 0x42, 0x1d, 0xde, 0x46, 0x75, 0x39, 0x8d, 0xb8, 0x2e,
0x2e, 0xf5, 0x3c, 0xf2, 0x69, 0xa6, 0x6c, 0x9c, 0x27, 0xc9, 0x57, 0xd3, 0xf3, 0x0a, 0xe3, 0xe8,
0x18, 0x7e, 0x84, 0xe6, 0x33, 0x8c, 0x3a, 0x8b, 0xe4, 0xb3, 0x22, 0x5d, 0xb0, 0x93, 0xf4, 0x21,
0xd6, 0xb0, 0x39, 0x5a, 0x08, 0x17, 0xc7, 0xea, 0x00, 0x27, 0x5f, 0x4e, 0x1c, 0x6b, 0x07, 0xf8,
0xc8, 0x58, 0x49, 0x0c, 0x77, 0xd0, 0xd9, 0x0c, 0xd3, 0x3e, 0x10, 0xb7, 0xc3, 0x8d, 0x68, 0x1c,
0xbf, 0x0e, 0x99, 0x47, 0xbe, 0x2a, 0xe4, 0x35, 0x3b, 0x72, 0x4b, 0xaa, 0xf7, 0xb4, 0x38, 0xa5,
0x9f, 0xa6, 0xd6, 0x34, 0x7e, 0x8a, 0x16, 0x73, 0xf3, 0x8a, 0x63, 0xed, 0xb2, 0x30, 0x31, 0xf7,
0x58, 0xf5, 0xb8, 0x54, 0x32, 0xb6, 0xbc, 0x12, 0x61, 0x66, 0xf1, 0x29, 0x3a, 0x9c, 0xc1, 0xcf,
0xd0, 0x52, 0x46, 0x56, 0x37, 0x44, 0xa1, 0xbf, 0x29, 0xf4, 0x65, 0x3b, 0x5a, 0x5f, 0x95, 0x1c,
0x1b, 0xd3, 0x91, 0x94, 0xd9, 0x66, 0x01, 0x94, 0xee, 0xbf, 0xad, 0x96, 0x6d, 0xb3, 0xd0, 0x0f,
0xbb, 0xaf, 0x63, 0xc6, 0x7d, 0x89, 0xd1, 0xee, 0xbf, 0xab, 0x96, 0xb9, 0x2f, 0xaa, 0x2c, 0xee,
0x67, 0xe1, 0xe2, 0x58, 0xc2, 0xfd, 0xf7, 0x27, 0x8e, 0x35, 0xec, 0xbe, 0x8e, 0xe1, 0x17, 0xa8,
0x91, 0xc3, 0x48, 0x53, 0x22, 0x60, 0xbd, 0x6e, 0x1c, 0x8b, 0xdf, 0xba, 0x0f, 0x8a, 0x79, 0xbd,
0x84, 0x29, 0xe4, 0x7b, 0x46, 0x9d, 0xf2, 0xcf, 0x50, 0x7b, 0x1e, 0xf7, 0xd0, 0x72, 0xd6, 0x4b,
0xdb, 0x94, 0x6b, 0xf6, 0x51, 0x35, 0xbb, 0x61, 0x6f, 0xa6, 0x1c, 0x19, 0xed, 0x46, 0x68, 0x89,
0x60, 0xed, 0x7f, 0x54, 0xdf, 0xee, 0x45, 0xfc, 0x8d, 0x03, 0x71, 0x14, 0x06, 0x31, 0xdc, 0x9b,
0x3f, 0xfa, 0xb9, 0xf2, 0xdf, 0xd1, 0xaf, 0x95, 0xb1, 0xe3, 0xe4, 0xf9, 0x91, 0x3c, 0xfb, 0x53,
0xf2, 0xbf, 0x73, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, 0x8d, 0xf6, 0xc5, 0x93, 0x07,
0x00, 0x00,
}

View File

@ -37,18 +37,21 @@ message InternalRaftRequest {
AuthEnableRequest auth_enable = 1000;
AuthDisableRequest auth_disable = 1011;
AuthUserAddRequest auth_user_add = 1012;
AuthUserDeleteRequest auth_user_delete = 1013;
AuthUserChangePasswordRequest auth_user_change_password = 1014;
AuthUserGrantRequest auth_user_grant = 1015;
AuthRoleAddRequest auth_role_add = 1016;
AuthRoleGrantRequest auth_role_grant = 1017;
AuthenticateRequest authenticate = 1018;
AuthUserGetRequest auth_user_get = 1019;
AuthRoleGetRequest auth_role_get = 1020;
AuthUserRevokeRoleRequest auth_user_revoke_role = 1021;
AuthRoleRevokePermissionRequest auth_role_revoke_permission = 1022;
AuthRoleDeleteRequest auth_role_delete = 1023;
AuthenticateRequest authenticate = 1012;
AuthUserAddRequest auth_user_add = 1100;
AuthUserDeleteRequest auth_user_delete = 1101;
AuthUserGetRequest auth_user_get = 1102;
AuthUserChangePasswordRequest auth_user_change_password = 1103;
AuthUserGrantRoleRequest auth_user_grant_role = 1104;
AuthUserRevokeRoleRequest auth_user_revoke_role = 1105;
AuthRoleAddRequest auth_role_add = 1200;
AuthRoleDeleteRequest auth_role_delete = 1201;
AuthRoleGetRequest auth_role_get = 1202;
AuthRoleGrantPermissionRequest auth_role_grant_permission = 1203;
AuthRoleRevokePermissionRequest auth_role_revoke_permission = 1204;
}
message EmptyResponse {

View File

@ -1580,17 +1580,17 @@ func (*AuthUserChangePasswordRequest) Descriptor() ([]byte, []int) {
return fileDescriptorRpc, []int{50}
}
type AuthUserGrantRequest struct {
type AuthUserGrantRoleRequest struct {
// user is the name of the user which should be granted a given role.
User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
// role is the name of the role to grant to the user.
Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
}
func (m *AuthUserGrantRequest) Reset() { *m = AuthUserGrantRequest{} }
func (m *AuthUserGrantRequest) String() string { return proto.CompactTextString(m) }
func (*AuthUserGrantRequest) ProtoMessage() {}
func (*AuthUserGrantRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{51} }
func (m *AuthUserGrantRoleRequest) Reset() { *m = AuthUserGrantRoleRequest{} }
func (m *AuthUserGrantRoleRequest) String() string { return proto.CompactTextString(m) }
func (*AuthUserGrantRoleRequest) ProtoMessage() {}
func (*AuthUserGrantRoleRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{51} }
type AuthUserRevokeRoleRequest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@ -1630,19 +1630,21 @@ func (m *AuthRoleDeleteRequest) String() string { return proto.Compac
func (*AuthRoleDeleteRequest) ProtoMessage() {}
func (*AuthRoleDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{55} }
type AuthRoleGrantRequest struct {
type AuthRoleGrantPermissionRequest struct {
// name is the name of the role which will be granted the permission.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// perm is the permission to grant to the role.
Perm *authpb.Permission `protobuf:"bytes,2,opt,name=perm" json:"perm,omitempty"`
}
func (m *AuthRoleGrantRequest) Reset() { *m = AuthRoleGrantRequest{} }
func (m *AuthRoleGrantRequest) String() string { return proto.CompactTextString(m) }
func (*AuthRoleGrantRequest) ProtoMessage() {}
func (*AuthRoleGrantRequest) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{56} }
func (m *AuthRoleGrantPermissionRequest) Reset() { *m = AuthRoleGrantPermissionRequest{} }
func (m *AuthRoleGrantPermissionRequest) String() string { return proto.CompactTextString(m) }
func (*AuthRoleGrantPermissionRequest) ProtoMessage() {}
func (*AuthRoleGrantPermissionRequest) Descriptor() ([]byte, []int) {
return fileDescriptorRpc, []int{56}
}
func (m *AuthRoleGrantRequest) GetPerm() *authpb.Permission {
func (m *AuthRoleGrantPermissionRequest) GetPerm() *authpb.Permission {
if m != nil {
return m.Perm
}
@ -1778,16 +1780,16 @@ func (m *AuthUserChangePasswordResponse) GetHeader() *ResponseHeader {
return nil
}
type AuthUserGrantResponse struct {
type AuthUserGrantRoleResponse struct {
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
}
func (m *AuthUserGrantResponse) Reset() { *m = AuthUserGrantResponse{} }
func (m *AuthUserGrantResponse) String() string { return proto.CompactTextString(m) }
func (*AuthUserGrantResponse) ProtoMessage() {}
func (*AuthUserGrantResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{65} }
func (m *AuthUserGrantRoleResponse) Reset() { *m = AuthUserGrantRoleResponse{} }
func (m *AuthUserGrantRoleResponse) String() string { return proto.CompactTextString(m) }
func (*AuthUserGrantRoleResponse) ProtoMessage() {}
func (*AuthUserGrantRoleResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{65} }
func (m *AuthUserGrantResponse) GetHeader() *ResponseHeader {
func (m *AuthUserGrantRoleResponse) GetHeader() *ResponseHeader {
if m != nil {
return m.Header
}
@ -1866,16 +1868,18 @@ func (m *AuthRoleDeleteResponse) GetHeader() *ResponseHeader {
return nil
}
type AuthRoleGrantResponse struct {
type AuthRoleGrantPermissionResponse struct {
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
}
func (m *AuthRoleGrantResponse) Reset() { *m = AuthRoleGrantResponse{} }
func (m *AuthRoleGrantResponse) String() string { return proto.CompactTextString(m) }
func (*AuthRoleGrantResponse) ProtoMessage() {}
func (*AuthRoleGrantResponse) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{70} }
func (m *AuthRoleGrantPermissionResponse) Reset() { *m = AuthRoleGrantPermissionResponse{} }
func (m *AuthRoleGrantPermissionResponse) String() string { return proto.CompactTextString(m) }
func (*AuthRoleGrantPermissionResponse) ProtoMessage() {}
func (*AuthRoleGrantPermissionResponse) Descriptor() ([]byte, []int) {
return fileDescriptorRpc, []int{70}
}
func (m *AuthRoleGrantResponse) GetHeader() *ResponseHeader {
func (m *AuthRoleGrantPermissionResponse) GetHeader() *ResponseHeader {
if m != nil {
return m.Header
}
@ -1952,12 +1956,12 @@ func init() {
proto.RegisterType((*AuthUserGetRequest)(nil), "etcdserverpb.AuthUserGetRequest")
proto.RegisterType((*AuthUserDeleteRequest)(nil), "etcdserverpb.AuthUserDeleteRequest")
proto.RegisterType((*AuthUserChangePasswordRequest)(nil), "etcdserverpb.AuthUserChangePasswordRequest")
proto.RegisterType((*AuthUserGrantRequest)(nil), "etcdserverpb.AuthUserGrantRequest")
proto.RegisterType((*AuthUserGrantRoleRequest)(nil), "etcdserverpb.AuthUserGrantRoleRequest")
proto.RegisterType((*AuthUserRevokeRoleRequest)(nil), "etcdserverpb.AuthUserRevokeRoleRequest")
proto.RegisterType((*AuthRoleAddRequest)(nil), "etcdserverpb.AuthRoleAddRequest")
proto.RegisterType((*AuthRoleGetRequest)(nil), "etcdserverpb.AuthRoleGetRequest")
proto.RegisterType((*AuthRoleDeleteRequest)(nil), "etcdserverpb.AuthRoleDeleteRequest")
proto.RegisterType((*AuthRoleGrantRequest)(nil), "etcdserverpb.AuthRoleGrantRequest")
proto.RegisterType((*AuthRoleGrantPermissionRequest)(nil), "etcdserverpb.AuthRoleGrantPermissionRequest")
proto.RegisterType((*AuthRoleRevokePermissionRequest)(nil), "etcdserverpb.AuthRoleRevokePermissionRequest")
proto.RegisterType((*AuthEnableResponse)(nil), "etcdserverpb.AuthEnableResponse")
proto.RegisterType((*AuthDisableResponse)(nil), "etcdserverpb.AuthDisableResponse")
@ -1966,12 +1970,12 @@ func init() {
proto.RegisterType((*AuthUserGetResponse)(nil), "etcdserverpb.AuthUserGetResponse")
proto.RegisterType((*AuthUserDeleteResponse)(nil), "etcdserverpb.AuthUserDeleteResponse")
proto.RegisterType((*AuthUserChangePasswordResponse)(nil), "etcdserverpb.AuthUserChangePasswordResponse")
proto.RegisterType((*AuthUserGrantResponse)(nil), "etcdserverpb.AuthUserGrantResponse")
proto.RegisterType((*AuthUserGrantRoleResponse)(nil), "etcdserverpb.AuthUserGrantRoleResponse")
proto.RegisterType((*AuthUserRevokeRoleResponse)(nil), "etcdserverpb.AuthUserRevokeRoleResponse")
proto.RegisterType((*AuthRoleAddResponse)(nil), "etcdserverpb.AuthRoleAddResponse")
proto.RegisterType((*AuthRoleGetResponse)(nil), "etcdserverpb.AuthRoleGetResponse")
proto.RegisterType((*AuthRoleDeleteResponse)(nil), "etcdserverpb.AuthRoleDeleteResponse")
proto.RegisterType((*AuthRoleGrantResponse)(nil), "etcdserverpb.AuthRoleGrantResponse")
proto.RegisterType((*AuthRoleGrantPermissionResponse)(nil), "etcdserverpb.AuthRoleGrantPermissionResponse")
proto.RegisterType((*AuthRoleRevokePermissionResponse)(nil), "etcdserverpb.AuthRoleRevokePermissionResponse")
proto.RegisterEnum("etcdserverpb.AlarmType", AlarmType_name, AlarmType_value)
proto.RegisterEnum("etcdserverpb.RangeRequest_SortOrder", RangeRequest_SortOrder_name, RangeRequest_SortOrder_value)
@ -2916,7 +2920,7 @@ type AuthClient interface {
// UserChangePassword changes the password of a specified user.
UserChangePassword(ctx context.Context, in *AuthUserChangePasswordRequest, opts ...grpc.CallOption) (*AuthUserChangePasswordResponse, error)
// UserGrant grants a role to a specified user.
UserGrant(ctx context.Context, in *AuthUserGrantRequest, opts ...grpc.CallOption) (*AuthUserGrantResponse, error)
UserGrantRole(ctx context.Context, in *AuthUserGrantRoleRequest, opts ...grpc.CallOption) (*AuthUserGrantRoleResponse, error)
// UserRevokeRole revokes a role of specified user.
UserRevokeRole(ctx context.Context, in *AuthUserRevokeRoleRequest, opts ...grpc.CallOption) (*AuthUserRevokeRoleResponse, error)
// RoleAdd adds a new role.
@ -2925,8 +2929,8 @@ type AuthClient interface {
RoleGet(ctx context.Context, in *AuthRoleGetRequest, opts ...grpc.CallOption) (*AuthRoleGetResponse, error)
// RoleDelete deletes a specified role.
RoleDelete(ctx context.Context, in *AuthRoleDeleteRequest, opts ...grpc.CallOption) (*AuthRoleDeleteResponse, error)
// RoleGrant grants a permission of a specified key or range to a specified role.
RoleGrant(ctx context.Context, in *AuthRoleGrantRequest, opts ...grpc.CallOption) (*AuthRoleGrantResponse, error)
// RoleGrantPermission grants a permission of a specified key or range to a specified role.
RoleGrantPermission(ctx context.Context, in *AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (*AuthRoleGrantPermissionResponse, error)
// RoleRevokePermission revokes a key or range permission of a specified role.
RoleRevokePermission(ctx context.Context, in *AuthRoleRevokePermissionRequest, opts ...grpc.CallOption) (*AuthRoleRevokePermissionResponse, error)
}
@ -3002,9 +3006,9 @@ func (c *authClient) UserChangePassword(ctx context.Context, in *AuthUserChangeP
return out, nil
}
func (c *authClient) UserGrant(ctx context.Context, in *AuthUserGrantRequest, opts ...grpc.CallOption) (*AuthUserGrantResponse, error) {
out := new(AuthUserGrantResponse)
err := grpc.Invoke(ctx, "/etcdserverpb.Auth/UserGrant", in, out, c.cc, opts...)
func (c *authClient) UserGrantRole(ctx context.Context, in *AuthUserGrantRoleRequest, opts ...grpc.CallOption) (*AuthUserGrantRoleResponse, error) {
out := new(AuthUserGrantRoleResponse)
err := grpc.Invoke(ctx, "/etcdserverpb.Auth/UserGrantRole", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@ -3047,9 +3051,9 @@ func (c *authClient) RoleDelete(ctx context.Context, in *AuthRoleDeleteRequest,
return out, nil
}
func (c *authClient) RoleGrant(ctx context.Context, in *AuthRoleGrantRequest, opts ...grpc.CallOption) (*AuthRoleGrantResponse, error) {
out := new(AuthRoleGrantResponse)
err := grpc.Invoke(ctx, "/etcdserverpb.Auth/RoleGrant", in, out, c.cc, opts...)
func (c *authClient) RoleGrantPermission(ctx context.Context, in *AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (*AuthRoleGrantPermissionResponse, error) {
out := new(AuthRoleGrantPermissionResponse)
err := grpc.Invoke(ctx, "/etcdserverpb.Auth/RoleGrantPermission", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@ -3083,7 +3087,7 @@ type AuthServer interface {
// UserChangePassword changes the password of a specified user.
UserChangePassword(context.Context, *AuthUserChangePasswordRequest) (*AuthUserChangePasswordResponse, error)
// UserGrant grants a role to a specified user.
UserGrant(context.Context, *AuthUserGrantRequest) (*AuthUserGrantResponse, error)
UserGrantRole(context.Context, *AuthUserGrantRoleRequest) (*AuthUserGrantRoleResponse, error)
// UserRevokeRole revokes a role of specified user.
UserRevokeRole(context.Context, *AuthUserRevokeRoleRequest) (*AuthUserRevokeRoleResponse, error)
// RoleAdd adds a new role.
@ -3092,8 +3096,8 @@ type AuthServer interface {
RoleGet(context.Context, *AuthRoleGetRequest) (*AuthRoleGetResponse, error)
// RoleDelete deletes a specified role.
RoleDelete(context.Context, *AuthRoleDeleteRequest) (*AuthRoleDeleteResponse, error)
// RoleGrant grants a permission of a specified key or range to a specified role.
RoleGrant(context.Context, *AuthRoleGrantRequest) (*AuthRoleGrantResponse, error)
// RoleGrantPermission grants a permission of a specified key or range to a specified role.
RoleGrantPermission(context.Context, *AuthRoleGrantPermissionRequest) (*AuthRoleGrantPermissionResponse, error)
// RoleRevokePermission revokes a key or range permission of a specified role.
RoleRevokePermission(context.Context, *AuthRoleRevokePermissionRequest) (*AuthRoleRevokePermissionResponse, error)
}
@ -3228,20 +3232,20 @@ func _Auth_UserChangePassword_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
func _Auth_UserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AuthUserGrantRequest)
func _Auth_UserGrantRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AuthUserGrantRoleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthServer).UserGrant(ctx, in)
return srv.(AuthServer).UserGrantRole(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/etcdserverpb.Auth/UserGrant",
FullMethod: "/etcdserverpb.Auth/UserGrantRole",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthServer).UserGrant(ctx, req.(*AuthUserGrantRequest))
return srv.(AuthServer).UserGrantRole(ctx, req.(*AuthUserGrantRoleRequest))
}
return interceptor(ctx, in, info, handler)
}
@ -3318,20 +3322,20 @@ func _Auth_RoleDelete_Handler(srv interface{}, ctx context.Context, dec func(int
return interceptor(ctx, in, info, handler)
}
func _Auth_RoleGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AuthRoleGrantRequest)
func _Auth_RoleGrantPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AuthRoleGrantPermissionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthServer).RoleGrant(ctx, in)
return srv.(AuthServer).RoleGrantPermission(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/etcdserverpb.Auth/RoleGrant",
FullMethod: "/etcdserverpb.Auth/RoleGrantPermission",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthServer).RoleGrant(ctx, req.(*AuthRoleGrantRequest))
return srv.(AuthServer).RoleGrantPermission(ctx, req.(*AuthRoleGrantPermissionRequest))
}
return interceptor(ctx, in, info, handler)
}
@ -3387,8 +3391,8 @@ var _Auth_serviceDesc = grpc.ServiceDesc{
Handler: _Auth_UserChangePassword_Handler,
},
{
MethodName: "UserGrant",
Handler: _Auth_UserGrant_Handler,
MethodName: "UserGrantRole",
Handler: _Auth_UserGrantRole_Handler,
},
{
MethodName: "UserRevokeRole",
@ -3407,8 +3411,8 @@ var _Auth_serviceDesc = grpc.ServiceDesc{
Handler: _Auth_RoleDelete_Handler,
},
{
MethodName: "RoleGrant",
Handler: _Auth_RoleGrant_Handler,
MethodName: "RoleGrantPermission",
Handler: _Auth_RoleGrantPermission_Handler,
},
{
MethodName: "RoleRevokePermission",
@ -5244,7 +5248,7 @@ func (m *AuthUserChangePasswordRequest) MarshalTo(data []byte) (int, error) {
return i, nil
}
func (m *AuthUserGrantRequest) Marshal() (data []byte, err error) {
func (m *AuthUserGrantRoleRequest) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
@ -5254,7 +5258,7 @@ func (m *AuthUserGrantRequest) Marshal() (data []byte, err error) {
return data[:n], nil
}
func (m *AuthUserGrantRequest) MarshalTo(data []byte) (int, error) {
func (m *AuthUserGrantRoleRequest) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
@ -5376,7 +5380,7 @@ func (m *AuthRoleDeleteRequest) MarshalTo(data []byte) (int, error) {
return i, nil
}
func (m *AuthRoleGrantRequest) Marshal() (data []byte, err error) {
func (m *AuthRoleGrantPermissionRequest) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
@ -5386,7 +5390,7 @@ func (m *AuthRoleGrantRequest) Marshal() (data []byte, err error) {
return data[:n], nil
}
func (m *AuthRoleGrantRequest) MarshalTo(data []byte) (int, error) {
func (m *AuthRoleGrantPermissionRequest) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
@ -5657,7 +5661,7 @@ func (m *AuthUserChangePasswordResponse) MarshalTo(data []byte) (int, error) {
return i, nil
}
func (m *AuthUserGrantResponse) Marshal() (data []byte, err error) {
func (m *AuthUserGrantRoleResponse) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
@ -5667,7 +5671,7 @@ func (m *AuthUserGrantResponse) Marshal() (data []byte, err error) {
return data[:n], nil
}
func (m *AuthUserGrantResponse) MarshalTo(data []byte) (int, error) {
func (m *AuthUserGrantRoleResponse) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
@ -5809,7 +5813,7 @@ func (m *AuthRoleDeleteResponse) MarshalTo(data []byte) (int, error) {
return i, nil
}
func (m *AuthRoleGrantResponse) Marshal() (data []byte, err error) {
func (m *AuthRoleGrantPermissionResponse) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
@ -5819,7 +5823,7 @@ func (m *AuthRoleGrantResponse) Marshal() (data []byte, err error) {
return data[:n], nil
}
func (m *AuthRoleGrantResponse) MarshalTo(data []byte) (int, error) {
func (m *AuthRoleGrantPermissionResponse) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
@ -6679,7 +6683,7 @@ func (m *AuthUserChangePasswordRequest) Size() (n int) {
return n
}
func (m *AuthUserGrantRequest) Size() (n int) {
func (m *AuthUserGrantRoleRequest) Size() (n int) {
var l int
_ = l
l = len(m.User)
@ -6737,7 +6741,7 @@ func (m *AuthRoleDeleteRequest) Size() (n int) {
return n
}
func (m *AuthRoleGrantRequest) Size() (n int) {
func (m *AuthRoleGrantPermissionRequest) Size() (n int) {
var l int
_ = l
l = len(m.Name)
@ -6845,7 +6849,7 @@ func (m *AuthUserChangePasswordResponse) Size() (n int) {
return n
}
func (m *AuthUserGrantResponse) Size() (n int) {
func (m *AuthUserGrantRoleResponse) Size() (n int) {
var l int
_ = l
if m.Header != nil {
@ -6901,7 +6905,7 @@ func (m *AuthRoleDeleteResponse) Size() (n int) {
return n
}
func (m *AuthRoleGrantResponse) Size() (n int) {
func (m *AuthRoleGrantPermissionResponse) Size() (n int) {
var l int
_ = l
if m.Header != nil {
@ -12331,7 +12335,7 @@ func (m *AuthUserChangePasswordRequest) Unmarshal(data []byte) error {
}
return nil
}
func (m *AuthUserGrantRequest) Unmarshal(data []byte) error {
func (m *AuthUserGrantRoleRequest) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
@ -12354,10 +12358,10 @@ func (m *AuthUserGrantRequest) Unmarshal(data []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: AuthUserGrantRequest: wiretype end group for non-group")
return fmt.Errorf("proto: AuthUserGrantRoleRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: AuthUserGrantRequest: illegal tag %d (wire type %d)", fieldNum, wire)
return fmt.Errorf("proto: AuthUserGrantRoleRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@ -12784,7 +12788,7 @@ func (m *AuthRoleDeleteRequest) Unmarshal(data []byte) error {
}
return nil
}
func (m *AuthRoleGrantRequest) Unmarshal(data []byte) error {
func (m *AuthRoleGrantPermissionRequest) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
@ -12807,10 +12811,10 @@ func (m *AuthRoleGrantRequest) Unmarshal(data []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: AuthRoleGrantRequest: wiretype end group for non-group")
return fmt.Errorf("proto: AuthRoleGrantPermissionRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: AuthRoleGrantRequest: illegal tag %d (wire type %d)", fieldNum, wire)
return fmt.Errorf("proto: AuthRoleGrantPermissionRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@ -13643,7 +13647,7 @@ func (m *AuthUserChangePasswordResponse) Unmarshal(data []byte) error {
}
return nil
}
func (m *AuthUserGrantResponse) Unmarshal(data []byte) error {
func (m *AuthUserGrantRoleResponse) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
@ -13666,10 +13670,10 @@ func (m *AuthUserGrantResponse) Unmarshal(data []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: AuthUserGrantResponse: wiretype end group for non-group")
return fmt.Errorf("proto: AuthUserGrantRoleResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: AuthUserGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire)
return fmt.Errorf("proto: AuthUserGrantRoleResponse: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@ -14089,7 +14093,7 @@ func (m *AuthRoleDeleteResponse) Unmarshal(data []byte) error {
}
return nil
}
func (m *AuthRoleGrantResponse) Unmarshal(data []byte) error {
func (m *AuthRoleGrantPermissionResponse) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
@ -14112,10 +14116,10 @@ func (m *AuthRoleGrantResponse) Unmarshal(data []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: AuthRoleGrantResponse: wiretype end group for non-group")
return fmt.Errorf("proto: AuthRoleGrantPermissionResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: AuthRoleGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire)
return fmt.Errorf("proto: AuthRoleGrantPermissionResponse: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@ -14361,170 +14365,171 @@ var (
)
var fileDescriptorRpc = []byte{
// 2638 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x72, 0x1b, 0xc7,
0x11, 0x26, 0x7e, 0x08, 0x10, 0x0d, 0x10, 0xa2, 0x86, 0x94, 0x42, 0xad, 0x6c, 0x49, 0x5e, 0x49,
0x96, 0x12, 0xdb, 0x50, 0xcc, 0x38, 0x87, 0x54, 0x5c, 0x4a, 0x81, 0x04, 0x2c, 0x31, 0xa4, 0x48,
0x79, 0x09, 0x52, 0xf6, 0x89, 0xb5, 0x04, 0x46, 0x24, 0x4a, 0xf8, 0xf3, 0xee, 0x82, 0x12, 0x55,
0x95, 0x4b, 0xaa, 0x72, 0xc8, 0xd9, 0x39, 0xa5, 0xf2, 0x02, 0x79, 0x80, 0xbc, 0x43, 0x2a, 0x97,
0xe4, 0x09, 0x52, 0xa9, 0x9c, 0x52, 0xb9, 0xe4, 0x9e, 0x5c, 0xd2, 0xf3, 0xb7, 0x3b, 0xbb, 0x98,
0x85, 0xe4, 0xac, 0x72, 0x10, 0xb9, 0xd3, 0xd3, 0xfd, 0x4d, 0x4f, 0x4f, 0x4f, 0x4f, 0x77, 0x53,
0x50, 0xf1, 0x26, 0xdd, 0xc6, 0xc4, 0x1b, 0x07, 0x63, 0x52, 0xa3, 0x41, 0xb7, 0xe7, 0x53, 0xef,
0x9c, 0x7a, 0x93, 0x13, 0x6b, 0xed, 0x74, 0x7c, 0x3a, 0xe6, 0x13, 0x0f, 0xd8, 0x97, 0xe0, 0xb1,
0xae, 0x31, 0x9e, 0x07, 0xc3, 0xf3, 0x6e, 0x97, 0xff, 0x98, 0x9c, 0x3c, 0x78, 0x71, 0x2e, 0xa7,
0xae, 0xf3, 0x29, 0x77, 0x1a, 0x9c, 0xf1, 0x1f, 0x38, 0xc5, 0x7e, 0x89, 0x49, 0xfb, 0x57, 0x39,
0xa8, 0x3b, 0xd4, 0x9f, 0x8c, 0x47, 0x3e, 0x7d, 0x4c, 0xdd, 0x1e, 0xf5, 0xc8, 0xfb, 0x00, 0xdd,
0xc1, 0xd4, 0x0f, 0xa8, 0x77, 0xdc, 0xef, 0xad, 0xe7, 0x6e, 0xe5, 0xee, 0x17, 0x9d, 0x8a, 0xa4,
0x6c, 0xf7, 0xc8, 0x75, 0xa8, 0x0c, 0xe9, 0xf0, 0x44, 0xcc, 0xe6, 0xf9, 0xec, 0x92, 0x20, 0xe0,
0xa4, 0x05, 0x4b, 0x1e, 0x3d, 0xef, 0xfb, 0xfd, 0xf1, 0x68, 0xbd, 0x80, 0x73, 0x05, 0x27, 0x1c,
0x33, 0x41, 0xcf, 0x7d, 0x1e, 0x1c, 0x23, 0xcc, 0x70, 0xbd, 0x28, 0x04, 0x19, 0xa1, 0x83, 0x63,
0xfb, 0x37, 0x05, 0xa8, 0x39, 0xee, 0xe8, 0x94, 0x3a, 0xf4, 0x9b, 0x29, 0xf5, 0x03, 0xb2, 0x02,
0x85, 0x17, 0xf4, 0x82, 0x2f, 0x5f, 0x73, 0xd8, 0xa7, 0x90, 0x47, 0x8e, 0x63, 0x3a, 0x12, 0x0b,
0xd7, 0x98, 0x3c, 0x12, 0xda, 0xa3, 0x1e, 0x59, 0x83, 0xc5, 0x41, 0x7f, 0xd8, 0x0f, 0xe4, 0xaa,
0x62, 0x10, 0x53, 0xa7, 0x98, 0x50, 0x67, 0x0b, 0xc0, 0x1f, 0x7b, 0xc1, 0xf1, 0xd8, 0xc3, 0x4d,
0xaf, 0x2f, 0xe2, 0x6c, 0x7d, 0xe3, 0x4e, 0x43, 0x37, 0x75, 0x43, 0x57, 0xa8, 0x71, 0x80, 0xcc,
0xfb, 0x8c, 0xd7, 0xa9, 0xf8, 0xea, 0x93, 0x7c, 0x01, 0x55, 0x0e, 0x12, 0xb8, 0xde, 0x29, 0x0d,
0xd6, 0x4b, 0x1c, 0xe5, 0xee, 0x1b, 0x50, 0x3a, 0x9c, 0xd9, 0xe1, 0xcb, 0x8b, 0x6f, 0x62, 0x43,
0x0d, 0xf9, 0xfb, 0xee, 0xa0, 0xff, 0xda, 0x3d, 0x19, 0xd0, 0xf5, 0x32, 0x02, 0x2d, 0x39, 0x31,
0x9a, 0xdd, 0x80, 0x4a, 0xa8, 0x03, 0x59, 0x82, 0xe2, 0xde, 0xfe, 0x5e, 0x7b, 0x65, 0x81, 0x00,
0x94, 0x9a, 0x07, 0x5b, 0xed, 0xbd, 0xd6, 0x4a, 0x8e, 0x54, 0xa1, 0xdc, 0x6a, 0x8b, 0x41, 0xde,
0xde, 0x04, 0x88, 0x56, 0x23, 0x65, 0x28, 0xec, 0xb4, 0xbf, 0x46, 0x7e, 0xe4, 0x39, 0x6a, 0x3b,
0x07, 0xdb, 0xfb, 0x7b, 0x28, 0x80, 0xc2, 0x5b, 0x4e, 0xbb, 0xd9, 0x69, 0xaf, 0xe4, 0x19, 0xc7,
0x93, 0xfd, 0xd6, 0x4a, 0x81, 0x54, 0x60, 0xf1, 0xa8, 0xb9, 0x7b, 0xd8, 0x5e, 0x29, 0xda, 0xbf,
0x80, 0x65, 0xa9, 0xbe, 0x70, 0x11, 0xf2, 0x19, 0x94, 0xce, 0xb8, 0x9b, 0xf0, 0x93, 0xa9, 0x6e,
0xbc, 0x97, 0xd8, 0x6b, 0xcc, 0x95, 0x1c, 0xc9, 0x8b, 0xdb, 0x2b, 0xbc, 0x38, 0xf7, 0xf1, 0xd0,
0x0a, 0x28, 0xb2, 0xd2, 0x10, 0x1e, 0xda, 0xd8, 0xa1, 0x17, 0x47, 0xee, 0x60, 0x4a, 0x1d, 0x36,
0x49, 0x08, 0x14, 0x87, 0x63, 0x8f, 0xf2, 0x03, 0x5c, 0x72, 0xf8, 0xb7, 0xfd, 0x73, 0x80, 0xa7,
0xd3, 0x20, 0xdd, 0x25, 0xf0, 0xd4, 0xcf, 0x19, 0x82, 0x74, 0x07, 0x31, 0xe0, 0xbe, 0x40, 0x5d,
0x9f, 0x86, 0xbe, 0xc0, 0x06, 0xf6, 0x16, 0x54, 0x39, 0x56, 0x96, 0x8d, 0x20, 0x08, 0x69, 0xd1,
0x01, 0x0d, 0x68, 0x06, 0x5f, 0xb5, 0x29, 0xac, 0xc6, 0x40, 0x32, 0x99, 0x76, 0x1d, 0xca, 0x3d,
0x0e, 0x26, 0xd6, 0x29, 0x38, 0x6a, 0x68, 0xff, 0x2b, 0x87, 0x57, 0x4a, 0x68, 0x78, 0x38, 0x62,
0x1e, 0xdf, 0x84, 0x65, 0x4f, 0x8c, 0x8f, 0xb9, 0x2e, 0x72, 0x1d, 0x2b, 0xdd, 0x5d, 0x1f, 0x2f,
0x38, 0x35, 0x29, 0xc2, 0xc9, 0xe4, 0xa7, 0x50, 0x55, 0x10, 0x93, 0x69, 0xc0, 0x57, 0xac, 0x6e,
0xac, 0xc7, 0x01, 0xa2, 0x13, 0x43, 0x71, 0x90, 0xec, 0x48, 0x24, 0x1d, 0x58, 0x53, 0xc2, 0x42,
0x47, 0xa9, 0x46, 0x81, 0xa3, 0xdc, 0x8a, 0xa3, 0xcc, 0x9a, 0x19, 0xd1, 0x88, 0x94, 0xd7, 0x26,
0x37, 0x2b, 0x50, 0x96, 0x54, 0xfb, 0xdf, 0x39, 0x74, 0x57, 0x69, 0x26, 0xb1, 0xe5, 0x16, 0xd4,
0x3d, 0x49, 0x88, 0xed, 0xf9, 0xba, 0x71, 0xcf, 0xd2, 0xc0, 0x0b, 0xce, 0xb2, 0x12, 0x12, 0xbb,
0x7e, 0x08, 0xb5, 0x10, 0x25, 0xda, 0xf6, 0x35, 0xc3, 0xb6, 0x43, 0x84, 0xaa, 0x12, 0x60, 0x1b,
0x7f, 0x06, 0x57, 0x42, 0x79, 0xc3, 0xce, 0x3f, 0x98, 0xb3, 0xf3, 0x10, 0x70, 0x55, 0x21, 0xe8,
0x7b, 0x07, 0x16, 0xdf, 0x04, 0xd9, 0xfe, 0x6d, 0x01, 0xca, 0x5b, 0xe3, 0xe1, 0xc4, 0xf5, 0xd8,
0x31, 0x95, 0x90, 0x3e, 0x1d, 0x04, 0x7c, 0xbb, 0xf5, 0x8d, 0xdb, 0xf1, 0x15, 0x24, 0x9b, 0xfa,
0xed, 0x70, 0x56, 0x47, 0x8a, 0x30, 0x61, 0x19, 0xce, 0xf2, 0x6f, 0x21, 0x2c, 0x83, 0x99, 0x14,
0x51, 0x57, 0xa1, 0x10, 0x5d, 0x05, 0x0b, 0xca, 0x28, 0x18, 0x85, 0x60, 0xdc, 0x8b, 0x22, 0x90,
0xef, 0xc3, 0xa5, 0xae, 0x47, 0x5d, 0x66, 0x0f, 0x15, 0xa6, 0x17, 0x25, 0x4f, 0x5d, 0x4c, 0x38,
0x2a, 0x5c, 0xdf, 0x86, 0xda, 0x70, 0xdc, 0x8b, 0xf8, 0x4a, 0x92, 0xaf, 0x8a, 0xd4, 0x90, 0xe9,
0xaa, 0x8a, 0x07, 0x2c, 0x7e, 0xd6, 0x70, 0x56, 0x0c, 0xed, 0x4f, 0x61, 0x39, 0xb6, 0x57, 0x16,
0xe2, 0xda, 0x5f, 0x1e, 0x36, 0x77, 0x45, 0x3c, 0x7c, 0xc4, 0x43, 0xa0, 0x83, 0xf1, 0x10, 0xc3,
0xea, 0x6e, 0xfb, 0xe0, 0x00, 0xa3, 0xe7, 0xe7, 0xa1, 0x88, 0x0c, 0xa0, 0x5a, 0xdc, 0x5c, 0xd0,
0xe2, 0x66, 0x4e, 0xc5, 0xcd, 0x7c, 0x14, 0x37, 0x0b, 0x9b, 0x75, 0xa8, 0x09, 0x83, 0x1c, 0x4f,
0x99, 0x1f, 0xda, 0xbf, 0xcf, 0x01, 0x74, 0x5e, 0x8d, 0x54, 0xc0, 0x78, 0x00, 0xe5, 0xae, 0x00,
0xc7, 0x03, 0x62, 0x31, 0xf1, 0x8a, 0xd1, 0xc6, 0x8e, 0xe2, 0xc2, 0xd8, 0x50, 0xf6, 0xa7, 0xdd,
0x2e, 0xf5, 0x55, 0x10, 0x4d, 0x5e, 0x5a, 0xed, 0x9e, 0x3b, 0x8a, 0x95, 0x49, 0x3d, 0x77, 0xfb,
0x83, 0x29, 0x8f, 0xaa, 0x6f, 0x94, 0x92, 0xac, 0xf6, 0xef, 0x72, 0x50, 0xe5, 0xba, 0x66, 0x8a,
0x4b, 0xef, 0x41, 0x85, 0xab, 0x41, 0x7b, 0x32, 0x32, 0x2d, 0x39, 0x11, 0x81, 0xfc, 0x04, 0xe3,
0xa3, 0x94, 0xf3, 0xa5, 0x6e, 0xd7, 0xcd, 0xb0, 0x42, 0xb9, 0x88, 0xdb, 0xde, 0x81, 0xcb, 0xdc,
0x3c, 0xdd, 0x80, 0x4d, 0x48, 0x83, 0xea, 0x0f, 0x7d, 0x2e, 0xf1, 0xd0, 0xe3, 0xdc, 0xe4, 0xec,
0xc2, 0xef, 0x77, 0xdd, 0x81, 0x54, 0x24, 0x1c, 0xe3, 0x03, 0x43, 0x74, 0xb0, 0x4c, 0x6f, 0xc3,
0x32, 0x54, 0x1f, 0xbb, 0xfe, 0x99, 0x54, 0xc9, 0xfe, 0x0a, 0x6a, 0x62, 0x98, 0xc9, 0x8c, 0xf8,
0x2a, 0x9e, 0x21, 0x0a, 0x57, 0x7c, 0xd9, 0xe1, 0xdf, 0xf6, 0x65, 0xb8, 0x74, 0x30, 0x72, 0x27,
0xfe, 0xd9, 0x58, 0x05, 0x5a, 0x96, 0xc6, 0xad, 0x44, 0xb4, 0x4c, 0x2b, 0xde, 0x83, 0x4b, 0x1e,
0x1d, 0xba, 0xfd, 0x51, 0x7f, 0x74, 0x7a, 0x7c, 0x72, 0x11, 0x50, 0x5f, 0x66, 0x79, 0xf5, 0x90,
0xbc, 0xc9, 0xa8, 0x4c, 0xb5, 0x93, 0xc1, 0xf8, 0x44, 0xde, 0x75, 0xfe, 0x6d, 0xff, 0x01, 0xdf,
0x9c, 0x67, 0x6e, 0xd0, 0x55, 0x56, 0x20, 0xdb, 0x50, 0x0f, 0x6f, 0x38, 0xa7, 0x48, 0x5d, 0x12,
0xd1, 0x9e, 0xcb, 0x6c, 0xc9, 0x1b, 0xaf, 0xa2, 0xfd, 0x72, 0x57, 0x27, 0x70, 0x28, 0x77, 0xd4,
0xa5, 0x83, 0x10, 0x2a, 0x9f, 0x0e, 0xc5, 0x19, 0x75, 0x28, 0x9d, 0xb0, 0x79, 0x29, 0x7a, 0x09,
0xc5, 0xfd, 0xfc, 0x36, 0x07, 0x64, 0x56, 0x87, 0xef, 0x9a, 0x84, 0xde, 0x85, 0xba, 0x8f, 0xd7,
0x3e, 0x38, 0x4e, 0xe4, 0xc0, 0xcb, 0x9c, 0x1a, 0x46, 0x29, 0xb4, 0x30, 0x26, 0xdf, 0xa7, 0xe8,
0xd2, 0xfe, 0xf1, 0x68, 0x1c, 0xf4, 0x9f, 0x5f, 0xf0, 0xc8, 0xb8, 0xe4, 0xd4, 0x15, 0x79, 0x8f,
0x53, 0xed, 0x07, 0x4a, 0x29, 0x5d, 0x79, 0x72, 0x0d, 0x96, 0x5e, 0x32, 0xaa, 0xca, 0xce, 0xf1,
0xc9, 0xe7, 0xe3, 0xed, 0x9e, 0xfd, 0x0f, 0x7c, 0x00, 0xa5, 0xf9, 0x33, 0xf9, 0x80, 0xbe, 0x44,
0x3e, 0xb6, 0x04, 0xcb, 0x37, 0xc4, 0xb1, 0xf4, 0x64, 0xa6, 0xa6, 0x86, 0xec, 0x9e, 0x09, 0x2b,
0xe3, 0x94, 0xd8, 0x4f, 0x38, 0xc6, 0x40, 0xbf, 0xd2, 0x15, 0xf7, 0x2c, 0x11, 0xe9, 0x9d, 0x4b,
0x92, 0x1e, 0x5a, 0xe7, 0x2e, 0x94, 0xe8, 0x39, 0x1d, 0x05, 0xfe, 0x7a, 0x95, 0xc7, 0x85, 0x65,
0x95, 0x2e, 0xb6, 0x19, 0xd5, 0x91, 0x93, 0xf6, 0x8f, 0xe1, 0xf2, 0x2e, 0xcb, 0xeb, 0x1e, 0xa1,
0xf5, 0xf5, 0x0c, 0xb1, 0xd3, 0xd9, 0x95, 0x56, 0x29, 0x04, 0x9d, 0x5d, 0x52, 0x87, 0xfc, 0x76,
0x4b, 0xee, 0x21, 0xdf, 0x6f, 0xd9, 0xbf, 0xc4, 0x83, 0xd6, 0xe5, 0x32, 0x99, 0x29, 0x01, 0xae,
0x96, 0x2f, 0x44, 0xcb, 0x63, 0x2a, 0x4a, 0x3d, 0x6f, 0xec, 0x71, 0x83, 0x54, 0x1c, 0x31, 0xb0,
0xef, 0x48, 0x1d, 0x70, 0xcf, 0xe3, 0x17, 0xa1, 0xb3, 0x09, 0xb4, 0x5c, 0xa8, 0xea, 0x0e, 0xac,
0xc6, 0xb8, 0x32, 0x05, 0xa7, 0x7b, 0x70, 0x85, 0x83, 0xed, 0x50, 0x3a, 0x69, 0x0e, 0xfa, 0xe7,
0xa9, 0xab, 0x4e, 0xe0, 0x6a, 0x92, 0xf1, 0xff, 0x6b, 0x23, 0xfb, 0x0c, 0x4a, 0x4f, 0x78, 0xfd,
0xa8, 0xe9, 0x52, 0xe4, 0xbc, 0x18, 0x61, 0x46, 0xee, 0x50, 0x64, 0xf7, 0x15, 0x87, 0x7f, 0xf3,
0x68, 0x4e, 0xa9, 0x77, 0xe8, 0xec, 0x8a, 0x87, 0xa3, 0xe2, 0x84, 0x63, 0x72, 0x83, 0x55, 0xae,
0x7d, 0x74, 0x0f, 0x3e, 0x5b, 0xe4, 0xb3, 0x1a, 0x05, 0x2b, 0xa8, 0x15, 0xb1, 0x52, 0xb3, 0xd7,
0xd3, 0x5e, 0x8e, 0x10, 0x2f, 0x17, 0xc7, 0xb3, 0x5f, 0xc2, 0x65, 0x8d, 0x3f, 0x93, 0x19, 0x3e,
0x86, 0x92, 0x28, 0x92, 0x65, 0xd0, 0x5a, 0x8b, 0x4b, 0x89, 0x65, 0x1c, 0xc9, 0x63, 0xdf, 0x85,
0x55, 0x49, 0xa1, 0xc3, 0xb1, 0xe9, 0xac, 0xb8, 0x7d, 0xec, 0x5d, 0x58, 0x8b, 0xb3, 0x65, 0x72,
0x91, 0xa6, 0x5a, 0xf4, 0x70, 0xd2, 0xd3, 0x62, 0x60, 0xf2, 0x50, 0x74, 0x83, 0xe5, 0x13, 0x06,
0x0b, 0x15, 0x52, 0x10, 0x99, 0x14, 0x5a, 0x55, 0xe6, 0xdf, 0xed, 0xfb, 0xe1, 0x4b, 0xf7, 0x1a,
0x88, 0x4e, 0xcc, 0x74, 0x28, 0x0d, 0x28, 0x0b, 0x83, 0xab, 0xac, 0xca, 0x7c, 0x2a, 0x8a, 0x89,
0x29, 0xd4, 0xa2, 0xcf, 0x3d, 0xf7, 0x74, 0x48, 0xc3, 0x98, 0xc3, 0x52, 0x08, 0x9d, 0x98, 0x69,
0xc7, 0x7f, 0xc6, 0xe7, 0xb3, 0x39, 0x70, 0xbd, 0xa1, 0x32, 0xfe, 0x43, 0x28, 0x89, 0xdc, 0x44,
0x26, 0xf2, 0x1f, 0xc6, 0x61, 0x74, 0x5e, 0x31, 0x68, 0x8a, 0x4c, 0x46, 0x4a, 0xb1, 0xc3, 0x92,
0xbd, 0x99, 0x56, 0xa2, 0x57, 0xd3, 0x22, 0x9f, 0xc0, 0xa2, 0xcb, 0x44, 0xf8, 0x5d, 0xac, 0x6f,
0x7c, 0xcf, 0x00, 0xdd, 0xb9, 0x98, 0x50, 0x47, 0x70, 0xd9, 0x9f, 0x41, 0x55, 0x5b, 0x81, 0x65,
0xbd, 0x8f, 0xda, 0x1d, 0x4c, 0x85, 0x6b, 0xb0, 0xd4, 0xdc, 0xea, 0x6c, 0x1f, 0x89, 0x64, 0xb8,
0x0e, 0xd0, 0x6a, 0x87, 0xe3, 0x3c, 0x66, 0x41, 0x42, 0x4a, 0xde, 0x70, 0x5d, 0x9f, 0x5c, 0x9a,
0x3e, 0xf9, 0xb7, 0xd2, 0xe7, 0x15, 0x2c, 0xcb, 0xed, 0x67, 0xf2, 0x81, 0x4f, 0xd1, 0xc2, 0x0c,
0x46, 0xb9, 0xc0, 0x35, 0xc3, 0xb2, 0xea, 0x76, 0x0a, 0x46, 0x1b, 0xb3, 0x87, 0x83, 0xc0, 0x0d,
0xa6, 0xbe, 0x72, 0x81, 0x3f, 0xe5, 0xa0, 0xae, 0x28, 0x59, 0x8b, 0x79, 0x55, 0x2b, 0x89, 0x98,
0x17, 0x56, 0x4a, 0x57, 0xa1, 0xd4, 0x3b, 0x39, 0xe8, 0xbf, 0x56, 0x4d, 0x0d, 0x39, 0x62, 0xf4,
0x81, 0x58, 0x47, 0x74, 0xd4, 0xe4, 0x88, 0xa5, 0xdf, 0xac, 0xb7, 0xb6, 0x3d, 0xea, 0xd1, 0x57,
0xfc, 0xa5, 0x2d, 0x3a, 0x11, 0x81, 0xa7, 0xcb, 0xb2, 0xf3, 0xc6, 0x0b, 0x29, 0xbd, 0x13, 0x87,
0x4e, 0xde, 0x9c, 0x06, 0x67, 0xed, 0x11, 0x6b, 0x3a, 0xa9, 0x1d, 0xae, 0x01, 0x61, 0xc4, 0x56,
0xdf, 0xd7, 0xa9, 0x6d, 0x58, 0x65, 0x54, 0xf4, 0x7b, 0x4c, 0xa6, 0xa3, 0x88, 0xa1, 0xc2, 0x76,
0x2e, 0x11, 0xb6, 0x5d, 0xdf, 0x7f, 0x39, 0xf6, 0x7a, 0x72, 0x6b, 0xe1, 0xd8, 0x6e, 0x09, 0xf0,
0x43, 0x3f, 0x16, 0x98, 0xbf, 0x2b, 0xca, 0xfd, 0x08, 0xe5, 0x11, 0x0d, 0xe6, 0xa0, 0xd8, 0x1f,
0xc1, 0x15, 0xc5, 0x29, 0x8b, 0xe9, 0x39, 0xcc, 0xfb, 0xf0, 0xbe, 0x62, 0xde, 0x3a, 0x63, 0x89,
0xde, 0x53, 0xb9, 0xe0, 0xff, 0xaa, 0xe7, 0x43, 0x58, 0x0b, 0xf5, 0xd4, 0x73, 0x17, 0xc4, 0x99,
0xfa, 0xd2, 0x5f, 0x10, 0x87, 0x7d, 0x33, 0x9a, 0x37, 0x1e, 0x84, 0x0f, 0x20, 0xfb, 0xb6, 0xb7,
0xe0, 0x9a, 0x92, 0x97, 0x99, 0xc1, 0x78, 0x30, 0xd7, 0xf4, 0x26, 0x10, 0x69, 0x2c, 0x26, 0x3a,
0xdf, 0xe4, 0x3a, 0x67, 0xdc, 0xac, 0x1c, 0x33, 0xa7, 0x61, 0x4a, 0xb3, 0x32, 0xce, 0x19, 0xb3,
0xce, 0x30, 0x3b, 0xc2, 0x0a, 0x1c, 0x36, 0x61, 0x85, 0x99, 0x0d, 0x7c, 0x08, 0xc5, 0x09, 0x95,
0x71, 0xa1, 0xba, 0x41, 0x1a, 0xa2, 0x8b, 0xdd, 0x78, 0x8a, 0xb4, 0xbe, 0xcf, 0x6e, 0x87, 0xc3,
0xe7, 0xed, 0x47, 0x70, 0x53, 0x61, 0x0a, 0xcb, 0x68, 0x1c, 0xe9, 0xaa, 0xa8, 0x24, 0x5f, 0x98,
0x87, 0x7d, 0xb2, 0x90, 0xae, 0x5f, 0x81, 0x4c, 0x21, 0x7d, 0x47, 0xdc, 0x91, 0xf0, 0xe6, 0x64,
0x02, 0x3b, 0x11, 0x56, 0x8b, 0x2e, 0x5c, 0xa6, 0x68, 0x83, 0xc9, 0x69, 0x80, 0x56, 0x52, 0xb1,
0x46, 0x0c, 0x94, 0xc2, 0xe1, 0x6d, 0xcc, 0xa4, 0xb0, 0x1b, 0x81, 0x71, 0xef, 0xc9, 0xaa, 0x2f,
0x3b, 0x30, 0x95, 0x76, 0x88, 0x81, 0xbd, 0x07, 0x57, 0x93, 0xb7, 0x39, 0x93, 0xca, 0x47, 0x70,
0x23, 0xed, 0xc2, 0x67, 0xc2, 0x7d, 0x12, 0x45, 0x9d, 0x77, 0x50, 0x7b, 0xe0, 0x05, 0xb2, 0x4c,
0x61, 0xe0, 0x5d, 0xf8, 0x6a, 0x18, 0x15, 0x32, 0x81, 0xf9, 0x11, 0x58, 0xf6, 0xa3, 0x8f, 0x42,
0x40, 0x61, 0x6e, 0x08, 0x90, 0xce, 0xa0, 0xc7, 0xa0, 0x77, 0x71, 0x68, 0x5a, 0x98, 0xca, 0x04,
0xf7, 0x15, 0xdc, 0x4a, 0x8f, 0x50, 0x59, 0x90, 0x7f, 0x60, 0x43, 0x25, 0xcc, 0x90, 0xb4, 0x3f,
0x0e, 0x55, 0xa1, 0xbc, 0xb7, 0x7f, 0xf0, 0xb4, 0xb9, 0x85, 0xb9, 0xd9, 0xc6, 0x3f, 0xf3, 0x90,
0xdf, 0x39, 0x22, 0x9b, 0xb0, 0x28, 0xda, 0xda, 0x73, 0x1a, 0xff, 0xd6, 0xbc, 0x06, 0xb9, 0xbd,
0x40, 0x3e, 0x87, 0x02, 0x6b, 0x6c, 0xa7, 0x76, 0xfe, 0xad, 0xf4, 0xe6, 0x38, 0x4a, 0x77, 0xa0,
0xaa, 0x75, 0xb1, 0xc9, 0x1b, 0x3b, 0xff, 0xd6, 0x9b, 0x3b, 0xe4, 0x42, 0xa7, 0xce, 0xab, 0x51,
0x52, 0xa7, 0xa8, 0xeb, 0x9a, 0xd4, 0x49, 0xeb, 0x71, 0xa2, 0xf4, 0x9e, 0xec, 0x9e, 0x77, 0x03,
0x72, 0xd3, 0xd0, 0x8c, 0xd5, 0xbb, 0x8d, 0xd6, 0xad, 0x74, 0x06, 0x85, 0xb7, 0xb1, 0x0f, 0x8b,
0xbc, 0x13, 0x43, 0xbe, 0x50, 0x1f, 0x96, 0xa1, 0x4f, 0x95, 0x62, 0xee, 0x58, 0x0f, 0xc7, 0x5e,
0xb8, 0x9f, 0xfb, 0x61, 0x6e, 0xe3, 0xdb, 0x3c, 0x2c, 0xf2, 0xca, 0x9c, 0x7c, 0x09, 0x10, 0xb5,
0x30, 0x92, 0xda, 0xce, 0x34, 0x45, 0x92, 0xda, 0xce, 0x76, 0x3f, 0xc4, 0x89, 0x68, 0xbd, 0x06,
0x62, 0x12, 0x89, 0x35, 0x2b, 0x92, 0x27, 0x62, 0x68, 0x54, 0x20, 0xaa, 0x0b, 0xf5, 0x78, 0x2f,
0x81, 0xdc, 0x36, 0x88, 0x25, 0x5b, 0x12, 0xd6, 0x9d, 0xf9, 0x4c, 0x31, 0xab, 0xfc, 0x35, 0x8f,
0xe7, 0x26, 0xfe, 0x36, 0x8d, 0x47, 0x58, 0x09, 0xcb, 0x75, 0x72, 0xc3, 0x54, 0xca, 0x45, 0xb9,
0x8e, 0x75, 0x33, 0x75, 0x3e, 0x54, 0xff, 0x19, 0xd4, 0xf4, 0xf2, 0x9a, 0x7c, 0x60, 0xac, 0x0e,
0xf5, 0x0a, 0xdd, 0xb2, 0xe7, 0xb1, 0xcc, 0x02, 0x8b, 0x32, 0xd9, 0x0c, 0x1c, 0xab, 0xc2, 0xcd,
0xc0, 0xf1, 0x2a, 0x1b, 0x81, 0xd1, 0x33, 0xa2, 0xe2, 0x98, 0x18, 0xb7, 0xa8, 0xd5, 0xd2, 0x49,
0xcf, 0x98, 0xad, 0xab, 0xd1, 0x8f, 0xff, 0x93, 0x87, 0xea, 0x13, 0xb7, 0x3f, 0x0a, 0xe8, 0x88,
0x35, 0xf3, 0x58, 0xf4, 0xe0, 0x81, 0x26, 0xe9, 0xce, 0x7a, 0x29, 0x9a, 0x74, 0xe7, 0x58, 0x9d,
0x86, 0x6a, 0xb6, 0xa1, 0x24, 0xca, 0x25, 0x92, 0x60, 0x8c, 0x95, 0x55, 0xd6, 0x7b, 0xe6, 0x49,
0x7d, 0xb7, 0x51, 0xe5, 0x9d, 0xdc, 0xed, 0x4c, 0xa1, 0x6e, 0xdd, 0x4a, 0x67, 0x08, 0x21, 0x7f,
0x06, 0x45, 0xd6, 0xb4, 0x27, 0x89, 0x50, 0xa1, 0xf5, 0xf5, 0x2d, 0xcb, 0x34, 0x15, 0x02, 0x3c,
0x81, 0x25, 0xd5, 0x87, 0x27, 0xef, 0x27, 0xf4, 0x8f, 0xf7, 0xec, 0xad, 0x1b, 0x69, 0xd3, 0x0a,
0x0c, 0xdd, 0xfb, 0xd7, 0x00, 0x45, 0xf6, 0x62, 0xb0, 0xbd, 0x46, 0x29, 0x69, 0x72, 0xaf, 0x33,
0xf5, 0x5a, 0x72, 0xaf, 0xb3, 0xd9, 0xac, 0xb8, 0xf3, 0x5a, 0x66, 0x4a, 0x0c, 0x22, 0xf1, 0x72,
0x2f, 0x79, 0xe7, 0x0d, 0x69, 0xad, 0xf0, 0x6d, 0x3d, 0x45, 0x25, 0x06, 0xa1, 0x44, 0xbd, 0x98,
0xf4, 0x6d, 0x53, 0x86, 0x8b, 0xc0, 0x4f, 0xa1, 0x2c, 0x73, 0x52, 0x93, 0xaa, 0xf1, 0xe2, 0xd1,
0xa4, 0x6a, 0x22, 0xa1, 0x8d, 0x10, 0x31, 0x3b, 0x49, 0x43, 0x8c, 0x2a, 0x9e, 0x34, 0x44, 0x2d,
0xb5, 0x41, 0xc4, 0xaf, 0x01, 0xa2, 0x3c, 0x34, 0x19, 0xec, 0x8c, 0x35, 0x67, 0x32, 0xd8, 0x99,
0x53, 0x59, 0x84, 0xfe, 0x06, 0xc8, 0x6c, 0x4a, 0x4a, 0x3e, 0x32, 0x4b, 0x1b, 0x2b, 0x55, 0xeb,
0xe3, 0xb7, 0x63, 0x0e, 0x97, 0x3c, 0x82, 0x4a, 0x98, 0xad, 0x12, 0x3b, 0x65, 0xff, 0xfa, 0x4b,
0x73, 0x7b, 0x2e, 0x4f, 0x88, 0x4b, 0xa1, 0x1e, 0x4f, 0x5b, 0xc9, 0x3d, 0xb3, 0xe0, 0x4c, 0x7d,
0x6b, 0xdd, 0x7f, 0x33, 0xa3, 0x7e, 0xbc, 0x32, 0x93, 0x35, 0x1d, 0x6f, 0xbc, 0xf4, 0x35, 0x1d,
0x6f, 0x22, 0x0d, 0x8e, 0x10, 0x53, 0x1c, 0x26, 0x5e, 0x22, 0xa7, 0x21, 0xce, 0x38, 0x4c, 0x94,
0xab, 0x9a, 0x1c, 0x66, 0xa6, 0x9a, 0x36, 0x39, 0xcc, 0x6c, 0xba, 0x2b, 0x4e, 0x2f, 0x4c, 0x5b,
0x4d, 0xa7, 0x97, 0x2c, 0xbd, 0xad, 0xdb, 0x73, 0x79, 0x42, 0xdc, 0x97, 0xb0, 0x66, 0xca, 0x5f,
0xc9, 0x27, 0x66, 0xf1, 0x94, 0x4a, 0xdc, 0x6a, 0xbc, 0x2d, 0xbb, 0x5a, 0x78, 0xb3, 0xf6, 0xc7,
0xbf, 0xdf, 0xc8, 0xfd, 0x05, 0xff, 0xfd, 0x0d, 0xff, 0x9d, 0x94, 0xf8, 0xff, 0x5f, 0xfb, 0xd1,
0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x04, 0xd6, 0x7a, 0x9e, 0x28, 0x27, 0x00, 0x00,
// 2650 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x5a, 0x4b, 0x6f, 0x1b, 0xc9,
0x11, 0x16, 0x1f, 0x22, 0xc5, 0x22, 0x45, 0xcb, 0x2d, 0xd9, 0x91, 0xc7, 0xeb, 0xc7, 0x8e, 0x9f,
0xc9, 0x7a, 0xe5, 0xac, 0xb2, 0x39, 0x04, 0x59, 0x6c, 0x40, 0x89, 0x5c, 0x5b, 0x91, 0x2c, 0xd9,
0x23, 0x4a, 0xde, 0x05, 0x02, 0x08, 0x43, 0xb2, 0x2d, 0x11, 0xe6, 0x6b, 0x67, 0x86, 0xb2, 0x65,
0x20, 0x97, 0x00, 0xf9, 0x05, 0x9b, 0x53, 0x90, 0x3f, 0x90, 0x73, 0x90, 0xff, 0x10, 0xe4, 0x92,
0xfc, 0x82, 0x20, 0xc8, 0x29, 0xc8, 0x25, 0xf7, 0xe4, 0x92, 0xea, 0xd7, 0x4c, 0xcf, 0xb0, 0x47,
0xf2, 0x66, 0x92, 0x83, 0xed, 0xe9, 0xea, 0xaa, 0xaf, 0xab, 0xab, 0xab, 0xab, 0xab, 0x8a, 0x86,
0x8a, 0x37, 0xe9, 0xae, 0x4d, 0xbc, 0x71, 0x30, 0x26, 0x35, 0x1a, 0x74, 0x7b, 0x3e, 0xf5, 0x4e,
0xa9, 0x37, 0xe9, 0x58, 0x2b, 0xc7, 0xe3, 0xe3, 0x31, 0x9f, 0x78, 0xcc, 0xbe, 0x04, 0x8f, 0x75,
0x8d, 0xf1, 0x3c, 0x1e, 0x9e, 0x76, 0xbb, 0xfc, 0xaf, 0x49, 0xe7, 0xf1, 0xeb, 0x53, 0x39, 0x75,
0x9d, 0x4f, 0xb9, 0xd3, 0xe0, 0x84, 0xff, 0x85, 0x53, 0xec, 0x1f, 0x31, 0x69, 0xff, 0x32, 0x07,
0x75, 0x87, 0xfa, 0x93, 0xf1, 0xc8, 0xa7, 0x4f, 0xa9, 0xdb, 0xa3, 0x1e, 0xb9, 0x01, 0xd0, 0x1d,
0x4c, 0xfd, 0x80, 0x7a, 0x47, 0xfd, 0xde, 0x6a, 0xee, 0x76, 0xee, 0x61, 0xd1, 0xa9, 0x48, 0xca,
0x56, 0x8f, 0x5c, 0x87, 0xca, 0x90, 0x0e, 0x3b, 0x62, 0x36, 0xcf, 0x67, 0x17, 0x04, 0x01, 0x27,
0x2d, 0x58, 0xf0, 0xe8, 0x69, 0xdf, 0xef, 0x8f, 0x47, 0xab, 0x05, 0x9c, 0x2b, 0x38, 0xe1, 0x98,
0x09, 0x7a, 0xee, 0xab, 0xe0, 0x08, 0x61, 0x86, 0xab, 0x45, 0x21, 0xc8, 0x08, 0x6d, 0x1c, 0xdb,
0xbf, 0x2a, 0x40, 0xcd, 0x71, 0x47, 0xc7, 0xd4, 0xa1, 0x5f, 0x4f, 0xa9, 0x1f, 0x90, 0x25, 0x28,
0xbc, 0xa6, 0x67, 0x7c, 0xf9, 0x9a, 0xc3, 0x3e, 0x85, 0x3c, 0x72, 0x1c, 0xd1, 0x91, 0x58, 0xb8,
0xc6, 0xe4, 0x91, 0xd0, 0x1a, 0xf5, 0xc8, 0x0a, 0xcc, 0x0f, 0xfa, 0xc3, 0x7e, 0x20, 0x57, 0x15,
0x83, 0x98, 0x3a, 0xc5, 0x84, 0x3a, 0x9b, 0x00, 0xfe, 0xd8, 0x0b, 0x8e, 0xc6, 0x1e, 0x6e, 0x7a,
0x75, 0x1e, 0x67, 0xeb, 0xeb, 0x77, 0xd7, 0x74, 0x53, 0xaf, 0xe9, 0x0a, 0xad, 0xed, 0x23, 0xf3,
0x1e, 0xe3, 0x75, 0x2a, 0xbe, 0xfa, 0x24, 0x5f, 0x40, 0x95, 0x83, 0x04, 0xae, 0x77, 0x4c, 0x83,
0xd5, 0x12, 0x47, 0xb9, 0x77, 0x01, 0x4a, 0x9b, 0x33, 0x3b, 0x7c, 0x79, 0xf1, 0x4d, 0x6c, 0xa8,
0x21, 0x7f, 0xdf, 0x1d, 0xf4, 0xdf, 0xb9, 0x9d, 0x01, 0x5d, 0x2d, 0x23, 0xd0, 0x82, 0x13, 0xa3,
0xd9, 0x6b, 0x50, 0x09, 0x75, 0x20, 0x0b, 0x50, 0xdc, 0xdd, 0xdb, 0x6d, 0x2d, 0xcd, 0x11, 0x80,
0x52, 0x63, 0x7f, 0xb3, 0xb5, 0xdb, 0x5c, 0xca, 0x91, 0x2a, 0x94, 0x9b, 0x2d, 0x31, 0xc8, 0xdb,
0x1b, 0x00, 0xd1, 0x6a, 0xa4, 0x0c, 0x85, 0xed, 0xd6, 0x57, 0xc8, 0x8f, 0x3c, 0x87, 0x2d, 0x67,
0x7f, 0x6b, 0x6f, 0x17, 0x05, 0x50, 0x78, 0xd3, 0x69, 0x35, 0xda, 0xad, 0xa5, 0x3c, 0xe3, 0x78,
0xb6, 0xd7, 0x5c, 0x2a, 0x90, 0x0a, 0xcc, 0x1f, 0x36, 0x76, 0x0e, 0x5a, 0x4b, 0x45, 0xfb, 0xe7,
0xb0, 0x28, 0xd5, 0x17, 0x2e, 0x42, 0x3e, 0x85, 0xd2, 0x09, 0x77, 0x13, 0x7e, 0x32, 0xd5, 0xf5,
0x0f, 0x12, 0x7b, 0x8d, 0xb9, 0x92, 0x23, 0x79, 0x71, 0x7b, 0x85, 0xd7, 0xa7, 0x3e, 0x1e, 0x5a,
0x01, 0x45, 0x96, 0xd6, 0x84, 0x87, 0xae, 0x6d, 0xd3, 0xb3, 0x43, 0x77, 0x30, 0xa5, 0x0e, 0x9b,
0x24, 0x04, 0x8a, 0xc3, 0xb1, 0x47, 0xf9, 0x01, 0x2e, 0x38, 0xfc, 0xdb, 0xfe, 0x29, 0xc0, 0xf3,
0x69, 0x90, 0xee, 0x12, 0x78, 0xea, 0xa7, 0x0c, 0x41, 0xba, 0x83, 0x18, 0x70, 0x5f, 0xa0, 0xae,
0x4f, 0x43, 0x5f, 0x60, 0x03, 0x7b, 0x13, 0xaa, 0x1c, 0x2b, 0xcb, 0x46, 0x10, 0x84, 0x34, 0xe9,
0x80, 0x06, 0x34, 0x83, 0xaf, 0xda, 0x14, 0x96, 0x63, 0x20, 0x99, 0x4c, 0xbb, 0x0a, 0xe5, 0x1e,
0x07, 0x13, 0xeb, 0x14, 0x1c, 0x35, 0xb4, 0xff, 0x99, 0xc3, 0x2b, 0x25, 0x34, 0x3c, 0x18, 0x31,
0x8f, 0x6f, 0xc0, 0xa2, 0x27, 0xc6, 0x47, 0x5c, 0x17, 0xb9, 0x8e, 0x95, 0xee, 0xae, 0x4f, 0xe7,
0x9c, 0x9a, 0x14, 0xe1, 0x64, 0xf2, 0x63, 0xa8, 0x2a, 0x88, 0xc9, 0x34, 0xe0, 0x2b, 0x56, 0xd7,
0x57, 0xe3, 0x00, 0xd1, 0x89, 0xa1, 0x38, 0x48, 0x76, 0x24, 0x92, 0x36, 0xac, 0x28, 0x61, 0xa1,
0xa3, 0x54, 0xa3, 0xc0, 0x51, 0x6e, 0xc7, 0x51, 0x66, 0xcd, 0x8c, 0x68, 0x44, 0xca, 0x6b, 0x93,
0x1b, 0x15, 0x28, 0x4b, 0xaa, 0xfd, 0xaf, 0x1c, 0xba, 0xab, 0x34, 0x93, 0xd8, 0x72, 0x13, 0xea,
0x9e, 0x24, 0xc4, 0xf6, 0x7c, 0xdd, 0xb8, 0x67, 0x69, 0xe0, 0x39, 0x67, 0x51, 0x09, 0x89, 0x5d,
0x7f, 0x0e, 0xb5, 0x10, 0x25, 0xda, 0xf6, 0x35, 0xc3, 0xb6, 0x43, 0x84, 0xaa, 0x12, 0x60, 0x1b,
0x7f, 0x09, 0x57, 0x42, 0x79, 0xc3, 0xce, 0x3f, 0x3c, 0x67, 0xe7, 0x21, 0xe0, 0xb2, 0x42, 0xd0,
0xf7, 0x0e, 0x2c, 0xbe, 0x09, 0xb2, 0xfd, 0xeb, 0x02, 0x94, 0x37, 0xc7, 0xc3, 0x89, 0xeb, 0xb1,
0x63, 0x2a, 0x21, 0x7d, 0x3a, 0x08, 0xf8, 0x76, 0xeb, 0xeb, 0x77, 0xe2, 0x2b, 0x48, 0x36, 0xf5,
0xaf, 0xc3, 0x59, 0x1d, 0x29, 0xc2, 0x84, 0x65, 0x38, 0xcb, 0xbf, 0x87, 0xb0, 0x0c, 0x66, 0x52,
0x44, 0x5d, 0x85, 0x42, 0x74, 0x15, 0x2c, 0x28, 0xa3, 0x60, 0x14, 0x82, 0x71, 0x2f, 0x8a, 0x40,
0xbe, 0x0b, 0x97, 0xba, 0x1e, 0x75, 0x99, 0x3d, 0x54, 0x98, 0x9e, 0x97, 0x3c, 0x75, 0x31, 0xe1,
0xa8, 0x70, 0x7d, 0x07, 0x6a, 0xc3, 0x71, 0x2f, 0xe2, 0x2b, 0x49, 0xbe, 0x2a, 0x52, 0x43, 0xa6,
0xab, 0x2a, 0x1e, 0xb0, 0xf8, 0x59, 0xc3, 0x59, 0x31, 0xb4, 0x3f, 0x81, 0xc5, 0xd8, 0x5e, 0x59,
0x88, 0x6b, 0xbd, 0x38, 0x68, 0xec, 0x88, 0x78, 0xf8, 0x84, 0x87, 0x40, 0x07, 0xe3, 0x21, 0x86,
0xd5, 0x9d, 0xd6, 0xfe, 0x3e, 0x46, 0xcf, 0xcf, 0x42, 0x11, 0x19, 0x40, 0xb5, 0xb8, 0x39, 0xa7,
0xc5, 0xcd, 0x9c, 0x8a, 0x9b, 0xf9, 0x28, 0x6e, 0x16, 0x36, 0xea, 0x50, 0x13, 0x06, 0x39, 0x9a,
0x32, 0x3f, 0xb4, 0x7f, 0x9b, 0x03, 0x68, 0xbf, 0x1d, 0xa9, 0x80, 0xf1, 0x18, 0xca, 0x5d, 0x01,
0x8e, 0x07, 0xc4, 0x62, 0xe2, 0x15, 0xa3, 0x8d, 0x1d, 0xc5, 0x85, 0xb1, 0xa1, 0xec, 0x4f, 0xbb,
0x5d, 0xea, 0xab, 0x20, 0x9a, 0xbc, 0xb4, 0xda, 0x3d, 0x77, 0x14, 0x2b, 0x93, 0x7a, 0xe5, 0xf6,
0x07, 0x53, 0x1e, 0x55, 0x2f, 0x94, 0x92, 0xac, 0xf6, 0x6f, 0x72, 0x50, 0xe5, 0xba, 0x66, 0x8a,
0x4b, 0x1f, 0x40, 0x85, 0xab, 0x41, 0x7b, 0x32, 0x32, 0x2d, 0x38, 0x11, 0x81, 0xfc, 0x08, 0xe3,
0xa3, 0x94, 0xf3, 0xa5, 0x6e, 0xd7, 0xcd, 0xb0, 0x42, 0xb9, 0x88, 0xdb, 0xde, 0x86, 0xcb, 0xdc,
0x3c, 0xdd, 0x80, 0x4d, 0x48, 0x83, 0xea, 0x0f, 0x7d, 0x2e, 0xf1, 0xd0, 0xe3, 0xdc, 0xe4, 0xe4,
0xcc, 0xef, 0x77, 0xdd, 0x81, 0x54, 0x24, 0x1c, 0xe3, 0x03, 0x43, 0x74, 0xb0, 0x4c, 0x6f, 0xc3,
0x22, 0x54, 0x9f, 0xba, 0xfe, 0x89, 0x54, 0xc9, 0xfe, 0x12, 0x6a, 0x62, 0x98, 0xc9, 0x8c, 0xf8,
0x2a, 0x9e, 0x20, 0x0a, 0x57, 0x7c, 0xd1, 0xe1, 0xdf, 0xf6, 0x65, 0xb8, 0xb4, 0x3f, 0x72, 0x27,
0xfe, 0xc9, 0x58, 0x05, 0x5a, 0x96, 0xc6, 0x2d, 0x45, 0xb4, 0x4c, 0x2b, 0x3e, 0x80, 0x4b, 0x1e,
0x1d, 0xba, 0xfd, 0x51, 0x7f, 0x74, 0x7c, 0xd4, 0x39, 0x0b, 0xa8, 0x2f, 0xb3, 0xbc, 0x7a, 0x48,
0xde, 0x60, 0x54, 0xa6, 0x5a, 0x67, 0x30, 0xee, 0xc8, 0xbb, 0xce, 0xbf, 0xed, 0xdf, 0xe3, 0x9b,
0xf3, 0xd2, 0x0d, 0xba, 0xca, 0x0a, 0x64, 0x0b, 0xea, 0xe1, 0x0d, 0xe7, 0x14, 0xa9, 0x4b, 0x22,
0xda, 0x73, 0x99, 0x4d, 0x79, 0xe3, 0x55, 0xb4, 0x5f, 0xec, 0xea, 0x04, 0x0e, 0xe5, 0x8e, 0xba,
0x74, 0x10, 0x42, 0xe5, 0xd3, 0xa1, 0x38, 0xa3, 0x0e, 0xa5, 0x13, 0x36, 0x2e, 0x45, 0x2f, 0xa1,
0xb8, 0x9f, 0xdf, 0xe4, 0x80, 0xcc, 0xea, 0xf0, 0x6d, 0x93, 0xd0, 0x7b, 0x50, 0xf7, 0xf1, 0xda,
0x07, 0x47, 0x89, 0x1c, 0x78, 0x91, 0x53, 0xc3, 0x28, 0x85, 0x16, 0xc6, 0xe4, 0xfb, 0x18, 0x5d,
0xda, 0x3f, 0x1a, 0x8d, 0x83, 0xfe, 0xab, 0x33, 0x1e, 0x19, 0x17, 0x9c, 0xba, 0x22, 0xef, 0x72,
0xaa, 0xfd, 0x58, 0x29, 0xa5, 0x2b, 0x4f, 0xae, 0xc1, 0xc2, 0x1b, 0x46, 0x55, 0xd9, 0x39, 0x3e,
0xf9, 0x7c, 0xbc, 0xd5, 0xb3, 0xff, 0x8e, 0x0f, 0xa0, 0x34, 0x7f, 0x26, 0x1f, 0xd0, 0x97, 0xc8,
0xc7, 0x96, 0x60, 0xf9, 0x86, 0x38, 0x96, 0x9e, 0xcc, 0xd4, 0xd4, 0x90, 0xdd, 0x33, 0x61, 0x65,
0x9c, 0x12, 0xfb, 0x09, 0xc7, 0x18, 0xe8, 0x97, 0xba, 0xe2, 0x9e, 0x25, 0x22, 0xbd, 0x73, 0x49,
0xd2, 0x43, 0xeb, 0xdc, 0x83, 0x12, 0x3d, 0xa5, 0xa3, 0xc0, 0x5f, 0xad, 0xf2, 0xb8, 0xb0, 0xa8,
0xd2, 0xc5, 0x16, 0xa3, 0x3a, 0x72, 0xd2, 0xfe, 0x21, 0x5c, 0xde, 0x61, 0x79, 0xdd, 0x13, 0xb4,
0xbe, 0x9e, 0x21, 0xb6, 0xdb, 0x3b, 0xd2, 0x2a, 0x85, 0xa0, 0xbd, 0x43, 0xea, 0x90, 0xdf, 0x6a,
0xca, 0x3d, 0xe4, 0xfb, 0x4d, 0xfb, 0x17, 0x78, 0xd0, 0xba, 0x5c, 0x26, 0x33, 0x25, 0xc0, 0xd5,
0xf2, 0x85, 0x68, 0x79, 0x4c, 0x45, 0xa9, 0xe7, 0x8d, 0x3d, 0x6e, 0x90, 0x8a, 0x23, 0x06, 0xf6,
0x5d, 0xa9, 0x03, 0xee, 0x79, 0xfc, 0x3a, 0x74, 0x36, 0x81, 0x96, 0x0b, 0x55, 0xdd, 0x86, 0xe5,
0x18, 0x57, 0xa6, 0xe0, 0xf4, 0x00, 0xae, 0x70, 0xb0, 0x6d, 0x4a, 0x27, 0x8d, 0x41, 0xff, 0x34,
0x75, 0xd5, 0x09, 0x5c, 0x4d, 0x32, 0xfe, 0x7f, 0x6d, 0x64, 0x9f, 0x40, 0xe9, 0x19, 0xaf, 0x1f,
0x35, 0x5d, 0x8a, 0x9c, 0x17, 0x23, 0xcc, 0xc8, 0x1d, 0x8a, 0xec, 0xbe, 0xe2, 0xf0, 0x6f, 0x1e,
0xcd, 0x29, 0xf5, 0x0e, 0x9c, 0x1d, 0xf1, 0x70, 0x54, 0x9c, 0x70, 0x4c, 0x6e, 0xb2, 0xca, 0xb5,
0x8f, 0xee, 0xc1, 0x67, 0x8b, 0x7c, 0x56, 0xa3, 0x60, 0x05, 0xb5, 0x24, 0x56, 0x6a, 0xf4, 0x7a,
0xda, 0xcb, 0x11, 0xe2, 0xe5, 0xe2, 0x78, 0xf6, 0x1b, 0xb8, 0xac, 0xf1, 0x67, 0x32, 0xc3, 0x23,
0x28, 0x89, 0x22, 0x59, 0x06, 0xad, 0x95, 0xb8, 0x94, 0x58, 0xc6, 0x91, 0x3c, 0xf6, 0x3d, 0x58,
0x96, 0x14, 0x3a, 0x1c, 0x9b, 0xce, 0x8a, 0xdb, 0xc7, 0xde, 0x81, 0x95, 0x38, 0x5b, 0x26, 0x17,
0x69, 0xa8, 0x45, 0x0f, 0x26, 0x3d, 0x2d, 0x06, 0x26, 0x0f, 0x45, 0x37, 0x58, 0x3e, 0x61, 0xb0,
0x50, 0x21, 0x05, 0x91, 0x49, 0xa1, 0x65, 0x65, 0xfe, 0x9d, 0xbe, 0x1f, 0xbe, 0x74, 0xef, 0x80,
0xe8, 0xc4, 0x4c, 0x87, 0xb2, 0x06, 0x65, 0x61, 0x70, 0x95, 0x55, 0x99, 0x4f, 0x45, 0x31, 0x31,
0x85, 0x9a, 0xf4, 0x95, 0xe7, 0x1e, 0x0f, 0x69, 0x18, 0x73, 0x58, 0x0a, 0xa1, 0x13, 0x33, 0xed,
0xf8, 0x4f, 0xf8, 0x7c, 0x36, 0x06, 0xae, 0x37, 0x54, 0xc6, 0xff, 0x1c, 0x4a, 0x22, 0x37, 0x91,
0x89, 0xfc, 0xfd, 0x38, 0x8c, 0xce, 0x2b, 0x06, 0x0d, 0x91, 0xc9, 0x48, 0x29, 0x76, 0x58, 0xb2,
0x37, 0xd3, 0x4c, 0xf4, 0x6a, 0x9a, 0xe4, 0x63, 0x98, 0x77, 0x99, 0x08, 0xbf, 0x8b, 0xf5, 0xf5,
0xef, 0x18, 0xa0, 0xdb, 0x67, 0x13, 0xea, 0x08, 0x2e, 0xfb, 0x53, 0xa8, 0x6a, 0x2b, 0xb0, 0xac,
0xf7, 0x49, 0xab, 0x8d, 0xa9, 0x70, 0x0d, 0x16, 0x1a, 0x9b, 0xed, 0xad, 0x43, 0x91, 0x0c, 0xd7,
0x01, 0x9a, 0xad, 0x70, 0x9c, 0xc7, 0x2c, 0x48, 0x48, 0xc9, 0x1b, 0xae, 0xeb, 0x93, 0x4b, 0xd3,
0x27, 0xff, 0x5e, 0xfa, 0xbc, 0x85, 0x45, 0xb9, 0xfd, 0x4c, 0x3e, 0xf0, 0x09, 0x5a, 0x98, 0xc1,
0x28, 0x17, 0xb8, 0x66, 0x58, 0x56, 0xdd, 0x4e, 0xc1, 0x68, 0x63, 0xf6, 0xb0, 0x1f, 0xb8, 0xc1,
0xd4, 0x57, 0x2e, 0xf0, 0xc7, 0x1c, 0xd4, 0x15, 0x25, 0x6b, 0x31, 0xaf, 0x6a, 0x25, 0x11, 0xf3,
0xc2, 0x4a, 0xe9, 0x2a, 0x94, 0x7a, 0x9d, 0xfd, 0xfe, 0x3b, 0xd5, 0xd4, 0x90, 0x23, 0x46, 0x1f,
0x88, 0x75, 0x44, 0x47, 0x4d, 0x8e, 0x58, 0xfa, 0xcd, 0x7a, 0x6b, 0x5b, 0xa3, 0x1e, 0x7d, 0xcb,
0x5f, 0xda, 0xa2, 0x13, 0x11, 0x78, 0xba, 0x2c, 0x3b, 0x6f, 0xbc, 0x90, 0xd2, 0x3b, 0x71, 0xe8,
0xe4, 0x8d, 0x69, 0x70, 0xd2, 0x1a, 0xb1, 0xa6, 0x93, 0xda, 0xe1, 0x0a, 0x10, 0x46, 0x6c, 0xf6,
0x7d, 0x9d, 0xda, 0x82, 0x65, 0x46, 0x45, 0xbf, 0xc7, 0x64, 0x3a, 0x8a, 0x18, 0x2a, 0x6c, 0xe7,
0x12, 0x61, 0xdb, 0xf5, 0xfd, 0x37, 0x63, 0xaf, 0x27, 0xb7, 0x16, 0x8e, 0xed, 0xa6, 0x00, 0x3f,
0xf0, 0x63, 0x81, 0xf9, 0xdb, 0xa2, 0x3c, 0x8c, 0x50, 0x9e, 0xd0, 0xe0, 0x1c, 0x14, 0xfb, 0x23,
0xb8, 0xa2, 0x38, 0x65, 0x31, 0x7d, 0x0e, 0xf3, 0x1e, 0xdc, 0x50, 0xcc, 0x9b, 0x27, 0x2c, 0xd1,
0x7b, 0x2e, 0x17, 0xfc, 0x6f, 0xf5, 0xdc, 0x80, 0xd5, 0x50, 0x4f, 0x9e, 0x83, 0x8c, 0x07, 0xba,
0x02, 0x53, 0x5f, 0xfa, 0x0c, 0x62, 0xb1, 0x6f, 0x46, 0xf3, 0x90, 0x45, 0x3d, 0x82, 0xec, 0xdb,
0xde, 0x84, 0x6b, 0x0a, 0x43, 0x66, 0x07, 0x71, 0x90, 0x19, 0x85, 0x4c, 0x20, 0xd2, 0x60, 0x4c,
0xf4, 0x7c, 0xb3, 0xeb, 0x9c, 0x71, 0xd3, 0x72, 0xcc, 0x9c, 0x86, 0x29, 0x4d, 0xcb, 0x38, 0x67,
0x4c, 0x3b, 0xc3, 0xfc, 0x33, 0xb8, 0x19, 0xc2, 0x32, 0x4b, 0x3c, 0x47, 0xf7, 0xeb, 0xfb, 0xbe,
0x56, 0xd6, 0x99, 0xb6, 0x72, 0x1f, 0x8a, 0x13, 0x2a, 0xa3, 0x44, 0x75, 0x9d, 0xac, 0x89, 0x9e,
0xf6, 0x9a, 0x26, 0xcc, 0xe7, 0xed, 0x27, 0x70, 0x4b, 0xa1, 0x0b, 0x1b, 0x19, 0xe1, 0x93, 0x4a,
0xa9, 0x94, 0x5f, 0x18, 0x8a, 0x7d, 0xb2, 0x00, 0xaf, 0x5f, 0x88, 0x4c, 0x01, 0x7e, 0x5b, 0xdc,
0x98, 0xf0, 0x1e, 0x65, 0x02, 0xeb, 0xc0, 0x4a, 0xfc, 0xfa, 0x65, 0x8a, 0x3d, 0x98, 0xaa, 0x06,
0x68, 0x25, 0x15, 0x79, 0xc4, 0x40, 0x29, 0x1c, 0xde, 0xcd, 0x4c, 0x0a, 0xbb, 0x11, 0x18, 0xf7,
0xa3, 0xac, 0xfa, 0xb2, 0x03, 0x53, 0x49, 0x88, 0x18, 0xd8, 0xbb, 0x70, 0x35, 0x79, 0xb7, 0x33,
0xa9, 0x7c, 0x28, 0x7c, 0xd4, 0x74, 0xfd, 0x33, 0xe1, 0xbe, 0x88, 0x6e, 0xb0, 0x16, 0x05, 0x32,
0x41, 0x3a, 0x60, 0x99, 0x82, 0xc2, 0xff, 0xc2, 0x5f, 0xc3, 0x18, 0x91, 0x09, 0xcc, 0x8f, 0xc0,
0xb2, 0x1f, 0x7f, 0x14, 0x06, 0x0a, 0xe7, 0x86, 0x01, 0xe9, 0x10, 0x7a, 0x44, 0xca, 0xb4, 0x89,
0x97, 0x51, 0x58, 0x99, 0x09, 0x5a, 0x99, 0x80, 0xbf, 0x84, 0xdb, 0xe9, 0xf1, 0x2a, 0x0b, 0xf2,
0xf7, 0x6c, 0xa8, 0x84, 0xd9, 0x93, 0xf6, 0xc3, 0x51, 0x15, 0xca, 0xbb, 0x7b, 0xfb, 0xcf, 0x1b,
0x9b, 0x98, 0xb7, 0xad, 0xff, 0x23, 0x0f, 0xf9, 0xed, 0x43, 0xb2, 0x01, 0xf3, 0xa2, 0xe5, 0x7d,
0xce, 0x8f, 0x02, 0xd6, 0x79, 0xcd, 0x73, 0x7b, 0x8e, 0x7c, 0x06, 0x05, 0xd6, 0xf4, 0x4e, 0xfd,
0x55, 0xc0, 0x4a, 0x6f, 0x9c, 0xa3, 0x74, 0x1b, 0xaa, 0x5a, 0x87, 0x9b, 0x5c, 0xf8, 0xab, 0x80,
0x75, 0x71, 0xf7, 0x5c, 0xe8, 0xd4, 0x7e, 0x3b, 0x4a, 0xea, 0x14, 0x75, 0x64, 0x93, 0x3a, 0x69,
0xfd, 0x4f, 0x94, 0xde, 0x95, 0x9d, 0xf5, 0x6e, 0x40, 0x6e, 0x19, 0x1a, 0xb5, 0x7a, 0x27, 0xd2,
0xba, 0x9d, 0xce, 0xa0, 0xf0, 0xd6, 0xf7, 0x60, 0x9e, 0x77, 0x69, 0xc8, 0x17, 0xea, 0xc3, 0x32,
0xf4, 0xb0, 0x52, 0xcc, 0x1d, 0xeb, 0xef, 0xd8, 0x73, 0x0f, 0x73, 0xdf, 0xcf, 0xad, 0x7f, 0x93,
0x87, 0x79, 0x5e, 0xb5, 0x93, 0x17, 0x00, 0x51, 0x7b, 0x23, 0xa9, 0xed, 0x4c, 0xc3, 0x24, 0xa9,
0xed, 0x6c, 0x67, 0x44, 0x9c, 0x88, 0xd6, 0x87, 0x20, 0x26, 0x91, 0x58, 0x23, 0x23, 0x79, 0x22,
0x86, 0x26, 0x06, 0xa2, 0xba, 0x50, 0x8f, 0xf7, 0x19, 0xc8, 0x1d, 0x83, 0x58, 0xb2, 0x5d, 0x61,
0xdd, 0x3d, 0x9f, 0x29, 0x66, 0x95, 0xbf, 0xe4, 0xf1, 0xdc, 0xc4, 0xef, 0xd6, 0x78, 0x84, 0x95,
0xb0, 0x94, 0x27, 0x37, 0x4d, 0x65, 0x5e, 0x94, 0x03, 0x59, 0xb7, 0x52, 0xe7, 0x43, 0xf5, 0x5f,
0x42, 0x4d, 0x2f, 0xbd, 0xc9, 0x87, 0xc6, 0xca, 0x51, 0xaf, 0xde, 0x2d, 0xfb, 0x3c, 0x96, 0x59,
0x60, 0x51, 0x42, 0x9b, 0x81, 0x63, 0x15, 0xba, 0x19, 0x38, 0x5e, 0x81, 0x23, 0x30, 0x7a, 0x46,
0x54, 0x38, 0x13, 0xe3, 0x16, 0xb5, 0x3a, 0x3b, 0xe9, 0x19, 0xb3, 0x35, 0x37, 0xfa, 0xf1, 0xbf,
0xf3, 0x50, 0x7d, 0xe6, 0xf6, 0x47, 0x01, 0x1d, 0xb1, 0x46, 0x1f, 0x8b, 0x1e, 0x3c, 0xd0, 0x24,
0xdd, 0x59, 0x2f, 0x53, 0x93, 0xee, 0x1c, 0xab, 0xe1, 0x50, 0xcd, 0x16, 0x94, 0x44, 0x29, 0x45,
0x12, 0x8c, 0xb1, 0x92, 0xcb, 0xfa, 0xc0, 0x3c, 0xa9, 0xef, 0x36, 0xaa, 0xca, 0x93, 0xbb, 0x9d,
0x29, 0xe2, 0xad, 0xdb, 0xe9, 0x0c, 0x21, 0xe4, 0x4f, 0xa0, 0xc8, 0x1a, 0xfa, 0x24, 0x11, 0x2a,
0xb4, 0x9e, 0xbf, 0x65, 0x99, 0xa6, 0x42, 0x80, 0x67, 0xb0, 0xa0, 0x7a, 0xf4, 0xe4, 0x46, 0x42,
0xff, 0x78, 0x3f, 0xdf, 0xba, 0x99, 0x36, 0xad, 0xc0, 0xd0, 0xbd, 0x7f, 0x07, 0x50, 0x64, 0x2f,
0x06, 0xdb, 0x6b, 0x94, 0xa0, 0x26, 0xf7, 0x3a, 0x53, 0xcb, 0x25, 0xf7, 0x3a, 0x9b, 0xdb, 0x8a,
0x3b, 0xaf, 0xe5, 0xa9, 0xc4, 0x20, 0x12, 0x2f, 0x05, 0x93, 0x77, 0xde, 0x90, 0xe4, 0x0a, 0xdf,
0xd6, 0x13, 0x56, 0x62, 0x10, 0x4a, 0xd4, 0x92, 0x49, 0xdf, 0x36, 0xe5, 0xbb, 0x08, 0xfc, 0x1c,
0xca, 0x32, 0x43, 0x35, 0xa9, 0x1a, 0x2f, 0x2c, 0x4d, 0xaa, 0x26, 0xd2, 0xdb, 0x08, 0x11, 0xf3,
0x94, 0x34, 0xc4, 0xa8, 0x12, 0x4a, 0x43, 0xd4, 0x92, 0x1c, 0x44, 0xfc, 0x0a, 0x20, 0xca, 0x4a,
0x93, 0xc1, 0xce, 0x58, 0x8f, 0x26, 0x83, 0x9d, 0x39, 0xb1, 0x45, 0xe8, 0xaf, 0x81, 0xcc, 0x26,
0xa8, 0xe4, 0x23, 0xb3, 0xb4, 0xb1, 0x8a, 0xb5, 0x1e, 0xbd, 0x1f, 0x73, 0xb8, 0x64, 0x07, 0x16,
0x63, 0xb9, 0x2b, 0xb9, 0x9f, 0x62, 0x83, 0x44, 0x89, 0x6b, 0x3d, 0xb8, 0x90, 0x2f, 0x5c, 0x83,
0x42, 0x3d, 0x9e, 0xcc, 0x92, 0x14, 0xe1, 0x99, 0x1a, 0xd8, 0x7a, 0x78, 0x31, 0xa3, 0x7e, 0xd4,
0x32, 0xbf, 0x35, 0x1d, 0x75, 0xbc, 0x3c, 0x36, 0x1d, 0x75, 0x22, 0x39, 0x8e, 0x10, 0x53, 0x9c,
0x27, 0x5e, 0x46, 0xa7, 0x21, 0xce, 0x38, 0x4f, 0x94, 0xc1, 0x9a, 0x9c, 0x67, 0xa6, 0xe2, 0x36,
0x39, 0xcf, 0x6c, 0x12, 0x8c, 0xd0, 0x01, 0x2c, 0x1b, 0x92, 0x59, 0xf2, 0x28, 0x45, 0x2d, 0x63,
0xa1, 0x6e, 0x7d, 0xfc, 0x9e, 0xdc, 0xe1, 0xaa, 0x6f, 0x60, 0xc5, 0x94, 0xe9, 0x92, 0x14, 0xa0,
0x94, 0x0a, 0xde, 0x5a, 0x7b, 0x5f, 0x76, 0xb5, 0xf0, 0x46, 0xed, 0x0f, 0x7f, 0xbb, 0x99, 0xfb,
0x33, 0xfe, 0xf9, 0x2b, 0xfe, 0xe9, 0x94, 0xf8, 0xff, 0x82, 0xfb, 0xc1, 0x7f, 0x02, 0x00, 0x00,
0xff, 0xff, 0x53, 0x79, 0x0b, 0x16, 0x6e, 0x27, 0x00, 0x00,
}

View File

@ -116,7 +116,7 @@ service Auth {
rpc UserChangePassword(AuthUserChangePasswordRequest) returns (AuthUserChangePasswordResponse) {}
// UserGrant grants a role to a specified user.
rpc UserGrant(AuthUserGrantRequest) returns (AuthUserGrantResponse) {}
rpc UserGrantRole(AuthUserGrantRoleRequest) returns (AuthUserGrantRoleResponse) {}
// UserRevokeRole revokes a role of specified user.
rpc UserRevokeRole(AuthUserRevokeRoleRequest) returns (AuthUserRevokeRoleResponse) {}
@ -130,8 +130,8 @@ service Auth {
// RoleDelete deletes a specified role.
rpc RoleDelete(AuthRoleDeleteRequest) returns (AuthRoleDeleteResponse) {}
// RoleGrant grants a permission of a specified key or range to a specified role.
rpc RoleGrant(AuthRoleGrantRequest) returns (AuthRoleGrantResponse) {}
// RoleGrantPermission grants a permission of a specified key or range to a specified role.
rpc RoleGrantPermission(AuthRoleGrantPermissionRequest) returns (AuthRoleGrantPermissionResponse) {}
// RoleRevokePermission revokes a key or range permission of a specified role.
rpc RoleRevokePermission(AuthRoleRevokePermissionRequest) returns (AuthRoleRevokePermissionResponse) {}
@ -587,7 +587,7 @@ message AuthUserChangePasswordRequest {
string password = 2;
}
message AuthUserGrantRequest {
message AuthUserGrantRoleRequest {
// user is the name of the user which should be granted a given role.
string user = 1;
// role is the name of the role to grant to the user.
@ -612,7 +612,7 @@ message AuthRoleDeleteRequest {
string role = 1;
}
message AuthRoleGrantRequest {
message AuthRoleGrantPermissionRequest {
// name is the name of the role which will be granted the permission.
string name = 1;
// perm is the permission to grant to the role.
@ -656,7 +656,7 @@ message AuthUserChangePasswordResponse {
ResponseHeader header = 1;
}
message AuthUserGrantResponse {
message AuthUserGrantRoleResponse {
ResponseHeader header = 1;
}
@ -678,7 +678,7 @@ message AuthRoleDeleteResponse {
ResponseHeader header = 1;
}
message AuthRoleGrantResponse {
message AuthRoleGrantPermissionResponse {
ResponseHeader header = 1;
}

View File

@ -62,11 +62,11 @@ type Authenticator interface {
UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)
UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)
UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)
UserGrant(ctx context.Context, r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error)
UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)
UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)
UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)
RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)
RoleGrant(ctx context.Context, r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error)
RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)
RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)
RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)
RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)
@ -305,15 +305,15 @@ func (s *EtcdServer) UserChangePassword(ctx context.Context, r *pb.AuthUserChang
return result.resp.(*pb.AuthUserChangePasswordResponse), nil
}
func (s *EtcdServer) UserGrant(ctx context.Context, r *pb.AuthUserGrantRequest) (*pb.AuthUserGrantResponse, error) {
result, err := s.processInternalRaftRequest(ctx, pb.InternalRaftRequest{AuthUserGrant: r})
func (s *EtcdServer) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error) {
result, err := s.processInternalRaftRequest(ctx, pb.InternalRaftRequest{AuthUserGrantRole: r})
if err != nil {
return nil, err
}
if result.err != nil {
return nil, result.err
}
return result.resp.(*pb.AuthUserGrantResponse), nil
return result.resp.(*pb.AuthUserGrantRoleResponse), nil
}
func (s *EtcdServer) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error) {
@ -349,15 +349,15 @@ func (s *EtcdServer) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb
return result.resp.(*pb.AuthRoleAddResponse), nil
}
func (s *EtcdServer) RoleGrant(ctx context.Context, r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantResponse, error) {
result, err := s.processInternalRaftRequest(ctx, pb.InternalRaftRequest{AuthRoleGrant: r})
func (s *EtcdServer) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error) {
result, err := s.processInternalRaftRequest(ctx, pb.InternalRaftRequest{AuthRoleGrantPermission: r})
if err != nil {
return nil, err
}
if result.err != nil {
return nil, result.err
}
return result.resp.(*pb.AuthRoleGrantResponse), nil
return result.resp.(*pb.AuthRoleGrantPermissionResponse), nil
}
func (s *EtcdServer) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error) {