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

from _qwak_proto.qwak.models import models_pb2 as qwak_dot_models_dot_models__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateModel = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/CreateModel',
                request_serializer=qwak_dot_models_dot_models__pb2.CreateModelRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.CreateModelResponse.FromString,
                )
        self.ListModels = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/ListModels',
                request_serializer=qwak_dot_models_dot_models__pb2.ListModelsRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
                )
        self.ListModelsPaginated = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/ListModelsPaginated',
                request_serializer=qwak_dot_models_dot_models__pb2.ListModelsPaginatedRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.ListModelsPaginatedResponse.FromString,
                )
        self.GetModel = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/GetModel',
                request_serializer=qwak_dot_models_dot_models__pb2.GetModelRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.GetModelResponse.FromString,
                )
        self.ListModelsByModelIds = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/ListModelsByModelIds',
                request_serializer=qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
                )
        self.DeleteModel = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/DeleteModel',
                request_serializer=qwak_dot_models_dot_models__pb2.DeleteModelRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.DeleteModelResponse.FromString,
                )
        self.UpdateModel = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/UpdateModel',
                request_serializer=qwak_dot_models_dot_models__pb2.UpdateModelRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.UpdateModelResponse.FromString,
                )
        self.CreateBranch = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/CreateBranch',
                request_serializer=qwak_dot_models_dot_models__pb2.CreateBranchRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.CreateBranchResponse.FromString,
                )
        self.DeleteBranch = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/DeleteBranch',
                request_serializer=qwak_dot_models_dot_models__pb2.DeleteBranchRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.DeleteBranchResponse.FromString,
                )
        self.GetDeploymentDetails = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/GetDeploymentDetails',
                request_serializer=qwak_dot_models_dot_models__pb2.GetDeploymentDetailsRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.GetDeploymentDetailsResponse.FromString,
                )
        self.IsModelExists = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/IsModelExists',
                request_serializer=qwak_dot_models_dot_models__pb2.IsModelExistsRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.IsModelExistsResponse.FromString,
                )
        self.ListModelsMetadata = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/ListModelsMetadata',
                request_serializer=qwak_dot_models_dot_models__pb2.ListModelsMetadataRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.ListModelsMetadataResponse.FromString,
                )
        self.GetModelMetadata = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/GetModelMetadata',
                request_serializer=qwak_dot_models_dot_models__pb2.GetModelMetadataRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.GetModelMetadataResponse.FromString,
                )
        self.CheckModelCreationAllowed = channel.unary_unary(
                '/qwak.models.management.ModelsManagementService/CheckModelCreationAllowed',
                request_serializer=qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedRequest.SerializeToString,
                response_deserializer=qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedResponse.FromString,
                )


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

    def CreateModel(self, request, context):
        """Create model
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListModels(self, request, context):
        """List all models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListModelsPaginated(self, request, context):
        """Retrieves a paginated list of models based on the provided filters and pagination parameters.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetModel(self, request, context):
        """Get model
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListModelsByModelIds(self, request, context):
        """Get models by model IDs and model UUIDs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteModel(self, request, context):
        """Delete model
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateModel(self, request, context):
        """Update model
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBranch(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 DeleteBranch(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 GetDeploymentDetails(self, request, context):
        """Get model's deployment details
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsModelExists(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 ListModelsMetadata(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 GetModelMetadata(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 CheckModelCreationAllowed(self, request, context):
        """Check if model creation allowed for the provided information: model group name, jfrog project key and model id
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ModelsManagementServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateModel': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateModel,
                    request_deserializer=qwak_dot_models_dot_models__pb2.CreateModelRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.CreateModelResponse.SerializeToString,
            ),
            'ListModels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListModels,
                    request_deserializer=qwak_dot_models_dot_models__pb2.ListModelsRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.SerializeToString,
            ),
            'ListModelsPaginated': grpc.unary_unary_rpc_method_handler(
                    servicer.ListModelsPaginated,
                    request_deserializer=qwak_dot_models_dot_models__pb2.ListModelsPaginatedRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.ListModelsPaginatedResponse.SerializeToString,
            ),
            'GetModel': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModel,
                    request_deserializer=qwak_dot_models_dot_models__pb2.GetModelRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.GetModelResponse.SerializeToString,
            ),
            'ListModelsByModelIds': grpc.unary_unary_rpc_method_handler(
                    servicer.ListModelsByModelIds,
                    request_deserializer=qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.SerializeToString,
            ),
            'DeleteModel': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteModel,
                    request_deserializer=qwak_dot_models_dot_models__pb2.DeleteModelRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.DeleteModelResponse.SerializeToString,
            ),
            'UpdateModel': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateModel,
                    request_deserializer=qwak_dot_models_dot_models__pb2.UpdateModelRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.UpdateModelResponse.SerializeToString,
            ),
            'CreateBranch': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBranch,
                    request_deserializer=qwak_dot_models_dot_models__pb2.CreateBranchRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.CreateBranchResponse.SerializeToString,
            ),
            'DeleteBranch': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteBranch,
                    request_deserializer=qwak_dot_models_dot_models__pb2.DeleteBranchRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.DeleteBranchResponse.SerializeToString,
            ),
            'GetDeploymentDetails': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDeploymentDetails,
                    request_deserializer=qwak_dot_models_dot_models__pb2.GetDeploymentDetailsRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.GetDeploymentDetailsResponse.SerializeToString,
            ),
            'IsModelExists': grpc.unary_unary_rpc_method_handler(
                    servicer.IsModelExists,
                    request_deserializer=qwak_dot_models_dot_models__pb2.IsModelExistsRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.IsModelExistsResponse.SerializeToString,
            ),
            'ListModelsMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.ListModelsMetadata,
                    request_deserializer=qwak_dot_models_dot_models__pb2.ListModelsMetadataRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.ListModelsMetadataResponse.SerializeToString,
            ),
            'GetModelMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModelMetadata,
                    request_deserializer=qwak_dot_models_dot_models__pb2.GetModelMetadataRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.GetModelMetadataResponse.SerializeToString,
            ),
            'CheckModelCreationAllowed': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckModelCreationAllowed,
                    request_deserializer=qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedRequest.FromString,
                    response_serializer=qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'qwak.models.management.ModelsManagementService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateModel(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, '/qwak.models.management.ModelsManagementService/CreateModel',
            qwak_dot_models_dot_models__pb2.CreateModelRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.CreateModelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListModels(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, '/qwak.models.management.ModelsManagementService/ListModels',
            qwak_dot_models_dot_models__pb2.ListModelsRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListModelsPaginated(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, '/qwak.models.management.ModelsManagementService/ListModelsPaginated',
            qwak_dot_models_dot_models__pb2.ListModelsPaginatedRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.ListModelsPaginatedResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetModel(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, '/qwak.models.management.ModelsManagementService/GetModel',
            qwak_dot_models_dot_models__pb2.GetModelRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.GetModelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListModelsByModelIds(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, '/qwak.models.management.ModelsManagementService/ListModelsByModelIds',
            qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteModel(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, '/qwak.models.management.ModelsManagementService/DeleteModel',
            qwak_dot_models_dot_models__pb2.DeleteModelRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.DeleteModelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateModel(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, '/qwak.models.management.ModelsManagementService/UpdateModel',
            qwak_dot_models_dot_models__pb2.UpdateModelRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.UpdateModelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBranch(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, '/qwak.models.management.ModelsManagementService/CreateBranch',
            qwak_dot_models_dot_models__pb2.CreateBranchRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.CreateBranchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteBranch(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, '/qwak.models.management.ModelsManagementService/DeleteBranch',
            qwak_dot_models_dot_models__pb2.DeleteBranchRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.DeleteBranchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDeploymentDetails(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, '/qwak.models.management.ModelsManagementService/GetDeploymentDetails',
            qwak_dot_models_dot_models__pb2.GetDeploymentDetailsRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.GetDeploymentDetailsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def IsModelExists(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, '/qwak.models.management.ModelsManagementService/IsModelExists',
            qwak_dot_models_dot_models__pb2.IsModelExistsRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.IsModelExistsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListModelsMetadata(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, '/qwak.models.management.ModelsManagementService/ListModelsMetadata',
            qwak_dot_models_dot_models__pb2.ListModelsMetadataRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.ListModelsMetadataResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetModelMetadata(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, '/qwak.models.management.ModelsManagementService/GetModelMetadata',
            qwak_dot_models_dot_models__pb2.GetModelMetadataRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.GetModelMetadataResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckModelCreationAllowed(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, '/qwak.models.management.ModelsManagementService/CheckModelCreationAllowed',
            qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedRequest.SerializeToString,
            qwak_dot_models_dot_models__pb2.CheckModelCreationAllowedResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
