# 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.user_attributes import user_attributes_pb2 as scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateSsoUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/CreateSsoUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.FromString,
                )
        self.ListSsoUserAttributes = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/ListSsoUserAttributes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.FromString,
                )
        self.UpdateSsoUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/UpdateSsoUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.FromString,
                )
        self.DeleteSsoUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/DeleteSsoUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CreateDirectoryUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/CreateDirectoryUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.FromString,
                )
        self.ListDirectoryUserAttributes = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/ListDirectoryUserAttributes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.FromString,
                )
        self.UpdateDirectoryUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/UpdateDirectoryUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.FromString,
                )
        self.DeleteDirectoryUserAttribute = channel.unary_unary(
                '/scalekit.v1.user_attributes.UserAttributeService/DeleteDirectoryUserAttribute',
                request_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )


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

    def CreateSsoUserAttribute(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 ListSsoUserAttributes(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 UpdateSsoUserAttribute(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 DeleteSsoUserAttribute(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 CreateDirectoryUserAttribute(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 ListDirectoryUserAttributes(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 UpdateDirectoryUserAttribute(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 DeleteDirectoryUserAttribute(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_UserAttributeServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateSsoUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSsoUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.SerializeToString,
            ),
            'ListSsoUserAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSsoUserAttributes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.SerializeToString,
            ),
            'UpdateSsoUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateSsoUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.SerializeToString,
            ),
            'DeleteSsoUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSsoUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CreateDirectoryUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateDirectoryUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.SerializeToString,
            ),
            'ListDirectoryUserAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListDirectoryUserAttributes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.SerializeToString,
            ),
            'UpdateDirectoryUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateDirectoryUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.SerializeToString,
            ),
            'DeleteDirectoryUserAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteDirectoryUserAttribute,
                    request_deserializer=scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'scalekit.v1.user_attributes.UserAttributeService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateSsoUserAttribute(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.user_attributes.UserAttributeService/CreateSsoUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSsoUserAttributes(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.user_attributes.UserAttributeService/ListSsoUserAttributes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateSsoUserAttribute(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.user_attributes.UserAttributeService/UpdateSsoUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSsoUserAttribute(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.user_attributes.UserAttributeService/DeleteSsoUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateDirectoryUserAttribute(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.user_attributes.UserAttributeService/CreateDirectoryUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeRequest.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.CreateUserAttributeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListDirectoryUserAttributes(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.user_attributes.UserAttributeService/ListDirectoryUserAttributes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.ListUserAttributesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateDirectoryUserAttribute(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.user_attributes.UserAttributeService/UpdateDirectoryUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeRequest.SerializeToString,
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.UpdateUserAttributeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteDirectoryUserAttribute(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.user_attributes.UserAttributeService/DeleteDirectoryUserAttribute',
            scalekit_dot_v1_dot_user__attributes_dot_user__attributes__pb2.DeleteUserAttributeRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
