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

from feast.core import CoreService_pb2 as feast_dot_core_dot_CoreService__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetFeastCoreVersion = channel.unary_unary(
                '/feast.core.CoreService/GetFeastCoreVersion',
                request_serializer=feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionResponse.FromString,
                )
        self.GetFeatureSet = channel.unary_unary(
                '/feast.core.CoreService/GetFeatureSet',
                request_serializer=feast_dot_core_dot_CoreService__pb2.GetFeatureSetRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeatureSetResponse.FromString,
                )
        self.ListFeatureSets = channel.unary_unary(
                '/feast.core.CoreService/ListFeatureSets',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ListFeatureSetsRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ListFeatureSetsResponse.FromString,
                )
        self.ListFeatures = channel.unary_unary(
                '/feast.core.CoreService/ListFeatures',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ListFeaturesRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ListFeaturesResponse.FromString,
                )
        self.GetFeatureStatistics = channel.unary_unary(
                '/feast.core.CoreService/GetFeatureStatistics',
                request_serializer=feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsResponse.FromString,
                )
        self.ListStores = channel.unary_unary(
                '/feast.core.CoreService/ListStores',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ListStoresRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ListStoresResponse.FromString,
                )
        self.ApplyFeatureSet = channel.unary_unary(
                '/feast.core.CoreService/ApplyFeatureSet',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetResponse.FromString,
                )
        self.UpdateStore = channel.unary_unary(
                '/feast.core.CoreService/UpdateStore',
                request_serializer=feast_dot_core_dot_CoreService__pb2.UpdateStoreRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.UpdateStoreResponse.FromString,
                )
        self.CreateProject = channel.unary_unary(
                '/feast.core.CoreService/CreateProject',
                request_serializer=feast_dot_core_dot_CoreService__pb2.CreateProjectRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.CreateProjectResponse.FromString,
                )
        self.ArchiveProject = channel.unary_unary(
                '/feast.core.CoreService/ArchiveProject',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ArchiveProjectRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ArchiveProjectResponse.FromString,
                )
        self.ListProjects = channel.unary_unary(
                '/feast.core.CoreService/ListProjects',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ListProjectsRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ListProjectsResponse.FromString,
                )
        self.UpdateFeatureSetStatus = channel.unary_unary(
                '/feast.core.CoreService/UpdateFeatureSetStatus',
                request_serializer=feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusResponse.FromString,
                )


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

    def GetFeastCoreVersion(self, request, context):
        """Retrieve version information about this Feast deployment
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetFeatureSet(self, request, context):
        """Returns a specific feature set
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListFeatureSets(self, request, context):
        """Retrieve feature set details given a filter.

        Returns all feature sets matching that filter. If none are found,
        an empty list will be returned.
        If no filter is provided in the request, the response will contain all the feature
        sets currently stored in the registry.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListFeatures(self, request, context):
        """Returns all feature references and respective features matching that filter. If none are found
        an empty map will be returned
        If no filter is provided in the request, the response will contain all the features
        currently stored in the default project.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetFeatureStatistics(self, request, context):
        """Get feature statistics computed over the data in the batch stores.

        Returns a dataset containing TFDV statistics mapped to each valid historical store.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListStores(self, request, context):
        """Retrieve store details given a filter.

        Returns all stores matching that filter. If none are found, an empty list will be returned.
        If no filter is provided in the request, the response will contain all the stores currently
        stored in the registry.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ApplyFeatureSet(self, request, context):
        """Create or update and existing feature set.

        This function is idempotent - it will not create a new feature set if schema does not change.
        Schema changes will update the feature set if the changes are valid.
        All changes except the following are valid:
        - Changes to feature set id (name, project)
        - Changes to entities
        - Changes to feature name and type
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateStore(self, request, context):
        """Updates core with the configuration of the store.

        If the changes are valid, core will return the given store configuration in response, and
        start or update the necessary feature population jobs for the updated store.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateProject(self, request, context):
        """Creates a project. Projects serve as namespaces within which resources like features will be
        created. Feature set names as must be unique within a project while field (Feature/Entity) names
        must be unique within a Feature Set. Project names themselves must be globally unique.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ArchiveProject(self, request, context):
        """Archives a project. Archived projects will continue to exist and function, but won't be visible
        through the Core API. Any existing ingestion or serving requests will continue to function,
        but will result in warning messages being logged. It is not possible to unarchive a project
        through the Core API
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListProjects(self, request, context):
        """Lists all projects active projects.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateFeatureSetStatus(self, request, context):
        """Internal API for Job Controller to update featureSet's status once responsible ingestion job is running
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_CoreServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetFeastCoreVersion': grpc.unary_unary_rpc_method_handler(
                    servicer.GetFeastCoreVersion,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionResponse.SerializeToString,
            ),
            'GetFeatureSet': grpc.unary_unary_rpc_method_handler(
                    servicer.GetFeatureSet,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeatureSetRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.GetFeatureSetResponse.SerializeToString,
            ),
            'ListFeatureSets': grpc.unary_unary_rpc_method_handler(
                    servicer.ListFeatureSets,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ListFeatureSetsRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ListFeatureSetsResponse.SerializeToString,
            ),
            'ListFeatures': grpc.unary_unary_rpc_method_handler(
                    servicer.ListFeatures,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ListFeaturesRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ListFeaturesResponse.SerializeToString,
            ),
            'GetFeatureStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetFeatureStatistics,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsResponse.SerializeToString,
            ),
            'ListStores': grpc.unary_unary_rpc_method_handler(
                    servicer.ListStores,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ListStoresRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ListStoresResponse.SerializeToString,
            ),
            'ApplyFeatureSet': grpc.unary_unary_rpc_method_handler(
                    servicer.ApplyFeatureSet,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetResponse.SerializeToString,
            ),
            'UpdateStore': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateStore,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.UpdateStoreRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.UpdateStoreResponse.SerializeToString,
            ),
            'CreateProject': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateProject,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.CreateProjectRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.CreateProjectResponse.SerializeToString,
            ),
            'ArchiveProject': grpc.unary_unary_rpc_method_handler(
                    servicer.ArchiveProject,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ArchiveProjectRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ArchiveProjectResponse.SerializeToString,
            ),
            'ListProjects': grpc.unary_unary_rpc_method_handler(
                    servicer.ListProjects,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ListProjectsRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ListProjectsResponse.SerializeToString,
            ),
            'UpdateFeatureSetStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateFeatureSetStatus,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'feast.core.CoreService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GetFeastCoreVersion(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, '/feast.core.CoreService/GetFeastCoreVersion',
            feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.GetFeastCoreVersionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetFeatureSet(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, '/feast.core.CoreService/GetFeatureSet',
            feast_dot_core_dot_CoreService__pb2.GetFeatureSetRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.GetFeatureSetResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListFeatureSets(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, '/feast.core.CoreService/ListFeatureSets',
            feast_dot_core_dot_CoreService__pb2.ListFeatureSetsRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ListFeatureSetsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListFeatures(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, '/feast.core.CoreService/ListFeatures',
            feast_dot_core_dot_CoreService__pb2.ListFeaturesRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ListFeaturesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetFeatureStatistics(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, '/feast.core.CoreService/GetFeatureStatistics',
            feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.GetFeatureStatisticsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListStores(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, '/feast.core.CoreService/ListStores',
            feast_dot_core_dot_CoreService__pb2.ListStoresRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ListStoresResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ApplyFeatureSet(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, '/feast.core.CoreService/ApplyFeatureSet',
            feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ApplyFeatureSetResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateStore(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, '/feast.core.CoreService/UpdateStore',
            feast_dot_core_dot_CoreService__pb2.UpdateStoreRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.UpdateStoreResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateProject(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, '/feast.core.CoreService/CreateProject',
            feast_dot_core_dot_CoreService__pb2.CreateProjectRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.CreateProjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArchiveProject(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, '/feast.core.CoreService/ArchiveProject',
            feast_dot_core_dot_CoreService__pb2.ArchiveProjectRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ArchiveProjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListProjects(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, '/feast.core.CoreService/ListProjects',
            feast_dot_core_dot_CoreService__pb2.ListProjectsRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ListProjectsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateFeatureSetStatus(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, '/feast.core.CoreService/UpdateFeatureSetStatus',
            feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.UpdateFeatureSetStatusResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ListIngestionJobs = channel.unary_unary(
                '/feast.core.JobControllerService/ListIngestionJobs',
                request_serializer=feast_dot_core_dot_CoreService__pb2.ListIngestionJobsRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.ListIngestionJobsResponse.FromString,
                )
        self.RestartIngestionJob = channel.unary_unary(
                '/feast.core.JobControllerService/RestartIngestionJob',
                request_serializer=feast_dot_core_dot_CoreService__pb2.RestartIngestionJobRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.RestartIngestionJobResponse.FromString,
                )
        self.StopIngestionJob = channel.unary_unary(
                '/feast.core.JobControllerService/StopIngestionJob',
                request_serializer=feast_dot_core_dot_CoreService__pb2.StopIngestionJobRequest.SerializeToString,
                response_deserializer=feast_dot_core_dot_CoreService__pb2.StopIngestionJobResponse.FromString,
                )


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

    def ListIngestionJobs(self, request, context):
        """List Ingestion Jobs given an optional filter.
        Returns allow ingestions matching the given request filter.
        Returns all ingestion jobs if no filter is provided.
        Returns an empty list if no ingestion jobs match the filter.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RestartIngestionJob(self, request, context):
        """Restart an Ingestion Job.  Restarts the ingestion job with the given job id.
        NOTE: Data might be lost during the restart for some job runners.
        Does not support stopping a job in a transitional (ie pending, suspending, aborting),
        terminal state (ie suspended or aborted) or unknown status
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StopIngestionJob(self, request, context):
        """Stop an Ingestion Job.  Stop (Aborts) the ingestion job with the given job id.
        Does nothing if the target job if already in a terminal state (ie suspended or aborted).
        Does not support stopping a job in a transitional (ie pending, suspending, aborting) or unknown status
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_JobControllerServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ListIngestionJobs': grpc.unary_unary_rpc_method_handler(
                    servicer.ListIngestionJobs,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.ListIngestionJobsRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.ListIngestionJobsResponse.SerializeToString,
            ),
            'RestartIngestionJob': grpc.unary_unary_rpc_method_handler(
                    servicer.RestartIngestionJob,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.RestartIngestionJobRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.RestartIngestionJobResponse.SerializeToString,
            ),
            'StopIngestionJob': grpc.unary_unary_rpc_method_handler(
                    servicer.StopIngestionJob,
                    request_deserializer=feast_dot_core_dot_CoreService__pb2.StopIngestionJobRequest.FromString,
                    response_serializer=feast_dot_core_dot_CoreService__pb2.StopIngestionJobResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'feast.core.JobControllerService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ListIngestionJobs(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, '/feast.core.JobControllerService/ListIngestionJobs',
            feast_dot_core_dot_CoreService__pb2.ListIngestionJobsRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.ListIngestionJobsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RestartIngestionJob(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, '/feast.core.JobControllerService/RestartIngestionJob',
            feast_dot_core_dot_CoreService__pb2.RestartIngestionJobRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.RestartIngestionJobResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StopIngestionJob(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, '/feast.core.JobControllerService/StopIngestionJob',
            feast_dot_core_dot_CoreService__pb2.StopIngestionJobRequest.SerializeToString,
            feast_dot_core_dot_CoreService__pb2.StopIngestionJobResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
