"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.struct_pb2
import sys
import typing
import vdp.pipeline.v1alpha.common_pb2

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Spec(google.protobuf.message.Message):
    """View enumerates the definition views"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMPONENT_SPECIFICATION_FIELD_NUMBER: builtins.int
    OPENAPI_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    @property
    def component_specification(self) -> google.protobuf.struct_pb2.Struct:
        """Spec operator specification"""
    @property
    def openapi_specifications(self) -> google.protobuf.struct_pb2.Struct:
        """Spec openapi specification"""
    def __init__(
        self,
        *,
        component_specification: google.protobuf.struct_pb2.Struct | None = ...,
        openapi_specifications: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["component_specification", b"component_specification", "openapi_specifications", b"openapi_specifications"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["component_specification", b"component_specification", "openapi_specifications", b"openapi_specifications"]) -> None: ...

global___Spec = Spec

@typing_extensions.final
class OperatorDefinition(google.protobuf.message.Message):
    """////////////////////////////////////////////////////////////////////////

    Operator represents the operator definition data model
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    UID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    DOCUMENTATION_URL_FIELD_NUMBER: builtins.int
    ICON_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    TOMBSTONE_FIELD_NUMBER: builtins.int
    PUBLIC_FIELD_NUMBER: builtins.int
    CUSTOM_FIELD_NUMBER: builtins.int
    ICON_URL_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Operator resource name. It must have the format of
    "operator-definitions/*"
    """
    uid: builtins.str
    """Operator UUID"""
    id: builtins.str
    """Operator resource ID (the last segment of the
    resource name) used to construct the resource name. This conforms to
    RFC-1034, which restricts to letters, numbers, and hyphen, with the first
    character a letter, the last a letter or a number, and a 63 character
    maximum.
    """
    title: builtins.str
    """Operator title"""
    documentation_url: builtins.str
    """Operator documentation URL"""
    icon: builtins.str
    """Operator icon"""
    @property
    def spec(self) -> global___Spec:
        """Operator spec"""
    tombstone: builtins.bool
    """Operator tombstone, i.e., if not set or false, the
    configuration is active, or otherwise, if true, this configuration is
    permanently off
    """
    public: builtins.bool
    """Operator public flag, i.e., true if this operator
    definition is available to all workspaces
    """
    custom: builtins.bool
    """Operator custom flag, i.e., whether this is a custom
    operator definition
    """
    icon_url: builtins.str
    """Operator iconUrl"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        uid: builtins.str = ...,
        id: builtins.str = ...,
        title: builtins.str = ...,
        documentation_url: builtins.str = ...,
        icon: builtins.str = ...,
        spec: global___Spec | None = ...,
        tombstone: builtins.bool = ...,
        public: builtins.bool = ...,
        custom: builtins.bool = ...,
        icon_url: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["spec", b"spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom", b"custom", "documentation_url", b"documentation_url", "icon", b"icon", "icon_url", b"icon_url", "id", b"id", "name", b"name", "public", b"public", "spec", b"spec", "title", b"title", "tombstone", b"tombstone", "uid", b"uid"]) -> None: ...

global___OperatorDefinition = OperatorDefinition

@typing_extensions.final
class ListOperatorDefinitionsRequest(google.protobuf.message.Message):
    """/////////////////////////////////////////////////////////////////////
    RPC messages
    /////////////////////////////////////////////////////////////////////

    ListOperatorDefinitionsRequest represents a request to list
    OperatorDefinitions
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    VIEW_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    page_size: builtins.int
    """The maximum number of OperatorDefinitions to return. The
    service may return fewer than this value. If unspecified, at most 10
    OperatorDefinitions will be returned. The maximum value is 100;
    values above 100 will be coerced to 100.
    """
    page_token: builtins.str
    """Page token"""
    view: vdp.pipeline.v1alpha.common_pb2.View.ValueType
    """Definition view (default is DEFINITION_VIEW_BASIC)"""
    filter: builtins.str
    """Filter expression to list operator definitions"""
    def __init__(
        self,
        *,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
        view: vdp.pipeline.v1alpha.common_pb2.View.ValueType | None = ...,
        filter: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_page_size", b"_page_size", "_page_token", b"_page_token", "_view", b"_view", "filter", b"filter", "page_size", b"page_size", "page_token", b"page_token", "view", b"view"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_page_size", b"_page_size", "_page_token", b"_page_token", "_view", b"_view", "filter", b"filter", "page_size", b"page_size", "page_token", b"page_token", "view", b"view"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_page_size", b"_page_size"]) -> typing_extensions.Literal["page_size"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_page_token", b"_page_token"]) -> typing_extensions.Literal["page_token"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_view", b"_view"]) -> typing_extensions.Literal["view"] | None: ...

global___ListOperatorDefinitionsRequest = ListOperatorDefinitionsRequest

@typing_extensions.final
class ListOperatorDefinitionsResponse(google.protobuf.message.Message):
    """ListOperatorDefinitionsResponse represents a response for a list
    of OperatorDefinitions
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATOR_DEFINITIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    TOTAL_SIZE_FIELD_NUMBER: builtins.int
    @property
    def operator_definitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OperatorDefinition]:
        """A list of Operator resources"""
    next_page_token: builtins.str
    """Next page token"""
    total_size: builtins.int
    """Total count of Operator resources"""
    def __init__(
        self,
        *,
        operator_definitions: collections.abc.Iterable[global___OperatorDefinition] | None = ...,
        next_page_token: builtins.str = ...,
        total_size: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["next_page_token", b"next_page_token", "operator_definitions", b"operator_definitions", "total_size", b"total_size"]) -> None: ...

global___ListOperatorDefinitionsResponse = ListOperatorDefinitionsResponse

@typing_extensions.final
class GetOperatorDefinitionRequest(google.protobuf.message.Message):
    """GetOperatorDefinitionRequest represents a request to query a
    Operator resource
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VIEW_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Operator resource name. It must have the format of
    "operator-definitions/*"
    """
    view: vdp.pipeline.v1alpha.common_pb2.View.ValueType
    """Operator resource view (default is
    DEFINITION_VIEW_BASIC)
    """
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        view: vdp.pipeline.v1alpha.common_pb2.View.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_view", b"_view", "view", b"view"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_view", b"_view", "name", b"name", "view", b"view"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_view", b"_view"]) -> typing_extensions.Literal["view"] | None: ...

global___GetOperatorDefinitionRequest = GetOperatorDefinitionRequest

@typing_extensions.final
class GetOperatorDefinitionResponse(google.protobuf.message.Message):
    """GetOperatorDefinitionResponse represents a
    Operator response
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATOR_DEFINITION_FIELD_NUMBER: builtins.int
    @property
    def operator_definition(self) -> global___OperatorDefinition:
        """A Operator resource"""
    def __init__(
        self,
        *,
        operator_definition: global___OperatorDefinition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["operator_definition", b"operator_definition"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["operator_definition", b"operator_definition"]) -> None: ...

global___GetOperatorDefinitionResponse = GetOperatorDefinitionResponse

@typing_extensions.final
class LookUpOperatorDefinitionAdminRequest(google.protobuf.message.Message):
    """LookUpOperatorDefinitionAdminRequest represents a request to query a
    operatorDefinition via permalink by admin
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PERMALINK_FIELD_NUMBER: builtins.int
    VIEW_FIELD_NUMBER: builtins.int
    permalink: builtins.str
    """Permalink of a operator. For example:
    "operator-definitions/{uid}"
    """
    view: vdp.pipeline.v1alpha.common_pb2.View.ValueType
    """Operator view (default is VIEW_BASIC)"""
    def __init__(
        self,
        *,
        permalink: builtins.str = ...,
        view: vdp.pipeline.v1alpha.common_pb2.View.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_view", b"_view", "view", b"view"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_view", b"_view", "permalink", b"permalink", "view", b"view"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_view", b"_view"]) -> typing_extensions.Literal["view"] | None: ...

global___LookUpOperatorDefinitionAdminRequest = LookUpOperatorDefinitionAdminRequest

@typing_extensions.final
class LookUpOperatorDefinitionAdminResponse(google.protobuf.message.Message):
    """LookUpOperatorAdminResponse represents a response for a
    operator
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATOR_DEFINITION_FIELD_NUMBER: builtins.int
    @property
    def operator_definition(self) -> global___OperatorDefinition:
        """operator resource"""
    def __init__(
        self,
        *,
        operator_definition: global___OperatorDefinition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["operator_definition", b"operator_definition"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["operator_definition", b"operator_definition"]) -> None: ...

global___LookUpOperatorDefinitionAdminResponse = LookUpOperatorDefinitionAdminResponse
