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

from . import identities_pb2 as admin_dot_v1_dot_identities__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ListUsers = channel.unary_unary(
                '/admin.v1.UserService/ListUsers',
                request_serializer=admin_dot_v1_dot_identities__pb2.ListUsersRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.ListUsersResponse.FromString,
                )
        self.CreateUser = channel.unary_unary(
                '/admin.v1.UserService/CreateUser',
                request_serializer=admin_dot_v1_dot_identities__pb2.CreateUserRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.CreateUserResponse.FromString,
                )
        self.CreateUserV2 = channel.unary_unary(
                '/admin.v1.UserService/CreateUserV2',
                request_serializer=admin_dot_v1_dot_identities__pb2.CreateUserV2Request.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.CreateUserV2Response.FromString,
                )
        self.GetUserById = channel.unary_unary(
                '/admin.v1.UserService/GetUserById',
                request_serializer=admin_dot_v1_dot_identities__pb2.GetUserByIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.GetUserByIdResponse.FromString,
                )
        self.DeleteUser = channel.unary_unary(
                '/admin.v1.UserService/DeleteUser',
                request_serializer=admin_dot_v1_dot_identities__pb2.DeleteUserRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.DeleteUserResponse.FromString,
                )
        self.UpdateUser = channel.unary_unary(
                '/admin.v1.UserService/UpdateUser',
                request_serializer=admin_dot_v1_dot_identities__pb2.UpdateUserRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.UpdateUserResponse.FromString,
                )
        self.GetMachineUserAuthToken = channel.unary_unary(
                '/admin.v1.UserService/GetMachineUserAuthToken',
                request_serializer=admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenResponse.FromString,
                )
        self.RefreshMachineUserAuthToken = channel.unary_unary(
                '/admin.v1.UserService/RefreshMachineUserAuthToken',
                request_serializer=admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenResponse.FromString,
                )
        self.GetUserExternalIds = channel.unary_unary(
                '/admin.v1.UserService/GetUserExternalIds',
                request_serializer=admin_dot_v1_dot_identities__pb2.GetUserExternalIdsRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.GetUserExternalIdsResponse.FromString,
                )
        self.MapUserToExternalId = channel.unary_unary(
                '/admin.v1.UserService/MapUserToExternalId',
                request_serializer=admin_dot_v1_dot_identities__pb2.MapUserToExternalIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.MapUserToExternalIdResponse.FromString,
                )
        self.DeleteExternalIdMapping = channel.unary_unary(
                '/admin.v1.UserService/DeleteExternalIdMapping',
                request_serializer=admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingResponse.FromString,
                )


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

    def ListUsers(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 CreateUser(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 CreateUserV2(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 GetUserById(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 DeleteUser(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 UpdateUser(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 GetMachineUserAuthToken(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 RefreshMachineUserAuthToken(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 GetUserExternalIds(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 MapUserToExternalId(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 DeleteExternalIdMapping(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_UserServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ListUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListUsers,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.ListUsersRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.ListUsersResponse.SerializeToString,
            ),
            'CreateUser': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateUser,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.CreateUserRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.CreateUserResponse.SerializeToString,
            ),
            'CreateUserV2': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateUserV2,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.CreateUserV2Request.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.CreateUserV2Response.SerializeToString,
            ),
            'GetUserById': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserById,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.GetUserByIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.GetUserByIdResponse.SerializeToString,
            ),
            'DeleteUser': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteUser,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.DeleteUserRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.DeleteUserResponse.SerializeToString,
            ),
            'UpdateUser': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateUser,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.UpdateUserRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.UpdateUserResponse.SerializeToString,
            ),
            'GetMachineUserAuthToken': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMachineUserAuthToken,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenResponse.SerializeToString,
            ),
            'RefreshMachineUserAuthToken': grpc.unary_unary_rpc_method_handler(
                    servicer.RefreshMachineUserAuthToken,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenResponse.SerializeToString,
            ),
            'GetUserExternalIds': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserExternalIds,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.GetUserExternalIdsRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.GetUserExternalIdsResponse.SerializeToString,
            ),
            'MapUserToExternalId': grpc.unary_unary_rpc_method_handler(
                    servicer.MapUserToExternalId,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.MapUserToExternalIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.MapUserToExternalIdResponse.SerializeToString,
            ),
            'DeleteExternalIdMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteExternalIdMapping,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'admin.v1.UserService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ListUsers(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, '/admin.v1.UserService/ListUsers',
            admin_dot_v1_dot_identities__pb2.ListUsersRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.ListUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateUser(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, '/admin.v1.UserService/CreateUser',
            admin_dot_v1_dot_identities__pb2.CreateUserRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.CreateUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateUserV2(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, '/admin.v1.UserService/CreateUserV2',
            admin_dot_v1_dot_identities__pb2.CreateUserV2Request.SerializeToString,
            admin_dot_v1_dot_identities__pb2.CreateUserV2Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserById(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, '/admin.v1.UserService/GetUserById',
            admin_dot_v1_dot_identities__pb2.GetUserByIdRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.GetUserByIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteUser(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, '/admin.v1.UserService/DeleteUser',
            admin_dot_v1_dot_identities__pb2.DeleteUserRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.DeleteUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateUser(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, '/admin.v1.UserService/UpdateUser',
            admin_dot_v1_dot_identities__pb2.UpdateUserRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.UpdateUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMachineUserAuthToken(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, '/admin.v1.UserService/GetMachineUserAuthToken',
            admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.GetMachineUserAuthTokenResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefreshMachineUserAuthToken(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, '/admin.v1.UserService/RefreshMachineUserAuthToken',
            admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.RefreshMachineUserAuthTokenResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserExternalIds(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, '/admin.v1.UserService/GetUserExternalIds',
            admin_dot_v1_dot_identities__pb2.GetUserExternalIdsRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.GetUserExternalIdsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MapUserToExternalId(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, '/admin.v1.UserService/MapUserToExternalId',
            admin_dot_v1_dot_identities__pb2.MapUserToExternalIdRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.MapUserToExternalIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteExternalIdMapping(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, '/admin.v1.UserService/DeleteExternalIdMapping',
            admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.DeleteExternalIdMappingResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateGroup = channel.unary_unary(
                '/admin.v1.GroupService/CreateGroup',
                request_serializer=admin_dot_v1_dot_identities__pb2.CreateGroupRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.CreateGroupResponse.FromString,
                )
        self.ListGroups = channel.unary_unary(
                '/admin.v1.GroupService/ListGroups',
                request_serializer=admin_dot_v1_dot_identities__pb2.ListGroupsRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.ListGroupsResponse.FromString,
                )
        self.GetGroupById = channel.unary_unary(
                '/admin.v1.GroupService/GetGroupById',
                request_serializer=admin_dot_v1_dot_identities__pb2.GetGroupByIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.GetGroupByIdResponse.FromString,
                )
        self.UpdateGroup = channel.unary_unary(
                '/admin.v1.GroupService/UpdateGroup',
                request_serializer=admin_dot_v1_dot_identities__pb2.UpdateGroupRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.UpdateGroupResponse.FromString,
                )
        self.LinkUsersToGroup = channel.unary_unary(
                '/admin.v1.GroupService/LinkUsersToGroup',
                request_serializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupResponse.FromString,
                )
        self.LinkUsersToGroupV2 = channel.unary_unary(
                '/admin.v1.GroupService/LinkUsersToGroupV2',
                request_serializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Request.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Response.FromString,
                )
        self.UnlinkUsersFromGroup = channel.unary_unary(
                '/admin.v1.GroupService/UnlinkUsersFromGroup',
                request_serializer=admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupResponse.FromString,
                )
        self.DeleteGroup = channel.unary_unary(
                '/admin.v1.GroupService/DeleteGroup',
                request_serializer=admin_dot_v1_dot_identities__pb2.DeleteGroupRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_identities__pb2.DeleteGroupResponse.FromString,
                )


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

    def CreateGroup(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 ListGroups(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 GetGroupById(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 UpdateGroup(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 LinkUsersToGroup(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 LinkUsersToGroupV2(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 UnlinkUsersFromGroup(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 DeleteGroup(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_GroupServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateGroup,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.CreateGroupRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.CreateGroupResponse.SerializeToString,
            ),
            'ListGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.ListGroups,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.ListGroupsRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.ListGroupsResponse.SerializeToString,
            ),
            'GetGroupById': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGroupById,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.GetGroupByIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.GetGroupByIdResponse.SerializeToString,
            ),
            'UpdateGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateGroup,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.UpdateGroupRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.UpdateGroupResponse.SerializeToString,
            ),
            'LinkUsersToGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.LinkUsersToGroup,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupResponse.SerializeToString,
            ),
            'LinkUsersToGroupV2': grpc.unary_unary_rpc_method_handler(
                    servicer.LinkUsersToGroupV2,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Request.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Response.SerializeToString,
            ),
            'UnlinkUsersFromGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.UnlinkUsersFromGroup,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupResponse.SerializeToString,
            ),
            'DeleteGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteGroup,
                    request_deserializer=admin_dot_v1_dot_identities__pb2.DeleteGroupRequest.FromString,
                    response_serializer=admin_dot_v1_dot_identities__pb2.DeleteGroupResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'admin.v1.GroupService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateGroup(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, '/admin.v1.GroupService/CreateGroup',
            admin_dot_v1_dot_identities__pb2.CreateGroupRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.CreateGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListGroups(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, '/admin.v1.GroupService/ListGroups',
            admin_dot_v1_dot_identities__pb2.ListGroupsRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.ListGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGroupById(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, '/admin.v1.GroupService/GetGroupById',
            admin_dot_v1_dot_identities__pb2.GetGroupByIdRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.GetGroupByIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateGroup(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, '/admin.v1.GroupService/UpdateGroup',
            admin_dot_v1_dot_identities__pb2.UpdateGroupRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.UpdateGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LinkUsersToGroup(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, '/admin.v1.GroupService/LinkUsersToGroup',
            admin_dot_v1_dot_identities__pb2.LinkUsersToGroupRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.LinkUsersToGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LinkUsersToGroupV2(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, '/admin.v1.GroupService/LinkUsersToGroupV2',
            admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Request.SerializeToString,
            admin_dot_v1_dot_identities__pb2.LinkUsersToGroupV2Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnlinkUsersFromGroup(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, '/admin.v1.GroupService/UnlinkUsersFromGroup',
            admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.UnlinkUsersFromGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteGroup(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, '/admin.v1.GroupService/DeleteGroup',
            admin_dot_v1_dot_identities__pb2.DeleteGroupRequest.SerializeToString,
            admin_dot_v1_dot_identities__pb2.DeleteGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
