# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from scalekit.v1.roles import roles_pb2 as scalekit_dot_v1_dot_roles_dot_roles__pb2


class RolesServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.CreateRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/CreateRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleResponse.FromString,
                )
        self.UpdateRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/UpdateRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleResponse.FromString,
                )
        self.GetRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/GetRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleResponse.FromString,
                )
        self.ListRoles = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListRoles',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesResponse.FromString,
                )
        self.DeleteRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/DeleteRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CreateOrganizationRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/CreateOrganizationRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleResponse.FromString,
                )
        self.UpdateOrganizationRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/UpdateOrganizationRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleResponse.FromString,
                )
        self.GetOrganizationRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/GetOrganizationRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleResponse.FromString,
                )
        self.ListOrganizationRoles = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListOrganizationRoles',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesResponse.FromString,
                )
        self.DeleteOrganizationRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/DeleteOrganizationRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetRoleUsersCount = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/GetRoleUsersCount',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountResponse.FromString,
                )
        self.GetOrganizationRoleUsersCount = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/GetOrganizationRoleUsersCount',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountResponse.FromString,
                )
        self.UpdateDefaultRoles = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/UpdateDefaultRoles',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesResponse.FromString,
                )
        self.UpdateDefaultOrganizationRoles = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/UpdateDefaultOrganizationRoles',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesResponse.FromString,
                )
        self.ListDependentRoles = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListDependentRoles',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesResponse.FromString,
                )
        self.DeleteRoleBase = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/DeleteRoleBase',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleBaseRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.DeleteOrganizationRoleBase = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/DeleteOrganizationRoleBase',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleBaseRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CreatePermission = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/CreatePermission',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionResponse.FromString,
                )
        self.GetPermission = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/GetPermission',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionResponse.FromString,
                )
        self.UpdatePermission = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/UpdatePermission',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionResponse.FromString,
                )
        self.ListPermissions = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListPermissions',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsResponse.FromString,
                )
        self.DeletePermission = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/DeletePermission',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeletePermissionRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ListRolePermissions = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListRolePermissions',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsResponse.FromString,
                )
        self.AddPermissionsToRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/AddPermissionsToRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleResponse.FromString,
                )
        self.RemovePermissionFromRole = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/RemovePermissionFromRole',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.RemovePermissionFromRoleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ListEffectiveRolePermissions = channel.unary_unary(
                '/scalekit.v1.roles.RolesService/ListEffectiveRolePermissions',
                request_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsResponse.FromString,
                )


class RolesServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def CreateRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRoles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateOrganizationRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateOrganizationRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOrganizationRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListOrganizationRoles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteOrganizationRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRoleUsersCount(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOrganizationRoleUsersCount(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateDefaultRoles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateDefaultOrganizationRoles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListDependentRoles(self, request, context):
        """Role Hierarchy Management RPCs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteRoleBase(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteOrganizationRoleBase(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreatePermission(self, request, context):
        """Permission Management RPCs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPermission(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdatePermission(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPermissions(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeletePermission(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRolePermissions(self, request, context):
        """rpc BatchCreatePermissions(BatchCreatePermissionsRequest) returns (BatchCreatePermissionsResponse) {
        option (scalekit.v1.options.auth_option) = {authentication_type: WORKSPACE_SESSION};

        option (google.api.http) = {
        post: "/api/v1/permissions/batch"
        body: "*"
        };

        option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
        tags: "Permissions"
        summary: "Batch Create/Update Permissions"
        description: "Create or update multiple permissions in a single operation"

        responses: {
        key: "200"
        value: {
        description: "Batch operation completed successfully"
        schema: {
        json_schema: {ref: ".scalekit.v1.roles.BatchCreatePermissionsResponse"}
        }
        }
        }
        };
        }

        Role-Permission Management RPCs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddPermissionsToRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemovePermissionFromRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListEffectiveRolePermissions(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_RolesServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateRole': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleResponse.SerializeToString,
            ),
            'UpdateRole': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleResponse.SerializeToString,
            ),
            'GetRole': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleResponse.SerializeToString,
            ),
            'ListRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRoles,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesResponse.SerializeToString,
            ),
            'DeleteRole': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CreateOrganizationRole': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateOrganizationRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleResponse.SerializeToString,
            ),
            'UpdateOrganizationRole': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateOrganizationRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleResponse.SerializeToString,
            ),
            'GetOrganizationRole': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOrganizationRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleResponse.SerializeToString,
            ),
            'ListOrganizationRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.ListOrganizationRoles,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesResponse.SerializeToString,
            ),
            'DeleteOrganizationRole': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteOrganizationRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetRoleUsersCount': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRoleUsersCount,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountResponse.SerializeToString,
            ),
            'GetOrganizationRoleUsersCount': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOrganizationRoleUsersCount,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountResponse.SerializeToString,
            ),
            'UpdateDefaultRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateDefaultRoles,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesResponse.SerializeToString,
            ),
            'UpdateDefaultOrganizationRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateDefaultOrganizationRoles,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesResponse.SerializeToString,
            ),
            'ListDependentRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.ListDependentRoles,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesResponse.SerializeToString,
            ),
            'DeleteRoleBase': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteRoleBase,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleBaseRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'DeleteOrganizationRoleBase': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteOrganizationRoleBase,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleBaseRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CreatePermission': grpc.unary_unary_rpc_method_handler(
                    servicer.CreatePermission,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionResponse.SerializeToString,
            ),
            'GetPermission': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPermission,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionResponse.SerializeToString,
            ),
            'UpdatePermission': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdatePermission,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionResponse.SerializeToString,
            ),
            'ListPermissions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPermissions,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsResponse.SerializeToString,
            ),
            'DeletePermission': grpc.unary_unary_rpc_method_handler(
                    servicer.DeletePermission,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.DeletePermissionRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ListRolePermissions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRolePermissions,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsResponse.SerializeToString,
            ),
            'AddPermissionsToRole': grpc.unary_unary_rpc_method_handler(
                    servicer.AddPermissionsToRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleResponse.SerializeToString,
            ),
            'RemovePermissionFromRole': grpc.unary_unary_rpc_method_handler(
                    servicer.RemovePermissionFromRole,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.RemovePermissionFromRoleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ListEffectiveRolePermissions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListEffectiveRolePermissions,
                    request_deserializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'scalekit.v1.roles.RolesService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class RolesService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def CreateRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/CreateRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/UpdateRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/GetRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListRoles',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/DeleteRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateOrganizationRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/CreateOrganizationRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreateOrganizationRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateOrganizationRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/UpdateOrganizationRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateOrganizationRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOrganizationRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/GetOrganizationRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListOrganizationRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListOrganizationRoles',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListOrganizationRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteOrganizationRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/DeleteOrganizationRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRoleUsersCount(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/GetRoleUsersCount',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetRoleUsersCountResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOrganizationRoleUsersCount(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/GetOrganizationRoleUsersCount',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetOrganizationRoleUsersCountResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateDefaultRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/UpdateDefaultRoles',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateDefaultOrganizationRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/UpdateDefaultOrganizationRoles',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdateDefaultOrganizationRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListDependentRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListDependentRoles',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListDependentRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteRoleBase(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/DeleteRoleBase',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteRoleBaseRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteOrganizationRoleBase(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/DeleteOrganizationRoleBase',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.DeleteOrganizationRoleBaseRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreatePermission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/CreatePermission',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.CreatePermissionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPermission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/GetPermission',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.GetPermissionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdatePermission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/UpdatePermission',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.UpdatePermissionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPermissions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListPermissions',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListPermissionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeletePermission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/DeletePermission',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.DeletePermissionRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRolePermissions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListRolePermissions',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListRolePermissionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddPermissionsToRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/AddPermissionsToRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.AddPermissionsToRoleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemovePermissionFromRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/RemovePermissionFromRole',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.RemovePermissionFromRoleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListEffectiveRolePermissions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.roles.RolesService/ListEffectiveRolePermissions',
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsRequest.SerializeToString,
            scalekit_dot_v1_dot_roles_dot_roles__pb2.ListEffectiveRolePermissionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
