"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
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 _ExecutionStatusMessage:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ExecutionStatusMessageEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ExecutionStatusMessage.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNDEFINED: _ExecutionStatusMessage.ValueType  # 0
    RUNNING: _ExecutionStatusMessage.ValueType  # 1
    SUCCESSFUL: _ExecutionStatusMessage.ValueType  # 2
    FAILED: _ExecutionStatusMessage.ValueType  # 3

class ExecutionStatusMessage(_ExecutionStatusMessage, metaclass=_ExecutionStatusMessageEnumTypeWrapper): ...

UNDEFINED: ExecutionStatusMessage.ValueType  # 0
RUNNING: ExecutionStatusMessage.ValueType  # 1
SUCCESSFUL: ExecutionStatusMessage.ValueType  # 2
FAILED: ExecutionStatusMessage.ValueType  # 3
global___ExecutionStatusMessage = ExecutionStatusMessage

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

    EXECUTION_ID_FIELD_NUMBER: builtins.int
    RUN_DETAILS_FIELD_NUMBER: builtins.int
    execution_id: builtins.str
    """The automation execution id"""
    @property
    def run_details(self) -> global___ExecutionRunDetailsMessage:
        """The automation run details"""
    def __init__(
        self,
        *,
        execution_id: builtins.str = ...,
        run_details: global___ExecutionRunDetailsMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["run_details", b"run_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id", "run_details", b"run_details"]) -> None: ...

global___AutomationExecutionMessage = AutomationExecutionMessage

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

    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    ERROR_DETAILS_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TASK_FIELD_NUMBER: builtins.int
    FINISH_CAUSE_FIELD_NUMBER: builtins.int
    LAST_UPDATE_DATE_FIELD_NUMBER: builtins.int
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The start time of the execution run."""
    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The end time of the execution run."""
    error_details: builtins.str
    """The error details of the execution run."""
    status: global___ExecutionStatusMessage.ValueType
    """The status the execution run."""
    task: builtins.str
    """The task the execution is on."""
    finish_cause: builtins.str
    """The finish cause of the automation."""
    @property
    def last_update_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The last update time of the execution."""
    def __init__(
        self,
        *,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        error_details: builtins.str = ...,
        status: global___ExecutionStatusMessage.ValueType = ...,
        task: builtins.str = ...,
        finish_cause: builtins.str = ...,
        last_update_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "last_update_date", b"last_update_date", "start_time", b"start_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "error_details", b"error_details", "finish_cause", b"finish_cause", "last_update_date", b"last_update_date", "start_time", b"start_time", "status", b"status", "task", b"task"]) -> None: ...

global___ExecutionRunDetailsMessage = ExecutionRunDetailsMessage

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

    START_DATE_FIELD_NUMBER: builtins.int
    END_DATE_FIELD_NUMBER: builtins.int
    @property
    def start_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Start date"""
    @property
    def end_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """End date"""
    def __init__(
        self,
        *,
        start_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end_date", b"end_date", "start_date", b"start_date"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_date", b"end_date", "start_date", b"start_date"]) -> None: ...

global___DateRange = DateRange
