"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _InitActsState:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _InitActsStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_InitActsState.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INIT_ACTS_STATE_UNSPECIFIED: _InitActsState.ValueType  # 0
    """No init acts on cluster"""
    FAILED: _InitActsState.ValueType  # 1
    """At least one failed init act"""
    SUCCESSFUL: _InitActsState.ValueType  # 2
    """All init acts succeeded"""
    IN_PROGRESS: _InitActsState.ValueType  # 3
    """Some init acts not finished"""

class InitActsState(_InitActsState, metaclass=_InitActsStateEnumTypeWrapper): ...

INIT_ACTS_STATE_UNSPECIFIED: InitActsState.ValueType  # 0
"""No init acts on cluster"""
FAILED: InitActsState.ValueType  # 1
"""At least one failed init act"""
SUCCESSFUL: InitActsState.ValueType  # 2
"""All init acts succeeded"""
IN_PROGRESS: InitActsState.ValueType  # 3
"""Some init acts not finished"""
global___InitActsState = InitActsState

@typing.final
class HbaseNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    REQUESTS_FIELD_NUMBER: builtins.int
    HEAP_SIZE_MB_FIELD_NUMBER: builtins.int
    MAX_HEAP_SIZE_MB_FIELD_NUMBER: builtins.int
    name: builtins.str
    requests: builtins.int
    heap_size_mb: builtins.int
    max_heap_size_mb: builtins.int
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        requests: builtins.int = ...,
        heap_size_mb: builtins.int = ...,
        max_heap_size_mb: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["heap_size_mb", b"heap_size_mb", "max_heap_size_mb", b"max_heap_size_mb", "name", b"name", "requests", b"requests"]) -> None: ...

global___HbaseNodeInfo = HbaseNodeInfo

@typing.final
class HbaseInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AVAILABLE_FIELD_NUMBER: builtins.int
    REGIONS_FIELD_NUMBER: builtins.int
    REQUESTS_FIELD_NUMBER: builtins.int
    AVERAGE_LOAD_FIELD_NUMBER: builtins.int
    LIVE_NODES_FIELD_NUMBER: builtins.int
    DEAD_NODES_FIELD_NUMBER: builtins.int
    available: builtins.bool
    regions: builtins.int
    requests: builtins.int
    average_load: builtins.float
    @property
    def live_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HbaseNodeInfo]: ...
    @property
    def dead_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HbaseNodeInfo]: ...
    def __init__(
        self,
        *,
        available: builtins.bool = ...,
        regions: builtins.int = ...,
        requests: builtins.int = ...,
        average_load: builtins.float = ...,
        live_nodes: collections.abc.Iterable[global___HbaseNodeInfo] | None = ...,
        dead_nodes: collections.abc.Iterable[global___HbaseNodeInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["available", b"available", "average_load", b"average_load", "dead_nodes", b"dead_nodes", "live_nodes", b"live_nodes", "regions", b"regions", "requests", b"requests"]) -> None: ...

global___HbaseInfo = HbaseInfo

@typing.final
class HDFSNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    USED_FIELD_NUMBER: builtins.int
    REMAINING_FIELD_NUMBER: builtins.int
    CAPACITY_FIELD_NUMBER: builtins.int
    NUM_BLOCKS_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    name: builtins.str
    used: builtins.int
    remaining: builtins.int
    capacity: builtins.int
    num_blocks: builtins.int
    state: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        used: builtins.int = ...,
        remaining: builtins.int = ...,
        capacity: builtins.int = ...,
        num_blocks: builtins.int = ...,
        state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["capacity", b"capacity", "name", b"name", "num_blocks", b"num_blocks", "remaining", b"remaining", "state", b"state", "used", b"used"]) -> None: ...

global___HDFSNodeInfo = HDFSNodeInfo

@typing.final
class HDFSInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AVAILABLE_FIELD_NUMBER: builtins.int
    PERCENT_REMAINING_FIELD_NUMBER: builtins.int
    USED_FIELD_NUMBER: builtins.int
    FREE_FIELD_NUMBER: builtins.int
    TOTAL_BLOCKS_FIELD_NUMBER: builtins.int
    MISSING_BLOCKS_FIELD_NUMBER: builtins.int
    MISSING_BLOCKS_REPLICA_ONE_FIELD_NUMBER: builtins.int
    LIVE_NODES_FIELD_NUMBER: builtins.int
    DEAD_NODES_FIELD_NUMBER: builtins.int
    SAFEMODE_FIELD_NUMBER: builtins.int
    DECOMMISSIONING_NODES_FIELD_NUMBER: builtins.int
    DECOMMISSIONED_NODES_FIELD_NUMBER: builtins.int
    REQUESTED_DECOMMISSION_HOSTS_FIELD_NUMBER: builtins.int
    available: builtins.bool
    percent_remaining: builtins.float
    used: builtins.int
    free: builtins.int
    total_blocks: builtins.int
    missing_blocks: builtins.int
    missing_blocks_replica_one: builtins.int
    safemode: builtins.str
    @property
    def live_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HDFSNodeInfo]: ...
    @property
    def dead_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HDFSNodeInfo]: ...
    @property
    def decommissioning_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HDFSNodeInfo]: ...
    @property
    def decommissioned_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HDFSNodeInfo]: ...
    @property
    def requested_decommission_hosts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Actual list of decommission hosts in HDFS namenode memory"""

    def __init__(
        self,
        *,
        available: builtins.bool = ...,
        percent_remaining: builtins.float = ...,
        used: builtins.int = ...,
        free: builtins.int = ...,
        total_blocks: builtins.int = ...,
        missing_blocks: builtins.int = ...,
        missing_blocks_replica_one: builtins.int = ...,
        live_nodes: collections.abc.Iterable[global___HDFSNodeInfo] | None = ...,
        dead_nodes: collections.abc.Iterable[global___HDFSNodeInfo] | None = ...,
        safemode: builtins.str = ...,
        decommissioning_nodes: collections.abc.Iterable[global___HDFSNodeInfo] | None = ...,
        decommissioned_nodes: collections.abc.Iterable[global___HDFSNodeInfo] | None = ...,
        requested_decommission_hosts: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["available", b"available", "dead_nodes", b"dead_nodes", "decommissioned_nodes", b"decommissioned_nodes", "decommissioning_nodes", b"decommissioning_nodes", "free", b"free", "live_nodes", b"live_nodes", "missing_blocks", b"missing_blocks", "missing_blocks_replica_one", b"missing_blocks_replica_one", "percent_remaining", b"percent_remaining", "requested_decommission_hosts", b"requested_decommission_hosts", "safemode", b"safemode", "total_blocks", b"total_blocks", "used", b"used"]) -> None: ...

global___HDFSInfo = HDFSInfo

@typing.final
class HiveInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AVAILABLE_FIELD_NUMBER: builtins.int
    QUERIES_SUCCEEDED_FIELD_NUMBER: builtins.int
    QUERIES_FAILED_FIELD_NUMBER: builtins.int
    QUERIES_EXECUTING_FIELD_NUMBER: builtins.int
    SESSIONS_OPEN_FIELD_NUMBER: builtins.int
    SESSIONS_ACTIVE_FIELD_NUMBER: builtins.int
    available: builtins.bool
    queries_succeeded: builtins.int
    queries_failed: builtins.int
    queries_executing: builtins.int
    sessions_open: builtins.int
    sessions_active: builtins.int
    def __init__(
        self,
        *,
        available: builtins.bool = ...,
        queries_succeeded: builtins.int = ...,
        queries_failed: builtins.int = ...,
        queries_executing: builtins.int = ...,
        sessions_open: builtins.int = ...,
        sessions_active: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["available", b"available", "queries_executing", b"queries_executing", "queries_failed", b"queries_failed", "queries_succeeded", b"queries_succeeded", "sessions_active", b"sessions_active", "sessions_open", b"sessions_open"]) -> None: ...

global___HiveInfo = HiveInfo

@typing.final
class YarnNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    NUM_CONTAINERS_FIELD_NUMBER: builtins.int
    USED_MEMORY_MB_FIELD_NUMBER: builtins.int
    AVAILABLE_MEMORY_MB_FIELD_NUMBER: builtins.int
    UPDATE_TIME_FIELD_NUMBER: builtins.int
    name: builtins.str
    state: builtins.str
    num_containers: builtins.int
    used_memory_mb: builtins.int
    available_memory_mb: builtins.int
    update_time: builtins.int
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        state: builtins.str = ...,
        num_containers: builtins.int = ...,
        used_memory_mb: builtins.int = ...,
        available_memory_mb: builtins.int = ...,
        update_time: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["available_memory_mb", b"available_memory_mb", "name", b"name", "num_containers", b"num_containers", "state", b"state", "update_time", b"update_time", "used_memory_mb", b"used_memory_mb"]) -> None: ...

global___YarnNodeInfo = YarnNodeInfo

@typing.final
class YarnInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AVAILABLE_FIELD_NUMBER: builtins.int
    LIVE_NODES_FIELD_NUMBER: builtins.int
    REQUESTED_DECOMMISSION_HOSTS_FIELD_NUMBER: builtins.int
    available: builtins.bool
    @property
    def live_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___YarnNodeInfo]: ...
    @property
    def requested_decommission_hosts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Actual list of decommission hosts in Yarn resource manager memory"""

    def __init__(
        self,
        *,
        available: builtins.bool = ...,
        live_nodes: collections.abc.Iterable[global___YarnNodeInfo] | None = ...,
        requested_decommission_hosts: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["available", b"available", "live_nodes", b"live_nodes", "requested_decommission_hosts", b"requested_decommission_hosts"]) -> None: ...

global___YarnInfo = YarnInfo

@typing.final
class ZookeeperInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ALIVE_FIELD_NUMBER: builtins.int
    alive: builtins.bool
    def __init__(
        self,
        *,
        alive: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["alive", b"alive"]) -> None: ...

global___ZookeeperInfo = ZookeeperInfo

@typing.final
class OozieInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ALIVE_FIELD_NUMBER: builtins.int
    alive: builtins.bool
    def __init__(
        self,
        *,
        alive: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["alive", b"alive"]) -> None: ...

global___OozieInfo = OozieInfo

@typing.final
class LivyInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ALIVE_FIELD_NUMBER: builtins.int
    alive: builtins.bool
    def __init__(
        self,
        *,
        alive: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["alive", b"alive"]) -> None: ...

global___LivyInfo = LivyInfo

@typing.final
class InitActs(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATE_FIELD_NUMBER: builtins.int
    FQDNS_FIELD_NUMBER: builtins.int
    state: global___InitActsState.ValueType
    @property
    def fqdns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """fqdns of nodes for error message"""

    def __init__(
        self,
        *,
        state: global___InitActsState.ValueType = ...,
        fqdns: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["fqdns", b"fqdns", "state", b"state"]) -> None: ...

global___InitActs = InitActs

@typing.final
class Info(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HDFS_FIELD_NUMBER: builtins.int
    YARN_FIELD_NUMBER: builtins.int
    HIVE_FIELD_NUMBER: builtins.int
    ZOOKEEPER_FIELD_NUMBER: builtins.int
    HBASE_FIELD_NUMBER: builtins.int
    OOZIE_FIELD_NUMBER: builtins.int
    REPORT_COUNT_FIELD_NUMBER: builtins.int
    LIVY_FIELD_NUMBER: builtins.int
    INIT_ACTS_FIELD_NUMBER: builtins.int
    report_count: builtins.int
    """Report count is incremented every time report is sent by Dataproc Agent.
    So Worker can use this property to make sure that Dataproc Agent got data sent by Worker through Dataproc Manager
    for synchronization purposes
    """
    @property
    def hdfs(self) -> global___HDFSInfo: ...
    @property
    def yarn(self) -> global___YarnInfo: ...
    @property
    def hive(self) -> global___HiveInfo: ...
    @property
    def zookeeper(self) -> global___ZookeeperInfo: ...
    @property
    def hbase(self) -> global___HbaseInfo: ...
    @property
    def oozie(self) -> global___OozieInfo: ...
    @property
    def livy(self) -> global___LivyInfo: ...
    @property
    def init_acts(self) -> global___InitActs: ...
    def __init__(
        self,
        *,
        hdfs: global___HDFSInfo | None = ...,
        yarn: global___YarnInfo | None = ...,
        hive: global___HiveInfo | None = ...,
        zookeeper: global___ZookeeperInfo | None = ...,
        hbase: global___HbaseInfo | None = ...,
        oozie: global___OozieInfo | None = ...,
        report_count: builtins.int = ...,
        livy: global___LivyInfo | None = ...,
        init_acts: global___InitActs | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["hbase", b"hbase", "hdfs", b"hdfs", "hive", b"hive", "init_acts", b"init_acts", "livy", b"livy", "oozie", b"oozie", "yarn", b"yarn", "zookeeper", b"zookeeper"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["hbase", b"hbase", "hdfs", b"hdfs", "hive", b"hive", "init_acts", b"init_acts", "livy", b"livy", "oozie", b"oozie", "report_count", b"report_count", "yarn", b"yarn", "zookeeper", b"zookeeper"]) -> None: ...

global___Info = Info

@typing.final
class ReportRequest(google.protobuf.message.Message):
    """The request message containing the host status report."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CID_FIELD_NUMBER: builtins.int
    TOPOLOGY_REVISION_FIELD_NUMBER: builtins.int
    INFO_FIELD_NUMBER: builtins.int
    COLLECTED_AT_FIELD_NUMBER: builtins.int
    cid: builtins.str
    topology_revision: builtins.int
    @property
    def info(self) -> global___Info: ...
    @property
    def collected_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        cid: builtins.str = ...,
        topology_revision: builtins.int = ...,
        info: global___Info | None = ...,
        collected_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["collected_at", b"collected_at", "info", b"info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cid", b"cid", "collected_at", b"collected_at", "info", b"info", "topology_revision", b"topology_revision"]) -> None: ...

global___ReportRequest = ReportRequest

@typing.final
class ReportReply(google.protobuf.message.Message):
    """The response message containing the agent commands to apply on host."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DECOMMISSION_TIMEOUT_FIELD_NUMBER: builtins.int
    YARN_HOSTS_TO_DECOMMISSION_FIELD_NUMBER: builtins.int
    HDFS_HOSTS_TO_DECOMMISSION_FIELD_NUMBER: builtins.int
    decommission_timeout: builtins.int
    @property
    def yarn_hosts_to_decommission(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def hdfs_hosts_to_decommission(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        decommission_timeout: builtins.int = ...,
        yarn_hosts_to_decommission: collections.abc.Iterable[builtins.str] | None = ...,
        hdfs_hosts_to_decommission: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["decommission_timeout", b"decommission_timeout", "hdfs_hosts_to_decommission", b"hdfs_hosts_to_decommission", "yarn_hosts_to_decommission", b"yarn_hosts_to_decommission"]) -> None: ...

global___ReportReply = ReportReply
