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

from yandex.cloud.loadbalancer.v1 import target_group_pb2 as yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2
from yandex.cloud.loadbalancer.v1 import target_group_service_pb2 as yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2
from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2


class TargetGroupServiceStub(object):
    """A set of methods for managing TargetGroup resources.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Get = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Get',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.FromString,
                )
        self.List = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/List',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.FromString,
                )
        self.Create = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Create',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.Update = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Update',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.Delete = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Delete',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.AddTargets = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/AddTargets',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.RemoveTargets = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/RemoveTargets',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.ListOperations = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/ListOperations',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.FromString,
                )


class TargetGroupServiceServicer(object):
    """A set of methods for managing TargetGroup resources.
    """

    def Get(self, request, context):
        """Returns the specified TargetGroup resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def List(self, request, context):
        """Retrieves the list of TargetGroup resources in the specified folder.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Create(self, request, context):
        """Creates a target group in the specified folder and adds the specified targets to it.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Update(self, request, context):
        """Updates the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Delete(self, request, context):
        """Deletes the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddTargets(self, request, context):
        """Adds targets to the target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveTargets(self, request, context):
        """Removes targets from the target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListOperations(self, request, context):
        """Lists operations for the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_TargetGroupServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Get': grpc.unary_unary_rpc_method_handler(
                    servicer.Get,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.SerializeToString,
            ),
            'List': grpc.unary_unary_rpc_method_handler(
                    servicer.List,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.SerializeToString,
            ),
            'Create': grpc.unary_unary_rpc_method_handler(
                    servicer.Create,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'Update': grpc.unary_unary_rpc_method_handler(
                    servicer.Update,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'Delete': grpc.unary_unary_rpc_method_handler(
                    servicer.Delete,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'AddTargets': grpc.unary_unary_rpc_method_handler(
                    servicer.AddTargets,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'RemoveTargets': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTargets,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'ListOperations': grpc.unary_unary_rpc_method_handler(
                    servicer.ListOperations,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'yandex.cloud.loadbalancer.v1.TargetGroupService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class TargetGroupService(object):
    """A set of methods for managing TargetGroup resources.
    """

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Get',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/List',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Create(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Create',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Update(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Update',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Delete',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddTargets(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/AddTargets',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTargets(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/RemoveTargets',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListOperations(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/ListOperations',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

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

from yandex.cloud.loadbalancer.v1 import target_group_pb2 as yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2
from yandex.cloud.loadbalancer.v1 import target_group_service_pb2 as yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2
from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2


class TargetGroupServiceStub(object):
    """A set of methods for managing TargetGroup resources.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Get = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Get',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.FromString,
                )
        self.List = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/List',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.FromString,
                )
        self.Create = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Create',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.Update = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Update',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.Delete = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/Delete',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.AddTargets = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/AddTargets',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.RemoveTargets = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/RemoveTargets',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
                )
        self.ListOperations = channel.unary_unary(
                '/yandex.cloud.loadbalancer.v1.TargetGroupService/ListOperations',
                request_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.SerializeToString,
                response_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.FromString,
                )


class TargetGroupServiceServicer(object):
    """A set of methods for managing TargetGroup resources.
    """

    def Get(self, request, context):
        """Returns the specified TargetGroup resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def List(self, request, context):
        """Retrieves the list of TargetGroup resources in the specified folder.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Create(self, request, context):
        """Creates a target group in the specified folder and adds the specified targets to it.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Update(self, request, context):
        """Updates the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Delete(self, request, context):
        """Deletes the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddTargets(self, request, context):
        """Adds targets to the target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveTargets(self, request, context):
        """Removes targets from the target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListOperations(self, request, context):
        """Lists operations for the specified target group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_TargetGroupServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Get': grpc.unary_unary_rpc_method_handler(
                    servicer.Get,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.SerializeToString,
            ),
            'List': grpc.unary_unary_rpc_method_handler(
                    servicer.List,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.SerializeToString,
            ),
            'Create': grpc.unary_unary_rpc_method_handler(
                    servicer.Create,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'Update': grpc.unary_unary_rpc_method_handler(
                    servicer.Update,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'Delete': grpc.unary_unary_rpc_method_handler(
                    servicer.Delete,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'AddTargets': grpc.unary_unary_rpc_method_handler(
                    servicer.AddTargets,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'RemoveTargets': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTargets,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
            ),
            'ListOperations': grpc.unary_unary_rpc_method_handler(
                    servicer.ListOperations,
                    request_deserializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.FromString,
                    response_serializer=yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'yandex.cloud.loadbalancer.v1.TargetGroupService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class TargetGroupService(object):
    """A set of methods for managing TargetGroup resources.
    """

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Get',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.GetTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__pb2.TargetGroup.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/List',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Create(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Create',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.CreateTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Update(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Update',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.UpdateTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/Delete',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.DeleteTargetGroupRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddTargets(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/AddTargets',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.AddTargetsRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTargets(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/RemoveTargets',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.RemoveTargetsRequest.SerializeToString,
            yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListOperations(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, '/yandex.cloud.loadbalancer.v1.TargetGroupService/ListOperations',
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsRequest.SerializeToString,
            yandex_dot_cloud_dot_loadbalancer_dot_v1_dot_target__group__service__pb2.ListTargetGroupOperationsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! Client and server classes corresponding to protobuf-defined services. A set of methods for managing TargetGroup resources. Constructor.          Args:             channel: A grpc.Channel. A set of methods for managing TargetGroup resources. Returns the specified TargetGroup resource. Retrieves the list of TargetGroup resources in the specified folder. Creates a target group in the specified folder and adds the specified targets to it. Updates the specified target group. Deletes the specified target group. Adds targets to the target group. Removes targets from the target group. Lists operations for the specified target group. # This class is part of an EXPERIMENTAL API. A set of methods for managing TargetGroup resources.