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

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

class WorkflowAttributes(google.protobuf.message.Message):
    """Defines a set of custom matching attributes which defines resource defaults for a project, domain and workflow.
    For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROJECT_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    WORKFLOW_FIELD_NUMBER: builtins.int
    MATCHING_ATTRIBUTES_FIELD_NUMBER: builtins.int
    project: typing.Text = ...
    """Unique project id for which this set of attributes will be applied."""

    domain: typing.Text = ...
    """Unique domain id for which this set of attributes will be applied."""

    workflow: typing.Text = ...
    """Workflow name for which this set of attributes will be applied."""

    @property
    def matching_attributes(self) -> flyteidl.admin.matchable_resource_pb2.MatchingAttributes: ...
    def __init__(self,
        *,
        project : typing.Text = ...,
        domain : typing.Text = ...,
        workflow : typing.Text = ...,
        matching_attributes : typing.Optional[flyteidl.admin.matchable_resource_pb2.MatchingAttributes] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"matching_attributes",b"matching_attributes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"domain",b"domain",u"matching_attributes",b"matching_attributes",u"project",b"project",u"workflow",b"workflow"]) -> None: ...
global___WorkflowAttributes = WorkflowAttributes

class WorkflowAttributesUpdateRequest(google.protobuf.message.Message):
    """Sets custom attributes for a project, domain and workflow combination.
    For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    @property
    def attributes(self) -> global___WorkflowAttributes: ...
    def __init__(self,
        *,
        attributes : typing.Optional[global___WorkflowAttributes] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes"]) -> None: ...
global___WorkflowAttributesUpdateRequest = WorkflowAttributesUpdateRequest

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

class WorkflowAttributesGetRequest(google.protobuf.message.Message):
    """Request to get an individual workflow attribute override.
    For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROJECT_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    WORKFLOW_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    project: typing.Text = ...
    """Unique project id which this set of attributes references.
    +required
    """

    domain: typing.Text = ...
    """Unique domain id which this set of attributes references.
    +required
    """

    workflow: typing.Text = ...
    """Workflow name which this set of attributes references.
    +required
    """

    resource_type: flyteidl.admin.matchable_resource_pb2.MatchableResource.V = ...
    """Which type of matchable attributes to return.
    +required
    """

    def __init__(self,
        *,
        project : typing.Text = ...,
        domain : typing.Text = ...,
        workflow : typing.Text = ...,
        resource_type : flyteidl.admin.matchable_resource_pb2.MatchableResource.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"domain",b"domain",u"project",b"project",u"resource_type",b"resource_type",u"workflow",b"workflow"]) -> None: ...
global___WorkflowAttributesGetRequest = WorkflowAttributesGetRequest

class WorkflowAttributesGetResponse(google.protobuf.message.Message):
    """Response to get an individual workflow attribute override."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    @property
    def attributes(self) -> global___WorkflowAttributes: ...
    def __init__(self,
        *,
        attributes : typing.Optional[global___WorkflowAttributes] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes"]) -> None: ...
global___WorkflowAttributesGetResponse = WorkflowAttributesGetResponse

class WorkflowAttributesDeleteRequest(google.protobuf.message.Message):
    """Request to delete a set matchable workflow attribute override.
    For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROJECT_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    WORKFLOW_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    project: typing.Text = ...
    """Unique project id which this set of attributes references.
    +required
    """

    domain: typing.Text = ...
    """Unique domain id which this set of attributes references.
    +required
    """

    workflow: typing.Text = ...
    """Workflow name which this set of attributes references.
    +required
    """

    resource_type: flyteidl.admin.matchable_resource_pb2.MatchableResource.V = ...
    """Which type of matchable attributes to delete.
    +required
    """

    def __init__(self,
        *,
        project : typing.Text = ...,
        domain : typing.Text = ...,
        workflow : typing.Text = ...,
        resource_type : flyteidl.admin.matchable_resource_pb2.MatchableResource.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"domain",b"domain",u"project",b"project",u"resource_type",b"resource_type",u"workflow",b"workflow"]) -> None: ...
global___WorkflowAttributesDeleteRequest = WorkflowAttributesDeleteRequest

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