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

from h2o_notebook.gen.ai.h2o.notebook.v1 import notebook_kernel_spec_service_pb2 as ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2


class NotebookKernelSpecServiceStub(object):
    """NotebookKernelSpecService manages NotebookKernelSpec resources.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateNotebookKernelSpec = channel.unary_unary(
                '/ai.h2o.notebook.v1.NotebookKernelSpecService/CreateNotebookKernelSpec',
                request_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecRequest.SerializeToString,
                response_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecResponse.FromString,
                )
        self.GetNotebookKernelSpec = channel.unary_unary(
                '/ai.h2o.notebook.v1.NotebookKernelSpecService/GetNotebookKernelSpec',
                request_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecRequest.SerializeToString,
                response_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecResponse.FromString,
                )
        self.ListNotebookKernelSpecs = channel.unary_unary(
                '/ai.h2o.notebook.v1.NotebookKernelSpecService/ListNotebookKernelSpecs',
                request_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsRequest.SerializeToString,
                response_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsResponse.FromString,
                )
        self.UpdateNotebookKernelSpec = channel.unary_unary(
                '/ai.h2o.notebook.v1.NotebookKernelSpecService/UpdateNotebookKernelSpec',
                request_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecRequest.SerializeToString,
                response_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecResponse.FromString,
                )
        self.DeleteNotebookKernelSpec = channel.unary_unary(
                '/ai.h2o.notebook.v1.NotebookKernelSpecService/DeleteNotebookKernelSpec',
                request_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecRequest.SerializeToString,
                response_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecResponse.FromString,
                )


class NotebookKernelSpecServiceServicer(object):
    """NotebookKernelSpecService manages NotebookKernelSpec resources.
    """

    def CreateNotebookKernelSpec(self, request, context):
        """Creates a new NotebookKernelSpec.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNotebookKernelSpec(self, request, context):
        """Returns a specific NotebookKernelSpec.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListNotebookKernelSpecs(self, request, context):
        """Returns a collection of NotebookKernelSpecs.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateNotebookKernelSpec(self, request, context):
        """Updates a NotebookKernelSpec.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteNotebookKernelSpec(self, request, context):
        """Deletes a NotebookKernelSpec.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_NotebookKernelSpecServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateNotebookKernelSpec': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateNotebookKernelSpec,
                    request_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecRequest.FromString,
                    response_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecResponse.SerializeToString,
            ),
            'GetNotebookKernelSpec': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNotebookKernelSpec,
                    request_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecRequest.FromString,
                    response_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecResponse.SerializeToString,
            ),
            'ListNotebookKernelSpecs': grpc.unary_unary_rpc_method_handler(
                    servicer.ListNotebookKernelSpecs,
                    request_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsRequest.FromString,
                    response_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsResponse.SerializeToString,
            ),
            'UpdateNotebookKernelSpec': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateNotebookKernelSpec,
                    request_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecRequest.FromString,
                    response_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecResponse.SerializeToString,
            ),
            'DeleteNotebookKernelSpec': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteNotebookKernelSpec,
                    request_deserializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecRequest.FromString,
                    response_serializer=ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ai.h2o.notebook.v1.NotebookKernelSpecService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class NotebookKernelSpecService(object):
    """NotebookKernelSpecService manages NotebookKernelSpec resources.
    """

    @staticmethod
    def CreateNotebookKernelSpec(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, '/ai.h2o.notebook.v1.NotebookKernelSpecService/CreateNotebookKernelSpec',
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecRequest.SerializeToString,
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.CreateNotebookKernelSpecResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNotebookKernelSpec(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, '/ai.h2o.notebook.v1.NotebookKernelSpecService/GetNotebookKernelSpec',
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecRequest.SerializeToString,
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.GetNotebookKernelSpecResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListNotebookKernelSpecs(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, '/ai.h2o.notebook.v1.NotebookKernelSpecService/ListNotebookKernelSpecs',
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsRequest.SerializeToString,
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.ListNotebookKernelSpecsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateNotebookKernelSpec(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, '/ai.h2o.notebook.v1.NotebookKernelSpecService/UpdateNotebookKernelSpec',
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecRequest.SerializeToString,
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.UpdateNotebookKernelSpecResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteNotebookKernelSpec(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, '/ai.h2o.notebook.v1.NotebookKernelSpecService/DeleteNotebookKernelSpec',
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecRequest.SerializeToString,
            ai_dot_h2o_dot_notebook_dot_v1_dot_notebook__kernel__spec__service__pb2.DeleteNotebookKernelSpecResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
