"""
@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.internal.enum_type_wrapper
import google.protobuf.message
import prodvana.proto.prodvana.desired_state.model.desired_state_pb2
import prodvana.proto.prodvana.pvn_wrapper.output_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 _EventType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _EventTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EventType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _EventType.ValueType  # 0
    SET_DESIRED_STATE: _EventType.ValueType  # 1
    """when a user sets a new desired state"""
    SET_TARGET_STATE: _EventType.ValueType  # 2
    """when dyanmic delivery sets a new target state as part of convergence. A desired state convergence
    involves a series of SET_TARGET_STATE event, one per each entity managed as part of convergence.
    """
    PROGRAM_EXIT: _EventType.ValueType  # 3
    APPLY_TARGET_STATE: _EventType.ValueType  # 4
    """When dynamic delivery materializes a target state to physical infrastructure as part of convergence.
    Each SET_TARGET_STATE is followed by one or more APPLY_TARGET_STATE, unless convergence is aborted.
    """
    MANUAL_APPROVAL: _EventType.ValueType  # 6
    CUSTOM_TASK_EXECUTION: _EventType.ValueType  # 7
    RUNTIME_UPDATE: _EventType.ValueType  # 8
    """generic runtime events when more specific event types are not available."""
    DELIVERY_PROGRESS: _EventType.ValueType  # 9
    DELIVERY_MANUAL_PROMOTION: _EventType.ValueType  # 10
    DESIRED_STATE_STATUS_CHANGE: _EventType.ValueType  # 11
    KEY_DELIVERY_DECISION: _EventType.ValueType  # 12
    RPC_CALL: _EventType.ValueType  # 13
    PERMISSON_DENIED: _EventType.ValueType  # 14
    OBJECT_CREATED: _EventType.ValueType  # 15
    OBJECT_DELETED: _EventType.ValueType  # 16
    OBJECT_MODIFIED: _EventType.ValueType  # 17
    KUBECTL_CMD: _EventType.ValueType  # 18
    AUDIT_LOG_DEBUG: _EventType.ValueType  # 19
    """a generic event type for submitting an audit log only event
    without creating an explicit event type for it.
    This should only be used for short lived logs. If the log will
    be around for a long time, it should be elevated to a proper event type.
    """

class EventType(_EventType, metaclass=_EventTypeEnumTypeWrapper): ...

UNKNOWN: EventType.ValueType  # 0
SET_DESIRED_STATE: EventType.ValueType  # 1
"""when a user sets a new desired state"""
SET_TARGET_STATE: EventType.ValueType  # 2
"""when dyanmic delivery sets a new target state as part of convergence. A desired state convergence
involves a series of SET_TARGET_STATE event, one per each entity managed as part of convergence.
"""
PROGRAM_EXIT: EventType.ValueType  # 3
APPLY_TARGET_STATE: EventType.ValueType  # 4
"""When dynamic delivery materializes a target state to physical infrastructure as part of convergence.
Each SET_TARGET_STATE is followed by one or more APPLY_TARGET_STATE, unless convergence is aborted.
"""
MANUAL_APPROVAL: EventType.ValueType  # 6
CUSTOM_TASK_EXECUTION: EventType.ValueType  # 7
RUNTIME_UPDATE: EventType.ValueType  # 8
"""generic runtime events when more specific event types are not available."""
DELIVERY_PROGRESS: EventType.ValueType  # 9
DELIVERY_MANUAL_PROMOTION: EventType.ValueType  # 10
DESIRED_STATE_STATUS_CHANGE: EventType.ValueType  # 11
KEY_DELIVERY_DECISION: EventType.ValueType  # 12
RPC_CALL: EventType.ValueType  # 13
PERMISSON_DENIED: EventType.ValueType  # 14
OBJECT_CREATED: EventType.ValueType  # 15
OBJECT_DELETED: EventType.ValueType  # 16
OBJECT_MODIFIED: EventType.ValueType  # 17
KUBECTL_CMD: EventType.ValueType  # 18
AUDIT_LOG_DEBUG: EventType.ValueType  # 19
"""a generic event type for submitting an audit log only event
without creating an explicit event type for it.
This should only be used for short lived logs. If the log will
be around for a long time, it should be elevated to a proper event type.
"""
global___EventType = EventType

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

    ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    DESIRED_FIELD_NUMBER: builtins.int
    IS_ROLLBACK_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    desired_state_id: builtins.str
    root_desired_state_id: builtins.str
    @property
    def desired(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    is_rollback: builtins.bool
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        desired_state_id: builtins.str = ...,
        root_desired_state_id: builtins.str = ...,
        desired: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        is_rollback: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["desired", b"desired", "id", b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["desired", b"desired", "desired_state_id", b"desired_state_id", "id", b"id", "is_rollback", b"is_rollback", "root_desired_state_id", b"root_desired_state_id"]) -> None: ...

global___SetDesiredStateEvent = SetDesiredStateEvent

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

    ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    DESIRED_FIELD_NUMBER: builtins.int
    CURRENT_FIELD_NUMBER: builtins.int
    IS_AUTO_ROLLBACK_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    STATUS_EXPLANATIONS_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    desired_state_id: builtins.str
    root_desired_state_id: builtins.str
    @property
    def target(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State:
        """state that prodvana runtime will immediately converge towards"""
    @property
    def desired(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State:
        """final desired state that this entity should eventually get to"""
    @property
    def current(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State:
        """current state for this entity before setting target state"""
    is_auto_rollback: builtins.bool
    """whether this is part of an automated rollback action"""
    status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
    """status and explanations at the time of SetTargetState"""
    @property
    def status_explanations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation]: ...
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        desired_state_id: builtins.str = ...,
        root_desired_state_id: builtins.str = ...,
        target: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        desired: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        current: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        is_auto_rollback: builtins.bool = ...,
        status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        status_explanations: collections.abc.Iterable[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["current", b"current", "desired", b"desired", "id", b"id", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["current", b"current", "desired", b"desired", "desired_state_id", b"desired_state_id", "id", b"id", "is_auto_rollback", b"is_auto_rollback", "root_desired_state_id", b"root_desired_state_id", "status", b"status", "status_explanations", b"status_explanations", "target", b"target"]) -> None: ...

global___SetTargetStateEvent = SetTargetStateEvent

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

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

    class _ApplyResultEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ApplyTargetStateEvent._ApplyResult.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ApplyTargetStateEvent._ApplyResult.ValueType  # 0
        SUCCEEDED: ApplyTargetStateEvent._ApplyResult.ValueType  # 1
        FAILED: ApplyTargetStateEvent._ApplyResult.ValueType  # 2
        RETRIABLE_FAILURE: ApplyTargetStateEvent._ApplyResult.ValueType  # 3

    class ApplyResult(_ApplyResult, metaclass=_ApplyResultEnumTypeWrapper): ...
    UNKNOWN: ApplyTargetStateEvent.ApplyResult.ValueType  # 0
    SUCCEEDED: ApplyTargetStateEvent.ApplyResult.ValueType  # 1
    FAILED: ApplyTargetStateEvent.ApplyResult.ValueType  # 2
    RETRIABLE_FAILURE: ApplyTargetStateEvent.ApplyResult.ValueType  # 3

    ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    CURRENT_FIELD_NUMBER: builtins.int
    IS_AUTO_ROLLBACK_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    desired_state_id: builtins.str
    root_desired_state_id: builtins.str
    @property
    def target(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State:
        """state that prodvana runtime will immediately converge towards"""
    @property
    def current(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State:
        """current state for this entity before setting target state"""
    is_auto_rollback: builtins.bool
    """whether this is part of an automated rollback action"""
    result: global___ApplyTargetStateEvent.ApplyResult.ValueType
    error: builtins.str
    """set if result = FAILED"""
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        desired_state_id: builtins.str = ...,
        root_desired_state_id: builtins.str = ...,
        target: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        current: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        is_auto_rollback: builtins.bool = ...,
        result: global___ApplyTargetStateEvent.ApplyResult.ValueType = ...,
        error: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["current", b"current", "id", b"id", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["current", b"current", "desired_state_id", b"desired_state_id", "error", b"error", "id", b"id", "is_auto_rollback", b"is_auto_rollback", "result", b"result", "root_desired_state_id", b"root_desired_state_id", "target", b"target"]) -> None: ...

global___ApplyTargetStateEvent = ApplyTargetStateEvent

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

    NAMESPACE_FIELD_NUMBER: builtins.int
    POD_FIELD_NUMBER: builtins.int
    PROGRAM_FIELD_NUMBER: builtins.int
    RESTART_COUNT_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    KILLED_REASON_FIELD_NUMBER: builtins.int
    EXIT_CODE_FIELD_NUMBER: builtins.int
    SIGNAL_FIELD_NUMBER: builtins.int
    STRUCTURED_OUTPUT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    pod: builtins.str
    program: builtins.str
    """in k8s, this is container name"""
    restart_count: builtins.int
    reason: builtins.str
    """reason why process exited"""
    killed_reason: builtins.str
    """if killed, this is the reason why it was killed (best effort)"""
    exit_code: builtins.int
    """if 0, this is a successful exit."""
    signal: builtins.int
    """signal used to terminate this process, if any"""
    @property
    def structured_output(self) -> prodvana.proto.prodvana.pvn_wrapper.output_pb2.Output:
        """optional structured output, if the process exited with a schema compatible with pvn_wrapper's structured output"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        pod: builtins.str = ...,
        program: builtins.str = ...,
        restart_count: builtins.int = ...,
        reason: builtins.str = ...,
        killed_reason: builtins.str = ...,
        exit_code: builtins.int = ...,
        signal: builtins.int = ...,
        structured_output: prodvana.proto.prodvana.pvn_wrapper.output_pb2.Output | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["structured_output", b"structured_output"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["exit_code", b"exit_code", "killed_reason", b"killed_reason", "namespace", b"namespace", "pod", b"pod", "program", b"program", "reason", b"reason", "restart_count", b"restart_count", "signal", b"signal", "structured_output", b"structured_output"]) -> None: ...

global___ProgramExitEvent = ProgramExitEvent

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

    STATE_FIELD_NUMBER: builtins.int
    @property
    def state(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DeliveryState: ...
    def __init__(
        self,
        *,
        state: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DeliveryState | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["state", b"state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["state", b"state"]) -> None: ...

global___DeliveryProgressEvent = DeliveryProgressEvent

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

    STATE_FIELD_NUMBER: builtins.int
    STAGE_FIELD_NUMBER: builtins.int
    FULL_FIELD_NUMBER: builtins.int
    @property
    def state(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DeliveryState: ...
    stage: builtins.int
    full: builtins.bool
    def __init__(
        self,
        *,
        state: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.DeliveryState | None = ...,
        stage: builtins.int = ...,
        full: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["state", b"state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["full", b"full", "stage", b"stage", "state", b"state"]) -> None: ...

global___DeliveryManualPromotionEvent = DeliveryManualPromotionEvent

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

    STATUS_FIELD_NUMBER: builtins.int
    TOPIC_FIELD_NUMBER: builtins.int
    status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.ManualApprovalStatus.ValueType
    """Approved/rejected?"""
    topic: builtins.str
    """Actor etc ..."""
    def __init__(
        self,
        *,
        status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.ManualApprovalStatus.ValueType = ...,
        topic: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["status", b"status", "topic", b"topic"]) -> None: ...

global___ManualApprovalEvent = ManualApprovalEvent

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

    SUCCESSFUL_FIELD_NUMBER: builtins.int
    ATTEMPTS_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    successful: builtins.bool
    attempts: builtins.int
    reason: builtins.str
    """Why did this job exit/fail?"""
    def __init__(
        self,
        *,
        successful: builtins.bool = ...,
        attempts: builtins.int = ...,
        reason: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["attempts", b"attempts", "reason", b"reason", "successful", b"successful"]) -> None: ...

global___CustomTaskExecutionEvent = CustomTaskExecutionEvent

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

    NAME_FIELD_NUMBER: builtins.int
    KIND_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    name: builtins.str
    """name of object as it appears in the runtime layer"""
    kind: builtins.str
    namespace: builtins.str
    """optional, depends on if runtime has support for it"""
    url: builtins.str
    """optional, depends on if there is a unique URL to view this object."""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        kind: builtins.str = ...,
        namespace: builtins.str = ...,
        url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "name", b"name", "namespace", b"namespace", "url", b"url"]) -> None: ...

global___RuntimeObject = RuntimeObject

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

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

    class _RuntimeActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RuntimeUpdateEvent._RuntimeAction.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: RuntimeUpdateEvent._RuntimeAction.ValueType  # 0
        CREATE_OR_UPDATE: RuntimeUpdateEvent._RuntimeAction.ValueType  # 1
        WAIT_HEALTHY: RuntimeUpdateEvent._RuntimeAction.ValueType  # 2

    class RuntimeAction(_RuntimeAction, metaclass=_RuntimeActionEnumTypeWrapper): ...
    UNKNOWN: RuntimeUpdateEvent.RuntimeAction.ValueType  # 0
    CREATE_OR_UPDATE: RuntimeUpdateEvent.RuntimeAction.ValueType  # 1
    WAIT_HEALTHY: RuntimeUpdateEvent.RuntimeAction.ValueType  # 2

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

    class _RuntimeStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RuntimeUpdateEvent._RuntimeStatus.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        RUNTIME_STATUS_UNKNOWN: RuntimeUpdateEvent._RuntimeStatus.ValueType  # 0
        PENDING: RuntimeUpdateEvent._RuntimeStatus.ValueType  # 1
        SUCCESS: RuntimeUpdateEvent._RuntimeStatus.ValueType  # 2
        FAILURE: RuntimeUpdateEvent._RuntimeStatus.ValueType  # 3

    class RuntimeStatus(_RuntimeStatus, metaclass=_RuntimeStatusEnumTypeWrapper): ...
    RUNTIME_STATUS_UNKNOWN: RuntimeUpdateEvent.RuntimeStatus.ValueType  # 0
    PENDING: RuntimeUpdateEvent.RuntimeStatus.ValueType  # 1
    SUCCESS: RuntimeUpdateEvent.RuntimeStatus.ValueType  # 2
    FAILURE: RuntimeUpdateEvent.RuntimeStatus.ValueType  # 3

    ACTION_FIELD_NUMBER: builtins.int
    OBJECT_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    action: global___RuntimeUpdateEvent.RuntimeAction.ValueType
    @property
    def object(self) -> global___RuntimeObject: ...
    status: global___RuntimeUpdateEvent.RuntimeStatus.ValueType
    def __init__(
        self,
        *,
        action: global___RuntimeUpdateEvent.RuntimeAction.ValueType = ...,
        object: global___RuntimeObject | None = ...,
        status: global___RuntimeUpdateEvent.RuntimeStatus.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["object", b"object"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "object", b"object", "status", b"status"]) -> None: ...

global___RuntimeUpdateEvent = RuntimeUpdateEvent

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

    ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    OLD_STATUS_FIELD_NUMBER: builtins.int
    NEW_STATUS_FIELD_NUMBER: builtins.int
    DESIRED_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    OLD_STATE_FIELD_NUMBER: builtins.int
    NEW_STATE_FIELD_NUMBER: builtins.int
    STATUS_EXPLANATIONS_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    desired_state_id: builtins.str
    root_desired_state_id: builtins.str
    old_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
    new_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
    @property
    def desired(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def target(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def old_state(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def new_state(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def status_explanations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation]: ...
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        desired_state_id: builtins.str = ...,
        root_desired_state_id: builtins.str = ...,
        old_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        new_status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        desired: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        target: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        old_state: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        new_state: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        status_explanations: collections.abc.Iterable[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["desired", b"desired", "id", b"id", "new_state", b"new_state", "old_state", b"old_state", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["desired", b"desired", "desired_state_id", b"desired_state_id", "id", b"id", "new_state", b"new_state", "new_status", b"new_status", "old_state", b"old_state", "old_status", b"old_status", "root_desired_state_id", b"root_desired_state_id", "status_explanations", b"status_explanations", "target", b"target"]) -> None: ...

global___DesiredStateStatusChangeEvent = DesiredStateStatusChangeEvent

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

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

    class _DecisionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[KeyDeliveryDecisionEvent._Decision.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: KeyDeliveryDecisionEvent._Decision.ValueType  # 0
        ROLLBACK_INITIATED: KeyDeliveryDecisionEvent._Decision.ValueType  # 1
        FAILED: KeyDeliveryDecisionEvent._Decision.ValueType  # 2

    class Decision(_Decision, metaclass=_DecisionEnumTypeWrapper): ...
    UNKNOWN: KeyDeliveryDecisionEvent.Decision.ValueType  # 0
    ROLLBACK_INITIATED: KeyDeliveryDecisionEvent.Decision.ValueType  # 1
    FAILED: KeyDeliveryDecisionEvent.Decision.ValueType  # 2

    ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    DECISION_FIELD_NUMBER: builtins.int
    EXPLANATION_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DESIRED_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    CURRENT_FIELD_NUMBER: builtins.int
    STATUS_EXPLANATIONS_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier: ...
    desired_state_id: builtins.str
    root_desired_state_id: builtins.str
    decision: global___KeyDeliveryDecisionEvent.Decision.ValueType
    explanation: builtins.str
    """optional, may not always be set. when not set, the context should be obvious from status_explanations"""
    status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType
    @property
    def desired(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def target(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def current(self) -> prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State: ...
    @property
    def status_explanations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation]: ...
    def __init__(
        self,
        *,
        id: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Identifier | None = ...,
        desired_state_id: builtins.str = ...,
        root_desired_state_id: builtins.str = ...,
        decision: global___KeyDeliveryDecisionEvent.Decision.ValueType = ...,
        explanation: builtins.str = ...,
        status: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.Status.ValueType = ...,
        desired: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        target: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        current: prodvana.proto.prodvana.desired_state.model.desired_state_pb2.State | None = ...,
        status_explanations: collections.abc.Iterable[prodvana.proto.prodvana.desired_state.model.desired_state_pb2.StatusExplanation] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["current", b"current", "desired", b"desired", "id", b"id", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["current", b"current", "decision", b"decision", "desired", b"desired", "desired_state_id", b"desired_state_id", "explanation", b"explanation", "id", b"id", "root_desired_state_id", b"root_desired_state_id", "status", b"status", "status_explanations", b"status_explanations", "target", b"target"]) -> None: ...

global___KeyDeliveryDecisionEvent = KeyDeliveryDecisionEvent

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

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

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RpcCallEvent._Type.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: RpcCallEvent._Type.ValueType  # 0
        READ: RpcCallEvent._Type.ValueType  # 1
        WRITE: RpcCallEvent._Type.ValueType  # 2

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    UNKNOWN: RpcCallEvent.Type.ValueType  # 0
    READ: RpcCallEvent.Type.ValueType  # 1
    WRITE: RpcCallEvent.Type.ValueType  # 2

    TYPE_FIELD_NUMBER: builtins.int
    RPC_SERVICE_FIELD_NUMBER: builtins.int
    RPC_METHOD_FIELD_NUMBER: builtins.int
    REQUEST_FIELD_NUMBER: builtins.int
    RESPONSE_FIELD_NUMBER: builtins.int
    type: global___RpcCallEvent.Type.ValueType
    rpc_service: builtins.str
    rpc_method: builtins.str
    @property
    def request(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def response(self) -> google.protobuf.any_pb2.Any: ...
    def __init__(
        self,
        *,
        type: global___RpcCallEvent.Type.ValueType = ...,
        rpc_service: builtins.str = ...,
        rpc_method: builtins.str = ...,
        request: google.protobuf.any_pb2.Any | None = ...,
        response: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response", "rpc_method", b"rpc_method", "rpc_service", b"rpc_service", "type", b"type"]) -> None: ...

global___RpcCallEvent = RpcCallEvent

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

    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    name: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name"]) -> None: ...

global___ApplicationHandle = ApplicationHandle

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

    APPLICATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    @property
    def application(self) -> global___ApplicationHandle: ...
    name: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        application: global___ApplicationHandle | None = ...,
        name: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "id", b"id", "name", b"name"]) -> None: ...

global___ReleaseChannelHandle = ReleaseChannelHandle

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

    APPLICATION_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    @property
    def application(self) -> global___ApplicationHandle: ...
    @property
    def release_channel(self) -> global___ReleaseChannelHandle: ...
    name: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        application: global___ApplicationHandle | None = ...,
        release_channel: global___ReleaseChannelHandle | None = ...,
        name: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "release_channel", b"release_channel"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "id", b"id", "name", b"name", "release_channel", b"release_channel"]) -> None: ...

global___ServiceHandle = ServiceHandle

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

    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    name: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name"]) -> None: ...

global___RuntimeHandle = RuntimeHandle

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

    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    name: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name"]) -> None: ...

global___ProtectionHandle = ProtectionHandle

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

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

    class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PermissionDeniedEvent._Action.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: PermissionDeniedEvent._Action.ValueType  # 0
        READ: PermissionDeniedEvent._Action.ValueType  # 1
        WRITE: PermissionDeniedEvent._Action.ValueType  # 2

    class Action(_Action, metaclass=_ActionEnumTypeWrapper): ...
    UNKNOWN: PermissionDeniedEvent.Action.ValueType  # 0
    READ: PermissionDeniedEvent.Action.ValueType  # 1
    WRITE: PermissionDeniedEvent.Action.ValueType  # 2

    ACTION_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    RUNTIME_FIELD_NUMBER: builtins.int
    PROTECTION_FIELD_NUMBER: builtins.int
    action: global___PermissionDeniedEvent.Action.ValueType
    @property
    def application(self) -> global___ApplicationHandle: ...
    @property
    def release_channel(self) -> global___ReleaseChannelHandle: ...
    @property
    def service(self) -> global___ServiceHandle: ...
    @property
    def runtime(self) -> global___RuntimeHandle: ...
    @property
    def protection(self) -> global___ProtectionHandle: ...
    def __init__(
        self,
        *,
        action: global___PermissionDeniedEvent.Action.ValueType = ...,
        application: global___ApplicationHandle | None = ...,
        release_channel: global___ReleaseChannelHandle | None = ...,
        service: global___ServiceHandle | None = ...,
        runtime: global___RuntimeHandle | None = ...,
        protection: global___ProtectionHandle | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "application", b"application", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["target", b"target"]) -> typing_extensions.Literal["application", "release_channel", "service", "runtime", "protection"] | None: ...

global___PermissionDeniedEvent = PermissionDeniedEvent

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

    CONFIG_VERSION_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    RUNTIME_FIELD_NUMBER: builtins.int
    PROTECTION_FIELD_NUMBER: builtins.int
    config_version: builtins.str
    @property
    def application(self) -> global___ApplicationHandle: ...
    @property
    def release_channel(self) -> global___ReleaseChannelHandle: ...
    @property
    def service(self) -> global___ServiceHandle: ...
    @property
    def runtime(self) -> global___RuntimeHandle: ...
    @property
    def protection(self) -> global___ProtectionHandle: ...
    def __init__(
        self,
        *,
        config_version: builtins.str = ...,
        application: global___ApplicationHandle | None = ...,
        release_channel: global___ReleaseChannelHandle | None = ...,
        service: global___ServiceHandle | None = ...,
        runtime: global___RuntimeHandle | None = ...,
        protection: global___ProtectionHandle | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "config_version", b"config_version", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["target", b"target"]) -> typing_extensions.Literal["application", "release_channel", "service", "runtime", "protection"] | None: ...

global___ObjectCreatedEvent = ObjectCreatedEvent

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

    CONFIG_VERSION_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    RUNTIME_FIELD_NUMBER: builtins.int
    PROTECTION_FIELD_NUMBER: builtins.int
    config_version: builtins.str
    @property
    def application(self) -> global___ApplicationHandle: ...
    @property
    def release_channel(self) -> global___ReleaseChannelHandle: ...
    @property
    def service(self) -> global___ServiceHandle: ...
    @property
    def runtime(self) -> global___RuntimeHandle: ...
    @property
    def protection(self) -> global___ProtectionHandle: ...
    def __init__(
        self,
        *,
        config_version: builtins.str = ...,
        application: global___ApplicationHandle | None = ...,
        release_channel: global___ReleaseChannelHandle | None = ...,
        service: global___ServiceHandle | None = ...,
        runtime: global___RuntimeHandle | None = ...,
        protection: global___ProtectionHandle | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "config_version", b"config_version", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["target", b"target"]) -> typing_extensions.Literal["application", "release_channel", "service", "runtime", "protection"] | None: ...

global___ObjectDeletedEvent = ObjectDeletedEvent

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

    OLD_CONFIG_VERSION_FIELD_NUMBER: builtins.int
    NEW_CONFIG_VERSION_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    RUNTIME_FIELD_NUMBER: builtins.int
    PROTECTION_FIELD_NUMBER: builtins.int
    old_config_version: builtins.str
    new_config_version: builtins.str
    @property
    def application(self) -> global___ApplicationHandle: ...
    @property
    def release_channel(self) -> global___ReleaseChannelHandle: ...
    @property
    def service(self) -> global___ServiceHandle: ...
    @property
    def runtime(self) -> global___RuntimeHandle: ...
    @property
    def protection(self) -> global___ProtectionHandle: ...
    def __init__(
        self,
        *,
        old_config_version: builtins.str = ...,
        new_config_version: builtins.str = ...,
        application: global___ApplicationHandle | None = ...,
        release_channel: global___ReleaseChannelHandle | None = ...,
        service: global___ServiceHandle | None = ...,
        runtime: global___RuntimeHandle | None = ...,
        protection: global___ProtectionHandle | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "new_config_version", b"new_config_version", "old_config_version", b"old_config_version", "protection", b"protection", "release_channel", b"release_channel", "runtime", b"runtime", "service", b"service", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["target", b"target"]) -> typing_extensions.Literal["application", "release_channel", "service", "runtime", "protection"] | None: ...

global___ObjectModifiedEvent = ObjectModifiedEvent

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

    RUNTIME_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    EXIT_CODE_FIELD_NUMBER: builtins.int
    runtime: builtins.str
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    exit_code: builtins.int
    def __init__(
        self,
        *,
        runtime: builtins.str = ...,
        args: collections.abc.Iterable[builtins.str] | None = ...,
        exit_code: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["args", b"args", "exit_code", b"exit_code", "runtime", b"runtime"]) -> None: ...

global___KubectlCmdEvent = KubectlCmdEvent

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    DETAILS_FIELD_NUMBER: builtins.int
    @property
    def details(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        details: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["details", b"details"]) -> None: ...

global___AuditLogDebugEvent = AuditLogDebugEvent

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

    SET_DESIRED_STATE_FIELD_NUMBER: builtins.int
    SET_TARGET_STATE_FIELD_NUMBER: builtins.int
    PROGRAM_EXIT_FIELD_NUMBER: builtins.int
    APPLY_TARGET_STATE_FIELD_NUMBER: builtins.int
    MANUAL_APPROVAL_FIELD_NUMBER: builtins.int
    CUSTOM_TASK_EXECUTION_FIELD_NUMBER: builtins.int
    RUNTIME_UPDATE_FIELD_NUMBER: builtins.int
    DELIVERY_PROGRESS_FIELD_NUMBER: builtins.int
    DELIVERY_PROMOTION_FIELD_NUMBER: builtins.int
    DESIRED_STATE_STATUS_CHANGE_FIELD_NUMBER: builtins.int
    KEY_DELIVERY_DECISION_FIELD_NUMBER: builtins.int
    RPC_CALL_FIELD_NUMBER: builtins.int
    PERMISSION_DENIED_FIELD_NUMBER: builtins.int
    OBJECT_CREATED_FIELD_NUMBER: builtins.int
    OBJECT_DELETED_FIELD_NUMBER: builtins.int
    OBJECT_MODIFIED_FIELD_NUMBER: builtins.int
    KUBECTL_CMD_FIELD_NUMBER: builtins.int
    AUDIT_LOG_DEBUG_FIELD_NUMBER: builtins.int
    @property
    def set_desired_state(self) -> global___SetDesiredStateEvent: ...
    @property
    def set_target_state(self) -> global___SetTargetStateEvent: ...
    @property
    def program_exit(self) -> global___ProgramExitEvent: ...
    @property
    def apply_target_state(self) -> global___ApplyTargetStateEvent: ...
    @property
    def manual_approval(self) -> global___ManualApprovalEvent: ...
    @property
    def custom_task_execution(self) -> global___CustomTaskExecutionEvent: ...
    @property
    def runtime_update(self) -> global___RuntimeUpdateEvent: ...
    @property
    def delivery_progress(self) -> global___DeliveryProgressEvent: ...
    @property
    def delivery_promotion(self) -> global___DeliveryManualPromotionEvent: ...
    @property
    def desired_state_status_change(self) -> global___DesiredStateStatusChangeEvent: ...
    @property
    def key_delivery_decision(self) -> global___KeyDeliveryDecisionEvent: ...
    @property
    def rpc_call(self) -> global___RpcCallEvent: ...
    @property
    def permission_denied(self) -> global___PermissionDeniedEvent: ...
    @property
    def object_created(self) -> global___ObjectCreatedEvent: ...
    @property
    def object_deleted(self) -> global___ObjectDeletedEvent: ...
    @property
    def object_modified(self) -> global___ObjectModifiedEvent: ...
    @property
    def kubectl_cmd(self) -> global___KubectlCmdEvent: ...
    @property
    def audit_log_debug(self) -> global___AuditLogDebugEvent: ...
    def __init__(
        self,
        *,
        set_desired_state: global___SetDesiredStateEvent | None = ...,
        set_target_state: global___SetTargetStateEvent | None = ...,
        program_exit: global___ProgramExitEvent | None = ...,
        apply_target_state: global___ApplyTargetStateEvent | None = ...,
        manual_approval: global___ManualApprovalEvent | None = ...,
        custom_task_execution: global___CustomTaskExecutionEvent | None = ...,
        runtime_update: global___RuntimeUpdateEvent | None = ...,
        delivery_progress: global___DeliveryProgressEvent | None = ...,
        delivery_promotion: global___DeliveryManualPromotionEvent | None = ...,
        desired_state_status_change: global___DesiredStateStatusChangeEvent | None = ...,
        key_delivery_decision: global___KeyDeliveryDecisionEvent | None = ...,
        rpc_call: global___RpcCallEvent | None = ...,
        permission_denied: global___PermissionDeniedEvent | None = ...,
        object_created: global___ObjectCreatedEvent | None = ...,
        object_deleted: global___ObjectDeletedEvent | None = ...,
        object_modified: global___ObjectModifiedEvent | None = ...,
        kubectl_cmd: global___KubectlCmdEvent | None = ...,
        audit_log_debug: global___AuditLogDebugEvent | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["apply_target_state", b"apply_target_state", "audit_log_debug", b"audit_log_debug", "custom_task_execution", b"custom_task_execution", "delivery_progress", b"delivery_progress", "delivery_promotion", b"delivery_promotion", "desired_state_status_change", b"desired_state_status_change", "details", b"details", "key_delivery_decision", b"key_delivery_decision", "kubectl_cmd", b"kubectl_cmd", "manual_approval", b"manual_approval", "object_created", b"object_created", "object_deleted", b"object_deleted", "object_modified", b"object_modified", "permission_denied", b"permission_denied", "program_exit", b"program_exit", "rpc_call", b"rpc_call", "runtime_update", b"runtime_update", "set_desired_state", b"set_desired_state", "set_target_state", b"set_target_state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["apply_target_state", b"apply_target_state", "audit_log_debug", b"audit_log_debug", "custom_task_execution", b"custom_task_execution", "delivery_progress", b"delivery_progress", "delivery_promotion", b"delivery_promotion", "desired_state_status_change", b"desired_state_status_change", "details", b"details", "key_delivery_decision", b"key_delivery_decision", "kubectl_cmd", b"kubectl_cmd", "manual_approval", b"manual_approval", "object_created", b"object_created", "object_deleted", b"object_deleted", "object_modified", b"object_modified", "permission_denied", b"permission_denied", "program_exit", b"program_exit", "rpc_call", b"rpc_call", "runtime_update", b"runtime_update", "set_desired_state", b"set_desired_state", "set_target_state", b"set_target_state"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["details", b"details"]) -> typing_extensions.Literal["set_desired_state", "set_target_state", "program_exit", "apply_target_state", "manual_approval", "custom_task_execution", "runtime_update", "delivery_progress", "delivery_promotion", "desired_state_status_change", "key_delivery_decision", "rpc_call", "permission_denied", "object_created", "object_deleted", "object_modified", "kubectl_cmd", "audit_log_debug"] | None: ...

global___EventDetails = EventDetails
