# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/dataproc_v1/proto/workflow_templates.proto

import sys

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.cloud.dataproc_v1.proto import (
    clusters_pb2 as google_dot_cloud_dot_dataproc__v1_dot_proto_dot_clusters__pb2,
)
from google.cloud.dataproc_v1.proto import (
    jobs_pb2 as google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2,
)
from google.longrunning import (
    operations_pb2 as google_dot_longrunning_dot_operations__pb2,
)
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
    name="google/cloud/dataproc_v1/proto/workflow_templates.proto",
    package="google.cloud.dataproc.v1",
    syntax="proto3",
    serialized_pb=_b(
        '\n7google/cloud/dataproc_v1/proto/workflow_templates.proto\x12\x18google.cloud.dataproc.v1\x1a\x1cgoogle/api/annotations.proto\x1a-google/cloud/dataproc_v1/proto/clusters.proto\x1a)google/cloud/dataproc_v1/proto/jobs.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xd3\x03\n\x10WorkflowTemplate\x12\n\n\x02id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x05\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x46\n\x06labels\x18\x06 \x03(\x0b\x32\x36.google.cloud.dataproc.v1.WorkflowTemplate.LabelsEntry\x12\x46\n\tplacement\x18\x07 \x01(\x0b\x32\x33.google.cloud.dataproc.v1.WorkflowTemplatePlacement\x12\x32\n\x04jobs\x18\x08 \x03(\x0b\x32$.google.cloud.dataproc.v1.OrderedJob\x12?\n\nparameters\x18\t \x03(\x0b\x32+.google.cloud.dataproc.v1.TemplateParameter\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\xb4\x01\n\x19WorkflowTemplatePlacement\x12\x43\n\x0fmanaged_cluster\x18\x01 \x01(\x0b\x32(.google.cloud.dataproc.v1.ManagedClusterH\x00\x12\x45\n\x10\x63luster_selector\x18\x02 \x01(\x0b\x32).google.cloud.dataproc.v1.ClusterSelectorH\x00\x42\x0b\n\tplacement"\xd4\x01\n\x0eManagedCluster\x12\x14\n\x0c\x63luster_name\x18\x02 \x01(\t\x12\x37\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\'.google.cloud.dataproc.v1.ClusterConfig\x12\x44\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.dataproc.v1.ManagedCluster.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\xab\x01\n\x0f\x43lusterSelector\x12\x0c\n\x04zone\x18\x01 \x01(\t\x12T\n\x0e\x63luster_labels\x18\x02 \x03(\x0b\x32<.google.cloud.dataproc.v1.ClusterSelector.ClusterLabelsEntry\x1a\x34\n\x12\x43lusterLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\xd3\x04\n\nOrderedJob\x12\x0f\n\x07step_id\x18\x01 \x01(\t\x12\x39\n\nhadoop_job\x18\x02 \x01(\x0b\x32#.google.cloud.dataproc.v1.HadoopJobH\x00\x12\x37\n\tspark_job\x18\x03 \x01(\x0b\x32".google.cloud.dataproc.v1.SparkJobH\x00\x12;\n\x0bpyspark_job\x18\x04 \x01(\x0b\x32$.google.cloud.dataproc.v1.PySparkJobH\x00\x12\x35\n\x08hive_job\x18\x05 \x01(\x0b\x32!.google.cloud.dataproc.v1.HiveJobH\x00\x12\x33\n\x07pig_job\x18\x06 \x01(\x0b\x32 .google.cloud.dataproc.v1.PigJobH\x00\x12>\n\rspark_sql_job\x18\x07 \x01(\x0b\x32%.google.cloud.dataproc.v1.SparkSqlJobH\x00\x12@\n\x06labels\x18\x08 \x03(\x0b\x32\x30.google.cloud.dataproc.v1.OrderedJob.LabelsEntry\x12;\n\nscheduling\x18\t \x01(\x0b\x32\'.google.cloud.dataproc.v1.JobScheduling\x12\x1d\n\x15prerequisite_step_ids\x18\n \x03(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\n\n\x08job_type"\x89\x01\n\x11TemplateParameter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ields\x18\x02 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x41\n\nvalidation\x18\x04 \x01(\x0b\x32-.google.cloud.dataproc.v1.ParameterValidation"\xa1\x01\n\x13ParameterValidation\x12:\n\x05regex\x18\x01 \x01(\x0b\x32).google.cloud.dataproc.v1.RegexValidationH\x00\x12;\n\x06values\x18\x02 \x01(\x0b\x32).google.cloud.dataproc.v1.ValueValidationH\x00\x42\x11\n\x0fvalidation_type""\n\x0fRegexValidation\x12\x0f\n\x07regexes\x18\x01 \x03(\t"!\n\x0fValueValidation\x12\x0e\n\x06values\x18\x01 \x03(\t"\xfd\x04\n\x10WorkflowMetadata\x12\x10\n\x08template\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x42\n\x0e\x63reate_cluster\x18\x03 \x01(\x0b\x32*.google.cloud.dataproc.v1.ClusterOperation\x12\x36\n\x05graph\x18\x04 \x01(\x0b\x32\'.google.cloud.dataproc.v1.WorkflowGraph\x12\x42\n\x0e\x64\x65lete_cluster\x18\x05 \x01(\x0b\x32*.google.cloud.dataproc.v1.ClusterOperation\x12?\n\x05state\x18\x06 \x01(\x0e\x32\x30.google.cloud.dataproc.v1.WorkflowMetadata.State\x12\x14\n\x0c\x63luster_name\x18\x07 \x01(\t\x12N\n\nparameters\x18\x08 \x03(\x0b\x32:.google.cloud.dataproc.v1.WorkflowMetadata.ParametersEntry\x12.\n\nstart_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x63luster_uuid\x18\x0b \x01(\t\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"8\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x08\n\x04\x44ONE\x10\x03"E\n\x10\x43lusterOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08"F\n\rWorkflowGraph\x12\x35\n\x05nodes\x18\x01 \x03(\x0b\x32&.google.cloud.dataproc.v1.WorkflowNode"\x8a\x02\n\x0cWorkflowNode\x12\x0f\n\x07step_id\x18\x01 \x01(\t\x12\x1d\n\x15prerequisite_step_ids\x18\x02 \x03(\t\x12\x0e\n\x06job_id\x18\x03 \x01(\t\x12?\n\x05state\x18\x05 \x01(\x0e\x32\x30.google.cloud.dataproc.v1.WorkflowNode.NodeState\x12\r\n\x05\x65rror\x18\x06 \x01(\t"j\n\tNodeState\x12\x1a\n\x16NODE_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x42LOCKED\x10\x01\x12\x0c\n\x08RUNNABLE\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tCOMPLETED\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05"m\n\x1d\x43reateWorkflowTemplateRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12<\n\x08template\x18\x02 \x01(\x0b\x32*.google.cloud.dataproc.v1.WorkflowTemplate";\n\x1aGetWorkflowTemplateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05"\xec\x01\n"InstantiateWorkflowTemplateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x12\n\nrequest_id\x18\x05 \x01(\t\x12`\n\nparameters\x18\x06 \x03(\x0b\x32L.google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.ParametersEntry\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\x8c\x01\n(InstantiateInlineWorkflowTemplateRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12<\n\x08template\x18\x02 \x01(\x0b\x32*.google.cloud.dataproc.v1.WorkflowTemplate\x12\x12\n\nrequest_id\x18\x03 \x01(\t"]\n\x1dUpdateWorkflowTemplateRequest\x12<\n\x08template\x18\x01 \x01(\x0b\x32*.google.cloud.dataproc.v1.WorkflowTemplate"U\n\x1cListWorkflowTemplatesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"w\n\x1dListWorkflowTemplatesResponse\x12=\n\ttemplates\x18\x01 \x03(\x0b\x32*.google.cloud.dataproc.v1.WorkflowTemplate\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t">\n\x1d\x44\x65leteWorkflowTemplateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\x32\xe2\x0e\n\x17WorkflowTemplateService\x12\x89\x02\n\x16\x43reateWorkflowTemplate\x12\x37.google.cloud.dataproc.v1.CreateWorkflowTemplateRequest\x1a*.google.cloud.dataproc.v1.WorkflowTemplate"\x89\x01\x82\xd3\xe4\x93\x02\x82\x01"5/v1/{parent=projects/*/locations/*}/workflowTemplates:\x08templateZ?"3/v1/{parent=projects/*/regions/*}/workflowTemplates:\x08template\x12\xed\x01\n\x13GetWorkflowTemplate\x12\x34.google.cloud.dataproc.v1.GetWorkflowTemplateRequest\x1a*.google.cloud.dataproc.v1.WorkflowTemplate"t\x82\xd3\xe4\x93\x02n\x12\x35/v1/{name=projects/*/locations/*/workflowTemplates/*}Z5\x12\x33/v1/{name=projects/*/regions/*/workflowTemplates/*}\x12\x90\x02\n\x1bInstantiateWorkflowTemplate\x12<.google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest\x1a\x1d.google.longrunning.Operation"\x93\x01\x82\xd3\xe4\x93\x02\x8c\x01"A/v1/{name=projects/*/locations/*/workflowTemplates/*}:instantiate:\x01*ZD"?/v1/{name=projects/*/regions/*/workflowTemplates/*}:instantiate:\x01*\x12\xb6\x02\n!InstantiateInlineWorkflowTemplate\x12\x42.google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest\x1a\x1d.google.longrunning.Operation"\xad\x01\x82\xd3\xe4\x93\x02\xa6\x01"G/v1/{parent=projects/*/locations/*}/workflowTemplates:instantiateInline:\x08templateZQ"E/v1/{parent=projects/*/regions/*}/workflowTemplates:instantiateInline:\x08template\x12\x9b\x02\n\x16UpdateWorkflowTemplate\x12\x37.google.cloud.dataproc.v1.UpdateWorkflowTemplateRequest\x1a*.google.cloud.dataproc.v1.WorkflowTemplate"\x9b\x01\x82\xd3\xe4\x93\x02\x94\x01\x1a>/v1/{template.name=projects/*/locations/*/workflowTemplates/*}:\x08templateZH\x1a</v1/{template.name=projects/*/regions/*/workflowTemplates/*}:\x08template\x12\xfe\x01\n\x15ListWorkflowTemplates\x12\x36.google.cloud.dataproc.v1.ListWorkflowTemplatesRequest\x1a\x37.google.cloud.dataproc.v1.ListWorkflowTemplatesResponse"t\x82\xd3\xe4\x93\x02n\x12\x35/v1/{parent=projects/*/locations/*}/workflowTemplatesZ5\x12\x33/v1/{parent=projects/*/regions/*}/workflowTemplates\x12\xdf\x01\n\x16\x44\x65leteWorkflowTemplate\x12\x37.google.cloud.dataproc.v1.DeleteWorkflowTemplateRequest\x1a\x16.google.protobuf.Empty"t\x82\xd3\xe4\x93\x02n*5/v1/{name=projects/*/locations/*/workflowTemplates/*}Z5*3/v1/{name=projects/*/regions/*/workflowTemplates/*}Bz\n\x1c\x63om.google.cloud.dataproc.v1B\x16WorkflowTemplatesProtoP\x01Z@google.golang.org/genproto/googleapis/cloud/dataproc/v1;dataprocb\x06proto3'
    ),
    dependencies=[
        google_dot_api_dot_annotations__pb2.DESCRIPTOR,
        google_dot_cloud_dot_dataproc__v1_dot_proto_dot_clusters__pb2.DESCRIPTOR,
        google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2.DESCRIPTOR,
        google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,
    ],
)


_WORKFLOWMETADATA_STATE = _descriptor.EnumDescriptor(
    name="State",
    full_name="google.cloud.dataproc.v1.WorkflowMetadata.State",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="UNKNOWN", index=0, number=0, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="PENDING", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="RUNNING", index=2, number=2, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="DONE", index=3, number=3, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=2901,
    serialized_end=2957,
)
_sym_db.RegisterEnumDescriptor(_WORKFLOWMETADATA_STATE)

_WORKFLOWNODE_NODESTATE = _descriptor.EnumDescriptor(
    name="NodeState",
    full_name="google.cloud.dataproc.v1.WorkflowNode.NodeState",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="NODE_STATE_UNSPECIFIED", index=0, number=0, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="BLOCKED", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="RUNNABLE", index=2, number=2, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="RUNNING", index=3, number=3, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="COMPLETED", index=4, number=4, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="FAILED", index=5, number=5, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=3263,
    serialized_end=3369,
)
_sym_db.RegisterEnumDescriptor(_WORKFLOWNODE_NODESTATE)


_WORKFLOWTEMPLATE_LABELSENTRY = _descriptor.Descriptor(
    name="LabelsEntry",
    full_name="google.cloud.dataproc.v1.WorkflowTemplate.LabelsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.LabelsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.LabelsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=727,
    serialized_end=772,
)

_WORKFLOWTEMPLATE = _descriptor.Descriptor(
    name="WorkflowTemplate",
    full_name="google.cloud.dataproc.v1.WorkflowTemplate",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="id",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.id",
            index=0,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.name",
            index=1,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="version",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.version",
            index=2,
            number=3,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="create_time",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.create_time",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="update_time",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.update_time",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="labels",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.labels",
            index=5,
            number=6,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="placement",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.placement",
            index=6,
            number=7,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="jobs",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.jobs",
            index=7,
            number=8,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="google.cloud.dataproc.v1.WorkflowTemplate.parameters",
            index=8,
            number=9,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_WORKFLOWTEMPLATE_LABELSENTRY],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=305,
    serialized_end=772,
)


_WORKFLOWTEMPLATEPLACEMENT = _descriptor.Descriptor(
    name="WorkflowTemplatePlacement",
    full_name="google.cloud.dataproc.v1.WorkflowTemplatePlacement",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="managed_cluster",
            full_name="google.cloud.dataproc.v1.WorkflowTemplatePlacement.managed_cluster",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="cluster_selector",
            full_name="google.cloud.dataproc.v1.WorkflowTemplatePlacement.cluster_selector",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="placement",
            full_name="google.cloud.dataproc.v1.WorkflowTemplatePlacement.placement",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=775,
    serialized_end=955,
)


_MANAGEDCLUSTER_LABELSENTRY = _descriptor.Descriptor(
    name="LabelsEntry",
    full_name="google.cloud.dataproc.v1.ManagedCluster.LabelsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.ManagedCluster.LabelsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.ManagedCluster.LabelsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=727,
    serialized_end=772,
)

_MANAGEDCLUSTER = _descriptor.Descriptor(
    name="ManagedCluster",
    full_name="google.cloud.dataproc.v1.ManagedCluster",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="cluster_name",
            full_name="google.cloud.dataproc.v1.ManagedCluster.cluster_name",
            index=0,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="config",
            full_name="google.cloud.dataproc.v1.ManagedCluster.config",
            index=1,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="labels",
            full_name="google.cloud.dataproc.v1.ManagedCluster.labels",
            index=2,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_MANAGEDCLUSTER_LABELSENTRY],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=958,
    serialized_end=1170,
)


_CLUSTERSELECTOR_CLUSTERLABELSENTRY = _descriptor.Descriptor(
    name="ClusterLabelsEntry",
    full_name="google.cloud.dataproc.v1.ClusterSelector.ClusterLabelsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.ClusterSelector.ClusterLabelsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.ClusterSelector.ClusterLabelsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1292,
    serialized_end=1344,
)

_CLUSTERSELECTOR = _descriptor.Descriptor(
    name="ClusterSelector",
    full_name="google.cloud.dataproc.v1.ClusterSelector",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="zone",
            full_name="google.cloud.dataproc.v1.ClusterSelector.zone",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="cluster_labels",
            full_name="google.cloud.dataproc.v1.ClusterSelector.cluster_labels",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_CLUSTERSELECTOR_CLUSTERLABELSENTRY],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1173,
    serialized_end=1344,
)


_ORDEREDJOB_LABELSENTRY = _descriptor.Descriptor(
    name="LabelsEntry",
    full_name="google.cloud.dataproc.v1.OrderedJob.LabelsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.OrderedJob.LabelsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.OrderedJob.LabelsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=727,
    serialized_end=772,
)

_ORDEREDJOB = _descriptor.Descriptor(
    name="OrderedJob",
    full_name="google.cloud.dataproc.v1.OrderedJob",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="step_id",
            full_name="google.cloud.dataproc.v1.OrderedJob.step_id",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="hadoop_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.hadoop_job",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="spark_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.spark_job",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="pyspark_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.pyspark_job",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="hive_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.hive_job",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="pig_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.pig_job",
            index=5,
            number=6,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="spark_sql_job",
            full_name="google.cloud.dataproc.v1.OrderedJob.spark_sql_job",
            index=6,
            number=7,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="labels",
            full_name="google.cloud.dataproc.v1.OrderedJob.labels",
            index=7,
            number=8,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="scheduling",
            full_name="google.cloud.dataproc.v1.OrderedJob.scheduling",
            index=8,
            number=9,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="prerequisite_step_ids",
            full_name="google.cloud.dataproc.v1.OrderedJob.prerequisite_step_ids",
            index=9,
            number=10,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_ORDEREDJOB_LABELSENTRY],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="job_type",
            full_name="google.cloud.dataproc.v1.OrderedJob.job_type",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=1347,
    serialized_end=1942,
)


_TEMPLATEPARAMETER = _descriptor.Descriptor(
    name="TemplateParameter",
    full_name="google.cloud.dataproc.v1.TemplateParameter",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.cloud.dataproc.v1.TemplateParameter.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="fields",
            full_name="google.cloud.dataproc.v1.TemplateParameter.fields",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="description",
            full_name="google.cloud.dataproc.v1.TemplateParameter.description",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="validation",
            full_name="google.cloud.dataproc.v1.TemplateParameter.validation",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1945,
    serialized_end=2082,
)


_PARAMETERVALIDATION = _descriptor.Descriptor(
    name="ParameterValidation",
    full_name="google.cloud.dataproc.v1.ParameterValidation",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="regex",
            full_name="google.cloud.dataproc.v1.ParameterValidation.regex",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="values",
            full_name="google.cloud.dataproc.v1.ParameterValidation.values",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="validation_type",
            full_name="google.cloud.dataproc.v1.ParameterValidation.validation_type",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=2085,
    serialized_end=2246,
)


_REGEXVALIDATION = _descriptor.Descriptor(
    name="RegexValidation",
    full_name="google.cloud.dataproc.v1.RegexValidation",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="regexes",
            full_name="google.cloud.dataproc.v1.RegexValidation.regexes",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2248,
    serialized_end=2282,
)


_VALUEVALIDATION = _descriptor.Descriptor(
    name="ValueValidation",
    full_name="google.cloud.dataproc.v1.ValueValidation",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="google.cloud.dataproc.v1.ValueValidation.values",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2284,
    serialized_end=2317,
)


_WORKFLOWMETADATA_PARAMETERSENTRY = _descriptor.Descriptor(
    name="ParametersEntry",
    full_name="google.cloud.dataproc.v1.WorkflowMetadata.ParametersEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.ParametersEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.ParametersEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2850,
    serialized_end=2899,
)

_WORKFLOWMETADATA = _descriptor.Descriptor(
    name="WorkflowMetadata",
    full_name="google.cloud.dataproc.v1.WorkflowMetadata",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="template",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.template",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="version",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.version",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="create_cluster",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.create_cluster",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="graph",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.graph",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="delete_cluster",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.delete_cluster",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="state",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.state",
            index=5,
            number=6,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="cluster_name",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.cluster_name",
            index=6,
            number=7,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.parameters",
            index=7,
            number=8,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="start_time",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.start_time",
            index=8,
            number=9,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="end_time",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.end_time",
            index=9,
            number=10,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="cluster_uuid",
            full_name="google.cloud.dataproc.v1.WorkflowMetadata.cluster_uuid",
            index=10,
            number=11,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_WORKFLOWMETADATA_PARAMETERSENTRY],
    enum_types=[_WORKFLOWMETADATA_STATE],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2320,
    serialized_end=2957,
)


_CLUSTEROPERATION = _descriptor.Descriptor(
    name="ClusterOperation",
    full_name="google.cloud.dataproc.v1.ClusterOperation",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="operation_id",
            full_name="google.cloud.dataproc.v1.ClusterOperation.operation_id",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="error",
            full_name="google.cloud.dataproc.v1.ClusterOperation.error",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="done",
            full_name="google.cloud.dataproc.v1.ClusterOperation.done",
            index=2,
            number=3,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2959,
    serialized_end=3028,
)


_WORKFLOWGRAPH = _descriptor.Descriptor(
    name="WorkflowGraph",
    full_name="google.cloud.dataproc.v1.WorkflowGraph",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="nodes",
            full_name="google.cloud.dataproc.v1.WorkflowGraph.nodes",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3030,
    serialized_end=3100,
)


_WORKFLOWNODE = _descriptor.Descriptor(
    name="WorkflowNode",
    full_name="google.cloud.dataproc.v1.WorkflowNode",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="step_id",
            full_name="google.cloud.dataproc.v1.WorkflowNode.step_id",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="prerequisite_step_ids",
            full_name="google.cloud.dataproc.v1.WorkflowNode.prerequisite_step_ids",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="job_id",
            full_name="google.cloud.dataproc.v1.WorkflowNode.job_id",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="state",
            full_name="google.cloud.dataproc.v1.WorkflowNode.state",
            index=3,
            number=5,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="error",
            full_name="google.cloud.dataproc.v1.WorkflowNode.error",
            index=4,
            number=6,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_WORKFLOWNODE_NODESTATE],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3103,
    serialized_end=3369,
)


_CREATEWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="CreateWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.CreateWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="parent",
            full_name="google.cloud.dataproc.v1.CreateWorkflowTemplateRequest.parent",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="template",
            full_name="google.cloud.dataproc.v1.CreateWorkflowTemplateRequest.template",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3371,
    serialized_end=3480,
)


_GETWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="GetWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.GetWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.cloud.dataproc.v1.GetWorkflowTemplateRequest.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="version",
            full_name="google.cloud.dataproc.v1.GetWorkflowTemplateRequest.version",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3482,
    serialized_end=3541,
)


_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY = _descriptor.Descriptor(
    name="ParametersEntry",
    full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.ParametersEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.ParametersEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.ParametersEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b("8\001")),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2850,
    serialized_end=2899,
)

_INSTANTIATEWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="InstantiateWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="version",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.version",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="request_id",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.request_id",
            index=2,
            number=5,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.parameters",
            index=3,
            number=6,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3544,
    serialized_end=3780,
)


_INSTANTIATEINLINEWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="InstantiateInlineWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="parent",
            full_name="google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest.parent",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="template",
            full_name="google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest.template",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="request_id",
            full_name="google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest.request_id",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3783,
    serialized_end=3923,
)


_UPDATEWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="UpdateWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.UpdateWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="template",
            full_name="google.cloud.dataproc.v1.UpdateWorkflowTemplateRequest.template",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3925,
    serialized_end=4018,
)


_LISTWORKFLOWTEMPLATESREQUEST = _descriptor.Descriptor(
    name="ListWorkflowTemplatesRequest",
    full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="parent",
            full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesRequest.parent",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="page_size",
            full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesRequest.page_size",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="page_token",
            full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesRequest.page_token",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4020,
    serialized_end=4105,
)


_LISTWORKFLOWTEMPLATESRESPONSE = _descriptor.Descriptor(
    name="ListWorkflowTemplatesResponse",
    full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesResponse",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="templates",
            full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesResponse.templates",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="next_page_token",
            full_name="google.cloud.dataproc.v1.ListWorkflowTemplatesResponse.next_page_token",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4107,
    serialized_end=4226,
)


_DELETEWORKFLOWTEMPLATEREQUEST = _descriptor.Descriptor(
    name="DeleteWorkflowTemplateRequest",
    full_name="google.cloud.dataproc.v1.DeleteWorkflowTemplateRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.cloud.dataproc.v1.DeleteWorkflowTemplateRequest.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="version",
            full_name="google.cloud.dataproc.v1.DeleteWorkflowTemplateRequest.version",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4228,
    serialized_end=4290,
)

_WORKFLOWTEMPLATE_LABELSENTRY.containing_type = _WORKFLOWTEMPLATE
_WORKFLOWTEMPLATE.fields_by_name[
    "create_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_WORKFLOWTEMPLATE.fields_by_name[
    "update_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_WORKFLOWTEMPLATE.fields_by_name["labels"].message_type = _WORKFLOWTEMPLATE_LABELSENTRY
_WORKFLOWTEMPLATE.fields_by_name["placement"].message_type = _WORKFLOWTEMPLATEPLACEMENT
_WORKFLOWTEMPLATE.fields_by_name["jobs"].message_type = _ORDEREDJOB
_WORKFLOWTEMPLATE.fields_by_name["parameters"].message_type = _TEMPLATEPARAMETER
_WORKFLOWTEMPLATEPLACEMENT.fields_by_name[
    "managed_cluster"
].message_type = _MANAGEDCLUSTER
_WORKFLOWTEMPLATEPLACEMENT.fields_by_name[
    "cluster_selector"
].message_type = _CLUSTERSELECTOR
_WORKFLOWTEMPLATEPLACEMENT.oneofs_by_name["placement"].fields.append(
    _WORKFLOWTEMPLATEPLACEMENT.fields_by_name["managed_cluster"]
)
_WORKFLOWTEMPLATEPLACEMENT.fields_by_name[
    "managed_cluster"
].containing_oneof = _WORKFLOWTEMPLATEPLACEMENT.oneofs_by_name["placement"]
_WORKFLOWTEMPLATEPLACEMENT.oneofs_by_name["placement"].fields.append(
    _WORKFLOWTEMPLATEPLACEMENT.fields_by_name["cluster_selector"]
)
_WORKFLOWTEMPLATEPLACEMENT.fields_by_name[
    "cluster_selector"
].containing_oneof = _WORKFLOWTEMPLATEPLACEMENT.oneofs_by_name["placement"]
_MANAGEDCLUSTER_LABELSENTRY.containing_type = _MANAGEDCLUSTER
_MANAGEDCLUSTER.fields_by_name[
    "config"
].message_type = (
    google_dot_cloud_dot_dataproc__v1_dot_proto_dot_clusters__pb2._CLUSTERCONFIG
)
_MANAGEDCLUSTER.fields_by_name["labels"].message_type = _MANAGEDCLUSTER_LABELSENTRY
_CLUSTERSELECTOR_CLUSTERLABELSENTRY.containing_type = _CLUSTERSELECTOR
_CLUSTERSELECTOR.fields_by_name[
    "cluster_labels"
].message_type = _CLUSTERSELECTOR_CLUSTERLABELSENTRY
_ORDEREDJOB_LABELSENTRY.containing_type = _ORDEREDJOB
_ORDEREDJOB.fields_by_name[
    "hadoop_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._HADOOPJOB
_ORDEREDJOB.fields_by_name[
    "spark_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._SPARKJOB
_ORDEREDJOB.fields_by_name[
    "pyspark_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._PYSPARKJOB
_ORDEREDJOB.fields_by_name[
    "hive_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._HIVEJOB
_ORDEREDJOB.fields_by_name[
    "pig_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._PIGJOB
_ORDEREDJOB.fields_by_name[
    "spark_sql_job"
].message_type = google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._SPARKSQLJOB
_ORDEREDJOB.fields_by_name["labels"].message_type = _ORDEREDJOB_LABELSENTRY
_ORDEREDJOB.fields_by_name[
    "scheduling"
].message_type = (
    google_dot_cloud_dot_dataproc__v1_dot_proto_dot_jobs__pb2._JOBSCHEDULING
)
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["hadoop_job"]
)
_ORDEREDJOB.fields_by_name["hadoop_job"].containing_oneof = _ORDEREDJOB.oneofs_by_name[
    "job_type"
]
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["spark_job"]
)
_ORDEREDJOB.fields_by_name["spark_job"].containing_oneof = _ORDEREDJOB.oneofs_by_name[
    "job_type"
]
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["pyspark_job"]
)
_ORDEREDJOB.fields_by_name["pyspark_job"].containing_oneof = _ORDEREDJOB.oneofs_by_name[
    "job_type"
]
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["hive_job"]
)
_ORDEREDJOB.fields_by_name["hive_job"].containing_oneof = _ORDEREDJOB.oneofs_by_name[
    "job_type"
]
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["pig_job"]
)
_ORDEREDJOB.fields_by_name["pig_job"].containing_oneof = _ORDEREDJOB.oneofs_by_name[
    "job_type"
]
_ORDEREDJOB.oneofs_by_name["job_type"].fields.append(
    _ORDEREDJOB.fields_by_name["spark_sql_job"]
)
_ORDEREDJOB.fields_by_name[
    "spark_sql_job"
].containing_oneof = _ORDEREDJOB.oneofs_by_name["job_type"]
_TEMPLATEPARAMETER.fields_by_name["validation"].message_type = _PARAMETERVALIDATION
_PARAMETERVALIDATION.fields_by_name["regex"].message_type = _REGEXVALIDATION
_PARAMETERVALIDATION.fields_by_name["values"].message_type = _VALUEVALIDATION
_PARAMETERVALIDATION.oneofs_by_name["validation_type"].fields.append(
    _PARAMETERVALIDATION.fields_by_name["regex"]
)
_PARAMETERVALIDATION.fields_by_name[
    "regex"
].containing_oneof = _PARAMETERVALIDATION.oneofs_by_name["validation_type"]
_PARAMETERVALIDATION.oneofs_by_name["validation_type"].fields.append(
    _PARAMETERVALIDATION.fields_by_name["values"]
)
_PARAMETERVALIDATION.fields_by_name[
    "values"
].containing_oneof = _PARAMETERVALIDATION.oneofs_by_name["validation_type"]
_WORKFLOWMETADATA_PARAMETERSENTRY.containing_type = _WORKFLOWMETADATA
_WORKFLOWMETADATA.fields_by_name["create_cluster"].message_type = _CLUSTEROPERATION
_WORKFLOWMETADATA.fields_by_name["graph"].message_type = _WORKFLOWGRAPH
_WORKFLOWMETADATA.fields_by_name["delete_cluster"].message_type = _CLUSTEROPERATION
_WORKFLOWMETADATA.fields_by_name["state"].enum_type = _WORKFLOWMETADATA_STATE
_WORKFLOWMETADATA.fields_by_name[
    "parameters"
].message_type = _WORKFLOWMETADATA_PARAMETERSENTRY
_WORKFLOWMETADATA.fields_by_name[
    "start_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_WORKFLOWMETADATA.fields_by_name[
    "end_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_WORKFLOWMETADATA_STATE.containing_type = _WORKFLOWMETADATA
_WORKFLOWGRAPH.fields_by_name["nodes"].message_type = _WORKFLOWNODE
_WORKFLOWNODE.fields_by_name["state"].enum_type = _WORKFLOWNODE_NODESTATE
_WORKFLOWNODE_NODESTATE.containing_type = _WORKFLOWNODE
_CREATEWORKFLOWTEMPLATEREQUEST.fields_by_name[
    "template"
].message_type = _WORKFLOWTEMPLATE
_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY.containing_type = (
    _INSTANTIATEWORKFLOWTEMPLATEREQUEST
)
_INSTANTIATEWORKFLOWTEMPLATEREQUEST.fields_by_name[
    "parameters"
].message_type = _INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY
_INSTANTIATEINLINEWORKFLOWTEMPLATEREQUEST.fields_by_name[
    "template"
].message_type = _WORKFLOWTEMPLATE
_UPDATEWORKFLOWTEMPLATEREQUEST.fields_by_name[
    "template"
].message_type = _WORKFLOWTEMPLATE
_LISTWORKFLOWTEMPLATESRESPONSE.fields_by_name[
    "templates"
].message_type = _WORKFLOWTEMPLATE
DESCRIPTOR.message_types_by_name["WorkflowTemplate"] = _WORKFLOWTEMPLATE
DESCRIPTOR.message_types_by_name[
    "WorkflowTemplatePlacement"
] = _WORKFLOWTEMPLATEPLACEMENT
DESCRIPTOR.message_types_by_name["ManagedCluster"] = _MANAGEDCLUSTER
DESCRIPTOR.message_types_by_name["ClusterSelector"] = _CLUSTERSELECTOR
DESCRIPTOR.message_types_by_name["OrderedJob"] = _ORDEREDJOB
DESCRIPTOR.message_types_by_name["TemplateParameter"] = _TEMPLATEPARAMETER
DESCRIPTOR.message_types_by_name["ParameterValidation"] = _PARAMETERVALIDATION
DESCRIPTOR.message_types_by_name["RegexValidation"] = _REGEXVALIDATION
DESCRIPTOR.message_types_by_name["ValueValidation"] = _VALUEVALIDATION
DESCRIPTOR.message_types_by_name["WorkflowMetadata"] = _WORKFLOWMETADATA
DESCRIPTOR.message_types_by_name["ClusterOperation"] = _CLUSTEROPERATION
DESCRIPTOR.message_types_by_name["WorkflowGraph"] = _WORKFLOWGRAPH
DESCRIPTOR.message_types_by_name["WorkflowNode"] = _WORKFLOWNODE
DESCRIPTOR.message_types_by_name[
    "CreateWorkflowTemplateRequest"
] = _CREATEWORKFLOWTEMPLATEREQUEST
DESCRIPTOR.message_types_by_name[
    "GetWorkflowTemplateRequest"
] = _GETWORKFLOWTEMPLATEREQUEST
DESCRIPTOR.message_types_by_name[
    "InstantiateWorkflowTemplateRequest"
] = _INSTANTIATEWORKFLOWTEMPLATEREQUEST
DESCRIPTOR.message_types_by_name[
    "InstantiateInlineWorkflowTemplateRequest"
] = _INSTANTIATEINLINEWORKFLOWTEMPLATEREQUEST
DESCRIPTOR.message_types_by_name[
    "UpdateWorkflowTemplateRequest"
] = _UPDATEWORKFLOWTEMPLATEREQUEST
DESCRIPTOR.message_types_by_name[
    "ListWorkflowTemplatesRequest"
] = _LISTWORKFLOWTEMPLATESREQUEST
DESCRIPTOR.message_types_by_name[
    "ListWorkflowTemplatesResponse"
] = _LISTWORKFLOWTEMPLATESRESPONSE
DESCRIPTOR.message_types_by_name[
    "DeleteWorkflowTemplateRequest"
] = _DELETEWORKFLOWTEMPLATEREQUEST
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

WorkflowTemplate = _reflection.GeneratedProtocolMessageType(
    "WorkflowTemplate",
    (_message.Message,),
    dict(
        LabelsEntry=_reflection.GeneratedProtocolMessageType(
            "LabelsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_WORKFLOWTEMPLATE_LABELSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowTemplate.LabelsEntry)
            ),
        ),
        DESCRIPTOR=_WORKFLOWTEMPLATE,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A Cloud Dataproc workflow template resource.
  
  
  Attributes:
      id:
          Required. The template id.  The id must contain only letters
          (a-z, A-Z), numbers (0-9), underscores (\_), and hyphens (-).
          Cannot begin or end with underscore or hyphen. Must consist of
          between 3 and 50 characters.
      name:
          Output only. The "resource name" of the template, as described
          in https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}/workflowTemplate
          s/{template_id}``
      version:
          Optional. Used to perform a consistent read-modify-write.
          This field should be left blank for a
          ``CreateWorkflowTemplate`` request. It is required for an
          ``UpdateWorkflowTemplate`` request, and must match the current
          server version. A typical update template flow would fetch the
          current template with a ``GetWorkflowTemplate`` request, which
          will return the current template with the ``version`` field
          filled in with the current server version. The user updates
          other fields in the template, then returns it as part of the
          ``UpdateWorkflowTemplate`` request.
      create_time:
          Output only. The time template was created.
      update_time:
          Output only. The time template was last updated.
      labels:
          Optional. The labels to associate with this template. These
          labels will be propagated to all jobs and clusters created by
          the workflow instance.  Label **keys** must contain 1 to 63
          characters, and must conform to `RFC 1035
          <https://www.ietf.org/rfc/rfc1035.txt>`__.  Label **values**
          may be empty, but, if present, must contain 1 to 63
          characters, and must conform to `RFC 1035
          <https://www.ietf.org/rfc/rfc1035.txt>`__.  No more than 32
          labels can be associated with a template.
      placement:
          Required. WorkflowTemplate scheduling information.
      jobs:
          Required. The Directed Acyclic Graph of Jobs to submit.
      parameters:
          Optional. Template parameters whose values are substituted
          into the template. Values for parameters must be provided when
          the template is instantiated.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowTemplate)
    ),
)
_sym_db.RegisterMessage(WorkflowTemplate)
_sym_db.RegisterMessage(WorkflowTemplate.LabelsEntry)

WorkflowTemplatePlacement = _reflection.GeneratedProtocolMessageType(
    "WorkflowTemplatePlacement",
    (_message.Message,),
    dict(
        DESCRIPTOR=_WORKFLOWTEMPLATEPLACEMENT,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""Specifies workflow execution target.
  
  Either ``managed_cluster`` or ``cluster_selector`` is required.
  
  
  Attributes:
      placement:
          Required. Specifies where workflow executes; either on a
          managed cluster or an existing cluster chosen by labels.
      managed_cluster:
          Optional. A cluster that is managed by the workflow.
      cluster_selector:
          Optional. A selector that chooses target cluster for jobs
          based on metadata.  The selector is evaluated at the time each
          job is submitted.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowTemplatePlacement)
    ),
)
_sym_db.RegisterMessage(WorkflowTemplatePlacement)

ManagedCluster = _reflection.GeneratedProtocolMessageType(
    "ManagedCluster",
    (_message.Message,),
    dict(
        LabelsEntry=_reflection.GeneratedProtocolMessageType(
            "LabelsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_MANAGEDCLUSTER_LABELSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ManagedCluster.LabelsEntry)
            ),
        ),
        DESCRIPTOR=_MANAGEDCLUSTER,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""Cluster that is managed by the workflow.
  
  
  Attributes:
      cluster_name:
          Required. The cluster name prefix. A unique cluster name will
          be formed by appending a random suffix.  The name must contain
          only lower-case letters (a-z), numbers (0-9), and hyphens (-).
          Must begin with a letter. Cannot begin or end with hyphen.
          Must consist of between 2 and 35 characters.
      config:
          Required. The cluster configuration.
      labels:
          Optional. The labels to associate with this cluster.  Label
          keys must be between 1 and 63 characters long. Label values must be between
          1 and 63 characters long. No more than 32
          labels can be associated with a given cluster.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ManagedCluster)
    ),
)
_sym_db.RegisterMessage(ManagedCluster)
_sym_db.RegisterMessage(ManagedCluster.LabelsEntry)

ClusterSelector = _reflection.GeneratedProtocolMessageType(
    "ClusterSelector",
    (_message.Message,),
    dict(
        ClusterLabelsEntry=_reflection.GeneratedProtocolMessageType(
            "ClusterLabelsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_CLUSTERSELECTOR_CLUSTERLABELSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ClusterSelector.ClusterLabelsEntry)
            ),
        ),
        DESCRIPTOR=_CLUSTERSELECTOR,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A selector that chooses target cluster for jobs based on metadata.
  
  
  Attributes:
      zone:
          Optional. The zone where workflow process executes. This
          parameter does not affect the selection of the cluster.  If
          unspecified, the zone of the first cluster matching the
          selector is used.
      cluster_labels:
          Required. The cluster labels. Cluster must have all labels to
          match.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ClusterSelector)
    ),
)
_sym_db.RegisterMessage(ClusterSelector)
_sym_db.RegisterMessage(ClusterSelector.ClusterLabelsEntry)

OrderedJob = _reflection.GeneratedProtocolMessageType(
    "OrderedJob",
    (_message.Message,),
    dict(
        LabelsEntry=_reflection.GeneratedProtocolMessageType(
            "LabelsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_ORDEREDJOB_LABELSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.OrderedJob.LabelsEntry)
            ),
        ),
        DESCRIPTOR=_ORDEREDJOB,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A job executed by the workflow.
  
  
  Attributes:
      step_id:
          Required. The step id. The id must be unique among all jobs
          within the template.  The step id is used as prefix for job
          id, as job ``goog-dataproc-workflow-step-id`` label, and in [p
          rerequisiteStepIds][google.cloud.dataproc.v1.OrderedJob.prereq
          uisite\_step\_ids] field from other steps.  The id must
          contain only letters (a-z, A-Z), numbers (0-9), underscores
          (\_), and hyphens (-). Cannot begin or end with underscore or
          hyphen. Must consist of between 3 and 50 characters.
      job_type:
          Required. The job definition.
      hadoop_job:
          Job is a Hadoop job.
      spark_job:
          Job is a Spark job.
      pyspark_job:
          Job is a Pyspark job.
      hive_job:
          Job is a Hive job.
      pig_job:
          Job is a Pig job.
      spark_sql_job:
          Job is a SparkSql job.
      labels:
          Optional. The labels to associate with this job.  Label keys
          must be between 1 and 63 characters long. Label values must be between
          1 and 63 characters long. No more than 32 labels can be
          associated with a given job.
      scheduling:
          Optional. Job scheduling configuration.
      prerequisite_step_ids:
          Optional. The optional list of prerequisite job step\_ids. If
          not specified, the job will start at the beginning of
          workflow.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.OrderedJob)
    ),
)
_sym_db.RegisterMessage(OrderedJob)
_sym_db.RegisterMessage(OrderedJob.LabelsEntry)

TemplateParameter = _reflection.GeneratedProtocolMessageType(
    "TemplateParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_TEMPLATEPARAMETER,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A configurable parameter that replaces one or more fields in the
  template. Parameterizable fields: - Labels - File uris - Job properties
  - Job arguments - Script variables - Main class (in HadoopJob and
  SparkJob) - Zone (in ClusterSelector)
  
  
  Attributes:
      name:
          Required. Parameter name. The parameter name is used as the
          key, and paired with the parameter value, which are passed to
          the template when the template is instantiated. The name must
          contain only capital letters (A-Z), numbers (0-9), and
          underscores (\_), and must not start with a number. The
          maximum length is 40 characters.
      fields:
          Required. Paths to all fields that the parameter replaces. A
          field is allowed to appear in at most one parameter's list of
          field paths.  A field path is similar in syntax to a
          [google.protobuf.FieldMask][google.protobuf.FieldMask]. For
          example, a field path that references the zone field of a
          workflow template's cluster selector would be specified as
          ``placement.clusterSelector.zone``.  Also, field paths can
          reference fields using the following syntax:  -  Values in
          maps can be referenced by key:     -  labels['key']    -
          placement.clusterSelector.clusterLabels['key']    -
          placement.managedCluster.labels['key']    -
          placement.clusterSelector.clusterLabels['key']    -
          jobs['step-id'].labels['key']  -  Jobs in the jobs list can be
          referenced by step-id:     -  jobs['step-
          id'].hadoopJob.mainJarFileUri    -  jobs['step-
          id'].hiveJob.queryFileUri    -  jobs['step-
          id'].pySparkJob.mainPythonFileUri    -  jobs['step-
          id'].hadoopJob.jarFileUris[0]    -  jobs['step-
          id'].hadoopJob.archiveUris[0]    -  jobs['step-
          id'].hadoopJob.fileUris[0]    -  jobs['step-
          id'].pySparkJob.pythonFileUris[0]  -  Items in repeated fields
          can be referenced by a zero-based index:     -  jobs['step-
          id'].sparkJob.args[0]  -  Other examples:     -  jobs['step-
          id'].hadoopJob.properties['key']    -  jobs['step-
          id'].hadoopJob.args[0]    -  jobs['step-
          id'].hiveJob.scriptVariables['key']    -  jobs['step-
          id'].hadoopJob.mainJarFileUri    -
          placement.clusterSelector.zone  It may not be possible to
          parameterize maps and repeated fields in their entirety since
          only individual map values and individual items in repeated
          fields can be referenced. For example, the following field
          paths are invalid:  -  placement.clusterSelector.clusterLabels
          -  jobs['step-id'].sparkJob.args
      description:
          Optional. Brief description of the parameter. Must not exceed
          1024 characters.
      validation:
          Optional. Validation rules to be applied to this parameter's
          value.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.TemplateParameter)
    ),
)
_sym_db.RegisterMessage(TemplateParameter)

ParameterValidation = _reflection.GeneratedProtocolMessageType(
    "ParameterValidation",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PARAMETERVALIDATION,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""Configuration for parameter validation.
  
  
  Attributes:
      validation_type:
          Required. The type of validation to be performed.
      regex:
          Validation based on regular expressions.
      values:
          Validation based on a list of allowed values.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ParameterValidation)
    ),
)
_sym_db.RegisterMessage(ParameterValidation)

RegexValidation = _reflection.GeneratedProtocolMessageType(
    "RegexValidation",
    (_message.Message,),
    dict(
        DESCRIPTOR=_REGEXVALIDATION,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""Validation based on regular expressions.
  
  
  Attributes:
      regexes:
          Required. RE2 regular expressions used to validate the
          parameter's value. The value must match the regex in its
          entirety (substring matches are not sufficient).
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.RegexValidation)
    ),
)
_sym_db.RegisterMessage(RegexValidation)

ValueValidation = _reflection.GeneratedProtocolMessageType(
    "ValueValidation",
    (_message.Message,),
    dict(
        DESCRIPTOR=_VALUEVALIDATION,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""Validation based on a list of allowed values.
  
  
  Attributes:
      values:
          Required. List of allowed values for the parameter.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ValueValidation)
    ),
)
_sym_db.RegisterMessage(ValueValidation)

WorkflowMetadata = _reflection.GeneratedProtocolMessageType(
    "WorkflowMetadata",
    (_message.Message,),
    dict(
        ParametersEntry=_reflection.GeneratedProtocolMessageType(
            "ParametersEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_WORKFLOWMETADATA_PARAMETERSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowMetadata.ParametersEntry)
            ),
        ),
        DESCRIPTOR=_WORKFLOWMETADATA,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A Cloud Dataproc workflow template resource.
  
  
  Attributes:
      template:
          Output only. The "resource name" of the template.
      version:
          Output only. The version of template at the time of workflow
          instantiation.
      create_cluster:
          Output only. The create cluster operation metadata.
      graph:
          Output only. The workflow graph.
      delete_cluster:
          Output only. The delete cluster operation metadata.
      state:
          Output only. The workflow state.
      cluster_name:
          Output only. The name of the target cluster.
      parameters:
          Map from parameter names to values that were used for those
          parameters.
      start_time:
          Output only. Workflow start time.
      end_time:
          Output only. Workflow end time.
      cluster_uuid:
          Output only. The UUID of target cluster.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowMetadata)
    ),
)
_sym_db.RegisterMessage(WorkflowMetadata)
_sym_db.RegisterMessage(WorkflowMetadata.ParametersEntry)

ClusterOperation = _reflection.GeneratedProtocolMessageType(
    "ClusterOperation",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CLUSTEROPERATION,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""The cluster operation triggered by a workflow.
  
  
  Attributes:
      operation_id:
          Output only. The id of the cluster operation.
      error:
          Output only. Error, if operation failed.
      done:
          Output only. Indicates the operation is done.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ClusterOperation)
    ),
)
_sym_db.RegisterMessage(ClusterOperation)

WorkflowGraph = _reflection.GeneratedProtocolMessageType(
    "WorkflowGraph",
    (_message.Message,),
    dict(
        DESCRIPTOR=_WORKFLOWGRAPH,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""The workflow graph.
  
  
  Attributes:
      nodes:
          Output only. The workflow nodes.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowGraph)
    ),
)
_sym_db.RegisterMessage(WorkflowGraph)

WorkflowNode = _reflection.GeneratedProtocolMessageType(
    "WorkflowNode",
    (_message.Message,),
    dict(
        DESCRIPTOR=_WORKFLOWNODE,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""The workflow node.
  
  
  Attributes:
      step_id:
          Output only. The name of the node.
      prerequisite_step_ids:
          Output only. Node's prerequisite nodes.
      job_id:
          Output only. The job id; populated after the node enters
          RUNNING state.
      state:
          Output only. The node state.
      error:
          Output only. The error detail.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.WorkflowNode)
    ),
)
_sym_db.RegisterMessage(WorkflowNode)

CreateWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "CreateWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CREATEWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to create a workflow template.
  
  
  Attributes:
      parent:
          Required. The "resource name" of the region, as described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}``
      template:
          Required. The Dataproc workflow template to create.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.CreateWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(CreateWorkflowTemplateRequest)

GetWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "GetWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_GETWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to fetch a workflow template.
  
  
  Attributes:
      name:
          Required. The "resource name" of the workflow template, as
          described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}/workflowTemplate
          s/{template_id}``
      version:
          Optional. The version of workflow template to retrieve. Only
          previously instatiated versions can be retrieved.  If
          unspecified, retrieves the current version.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.GetWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(GetWorkflowTemplateRequest)

InstantiateWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "InstantiateWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        ParametersEntry=_reflection.GeneratedProtocolMessageType(
            "ParametersEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY,
                __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2"
                # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest.ParametersEntry)
            ),
        ),
        DESCRIPTOR=_INSTANTIATEWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to instantiate a workflow template.
  
  
  Attributes:
      name:
          Required. The "resource name" of the workflow template, as
          described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}/workflowTemplate
          s/{template_id}``
      version:
          Optional. The version of workflow template to instantiate. If
          specified, the workflow will be instantiated only if the
          current version of the workflow template has the supplied
          version.  This option cannot be used to instantiate a previous
          version of workflow template.
      request_id:
          Optional. A tag that prevents multiple concurrent workflow
          instances with the same tag from running. This mitigates risk
          of concurrent instances started due to retries.  It is
          recommended to always set this value to a `UUID <https://en.wi
          kipedia.org/wiki/Universally_unique_identifier>`__.  The tag
          must contain only letters (a-z, A-Z), numbers (0-9),
          underscores (\_), and hyphens (-). The maximum length is 40
          characters.
      parameters:
          Optional. Map from parameter names to values that should be
          used for those parameters. Values may not exceed 100
          characters.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.InstantiateWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(InstantiateWorkflowTemplateRequest)
_sym_db.RegisterMessage(InstantiateWorkflowTemplateRequest.ParametersEntry)

InstantiateInlineWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "InstantiateInlineWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INSTANTIATEINLINEWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to instantiate an inline workflow template.
  
  
  Attributes:
      parent:
          Required. The "resource name" of the workflow template region,
          as described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}``
      template:
          Required. The workflow template to instantiate.
      request_id:
          Optional. A tag that prevents multiple concurrent workflow
          instances with the same tag from running. This mitigates risk
          of concurrent instances started due to retries.  It is
          recommended to always set this value to a `UUID <https://en.wi
          kipedia.org/wiki/Universally_unique_identifier>`__.  The tag
          must contain only letters (a-z, A-Z), numbers (0-9),
          underscores (\_), and hyphens (-). The maximum length is 40
          characters.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.InstantiateInlineWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(InstantiateInlineWorkflowTemplateRequest)

UpdateWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "UpdateWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_UPDATEWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to update a workflow template.
  
  
  Attributes:
      template:
          Required. The updated workflow template.  The
          ``template.version`` field must match the current version.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.UpdateWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(UpdateWorkflowTemplateRequest)

ListWorkflowTemplatesRequest = _reflection.GeneratedProtocolMessageType(
    "ListWorkflowTemplatesRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LISTWORKFLOWTEMPLATESREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to list workflow templates in a project.
  
  
  Attributes:
      parent:
          Required. The "resource name" of the region, as described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}``
      page_size:
          Optional. The maximum number of results to return in each
          response.
      page_token:
          Optional. The page token, returned by a previous call, to
          request the next page of results.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ListWorkflowTemplatesRequest)
    ),
)
_sym_db.RegisterMessage(ListWorkflowTemplatesRequest)

ListWorkflowTemplatesResponse = _reflection.GeneratedProtocolMessageType(
    "ListWorkflowTemplatesResponse",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LISTWORKFLOWTEMPLATESRESPONSE,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A response to a request to list workflow templates in a project.
  
  
  Attributes:
      templates:
          Output only. WorkflowTemplates list.
      next_page_token:
          Output only. This token is included in the response if there
          are more results to fetch. To fetch additional results,
          provide this value as the page\_token in a subsequent
          ListWorkflowTemplatesRequest.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.ListWorkflowTemplatesResponse)
    ),
)
_sym_db.RegisterMessage(ListWorkflowTemplatesResponse)

DeleteWorkflowTemplateRequest = _reflection.GeneratedProtocolMessageType(
    "DeleteWorkflowTemplateRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DELETEWORKFLOWTEMPLATEREQUEST,
        __module__="google.cloud.dataproc_v1.proto.workflow_templates_pb2",
        __doc__="""A request to delete a workflow template.
  
  Currently started workflows will remain running.
  
  
  Attributes:
      name:
          Required. The "resource name" of the workflow template, as
          described in
          https://cloud.google.com/apis/design/resource\_names of the
          form ``projects/{project_id}/regions/{region}/workflowTemplate
          s/{template_id}``
      version:
          Optional. The version of workflow template to delete. If
          specified, will only delete the template if the current server
          version matches specified version.
  """,
        # @@protoc_insertion_point(class_scope:google.cloud.dataproc.v1.DeleteWorkflowTemplateRequest)
    ),
)
_sym_db.RegisterMessage(DeleteWorkflowTemplateRequest)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(
    descriptor_pb2.FileOptions(),
    _b(
        "\n\034com.google.cloud.dataproc.v1B\026WorkflowTemplatesProtoP\001Z@google.golang.org/genproto/googleapis/cloud/dataproc/v1;dataproc"
    ),
)
_WORKFLOWTEMPLATE_LABELSENTRY.has_options = True
_WORKFLOWTEMPLATE_LABELSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)
_MANAGEDCLUSTER_LABELSENTRY.has_options = True
_MANAGEDCLUSTER_LABELSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)
_CLUSTERSELECTOR_CLUSTERLABELSENTRY.has_options = True
_CLUSTERSELECTOR_CLUSTERLABELSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)
_ORDEREDJOB_LABELSENTRY.has_options = True
_ORDEREDJOB_LABELSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)
_WORKFLOWMETADATA_PARAMETERSENTRY.has_options = True
_WORKFLOWMETADATA_PARAMETERSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)
_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY.has_options = True
_INSTANTIATEWORKFLOWTEMPLATEREQUEST_PARAMETERSENTRY._options = _descriptor._ParseOptions(
    descriptor_pb2.MessageOptions(), _b("8\001")
)

_WORKFLOWTEMPLATESERVICE = _descriptor.ServiceDescriptor(
    name="WorkflowTemplateService",
    full_name="google.cloud.dataproc.v1.WorkflowTemplateService",
    file=DESCRIPTOR,
    index=0,
    options=None,
    serialized_start=4293,
    serialized_end=6183,
    methods=[
        _descriptor.MethodDescriptor(
            name="CreateWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.CreateWorkflowTemplate",
            index=0,
            containing_service=None,
            input_type=_CREATEWORKFLOWTEMPLATEREQUEST,
            output_type=_WORKFLOWTEMPLATE,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    '\202\323\344\223\002\202\001"5/v1/{parent=projects/*/locations/*}/workflowTemplates:\010templateZ?"3/v1/{parent=projects/*/regions/*}/workflowTemplates:\010template'
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="GetWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.GetWorkflowTemplate",
            index=1,
            containing_service=None,
            input_type=_GETWORKFLOWTEMPLATEREQUEST,
            output_type=_WORKFLOWTEMPLATE,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\002n\0225/v1/{name=projects/*/locations/*/workflowTemplates/*}Z5\0223/v1/{name=projects/*/regions/*/workflowTemplates/*}"
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="InstantiateWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateWorkflowTemplate",
            index=2,
            containing_service=None,
            input_type=_INSTANTIATEWORKFLOWTEMPLATEREQUEST,
            output_type=google_dot_longrunning_dot_operations__pb2._OPERATION,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    '\202\323\344\223\002\214\001"A/v1/{name=projects/*/locations/*/workflowTemplates/*}:instantiate:\001*ZD"?/v1/{name=projects/*/regions/*/workflowTemplates/*}:instantiate:\001*'
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="InstantiateInlineWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateInlineWorkflowTemplate",
            index=3,
            containing_service=None,
            input_type=_INSTANTIATEINLINEWORKFLOWTEMPLATEREQUEST,
            output_type=google_dot_longrunning_dot_operations__pb2._OPERATION,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    '\202\323\344\223\002\246\001"G/v1/{parent=projects/*/locations/*}/workflowTemplates:instantiateInline:\010templateZQ"E/v1/{parent=projects/*/regions/*}/workflowTemplates:instantiateInline:\010template'
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="UpdateWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.UpdateWorkflowTemplate",
            index=4,
            containing_service=None,
            input_type=_UPDATEWORKFLOWTEMPLATEREQUEST,
            output_type=_WORKFLOWTEMPLATE,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\002\224\001\032>/v1/{template.name=projects/*/locations/*/workflowTemplates/*}:\010templateZH\032</v1/{template.name=projects/*/regions/*/workflowTemplates/*}:\010template"
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="ListWorkflowTemplates",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.ListWorkflowTemplates",
            index=5,
            containing_service=None,
            input_type=_LISTWORKFLOWTEMPLATESREQUEST,
            output_type=_LISTWORKFLOWTEMPLATESRESPONSE,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\002n\0225/v1/{parent=projects/*/locations/*}/workflowTemplatesZ5\0223/v1/{parent=projects/*/regions/*}/workflowTemplates"
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="DeleteWorkflowTemplate",
            full_name="google.cloud.dataproc.v1.WorkflowTemplateService.DeleteWorkflowTemplate",
            index=6,
            containing_service=None,
            input_type=_DELETEWORKFLOWTEMPLATEREQUEST,
            output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\002n*5/v1/{name=projects/*/locations/*/workflowTemplates/*}Z5*3/v1/{name=projects/*/regions/*/workflowTemplates/*}"
                ),
            ),
        ),
    ],
)
_sym_db.RegisterServiceDescriptor(_WORKFLOWTEMPLATESERVICE)

DESCRIPTOR.services_by_name["WorkflowTemplateService"] = _WORKFLOWTEMPLATESERVICE

# @@protoc_insertion_point(module_scope)
