"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import flyteidl.admin.common_pb2
import flyteidl.core.execution_pb2
import flyteidl.core.identifier_pb2
import flyteidl.core.literals_pb2
import flyteidl.event.event_pb2
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

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

class TaskExecutionGetRequest(google.protobuf.message.Message):
    """A message used to fetch a single task execution entity.
    See :ref:`ref_flyteidl.admin.TaskExecution` for more details
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> flyteidl.core.identifier_pb2.TaskExecutionIdentifier:
        """Unique identifier for the task execution.
        +required
        """
        pass
    def __init__(self,
        *,
        id : typing.Optional[flyteidl.core.identifier_pb2.TaskExecutionIdentifier] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ...
global___TaskExecutionGetRequest = TaskExecutionGetRequest

class TaskExecutionListRequest(google.protobuf.message.Message):
    """Represents a request structure to retrieve a list of task execution entities yielded by a specific node execution.
    See :ref:`ref_flyteidl.admin.TaskExecution` for more details
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NODE_EXECUTION_ID_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    TOKEN_FIELD_NUMBER: builtins.int
    FILTERS_FIELD_NUMBER: builtins.int
    SORT_BY_FIELD_NUMBER: builtins.int
    @property
    def node_execution_id(self) -> flyteidl.core.identifier_pb2.NodeExecutionIdentifier:
        """Indicates the node execution to filter by.
        +required
        """
        pass
    limit: builtins.int = ...
    """Indicates the number of resources to be returned.
    +required
    """

    token: typing.Text = ...
    """In the case of multiple pages of results, the server-provided token can be used to fetch the next page
    in a query.
    +optional
    """

    filters: typing.Text = ...
    """Indicates a list of filters passed as string.
    More info on constructing filters : <Link>
    +optional
    """

    @property
    def sort_by(self) -> flyteidl.admin.common_pb2.Sort:
        """Sort ordering for returned list.
        +optional
        """
        pass
    def __init__(self,
        *,
        node_execution_id : typing.Optional[flyteidl.core.identifier_pb2.NodeExecutionIdentifier] = ...,
        limit : builtins.int = ...,
        token : typing.Text = ...,
        filters : typing.Text = ...,
        sort_by : typing.Optional[flyteidl.admin.common_pb2.Sort] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"node_execution_id",b"node_execution_id",u"sort_by",b"sort_by"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"filters",b"filters",u"limit",b"limit",u"node_execution_id",b"node_execution_id",u"sort_by",b"sort_by",u"token",b"token"]) -> None: ...
global___TaskExecutionListRequest = TaskExecutionListRequest

class TaskExecution(google.protobuf.message.Message):
    """Encapsulates all details for a single task execution entity.
    A task execution represents an instantiated task, including all inputs and additional
    metadata as well as computed results included state, outputs, and duration-based attributes.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    INPUT_URI_FIELD_NUMBER: builtins.int
    CLOSURE_FIELD_NUMBER: builtins.int
    IS_PARENT_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> flyteidl.core.identifier_pb2.TaskExecutionIdentifier:
        """Unique identifier for the task execution."""
        pass
    input_uri: typing.Text = ...
    """Path to remote data store where input blob is stored."""

    @property
    def closure(self) -> global___TaskExecutionClosure:
        """Task execution details and results."""
        pass
    is_parent: builtins.bool = ...
    """Whether this task spawned nodes."""

    def __init__(self,
        *,
        id : typing.Optional[flyteidl.core.identifier_pb2.TaskExecutionIdentifier] = ...,
        input_uri : typing.Text = ...,
        closure : typing.Optional[global___TaskExecutionClosure] = ...,
        is_parent : builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"closure",b"closure",u"id",b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"closure",b"closure",u"id",b"id",u"input_uri",b"input_uri",u"is_parent",b"is_parent"]) -> None: ...
global___TaskExecution = TaskExecution

class TaskExecutionList(google.protobuf.message.Message):
    """Response structure for a query to list of task execution entities.
    See :ref:`ref_flyteidl.admin.TaskExecution` for more details
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TASK_EXECUTIONS_FIELD_NUMBER: builtins.int
    TOKEN_FIELD_NUMBER: builtins.int
    @property
    def task_executions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TaskExecution]: ...
    token: typing.Text = ...
    """In the case of multiple pages of results, the server-provided token can be used to fetch the next page
    in a query. If there are no more results, this value will be empty.
    """

    def __init__(self,
        *,
        task_executions : typing.Optional[typing.Iterable[global___TaskExecution]] = ...,
        token : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"task_executions",b"task_executions",u"token",b"token"]) -> None: ...
global___TaskExecutionList = TaskExecutionList

class TaskExecutionClosure(google.protobuf.message.Message):
    """Container for task execution details and results."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OUTPUT_URI_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    OUTPUT_DATA_FIELD_NUMBER: builtins.int
    PHASE_FIELD_NUMBER: builtins.int
    LOGS_FIELD_NUMBER: builtins.int
    STARTED_AT_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    CUSTOM_INFO_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    TASK_TYPE_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    output_uri: typing.Text = ...
    """Path to remote data store where output blob is stored if the execution succeeded (and produced outputs)."""

    @property
    def error(self) -> flyteidl.core.execution_pb2.ExecutionError:
        """Error information for the task execution. Populated if the execution failed."""
        pass
    @property
    def output_data(self) -> flyteidl.core.literals_pb2.LiteralMap:
        """Raw output data produced by this task execution."""
        pass
    phase: flyteidl.core.execution_pb2.TaskExecution.Phase.V = ...
    """The last recorded phase for this task execution."""

    @property
    def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flyteidl.core.execution_pb2.TaskLog]:
        """Detailed log information output by the task execution."""
        pass
    @property
    def started_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time at which the task execution began running."""
        pass
    @property
    def duration(self) -> google.protobuf.duration_pb2.Duration:
        """The amount of time the task execution spent running."""
        pass
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time at which the task execution was created."""
        pass
    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time at which the task execution was last updated."""
        pass
    @property
    def custom_info(self) -> google.protobuf.struct_pb2.Struct:
        """Custom data specific to the task plugin."""
        pass
    reason: typing.Text = ...
    """If there is an explanation for the most recent phase transition, the reason will capture it."""

    task_type: typing.Text = ...
    """A predefined yet extensible Task type identifier."""

    @property
    def metadata(self) -> flyteidl.event.event_pb2.TaskExecutionMetadata:
        """Metadata around how a task was executed."""
        pass
    def __init__(self,
        *,
        output_uri : typing.Text = ...,
        error : typing.Optional[flyteidl.core.execution_pb2.ExecutionError] = ...,
        output_data : typing.Optional[flyteidl.core.literals_pb2.LiteralMap] = ...,
        phase : flyteidl.core.execution_pb2.TaskExecution.Phase.V = ...,
        logs : typing.Optional[typing.Iterable[flyteidl.core.execution_pb2.TaskLog]] = ...,
        started_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        duration : typing.Optional[google.protobuf.duration_pb2.Duration] = ...,
        created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        custom_info : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        reason : typing.Text = ...,
        task_type : typing.Text = ...,
        metadata : typing.Optional[flyteidl.event.event_pb2.TaskExecutionMetadata] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"custom_info",b"custom_info",u"duration",b"duration",u"error",b"error",u"metadata",b"metadata",u"output_data",b"output_data",u"output_result",b"output_result",u"output_uri",b"output_uri",u"started_at",b"started_at",u"updated_at",b"updated_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"custom_info",b"custom_info",u"duration",b"duration",u"error",b"error",u"logs",b"logs",u"metadata",b"metadata",u"output_data",b"output_data",u"output_result",b"output_result",u"output_uri",b"output_uri",u"phase",b"phase",u"reason",b"reason",u"started_at",b"started_at",u"task_type",b"task_type",u"updated_at",b"updated_at"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"output_result",b"output_result"]) -> typing.Optional[typing_extensions.Literal["output_uri","error","output_data"]]: ...
global___TaskExecutionClosure = TaskExecutionClosure

class TaskExecutionGetDataRequest(google.protobuf.message.Message):
    """Request structure to fetch inputs and output for a task execution.
    By default this data is not returned inline in :ref:`ref_flyteidl.admin.TaskExecutionGetRequest`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> flyteidl.core.identifier_pb2.TaskExecutionIdentifier:
        """The identifier of the task execution for which to fetch inputs and outputs.
        +required
        """
        pass
    def __init__(self,
        *,
        id : typing.Optional[flyteidl.core.identifier_pb2.TaskExecutionIdentifier] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ...
global___TaskExecutionGetDataRequest = TaskExecutionGetDataRequest

class TaskExecutionGetDataResponse(google.protobuf.message.Message):
    """Response structure for TaskExecutionGetDataRequest which contains inputs and outputs for a task execution."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    INPUTS_FIELD_NUMBER: builtins.int
    OUTPUTS_FIELD_NUMBER: builtins.int
    FULL_INPUTS_FIELD_NUMBER: builtins.int
    FULL_OUTPUTS_FIELD_NUMBER: builtins.int
    @property
    def inputs(self) -> flyteidl.admin.common_pb2.UrlBlob:
        """Signed url to fetch a core.LiteralMap of task execution inputs.
        Deprecated: Please use full_inputs instead.
        """
        pass
    @property
    def outputs(self) -> flyteidl.admin.common_pb2.UrlBlob:
        """Signed url to fetch a core.LiteralMap of task execution outputs.
        Deprecated: Please use full_outputs instead.
        """
        pass
    @property
    def full_inputs(self) -> flyteidl.core.literals_pb2.LiteralMap:
        """Full_inputs will only be populated if they are under a configured size threshold."""
        pass
    @property
    def full_outputs(self) -> flyteidl.core.literals_pb2.LiteralMap:
        """Full_outputs will only be populated if they are under a configured size threshold."""
        pass
    def __init__(self,
        *,
        inputs : typing.Optional[flyteidl.admin.common_pb2.UrlBlob] = ...,
        outputs : typing.Optional[flyteidl.admin.common_pb2.UrlBlob] = ...,
        full_inputs : typing.Optional[flyteidl.core.literals_pb2.LiteralMap] = ...,
        full_outputs : typing.Optional[flyteidl.core.literals_pb2.LiteralMap] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"full_inputs",b"full_inputs",u"full_outputs",b"full_outputs",u"inputs",b"inputs",u"outputs",b"outputs"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"full_inputs",b"full_inputs",u"full_outputs",b"full_outputs",u"inputs",b"inputs",u"outputs",b"outputs"]) -> None: ...
global___TaskExecutionGetDataResponse = TaskExecutionGetDataResponse
