"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import grpc
import prodvana.proto.prodvana.environment.environment_manager_pb2

class EnvironmentManagerStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    GetClusterAgentApiToken: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAgentApiTokenReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAgentApiTokenResp,
    ]
    LinkCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.LinkClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.LinkClusterResp,
    ]
    ListClusters: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.ListClustersReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.ListClustersResp,
    ]
    GetCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterResp,
    ]
    RemoveCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.RemoveClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.RemoveClusterResp,
    ]
    GetClusterAuth: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAuthReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAuthResp,
    ]
    """Deprecated."""
    GetClusterConfig: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterConfigReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterConfigResp,
    ]
    DetectClusterConfig: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.DetectClusterConfigReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.DetectClusterConfigResp,
    ]
    ConfigureCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterResp,
    ]
    ValidateConfigureCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.ValidateConfigureClusterResp,
    ]
    GetClusterStatus: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterStatusReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterStatusResp,
    ]
    PauseCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.PauseClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.PauseClusterResp,
    ]
    ResumeCluster: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.environment.environment_manager_pb2.ResumeClusterReq,
        prodvana.proto.prodvana.environment.environment_manager_pb2.ResumeClusterResp,
    ]

class EnvironmentManagerServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def GetClusterAgentApiToken(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAgentApiTokenReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAgentApiTokenResp: ...
    @abc.abstractmethod
    def LinkCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.LinkClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.LinkClusterResp: ...
    @abc.abstractmethod
    def ListClusters(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.ListClustersReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.ListClustersResp: ...
    @abc.abstractmethod
    def GetCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterResp: ...
    @abc.abstractmethod
    def RemoveCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.RemoveClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.RemoveClusterResp: ...
    @abc.abstractmethod
    def GetClusterAuth(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAuthReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterAuthResp:
        """Deprecated."""
    @abc.abstractmethod
    def GetClusterConfig(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterConfigReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterConfigResp: ...
    @abc.abstractmethod
    def DetectClusterConfig(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.DetectClusterConfigReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.DetectClusterConfigResp: ...
    @abc.abstractmethod
    def ConfigureCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterResp: ...
    @abc.abstractmethod
    def ValidateConfigureCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.ConfigureClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.ValidateConfigureClusterResp: ...
    @abc.abstractmethod
    def GetClusterStatus(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterStatusReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.GetClusterStatusResp: ...
    @abc.abstractmethod
    def PauseCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.PauseClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.PauseClusterResp: ...
    @abc.abstractmethod
    def ResumeCluster(
        self,
        request: prodvana.proto.prodvana.environment.environment_manager_pb2.ResumeClusterReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.environment.environment_manager_pb2.ResumeClusterResp: ...

def add_EnvironmentManagerServicer_to_server(servicer: EnvironmentManagerServicer, server: grpc.Server) -> None: ...
