# SPDX-FileCopyrightText: 2025 CoreWeave, Inc.
# SPDX-License-Identifier: Apache-2.0
# SPDX-PackageName: cwsandbox-client
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from cwsandbox._proto import atc_pb2 as coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2


class ATCServiceStub(object):
    """----------------------------------------------------------------------------------
    Service Definition
    ----------------------------------------------------------------------------------

    ATCService provides sandbox management capabilities.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Start = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Start',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxResponse.FromString,
                _registered_method=True)
        self.Stop = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Stop',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxResponse.FromString,
                _registered_method=True)
        self.Get = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Get',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxResponse.FromString,
                _registered_method=True)
        self.List = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/List',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesResponse.FromString,
                _registered_method=True)
        self.Delete = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Delete',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxResponse.FromString,
                _registered_method=True)
        self.Exec = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Exec',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxResponse.FromString,
                _registered_method=True)
        self.AddFile = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/AddFile',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxResponse.FromString,
                _registered_method=True)
        self.RetrieveFile = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/RetrieveFile',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxResponse.FromString,
                _registered_method=True)
        self.Pause = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Pause',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxResponse.FromString,
                _registered_method=True)
        self.Resume = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Resume',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxResponse.FromString,
                _registered_method=True)
        self.Raw = channel.unary_unary(
                '/coreweave.aviato.v1beta1.ATCService/Raw',
                request_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxRequest.SerializeToString,
                response_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxResponse.FromString,
                _registered_method=True)


class ATCServiceServicer(object):
    """----------------------------------------------------------------------------------
    Service Definition
    ----------------------------------------------------------------------------------

    ATCService provides sandbox management capabilities.
    """

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

    def Stop(self, request, context):
        """Stop terminates a running sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Get(self, request, context):
        """Get retrieves details about a specific sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def List(self, request, context):
        """List enumerates sandboxes with optional filters.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def Exec(self, request, context):
        """Exec executes a command within a sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddFile(self, request, context):
        """AddFile writes (or overwrites) a file inside the sandbox filesystem.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RetrieveFile(self, request, context):
        """RetrieveFile retrieves a file's contents from the sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Pause(self, request, context):
        """Pause pauses a running sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Resume(self, request, context):
        """Resume resumes a paused sandbox.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Raw(self, request, context):
        """Raw executes a raw action on a sandbox based on action_type.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ATCServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Start': grpc.unary_unary_rpc_method_handler(
                    servicer.Start,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxResponse.SerializeToString,
            ),
            'Stop': grpc.unary_unary_rpc_method_handler(
                    servicer.Stop,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxResponse.SerializeToString,
            ),
            'Get': grpc.unary_unary_rpc_method_handler(
                    servicer.Get,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxResponse.SerializeToString,
            ),
            'List': grpc.unary_unary_rpc_method_handler(
                    servicer.List,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesResponse.SerializeToString,
            ),
            'Delete': grpc.unary_unary_rpc_method_handler(
                    servicer.Delete,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxResponse.SerializeToString,
            ),
            'Exec': grpc.unary_unary_rpc_method_handler(
                    servicer.Exec,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxResponse.SerializeToString,
            ),
            'AddFile': grpc.unary_unary_rpc_method_handler(
                    servicer.AddFile,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxResponse.SerializeToString,
            ),
            'RetrieveFile': grpc.unary_unary_rpc_method_handler(
                    servicer.RetrieveFile,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxResponse.SerializeToString,
            ),
            'Pause': grpc.unary_unary_rpc_method_handler(
                    servicer.Pause,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxResponse.SerializeToString,
            ),
            'Resume': grpc.unary_unary_rpc_method_handler(
                    servicer.Resume,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxResponse.SerializeToString,
            ),
            'Raw': grpc.unary_unary_rpc_method_handler(
                    servicer.Raw,
                    request_deserializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxRequest.FromString,
                    response_serializer=coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'coreweave.aviato.v1beta1.ATCService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('coreweave.aviato.v1beta1.ATCService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class ATCService(object):
    """----------------------------------------------------------------------------------
    Service Definition
    ----------------------------------------------------------------------------------

    ATCService provides sandbox management capabilities.
    """

    @staticmethod
    def Start(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,
            '/coreweave.aviato.v1beta1.ATCService/Start',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StartSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Stop(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,
            '/coreweave.aviato.v1beta1.ATCService/Stop',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.StopSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Get(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,
            '/coreweave.aviato.v1beta1.ATCService/Get',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.GetSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def List(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,
            '/coreweave.aviato.v1beta1.ATCService/List',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ListSandboxesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Delete(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,
            '/coreweave.aviato.v1beta1.ATCService/Delete',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.DeleteSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Exec(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,
            '/coreweave.aviato.v1beta1.ATCService/Exec',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ExecSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AddFile(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,
            '/coreweave.aviato.v1beta1.ATCService/AddFile',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.AddFileSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def RetrieveFile(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,
            '/coreweave.aviato.v1beta1.ATCService/RetrieveFile',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RetrieveFileSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Pause(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,
            '/coreweave.aviato.v1beta1.ATCService/Pause',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.PauseSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Resume(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,
            '/coreweave.aviato.v1beta1.ATCService/Resume',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.ResumeSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Raw(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,
            '/coreweave.aviato.v1beta1.ATCService/Raw',
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxRequest.SerializeToString,
            coreweave_dot_aviato_dot_v1beta1_dot_atc__pb2.RawSandboxResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
