From 83ce1051ffe89e494943b55bb1b178df77bea8eb Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Mon, 6 Jun 2016 20:17:28 -0700 Subject: [PATCH] auth: make naming consistent --- auth/store.go | 18 +- auth/store_test.go | 4 +- clientv3/auth.go | 24 +- clientv3/integration/user_test.go | 2 +- etcdctl/ctlv3/command/role_command.go | 78 +-- etcdctl/ctlv3/command/user_command.go | 72 +-- etcdserver/api/v3rpc/auth.go | 8 +- etcdserver/apply.go | 23 +- etcdserver/etcdserverpb/etcdserver.pb.go | 8 +- etcdserver/etcdserverpb/raft_internal.pb.go | 638 ++++++++++---------- etcdserver/etcdserverpb/raft_internal.proto | 27 +- etcdserver/etcdserverpb/rpc.pb.go | 491 +++++++-------- etcdserver/etcdserverpb/rpc.proto | 14 +- etcdserver/v3_server.go | 16 +- 14 files changed, 718 insertions(+), 705 deletions(-) diff --git a/auth/store.go b/auth/store.go index 2c87c9143..ee63fc5d1 100644 --- a/auth/store.go +++ b/auth/store.go @@ -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 { diff --git a/auth/store_test.go b/auth/store_test.go index a7d88366c..ccf04a03a 100644 --- a/auth/store_test.go +++ b/auth/store_test.go @@ -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) } diff --git a/clientv3/auth.go b/clientv3/auth.go index 545f5a7f4..8d013400e 100644 --- a/clientv3/auth.go +++ b/clientv3/auth.go @@ -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) { diff --git a/clientv3/integration/user_test.go b/clientv3/integration/user_test.go index 67d52a3cb..bef929949 100644 --- a/clientv3/integration/user_test.go +++ b/clientv3/integration/user_test.go @@ -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) } diff --git a/etcdctl/ctlv3/command/role_command.go b/etcdctl/ctlv3/command/role_command.go index 33bc642b9..839431b83 100644 --- a/etcdctl/ctlv3/command/role_command.go +++ b/etcdctl/ctlv3/command/role_command.go @@ -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 ", - Short: "grant a key to a role", - Run: roleGrantCommandFunc, + Use: "delete ", + Short: "delete a role", + Run: roleDeleteCommandFunc, } } @@ -62,6 +62,14 @@ func newRoleGetCommand() *cobra.Command { } } +func newRoleGrantPermissionCommand() *cobra.Command { + return &cobra.Command{ + Use: "grant-permission ", + Short: "grant a key to a role", + Run: roleGrantPermissionCommandFunc, + } +} + func newRoleRevokePermissionCommand() *cobra.Command { return &cobra.Command{ Use: "revoke-permission ", @@ -70,14 +78,6 @@ func newRoleRevokePermissionCommand() *cobra.Command { } } -func newRoleDeleteCommand() *cobra.Command { - return &cobra.Command{ - Use: "delete ", - 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]) -} diff --git a/etcdctl/ctlv3/command/user_command.go b/etcdctl/ctlv3/command/user_command.go index c6cfef137..78f80c71a 100644 --- a/etcdctl/ctlv3/command/user_command.go +++ b/etcdctl/ctlv3/command/user_command.go @@ -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 ", + Short: "get detailed information of a user", + Run: userGetCommandFunc, + } +} + func newUserChangePasswordCommand() *cobra.Command { cmd := cobra.Command{ Use: "passwd ", @@ -76,20 +85,11 @@ func newUserChangePasswordCommand() *cobra.Command { return &cmd } -func newUserGrantCommand() *cobra.Command { +func newUserGrantRoleCommand() *cobra.Command { return &cobra.Command{ - Use: "grant ", + Use: "grant-role ", 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 ", - 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 { diff --git a/etcdserver/api/v3rpc/auth.go b/etcdserver/api/v3rpc/auth.go index 3c76c415c..80122aa51 100644 --- a/etcdserver/api/v3rpc/auth.go +++ b/etcdserver/api/v3rpc/auth.go @@ -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) } diff --git a/etcdserver/apply.go b/etcdserver/apply.go index ce751cbae..8006f0066 100644 --- a/etcdserver/apply.go +++ b/etcdserver/apply.go @@ -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) { diff --git a/etcdserver/etcdserverpb/etcdserver.pb.go b/etcdserver/etcdserverpb/etcdserver.pb.go index f5bf6b283..869fdc29c 100644 --- a/etcdserver/etcdserverpb/etcdserver.pb.go +++ b/etcdserver/etcdserverpb/etcdserver.pb.go @@ -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 diff --git a/etcdserver/etcdserverpb/raft_internal.pb.go b/etcdserver/etcdserverpb/raft_internal.pb.go index 55bf22629..873c7dc03 100644 --- a/etcdserver/etcdserverpb/raft_internal.pb.go +++ b/etcdserver/etcdserverpb/raft_internal.pb.go @@ -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, } diff --git a/etcdserver/etcdserverpb/raft_internal.proto b/etcdserver/etcdserverpb/raft_internal.proto index 3db4e7dc6..2f8f1ded0 100644 --- a/etcdserver/etcdserverpb/raft_internal.proto +++ b/etcdserver/etcdserverpb/raft_internal.proto @@ -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 { diff --git a/etcdserver/etcdserverpb/rpc.pb.go b/etcdserver/etcdserverpb/rpc.pb.go index e8c59845e..d503462f7 100644 --- a/etcdserver/etcdserverpb/rpc.pb.go +++ b/etcdserver/etcdserverpb/rpc.pb.go @@ -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, } diff --git a/etcdserver/etcdserverpb/rpc.proto b/etcdserver/etcdserverpb/rpc.proto index 130752cc0..aa6809276 100644 --- a/etcdserver/etcdserverpb/rpc.proto +++ b/etcdserver/etcdserverpb/rpc.proto @@ -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; } diff --git a/etcdserver/v3_server.go b/etcdserver/v3_server.go index 6037d6f45..0307798da 100644 --- a/etcdserver/v3_server.go +++ b/etcdserver/v3_server.go @@ -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) {