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

import configuration_pb2 as configuration__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ReadConfiguration = channel.unary_unary(
                '/configuration.ConfigurationService/ReadConfiguration',
                request_serializer=configuration__pb2.ReadConfigurationRequest.SerializeToString,
                response_deserializer=configuration__pb2.ConfigurationResponse.FromString,
                )
        self.ExportConfigurationJson = channel.unary_unary(
                '/configuration.ConfigurationService/ExportConfigurationJson',
                request_serializer=configuration__pb2.ExportJsonRequest.SerializeToString,
                response_deserializer=configuration__pb2.JsonExportResponse.FromString,
                )
        self.ModifyConfiguration = channel.unary_unary(
                '/configuration.ConfigurationService/ModifyConfiguration',
                request_serializer=configuration__pb2.ModifyConfigurationRequest.SerializeToString,
                response_deserializer=configuration__pb2.ModifyConfigurationResponse.FromString,
                )
        self.ImportConfiguration = channel.unary_unary(
                '/configuration.ConfigurationService/ImportConfiguration',
                request_serializer=configuration__pb2.ImportConfigurationRequest.SerializeToString,
                response_deserializer=configuration__pb2.ImportConfigurationResponse.FromString,
                )
        self.ReadActionMappings = channel.unary_unary(
                '/configuration.ConfigurationService/ReadActionMappings',
                request_serializer=configuration__pb2.ReadActionMappingsRequest.SerializeToString,
                response_deserializer=configuration__pb2.ActionMappingsResponse.FromString,
                )
        self.ReadSpecificMarkers = channel.unary_unary(
                '/configuration.ConfigurationService/ReadSpecificMarkers',
                request_serializer=configuration__pb2.ReadSpecificMarkersRequest.SerializeToString,
                response_deserializer=configuration__pb2.SelectiveConfigResponse.FromString,
                )
        self.CreateActionMapping = channel.unary_unary(
                '/configuration.ConfigurationService/CreateActionMapping',
                request_serializer=configuration__pb2.CreateActionMappingRequest.SerializeToString,
                response_deserializer=configuration__pb2.ActionMappingOperationResponse.FromString,
                )
        self.UpdateActionMapping = channel.unary_unary(
                '/configuration.ConfigurationService/UpdateActionMapping',
                request_serializer=configuration__pb2.UpdateActionMappingRequest.SerializeToString,
                response_deserializer=configuration__pb2.ActionMappingOperationResponse.FromString,
                )
        self.DeleteActionMapping = channel.unary_unary(
                '/configuration.ConfigurationService/DeleteActionMapping',
                request_serializer=configuration__pb2.DeleteActionMappingRequest.SerializeToString,
                response_deserializer=configuration__pb2.ActionMappingOperationResponse.FromString,
                )
        self.CreateServer = channel.unary_unary(
                '/configuration.ConfigurationService/CreateServer',
                request_serializer=configuration__pb2.CreateServerRequest.SerializeToString,
                response_deserializer=configuration__pb2.ServerOperationResponse.FromString,
                )
        self.UpdateServer = channel.unary_unary(
                '/configuration.ConfigurationService/UpdateServer',
                request_serializer=configuration__pb2.UpdateServerRequest.SerializeToString,
                response_deserializer=configuration__pb2.ServerOperationResponse.FromString,
                )
        self.DeleteServer = channel.unary_unary(
                '/configuration.ConfigurationService/DeleteServer',
                request_serializer=configuration__pb2.DeleteServerRequest.SerializeToString,
                response_deserializer=configuration__pb2.ServerOperationResponse.FromString,
                )
        self.ReadConfigurationTree = channel.unary_unary(
                '/configuration.ConfigurationService/ReadConfigurationTree',
                request_serializer=configuration__pb2.ReadConfigurationTreeRequest.SerializeToString,
                response_deserializer=configuration__pb2.ConfigurationTreeResponse.FromString,
                )
        self.ListRegistryNodes = channel.unary_unary(
                '/configuration.ConfigurationService/ListRegistryNodes',
                request_serializer=configuration__pb2.ListRegistryNodesRequest.SerializeToString,
                response_deserializer=configuration__pb2.RegistryNodesResponse.FromString,
                )
        self.GetRegistryNodeDetails = channel.unary_unary(
                '/configuration.ConfigurationService/GetRegistryNodeDetails',
                request_serializer=configuration__pb2.GetRegistryNodeDetailsRequest.SerializeToString,
                response_deserializer=configuration__pb2.RegistryNodeDetailsResponse.FromString,
                )
        self.SearchActionMappingPaths = channel.unary_unary(
                '/configuration.ConfigurationService/SearchActionMappingPaths',
                request_serializer=configuration__pb2.SearchActionMappingPathsRequest.SerializeToString,
                response_deserializer=configuration__pb2.ActionMappingPathsResponse.FromString,
                )


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

    def ReadConfiguration(self, request, context):
        """Read and parse complete configuration from GeViServer
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExportConfigurationJson(self, request, context):
        """Export configuration as JSON string
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ModifyConfiguration(self, request, context):
        """Modify configuration values and write back to server
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ImportConfiguration(self, request, context):
        """Import complete configuration from JSON and write to GeViServer
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadActionMappings(self, request, context):
        """SELECTIVE/TARGETED READ METHODS (Fast, lightweight)

        Read ONLY action mappings (Rules markers) - optimized for speed
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadSpecificMarkers(self, request, context):
        """Read specific markers by name - extensible for future config types
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateActionMapping(self, request, context):
        """ACTION MAPPING WRITE METHODS

        Create a new action mapping
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateActionMapping(self, request, context):
        """Update an existing action mapping by ID
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteActionMapping(self, request, context):
        """Delete an action mapping by ID
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateServer(self, request, context):
        """SERVER CONFIGURATION WRITE METHODS (G-CORE SERVERS)

        Create a new G-core server
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateServer(self, request, context):
        """Update an existing G-core server
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteServer(self, request, context):
        """Delete a G-core server
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadConfigurationTree(self, request, context):
        """TREE FORMAT (RECOMMENDED)

        Read configuration as hierarchical folder tree - much more readable than flat format
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRegistryNodes(self, request, context):
        """REGISTRY EXPLORATION METHODS

        List top-level registry nodes
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def SearchActionMappingPaths(self, request, context):
        """Search for action mapping paths in registry
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ConfigurationServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ReadConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadConfiguration,
                    request_deserializer=configuration__pb2.ReadConfigurationRequest.FromString,
                    response_serializer=configuration__pb2.ConfigurationResponse.SerializeToString,
            ),
            'ExportConfigurationJson': grpc.unary_unary_rpc_method_handler(
                    servicer.ExportConfigurationJson,
                    request_deserializer=configuration__pb2.ExportJsonRequest.FromString,
                    response_serializer=configuration__pb2.JsonExportResponse.SerializeToString,
            ),
            'ModifyConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.ModifyConfiguration,
                    request_deserializer=configuration__pb2.ModifyConfigurationRequest.FromString,
                    response_serializer=configuration__pb2.ModifyConfigurationResponse.SerializeToString,
            ),
            'ImportConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.ImportConfiguration,
                    request_deserializer=configuration__pb2.ImportConfigurationRequest.FromString,
                    response_serializer=configuration__pb2.ImportConfigurationResponse.SerializeToString,
            ),
            'ReadActionMappings': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadActionMappings,
                    request_deserializer=configuration__pb2.ReadActionMappingsRequest.FromString,
                    response_serializer=configuration__pb2.ActionMappingsResponse.SerializeToString,
            ),
            'ReadSpecificMarkers': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadSpecificMarkers,
                    request_deserializer=configuration__pb2.ReadSpecificMarkersRequest.FromString,
                    response_serializer=configuration__pb2.SelectiveConfigResponse.SerializeToString,
            ),
            'CreateActionMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateActionMapping,
                    request_deserializer=configuration__pb2.CreateActionMappingRequest.FromString,
                    response_serializer=configuration__pb2.ActionMappingOperationResponse.SerializeToString,
            ),
            'UpdateActionMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateActionMapping,
                    request_deserializer=configuration__pb2.UpdateActionMappingRequest.FromString,
                    response_serializer=configuration__pb2.ActionMappingOperationResponse.SerializeToString,
            ),
            'DeleteActionMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteActionMapping,
                    request_deserializer=configuration__pb2.DeleteActionMappingRequest.FromString,
                    response_serializer=configuration__pb2.ActionMappingOperationResponse.SerializeToString,
            ),
            'CreateServer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateServer,
                    request_deserializer=configuration__pb2.CreateServerRequest.FromString,
                    response_serializer=configuration__pb2.ServerOperationResponse.SerializeToString,
            ),
            'UpdateServer': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateServer,
                    request_deserializer=configuration__pb2.UpdateServerRequest.FromString,
                    response_serializer=configuration__pb2.ServerOperationResponse.SerializeToString,
            ),
            'DeleteServer': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteServer,
                    request_deserializer=configuration__pb2.DeleteServerRequest.FromString,
                    response_serializer=configuration__pb2.ServerOperationResponse.SerializeToString,
            ),
            'ReadConfigurationTree': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadConfigurationTree,
                    request_deserializer=configuration__pb2.ReadConfigurationTreeRequest.FromString,
                    response_serializer=configuration__pb2.ConfigurationTreeResponse.SerializeToString,
            ),
            'ListRegistryNodes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRegistryNodes,
                    request_deserializer=configuration__pb2.ListRegistryNodesRequest.FromString,
                    response_serializer=configuration__pb2.RegistryNodesResponse.SerializeToString,
            ),
            'GetRegistryNodeDetails': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRegistryNodeDetails,
                    request_deserializer=configuration__pb2.GetRegistryNodeDetailsRequest.FromString,
                    response_serializer=configuration__pb2.RegistryNodeDetailsResponse.SerializeToString,
            ),
            'SearchActionMappingPaths': grpc.unary_unary_rpc_method_handler(
                    servicer.SearchActionMappingPaths,
                    request_deserializer=configuration__pb2.SearchActionMappingPathsRequest.FromString,
                    response_serializer=configuration__pb2.ActionMappingPathsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'configuration.ConfigurationService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ReadConfiguration(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, '/configuration.ConfigurationService/ReadConfiguration',
            configuration__pb2.ReadConfigurationRequest.SerializeToString,
            configuration__pb2.ConfigurationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExportConfigurationJson(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, '/configuration.ConfigurationService/ExportConfigurationJson',
            configuration__pb2.ExportJsonRequest.SerializeToString,
            configuration__pb2.JsonExportResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ModifyConfiguration(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, '/configuration.ConfigurationService/ModifyConfiguration',
            configuration__pb2.ModifyConfigurationRequest.SerializeToString,
            configuration__pb2.ModifyConfigurationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ImportConfiguration(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, '/configuration.ConfigurationService/ImportConfiguration',
            configuration__pb2.ImportConfigurationRequest.SerializeToString,
            configuration__pb2.ImportConfigurationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadActionMappings(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, '/configuration.ConfigurationService/ReadActionMappings',
            configuration__pb2.ReadActionMappingsRequest.SerializeToString,
            configuration__pb2.ActionMappingsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadSpecificMarkers(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, '/configuration.ConfigurationService/ReadSpecificMarkers',
            configuration__pb2.ReadSpecificMarkersRequest.SerializeToString,
            configuration__pb2.SelectiveConfigResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateActionMapping(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, '/configuration.ConfigurationService/CreateActionMapping',
            configuration__pb2.CreateActionMappingRequest.SerializeToString,
            configuration__pb2.ActionMappingOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateActionMapping(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, '/configuration.ConfigurationService/UpdateActionMapping',
            configuration__pb2.UpdateActionMappingRequest.SerializeToString,
            configuration__pb2.ActionMappingOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteActionMapping(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, '/configuration.ConfigurationService/DeleteActionMapping',
            configuration__pb2.DeleteActionMappingRequest.SerializeToString,
            configuration__pb2.ActionMappingOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateServer(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, '/configuration.ConfigurationService/CreateServer',
            configuration__pb2.CreateServerRequest.SerializeToString,
            configuration__pb2.ServerOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateServer(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, '/configuration.ConfigurationService/UpdateServer',
            configuration__pb2.UpdateServerRequest.SerializeToString,
            configuration__pb2.ServerOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteServer(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, '/configuration.ConfigurationService/DeleteServer',
            configuration__pb2.DeleteServerRequest.SerializeToString,
            configuration__pb2.ServerOperationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadConfigurationTree(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, '/configuration.ConfigurationService/ReadConfigurationTree',
            configuration__pb2.ReadConfigurationTreeRequest.SerializeToString,
            configuration__pb2.ConfigurationTreeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRegistryNodes(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, '/configuration.ConfigurationService/ListRegistryNodes',
            configuration__pb2.ListRegistryNodesRequest.SerializeToString,
            configuration__pb2.RegistryNodesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRegistryNodeDetails(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, '/configuration.ConfigurationService/GetRegistryNodeDetails',
            configuration__pb2.GetRegistryNodeDetailsRequest.SerializeToString,
            configuration__pb2.RegistryNodeDetailsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SearchActionMappingPaths(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, '/configuration.ConfigurationService/SearchActionMappingPaths',
            configuration__pb2.SearchActionMappingPathsRequest.SerializeToString,
            configuration__pb2.ActionMappingPathsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
