# 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.workspaces import workspaces_pb2 as scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/CreateWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceResponse.FromString,
                )
        self.GetWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/GetWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.FromString,
                )
        self.GetCurrentWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/GetCurrentWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetCurrentWorkspaceRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.FromString,
                )
        self.UpdateWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/UpdateWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.FromString,
                )
        self.OnboardWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/OnboardWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.OnboardWorkspaceRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateCurrentWorkspace = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/UpdateCurrentWorkspace',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateCurrentWorkspaceRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.FromString,
                )
        self.GetWorkspaceSubscriptions = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/GetWorkspaceSubscriptions',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsResponse.FromString,
                )
        self.GetWorkspacePricingTable = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/GetWorkspacePricingTable',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableResponse.FromString,
                )
        self.GetBillingPortal = channel.unary_unary(
                '/scalekit.v1.workspaces.WorkspaceService/GetBillingPortal',
                request_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalResponse.FromString,
                )


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

    def CreateWorkspace(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 GetWorkspace(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 GetCurrentWorkspace(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 UpdateWorkspace(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 OnboardWorkspace(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 UpdateCurrentWorkspace(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 GetWorkspaceSubscriptions(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 GetWorkspacePricingTable(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 GetBillingPortal(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_WorkspaceServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceResponse.SerializeToString,
            ),
            'GetWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.SerializeToString,
            ),
            'GetCurrentWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCurrentWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetCurrentWorkspaceRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.SerializeToString,
            ),
            'UpdateWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.SerializeToString,
            ),
            'OnboardWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.OnboardWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.OnboardWorkspaceRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateCurrentWorkspace': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateCurrentWorkspace,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateCurrentWorkspaceRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.SerializeToString,
            ),
            'GetWorkspaceSubscriptions': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWorkspaceSubscriptions,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsResponse.SerializeToString,
            ),
            'GetWorkspacePricingTable': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWorkspacePricingTable,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableResponse.SerializeToString,
            ),
            'GetBillingPortal': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBillingPortal,
                    request_deserializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'scalekit.v1.workspaces.WorkspaceService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateWorkspace(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.workspaces.WorkspaceService/CreateWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.CreateWorkspaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetWorkspace(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.workspaces.WorkspaceService/GetWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetCurrentWorkspace(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.workspaces.WorkspaceService/GetCurrentWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetCurrentWorkspaceRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateWorkspace(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.workspaces.WorkspaceService/UpdateWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OnboardWorkspace(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.workspaces.WorkspaceService/OnboardWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.OnboardWorkspaceRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateCurrentWorkspace(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.workspaces.WorkspaceService/UpdateCurrentWorkspace',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateCurrentWorkspaceRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.UpdateWorkspaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetWorkspaceSubscriptions(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.workspaces.WorkspaceService/GetWorkspaceSubscriptions',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspaceSubscriptionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetWorkspacePricingTable(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.workspaces.WorkspaceService/GetWorkspacePricingTable',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetWorkspacePricingTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBillingPortal(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.workspaces.WorkspaceService/GetBillingPortal',
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalRequest.SerializeToString,
            scalekit_dot_v1_dot_workspaces_dot_workspaces__pb2.GetBillingPortalResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
