"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import flyteidl.event.event_pb2
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class EventErrorAlreadyInTerminalState(google.protobuf.message.Message):
    """Indicates that a sent event was not used to update execution state due to
    the referenced execution already being terminated (and therefore ineligible
    for further state transitions).
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CURRENT_PHASE_FIELD_NUMBER: builtins.int
    current_phase: typing.Text = ...
    """+required"""

    def __init__(self,
        *,
        current_phase : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"current_phase",b"current_phase"]) -> None: ...
global___EventErrorAlreadyInTerminalState = EventErrorAlreadyInTerminalState

class EventFailureReason(google.protobuf.message.Message):
    """Indicates why a sent event was not used to update execution."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ALREADY_IN_TERMINAL_STATE_FIELD_NUMBER: builtins.int
    @property
    def already_in_terminal_state(self) -> global___EventErrorAlreadyInTerminalState: ...
    def __init__(self,
        *,
        already_in_terminal_state : typing.Optional[global___EventErrorAlreadyInTerminalState] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"already_in_terminal_state",b"already_in_terminal_state",u"reason",b"reason"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"already_in_terminal_state",b"already_in_terminal_state",u"reason",b"reason"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"reason",b"reason"]) -> typing.Optional[typing_extensions.Literal["already_in_terminal_state"]]: ...
global___EventFailureReason = EventFailureReason

class WorkflowExecutionEventRequest(google.protobuf.message.Message):
    """Request to send a notification that a workflow execution event has occurred."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_ID_FIELD_NUMBER: builtins.int
    EVENT_FIELD_NUMBER: builtins.int
    request_id: typing.Text = ...
    """Unique ID for this request that can be traced between services"""

    @property
    def event(self) -> flyteidl.event.event_pb2.WorkflowExecutionEvent:
        """Details about the event that occurred."""
        pass
    def __init__(self,
        *,
        request_id : typing.Text = ...,
        event : typing.Optional[flyteidl.event.event_pb2.WorkflowExecutionEvent] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event",b"event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event",b"event",u"request_id",b"request_id"]) -> None: ...
global___WorkflowExecutionEventRequest = WorkflowExecutionEventRequest

class WorkflowExecutionEventResponse(google.protobuf.message.Message):
    """Purposefully empty, may be populated in the future."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___WorkflowExecutionEventResponse = WorkflowExecutionEventResponse

class NodeExecutionEventRequest(google.protobuf.message.Message):
    """Request to send a notification that a node execution event has occurred."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_ID_FIELD_NUMBER: builtins.int
    EVENT_FIELD_NUMBER: builtins.int
    request_id: typing.Text = ...
    """Unique ID for this request that can be traced between services"""

    @property
    def event(self) -> flyteidl.event.event_pb2.NodeExecutionEvent:
        """Details about the event that occurred."""
        pass
    def __init__(self,
        *,
        request_id : typing.Text = ...,
        event : typing.Optional[flyteidl.event.event_pb2.NodeExecutionEvent] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event",b"event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event",b"event",u"request_id",b"request_id"]) -> None: ...
global___NodeExecutionEventRequest = NodeExecutionEventRequest

class NodeExecutionEventResponse(google.protobuf.message.Message):
    """Purposefully empty, may be populated in the future."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___NodeExecutionEventResponse = NodeExecutionEventResponse

class TaskExecutionEventRequest(google.protobuf.message.Message):
    """Request to send a notification that a task execution event has occurred."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_ID_FIELD_NUMBER: builtins.int
    EVENT_FIELD_NUMBER: builtins.int
    request_id: typing.Text = ...
    """Unique ID for this request that can be traced between services"""

    @property
    def event(self) -> flyteidl.event.event_pb2.TaskExecutionEvent:
        """Details about the event that occurred."""
        pass
    def __init__(self,
        *,
        request_id : typing.Text = ...,
        event : typing.Optional[flyteidl.event.event_pb2.TaskExecutionEvent] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event",b"event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event",b"event",u"request_id",b"request_id"]) -> None: ...
global___TaskExecutionEventRequest = TaskExecutionEventRequest

class TaskExecutionEventResponse(google.protobuf.message.Message):
    """Purposefully empty, may be populated in the future."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___TaskExecutionEventResponse = TaskExecutionEventResponse
