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

import frontend_virtio_scsi_pb2 as frontend__virtio__scsi__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


class FrontendVirtioScsiServiceStub(object):
    """Front End (host-facing) APIs. Mostly used for Virtio-scsi emulation and host presentation as alternative to Virtio-blk.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateVirtioScsiTarget = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiTarget',
                request_serializer=frontend__virtio__scsi__pb2.CreateVirtioScsiTargetRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
                )
        self.DeleteVirtioScsiTarget = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiTarget',
                request_serializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiTargetRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVirtioScsiTarget = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiTarget',
                request_serializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiTargetRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
                )
        self.ListVirtioScsiTargets = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiTargets',
                request_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiTargetsRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiTargetsResponse.FromString,
                )
        self.GetVirtioScsiTarget = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiTarget',
                request_serializer=frontend__virtio__scsi__pb2.GetVirtioScsiTargetRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
                )
        self.VirtioScsiTargetStats = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiTargetStats',
                request_serializer=frontend__virtio__scsi__pb2.VirtioScsiTargetStatsRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiTargetStatsResponse.FromString,
                )
        self.CreateVirtioScsiController = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiController',
                request_serializer=frontend__virtio__scsi__pb2.CreateVirtioScsiControllerRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
                )
        self.DeleteVirtioScsiController = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiController',
                request_serializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiControllerRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVirtioScsiController = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiController',
                request_serializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiControllerRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
                )
        self.ListVirtioScsiControllers = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiControllers',
                request_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiControllersRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiControllersResponse.FromString,
                )
        self.GetVirtioScsiController = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiController',
                request_serializer=frontend__virtio__scsi__pb2.GetVirtioScsiControllerRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
                )
        self.VirtioScsiControllerStats = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiControllerStats',
                request_serializer=frontend__virtio__scsi__pb2.VirtioScsiControllerStatsRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiControllerStatsResponse.FromString,
                )
        self.CreateVirtioScsiLun = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiLun',
                request_serializer=frontend__virtio__scsi__pb2.CreateVirtioScsiLunRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
                )
        self.DeleteVirtioScsiLun = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiLun',
                request_serializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiLunRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVirtioScsiLun = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiLun',
                request_serializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiLunRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
                )
        self.ListVirtioScsiLuns = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiLuns',
                request_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiLunsRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiLunsResponse.FromString,
                )
        self.GetVirtioScsiLun = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiLun',
                request_serializer=frontend__virtio__scsi__pb2.GetVirtioScsiLunRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
                )
        self.VirtioScsiLunStats = channel.unary_unary(
                '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiLunStats',
                request_serializer=frontend__virtio__scsi__pb2.VirtioScsiLunStatsRequest.SerializeToString,
                response_deserializer=frontend__virtio__scsi__pb2.VirtioScsiLunStatsResponse.FromString,
                )


class FrontendVirtioScsiServiceServicer(object):
    """Front End (host-facing) APIs. Mostly used for Virtio-scsi emulation and host presentation as alternative to Virtio-blk.
    """

    def CreateVirtioScsiTarget(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 DeleteVirtioScsiTarget(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 UpdateVirtioScsiTarget(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 ListVirtioScsiTargets(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 GetVirtioScsiTarget(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 VirtioScsiTargetStats(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 CreateVirtioScsiController(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 DeleteVirtioScsiController(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 UpdateVirtioScsiController(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 ListVirtioScsiControllers(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 GetVirtioScsiController(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 VirtioScsiControllerStats(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 CreateVirtioScsiLun(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 DeleteVirtioScsiLun(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 UpdateVirtioScsiLun(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 ListVirtioScsiLuns(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 GetVirtioScsiLun(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 VirtioScsiLunStats(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_FrontendVirtioScsiServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateVirtioScsiTarget': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVirtioScsiTarget,
                    request_deserializer=frontend__virtio__scsi__pb2.CreateVirtioScsiTargetRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.SerializeToString,
            ),
            'DeleteVirtioScsiTarget': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVirtioScsiTarget,
                    request_deserializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiTargetRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVirtioScsiTarget': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVirtioScsiTarget,
                    request_deserializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiTargetRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.SerializeToString,
            ),
            'ListVirtioScsiTargets': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVirtioScsiTargets,
                    request_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiTargetsRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiTargetsResponse.SerializeToString,
            ),
            'GetVirtioScsiTarget': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVirtioScsiTarget,
                    request_deserializer=frontend__virtio__scsi__pb2.GetVirtioScsiTargetRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiTarget.SerializeToString,
            ),
            'VirtioScsiTargetStats': grpc.unary_unary_rpc_method_handler(
                    servicer.VirtioScsiTargetStats,
                    request_deserializer=frontend__virtio__scsi__pb2.VirtioScsiTargetStatsRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiTargetStatsResponse.SerializeToString,
            ),
            'CreateVirtioScsiController': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVirtioScsiController,
                    request_deserializer=frontend__virtio__scsi__pb2.CreateVirtioScsiControllerRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiController.SerializeToString,
            ),
            'DeleteVirtioScsiController': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVirtioScsiController,
                    request_deserializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiControllerRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVirtioScsiController': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVirtioScsiController,
                    request_deserializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiControllerRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiController.SerializeToString,
            ),
            'ListVirtioScsiControllers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVirtioScsiControllers,
                    request_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiControllersRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiControllersResponse.SerializeToString,
            ),
            'GetVirtioScsiController': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVirtioScsiController,
                    request_deserializer=frontend__virtio__scsi__pb2.GetVirtioScsiControllerRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiController.SerializeToString,
            ),
            'VirtioScsiControllerStats': grpc.unary_unary_rpc_method_handler(
                    servicer.VirtioScsiControllerStats,
                    request_deserializer=frontend__virtio__scsi__pb2.VirtioScsiControllerStatsRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiControllerStatsResponse.SerializeToString,
            ),
            'CreateVirtioScsiLun': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVirtioScsiLun,
                    request_deserializer=frontend__virtio__scsi__pb2.CreateVirtioScsiLunRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiLun.SerializeToString,
            ),
            'DeleteVirtioScsiLun': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVirtioScsiLun,
                    request_deserializer=frontend__virtio__scsi__pb2.DeleteVirtioScsiLunRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVirtioScsiLun': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVirtioScsiLun,
                    request_deserializer=frontend__virtio__scsi__pb2.UpdateVirtioScsiLunRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiLun.SerializeToString,
            ),
            'ListVirtioScsiLuns': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVirtioScsiLuns,
                    request_deserializer=frontend__virtio__scsi__pb2.ListVirtioScsiLunsRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.ListVirtioScsiLunsResponse.SerializeToString,
            ),
            'GetVirtioScsiLun': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVirtioScsiLun,
                    request_deserializer=frontend__virtio__scsi__pb2.GetVirtioScsiLunRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiLun.SerializeToString,
            ),
            'VirtioScsiLunStats': grpc.unary_unary_rpc_method_handler(
                    servicer.VirtioScsiLunStats,
                    request_deserializer=frontend__virtio__scsi__pb2.VirtioScsiLunStatsRequest.FromString,
                    response_serializer=frontend__virtio__scsi__pb2.VirtioScsiLunStatsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'opi_api.storage.v1.FrontendVirtioScsiService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class FrontendVirtioScsiService(object):
    """Front End (host-facing) APIs. Mostly used for Virtio-scsi emulation and host presentation as alternative to Virtio-blk.
    """

    @staticmethod
    def CreateVirtioScsiTarget(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, '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiTarget',
            frontend__virtio__scsi__pb2.CreateVirtioScsiTargetRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVirtioScsiTarget(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, '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiTarget',
            frontend__virtio__scsi__pb2.DeleteVirtioScsiTargetRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVirtioScsiTarget(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, '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiTarget',
            frontend__virtio__scsi__pb2.UpdateVirtioScsiTargetRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVirtioScsiTargets(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, '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiTargets',
            frontend__virtio__scsi__pb2.ListVirtioScsiTargetsRequest.SerializeToString,
            frontend__virtio__scsi__pb2.ListVirtioScsiTargetsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVirtioScsiTarget(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, '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiTarget',
            frontend__virtio__scsi__pb2.GetVirtioScsiTargetRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiTarget.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def VirtioScsiTargetStats(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, '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiTargetStats',
            frontend__virtio__scsi__pb2.VirtioScsiTargetStatsRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiTargetStatsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateVirtioScsiController(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, '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiController',
            frontend__virtio__scsi__pb2.CreateVirtioScsiControllerRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVirtioScsiController(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, '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiController',
            frontend__virtio__scsi__pb2.DeleteVirtioScsiControllerRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVirtioScsiController(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, '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiController',
            frontend__virtio__scsi__pb2.UpdateVirtioScsiControllerRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVirtioScsiControllers(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, '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiControllers',
            frontend__virtio__scsi__pb2.ListVirtioScsiControllersRequest.SerializeToString,
            frontend__virtio__scsi__pb2.ListVirtioScsiControllersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVirtioScsiController(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, '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiController',
            frontend__virtio__scsi__pb2.GetVirtioScsiControllerRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiController.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def VirtioScsiControllerStats(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, '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiControllerStats',
            frontend__virtio__scsi__pb2.VirtioScsiControllerStatsRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiControllerStatsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateVirtioScsiLun(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, '/opi_api.storage.v1.FrontendVirtioScsiService/CreateVirtioScsiLun',
            frontend__virtio__scsi__pb2.CreateVirtioScsiLunRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVirtioScsiLun(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, '/opi_api.storage.v1.FrontendVirtioScsiService/DeleteVirtioScsiLun',
            frontend__virtio__scsi__pb2.DeleteVirtioScsiLunRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVirtioScsiLun(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, '/opi_api.storage.v1.FrontendVirtioScsiService/UpdateVirtioScsiLun',
            frontend__virtio__scsi__pb2.UpdateVirtioScsiLunRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVirtioScsiLuns(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, '/opi_api.storage.v1.FrontendVirtioScsiService/ListVirtioScsiLuns',
            frontend__virtio__scsi__pb2.ListVirtioScsiLunsRequest.SerializeToString,
            frontend__virtio__scsi__pb2.ListVirtioScsiLunsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVirtioScsiLun(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, '/opi_api.storage.v1.FrontendVirtioScsiService/GetVirtioScsiLun',
            frontend__virtio__scsi__pb2.GetVirtioScsiLunRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiLun.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def VirtioScsiLunStats(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, '/opi_api.storage.v1.FrontendVirtioScsiService/VirtioScsiLunStats',
            frontend__virtio__scsi__pb2.VirtioScsiLunStatsRequest.SerializeToString,
            frontend__virtio__scsi__pb2.VirtioScsiLunStatsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
