"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import prodvana.proto.prodvana.desired_state.model.desired_state_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class EntityDumpState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class IOState(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        LAST_FETCHED_TIMESTAMP_FIELD_NUMBER: builtins.int
        LAST_APPLIED_TIMESTAMP_FIELD_NUMBER: builtins.int
        EXPECTED_NEXT_APPLY_TIMESTAMP_FIELD_NUMBER: builtins.int
        @property
        def last_fetched_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        @property
        def last_applied_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        @property
        def expected_next_apply_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        def __init__(
            self,
            *,
            last_fetched_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            last_applied_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            expected_next_apply_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["expected_next_apply_timestamp", b"expected_next_apply_timestamp", "last_applied_timestamp", b"last_applied_timestamp", "last_fetched_timestamp", b"last_fetched_timestamp"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["expected_next_apply_timestamp", b"expected_next_apply_timestamp", "last_applied_timestamp", b"last_applied_timestamp", "last_fetched_timestamp", b"last_fetched_timestamp"]) -> None: ...

    class ChildState(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ID_FIELD_NUMBER: builtins.int
        STATUS_FIELD_NUMBER: builtins.int
        @property
        def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
        status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
        def __init__(
            self,
            *,
            id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
            status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["id", b"id"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "status", b"status"]) -> None: ...

    ID_FIELD_NUMBER: builtins.int
    LAST_MANAGER_UPDATE_TIMESTAMP_FIELD_NUMBER: builtins.int
    ANNOTATIONS_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    SIMPLE_STATUS_FIELD_NUMBER: builtins.int
    CONTROL_FIELD_NUMBER: builtins.int
    IO_STATE_FIELD_NUMBER: builtins.int
    LOGS_FIELD_NUMBER: builtins.int
    DESIRED_STATE_FIELD_NUMBER: builtins.int
    FETCHED_STATE_FIELD_NUMBER: builtins.int
    TARGET_STATE_FIELD_NUMBER: builtins.int
    CHILD_STATES_FIELD_NUMBER: builtins.int
    ABSENT_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    OBSERVER_FIELD_NUMBER: builtins.int
    STALE_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    @property
    def last_manager_update_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def annotations(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Annotations: ...
    status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
    simple_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.SimpleStatus.ValueType
    @property
    def control(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.ControlState: ...
    @property
    def io_state(self) -> global___EntityDumpState.IOState: ...
    @property
    def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DebugLog]: ...
    @property
    def desired_state(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def fetched_state(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def target_state(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def child_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityDumpState.ChildState]: ...
    absent: builtins.bool
    deleted: builtins.bool
    observer: builtins.bool
    stale: builtins.bool
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        last_manager_update_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        annotations: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Annotations | None = ...,
        status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        simple_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.SimpleStatus.ValueType = ...,
        control: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.ControlState | None = ...,
        io_state: global___EntityDumpState.IOState | None = ...,
        logs: collections.abc.Iterable[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DebugLog] | None = ...,
        desired_state: google.protobuf.any_pb2.Any | None = ...,
        fetched_state: google.protobuf.any_pb2.Any | None = ...,
        target_state: google.protobuf.any_pb2.Any | None = ...,
        child_states: collections.abc.Iterable[global___EntityDumpState.ChildState] | None = ...,
        absent: builtins.bool = ...,
        deleted: builtins.bool = ...,
        observer: builtins.bool = ...,
        stale: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["annotations", b"annotations", "control", b"control", "desired_state", b"desired_state", "fetched_state", b"fetched_state", "id", b"id", "io_state", b"io_state", "last_manager_update_timestamp", b"last_manager_update_timestamp", "target_state", b"target_state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["absent", b"absent", "annotations", b"annotations", "child_states", b"child_states", "control", b"control", "deleted", b"deleted", "desired_state", b"desired_state", "fetched_state", b"fetched_state", "id", b"id", "io_state", b"io_state", "last_manager_update_timestamp", b"last_manager_update_timestamp", "logs", b"logs", "observer", b"observer", "simple_status", b"simple_status", "stale", b"stale", "status", b"status", "target_state", b"target_state"]) -> None: ...

global___EntityDumpState = EntityDumpState

class DumpState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITIES_FIELD_NUMBER: builtins.int
    @property
    def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityDumpState]: ...
    def __init__(
        self,
        *,
        entities: collections.abc.Iterable[global___EntityDumpState] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["entities", b"entities"]) -> None: ...

global___DumpState = DumpState
