"""
@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 typing
import typing_extensions

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

class ResourceType(_ResourceType, metaclass=_ResourceTypeEnumTypeWrapper):
    """Indicates a resource type within Flyte."""
    pass
class _ResourceType:
    V = typing.NewType('V', builtins.int)
class _ResourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceType.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    UNSPECIFIED = ResourceType.V(0)
    TASK = ResourceType.V(1)
    WORKFLOW = ResourceType.V(2)
    LAUNCH_PLAN = ResourceType.V(3)
    DATASET = ResourceType.V(4)
    """A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.
    Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI  and CLI to act on the objects 
    in a similar manner to other Flyte objects
    """


UNSPECIFIED = ResourceType.V(0)
TASK = ResourceType.V(1)
WORKFLOW = ResourceType.V(2)
LAUNCH_PLAN = ResourceType.V(3)
DATASET = ResourceType.V(4)
"""A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.
Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI  and CLI to act on the objects 
in a similar manner to other Flyte objects
"""

global___ResourceType = ResourceType


class Identifier(google.protobuf.message.Message):
    """Encapsulation of fields that uniquely identifies a Flyte resource."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    resource_type: global___ResourceType.V = ...
    """Identifies the specific type of resource that this identifier corresponds to."""

    project: typing.Text = ...
    """Name of the project the resource belongs to."""

    domain: typing.Text = ...
    """Name of the domain the resource belongs to.
    A domain can be considered as a subset within a specific project.
    """

    name: typing.Text = ...
    """User provided value for the resource."""

    version: typing.Text = ...
    """Specific version of the resource."""

    def __init__(self,
        *,
        resource_type : global___ResourceType.V = ...,
        project : typing.Text = ...,
        domain : typing.Text = ...,
        name : typing.Text = ...,
        version : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"domain",b"domain",u"name",b"name",u"project",b"project",u"resource_type",b"resource_type",u"version",b"version"]) -> None: ...
global___Identifier = Identifier

class WorkflowExecutionIdentifier(google.protobuf.message.Message):
    """Encapsulation of fields that uniquely identifies a Flyte workflow execution"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROJECT_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    project: typing.Text = ...
    """Name of the project the resource belongs to."""

    domain: typing.Text = ...
    """Name of the domain the resource belongs to.
    A domain can be considered as a subset within a specific project.
    """

    name: typing.Text = ...
    """User or system provided value for the resource."""

    def __init__(self,
        *,
        project : typing.Text = ...,
        domain : typing.Text = ...,
        name : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"domain",b"domain",u"name",b"name",u"project",b"project"]) -> None: ...
global___WorkflowExecutionIdentifier = WorkflowExecutionIdentifier

class NodeExecutionIdentifier(google.protobuf.message.Message):
    """Encapsulation of fields that identify a Flyte node execution entity."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NODE_ID_FIELD_NUMBER: builtins.int
    EXECUTION_ID_FIELD_NUMBER: builtins.int
    node_id: typing.Text = ...
    @property
    def execution_id(self) -> global___WorkflowExecutionIdentifier: ...
    def __init__(self,
        *,
        node_id : typing.Text = ...,
        execution_id : typing.Optional[global___WorkflowExecutionIdentifier] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"execution_id",b"execution_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"execution_id",b"execution_id",u"node_id",b"node_id"]) -> None: ...
global___NodeExecutionIdentifier = NodeExecutionIdentifier

class TaskExecutionIdentifier(google.protobuf.message.Message):
    """Encapsulation of fields that identify a Flyte task execution entity."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TASK_ID_FIELD_NUMBER: builtins.int
    NODE_EXECUTION_ID_FIELD_NUMBER: builtins.int
    RETRY_ATTEMPT_FIELD_NUMBER: builtins.int
    @property
    def task_id(self) -> global___Identifier: ...
    @property
    def node_execution_id(self) -> global___NodeExecutionIdentifier: ...
    retry_attempt: builtins.int = ...
    def __init__(self,
        *,
        task_id : typing.Optional[global___Identifier] = ...,
        node_execution_id : typing.Optional[global___NodeExecutionIdentifier] = ...,
        retry_attempt : builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"node_execution_id",b"node_execution_id",u"task_id",b"task_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"node_execution_id",b"node_execution_id",u"retry_attempt",b"retry_attempt",u"task_id",b"task_id"]) -> None: ...
global___TaskExecutionIdentifier = TaskExecutionIdentifier
