1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/dataproc/v1beta2/workflow_templates.proto
20
21package dataproc
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	durationpb "google.golang.org/protobuf/types/known/durationpb"
37	emptypb "google.golang.org/protobuf/types/known/emptypb"
38	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// This is a compile-time assertion that a sufficiently up-to-date version
49// of the legacy proto package is being used.
50const _ = proto.ProtoPackageIsVersion4
51
52// The operation state.
53type WorkflowMetadata_State int32
54
55const (
56	// Unused.
57	WorkflowMetadata_UNKNOWN WorkflowMetadata_State = 0
58	// The operation has been created.
59	WorkflowMetadata_PENDING WorkflowMetadata_State = 1
60	// The operation is running.
61	WorkflowMetadata_RUNNING WorkflowMetadata_State = 2
62	// The operation is done; either cancelled or completed.
63	WorkflowMetadata_DONE WorkflowMetadata_State = 3
64)
65
66// Enum value maps for WorkflowMetadata_State.
67var (
68	WorkflowMetadata_State_name = map[int32]string{
69		0: "UNKNOWN",
70		1: "PENDING",
71		2: "RUNNING",
72		3: "DONE",
73	}
74	WorkflowMetadata_State_value = map[string]int32{
75		"UNKNOWN": 0,
76		"PENDING": 1,
77		"RUNNING": 2,
78		"DONE":    3,
79	}
80)
81
82func (x WorkflowMetadata_State) Enum() *WorkflowMetadata_State {
83	p := new(WorkflowMetadata_State)
84	*p = x
85	return p
86}
87
88func (x WorkflowMetadata_State) String() string {
89	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
90}
91
92func (WorkflowMetadata_State) Descriptor() protoreflect.EnumDescriptor {
93	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0].Descriptor()
94}
95
96func (WorkflowMetadata_State) Type() protoreflect.EnumType {
97	return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0]
98}
99
100func (x WorkflowMetadata_State) Number() protoreflect.EnumNumber {
101	return protoreflect.EnumNumber(x)
102}
103
104// Deprecated: Use WorkflowMetadata_State.Descriptor instead.
105func (WorkflowMetadata_State) EnumDescriptor() ([]byte, []int) {
106	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9, 0}
107}
108
109// The workflow node state.
110type WorkflowNode_NodeState int32
111
112const (
113	// State is unspecified.
114	WorkflowNode_NODE_STATUS_UNSPECIFIED WorkflowNode_NodeState = 0
115	// The node is awaiting prerequisite node to finish.
116	WorkflowNode_BLOCKED WorkflowNode_NodeState = 1
117	// The node is runnable but not running.
118	WorkflowNode_RUNNABLE WorkflowNode_NodeState = 2
119	// The node is running.
120	WorkflowNode_RUNNING WorkflowNode_NodeState = 3
121	// The node completed successfully.
122	WorkflowNode_COMPLETED WorkflowNode_NodeState = 4
123	// The node failed. A node can be marked FAILED because
124	// its ancestor or peer failed.
125	WorkflowNode_FAILED WorkflowNode_NodeState = 5
126)
127
128// Enum value maps for WorkflowNode_NodeState.
129var (
130	WorkflowNode_NodeState_name = map[int32]string{
131		0: "NODE_STATUS_UNSPECIFIED",
132		1: "BLOCKED",
133		2: "RUNNABLE",
134		3: "RUNNING",
135		4: "COMPLETED",
136		5: "FAILED",
137	}
138	WorkflowNode_NodeState_value = map[string]int32{
139		"NODE_STATUS_UNSPECIFIED": 0,
140		"BLOCKED":                 1,
141		"RUNNABLE":                2,
142		"RUNNING":                 3,
143		"COMPLETED":               4,
144		"FAILED":                  5,
145	}
146)
147
148func (x WorkflowNode_NodeState) Enum() *WorkflowNode_NodeState {
149	p := new(WorkflowNode_NodeState)
150	*p = x
151	return p
152}
153
154func (x WorkflowNode_NodeState) String() string {
155	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
156}
157
158func (WorkflowNode_NodeState) Descriptor() protoreflect.EnumDescriptor {
159	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1].Descriptor()
160}
161
162func (WorkflowNode_NodeState) Type() protoreflect.EnumType {
163	return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1]
164}
165
166func (x WorkflowNode_NodeState) Number() protoreflect.EnumNumber {
167	return protoreflect.EnumNumber(x)
168}
169
170// Deprecated: Use WorkflowNode_NodeState.Descriptor instead.
171func (WorkflowNode_NodeState) EnumDescriptor() ([]byte, []int) {
172	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12, 0}
173}
174
175// A Dataproc workflow template resource.
176type WorkflowTemplate struct {
177	state         protoimpl.MessageState
178	sizeCache     protoimpl.SizeCache
179	unknownFields protoimpl.UnknownFields
180
181	// Required. The template id.
182	//
183	// The id must contain only letters (a-z, A-Z), numbers (0-9),
184	// underscores (_), and hyphens (-). Cannot begin or end with underscore
185	// or hyphen. Must consist of between 3 and 50 characters.
186	//
187	// .
188	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
189	// Output only. The resource name of the workflow template, as described
190	// in https://cloud.google.com/apis/design/resource_names.
191	//
192	// * For `projects.regions.workflowTemplates`, the resource name of the
193	//   template has the following format:
194	//   `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
195	//
196	// * For `projects.locations.workflowTemplates`, the resource name of the
197	//   template has the following format:
198	//   `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
199	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
200	// Optional. Used to perform a consistent read-modify-write.
201	//
202	// This field should be left blank for a `CreateWorkflowTemplate` request. It
203	// is required for an `UpdateWorkflowTemplate` request, and must match the
204	// current server version. A typical update template flow would fetch the
205	// current template with a `GetWorkflowTemplate` request, which will return
206	// the current template with the `version` field filled in with the
207	// current server version. The user updates other fields in the template,
208	// then returns it as part of the `UpdateWorkflowTemplate` request.
209	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
210	// Output only. The time template was created.
211	CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
212	// Output only. The time template was last updated.
213	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
214	// Optional. The labels to associate with this template. These labels
215	// will be propagated to all jobs and clusters created by the workflow
216	// instance.
217	//
218	// Label **keys** must contain 1 to 63 characters, and must conform to
219	// [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
220	//
221	// Label **values** may be empty, but, if present, must contain 1 to 63
222	// characters, and must conform to
223	// [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
224	//
225	// No more than 32 labels can be associated with a template.
226	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
227	// Required. WorkflowTemplate scheduling information.
228	Placement *WorkflowTemplatePlacement `protobuf:"bytes,7,opt,name=placement,proto3" json:"placement,omitempty"`
229	// Required. The Directed Acyclic Graph of Jobs to submit.
230	Jobs []*OrderedJob `protobuf:"bytes,8,rep,name=jobs,proto3" json:"jobs,omitempty"`
231	// Optional. Template parameters whose values are substituted into the
232	// template. Values for parameters must be provided when the template is
233	// instantiated.
234	Parameters []*TemplateParameter `protobuf:"bytes,9,rep,name=parameters,proto3" json:"parameters,omitempty"`
235	// Optional. Timeout duration for the DAG of jobs. You can use "s", "m", "h",
236	// and "d" suffixes for second, minute, hour, and day duration values,
237	// respectively. The timeout duration must be from 10 minutes ("10m") to 24
238	// hours ("24h" or "1d"). The timer begins when the first job is submitted. If
239	// the workflow is running at the end of the timeout period, any remaining
240	// jobs are cancelled, the workflow is terminated, and if the workflow was
241	// running on a [managed
242	// cluster](https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),
243	// the cluster is deleted.
244	DagTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=dag_timeout,json=dagTimeout,proto3" json:"dag_timeout,omitempty"`
245}
246
247func (x *WorkflowTemplate) Reset() {
248	*x = WorkflowTemplate{}
249	if protoimpl.UnsafeEnabled {
250		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0]
251		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
252		ms.StoreMessageInfo(mi)
253	}
254}
255
256func (x *WorkflowTemplate) String() string {
257	return protoimpl.X.MessageStringOf(x)
258}
259
260func (*WorkflowTemplate) ProtoMessage() {}
261
262func (x *WorkflowTemplate) ProtoReflect() protoreflect.Message {
263	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0]
264	if protoimpl.UnsafeEnabled && x != nil {
265		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
266		if ms.LoadMessageInfo() == nil {
267			ms.StoreMessageInfo(mi)
268		}
269		return ms
270	}
271	return mi.MessageOf(x)
272}
273
274// Deprecated: Use WorkflowTemplate.ProtoReflect.Descriptor instead.
275func (*WorkflowTemplate) Descriptor() ([]byte, []int) {
276	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{0}
277}
278
279func (x *WorkflowTemplate) GetId() string {
280	if x != nil {
281		return x.Id
282	}
283	return ""
284}
285
286func (x *WorkflowTemplate) GetName() string {
287	if x != nil {
288		return x.Name
289	}
290	return ""
291}
292
293func (x *WorkflowTemplate) GetVersion() int32 {
294	if x != nil {
295		return x.Version
296	}
297	return 0
298}
299
300func (x *WorkflowTemplate) GetCreateTime() *timestamppb.Timestamp {
301	if x != nil {
302		return x.CreateTime
303	}
304	return nil
305}
306
307func (x *WorkflowTemplate) GetUpdateTime() *timestamppb.Timestamp {
308	if x != nil {
309		return x.UpdateTime
310	}
311	return nil
312}
313
314func (x *WorkflowTemplate) GetLabels() map[string]string {
315	if x != nil {
316		return x.Labels
317	}
318	return nil
319}
320
321func (x *WorkflowTemplate) GetPlacement() *WorkflowTemplatePlacement {
322	if x != nil {
323		return x.Placement
324	}
325	return nil
326}
327
328func (x *WorkflowTemplate) GetJobs() []*OrderedJob {
329	if x != nil {
330		return x.Jobs
331	}
332	return nil
333}
334
335func (x *WorkflowTemplate) GetParameters() []*TemplateParameter {
336	if x != nil {
337		return x.Parameters
338	}
339	return nil
340}
341
342func (x *WorkflowTemplate) GetDagTimeout() *durationpb.Duration {
343	if x != nil {
344		return x.DagTimeout
345	}
346	return nil
347}
348
349// Specifies workflow execution target.
350//
351// Either `managed_cluster` or `cluster_selector` is required.
352type WorkflowTemplatePlacement struct {
353	state         protoimpl.MessageState
354	sizeCache     protoimpl.SizeCache
355	unknownFields protoimpl.UnknownFields
356
357	// Required. Specifies where workflow executes; either on a managed
358	// cluster or an existing cluster chosen by labels.
359	//
360	// Types that are assignable to Placement:
361	//	*WorkflowTemplatePlacement_ManagedCluster
362	//	*WorkflowTemplatePlacement_ClusterSelector
363	Placement isWorkflowTemplatePlacement_Placement `protobuf_oneof:"placement"`
364}
365
366func (x *WorkflowTemplatePlacement) Reset() {
367	*x = WorkflowTemplatePlacement{}
368	if protoimpl.UnsafeEnabled {
369		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1]
370		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
371		ms.StoreMessageInfo(mi)
372	}
373}
374
375func (x *WorkflowTemplatePlacement) String() string {
376	return protoimpl.X.MessageStringOf(x)
377}
378
379func (*WorkflowTemplatePlacement) ProtoMessage() {}
380
381func (x *WorkflowTemplatePlacement) ProtoReflect() protoreflect.Message {
382	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1]
383	if protoimpl.UnsafeEnabled && x != nil {
384		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
385		if ms.LoadMessageInfo() == nil {
386			ms.StoreMessageInfo(mi)
387		}
388		return ms
389	}
390	return mi.MessageOf(x)
391}
392
393// Deprecated: Use WorkflowTemplatePlacement.ProtoReflect.Descriptor instead.
394func (*WorkflowTemplatePlacement) Descriptor() ([]byte, []int) {
395	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{1}
396}
397
398func (m *WorkflowTemplatePlacement) GetPlacement() isWorkflowTemplatePlacement_Placement {
399	if m != nil {
400		return m.Placement
401	}
402	return nil
403}
404
405func (x *WorkflowTemplatePlacement) GetManagedCluster() *ManagedCluster {
406	if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ManagedCluster); ok {
407		return x.ManagedCluster
408	}
409	return nil
410}
411
412func (x *WorkflowTemplatePlacement) GetClusterSelector() *ClusterSelector {
413	if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ClusterSelector); ok {
414		return x.ClusterSelector
415	}
416	return nil
417}
418
419type isWorkflowTemplatePlacement_Placement interface {
420	isWorkflowTemplatePlacement_Placement()
421}
422
423type WorkflowTemplatePlacement_ManagedCluster struct {
424	// Optional. A cluster that is managed by the workflow.
425	ManagedCluster *ManagedCluster `protobuf:"bytes,1,opt,name=managed_cluster,json=managedCluster,proto3,oneof"`
426}
427
428type WorkflowTemplatePlacement_ClusterSelector struct {
429	// Optional. A selector that chooses target cluster for jobs based
430	// on metadata.
431	//
432	// The selector is evaluated at the time each job is submitted.
433	ClusterSelector *ClusterSelector `protobuf:"bytes,2,opt,name=cluster_selector,json=clusterSelector,proto3,oneof"`
434}
435
436func (*WorkflowTemplatePlacement_ManagedCluster) isWorkflowTemplatePlacement_Placement() {}
437
438func (*WorkflowTemplatePlacement_ClusterSelector) isWorkflowTemplatePlacement_Placement() {}
439
440// Cluster that is managed by the workflow.
441type ManagedCluster struct {
442	state         protoimpl.MessageState
443	sizeCache     protoimpl.SizeCache
444	unknownFields protoimpl.UnknownFields
445
446	// Required. The cluster name prefix. A unique cluster name will be formed by
447	// appending a random suffix.
448	//
449	// The name must contain only lower-case letters (a-z), numbers (0-9),
450	// and hyphens (-). Must begin with a letter. Cannot begin or end with
451	// hyphen. Must consist of between 2 and 35 characters.
452	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
453	// Required. The cluster configuration.
454	Config *ClusterConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
455	// Optional. The labels to associate with this cluster.
456	//
457	// Label keys must be between 1 and 63 characters long, and must conform to
458	// the following PCRE regular expression:
459	// [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
460	//
461	// Label values must be between 1 and 63 characters long, and must conform to
462	// the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
463	//
464	// No more than 32 labels can be associated with a given cluster.
465	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
466}
467
468func (x *ManagedCluster) Reset() {
469	*x = ManagedCluster{}
470	if protoimpl.UnsafeEnabled {
471		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2]
472		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
473		ms.StoreMessageInfo(mi)
474	}
475}
476
477func (x *ManagedCluster) String() string {
478	return protoimpl.X.MessageStringOf(x)
479}
480
481func (*ManagedCluster) ProtoMessage() {}
482
483func (x *ManagedCluster) ProtoReflect() protoreflect.Message {
484	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2]
485	if protoimpl.UnsafeEnabled && x != nil {
486		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
487		if ms.LoadMessageInfo() == nil {
488			ms.StoreMessageInfo(mi)
489		}
490		return ms
491	}
492	return mi.MessageOf(x)
493}
494
495// Deprecated: Use ManagedCluster.ProtoReflect.Descriptor instead.
496func (*ManagedCluster) Descriptor() ([]byte, []int) {
497	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{2}
498}
499
500func (x *ManagedCluster) GetClusterName() string {
501	if x != nil {
502		return x.ClusterName
503	}
504	return ""
505}
506
507func (x *ManagedCluster) GetConfig() *ClusterConfig {
508	if x != nil {
509		return x.Config
510	}
511	return nil
512}
513
514func (x *ManagedCluster) GetLabels() map[string]string {
515	if x != nil {
516		return x.Labels
517	}
518	return nil
519}
520
521// A selector that chooses target cluster for jobs based on metadata.
522type ClusterSelector struct {
523	state         protoimpl.MessageState
524	sizeCache     protoimpl.SizeCache
525	unknownFields protoimpl.UnknownFields
526
527	// Optional. The zone where workflow process executes. This parameter does not
528	// affect the selection of the cluster.
529	//
530	// If unspecified, the zone of the first cluster matching the selector
531	// is used.
532	Zone string `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
533	// Required. The cluster labels. Cluster must have all labels
534	// to match.
535	ClusterLabels map[string]string `protobuf:"bytes,2,rep,name=cluster_labels,json=clusterLabels,proto3" json:"cluster_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
536}
537
538func (x *ClusterSelector) Reset() {
539	*x = ClusterSelector{}
540	if protoimpl.UnsafeEnabled {
541		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3]
542		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
543		ms.StoreMessageInfo(mi)
544	}
545}
546
547func (x *ClusterSelector) String() string {
548	return protoimpl.X.MessageStringOf(x)
549}
550
551func (*ClusterSelector) ProtoMessage() {}
552
553func (x *ClusterSelector) ProtoReflect() protoreflect.Message {
554	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3]
555	if protoimpl.UnsafeEnabled && x != nil {
556		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
557		if ms.LoadMessageInfo() == nil {
558			ms.StoreMessageInfo(mi)
559		}
560		return ms
561	}
562	return mi.MessageOf(x)
563}
564
565// Deprecated: Use ClusterSelector.ProtoReflect.Descriptor instead.
566func (*ClusterSelector) Descriptor() ([]byte, []int) {
567	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{3}
568}
569
570func (x *ClusterSelector) GetZone() string {
571	if x != nil {
572		return x.Zone
573	}
574	return ""
575}
576
577func (x *ClusterSelector) GetClusterLabels() map[string]string {
578	if x != nil {
579		return x.ClusterLabels
580	}
581	return nil
582}
583
584// A job executed by the workflow.
585type OrderedJob struct {
586	state         protoimpl.MessageState
587	sizeCache     protoimpl.SizeCache
588	unknownFields protoimpl.UnknownFields
589
590	// Required. The step id. The id must be unique among all jobs
591	// within the template.
592	//
593	// The step id is used as prefix for job id, as job
594	// `goog-dataproc-workflow-step-id` label, and in
595	// [prerequisiteStepIds][google.cloud.dataproc.v1beta2.OrderedJob.prerequisite_step_ids]
596	// field from other steps.
597	//
598	// The id must contain only letters (a-z, A-Z), numbers (0-9),
599	// underscores (_), and hyphens (-). Cannot begin or end with underscore
600	// or hyphen. Must consist of between 3 and 50 characters.
601	StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
602	// Required. The job definition.
603	//
604	// Types that are assignable to JobType:
605	//	*OrderedJob_HadoopJob
606	//	*OrderedJob_SparkJob
607	//	*OrderedJob_PysparkJob
608	//	*OrderedJob_HiveJob
609	//	*OrderedJob_PigJob
610	//	*OrderedJob_SparkRJob
611	//	*OrderedJob_SparkSqlJob
612	//	*OrderedJob_PrestoJob
613	JobType isOrderedJob_JobType `protobuf_oneof:"job_type"`
614	// Optional. The labels to associate with this job.
615	//
616	// Label keys must be between 1 and 63 characters long, and must conform to
617	// the following regular expression:
618	// [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
619	//
620	// Label values must be between 1 and 63 characters long, and must conform to
621	// the following regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
622	//
623	// No more than 32 labels can be associated with a given job.
624	Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
625	// Optional. Job scheduling configuration.
626	Scheduling *JobScheduling `protobuf:"bytes,9,opt,name=scheduling,proto3" json:"scheduling,omitempty"`
627	// Optional. The optional list of prerequisite job step_ids.
628	// If not specified, the job will start at the beginning of workflow.
629	PrerequisiteStepIds []string `protobuf:"bytes,10,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"`
630}
631
632func (x *OrderedJob) Reset() {
633	*x = OrderedJob{}
634	if protoimpl.UnsafeEnabled {
635		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4]
636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
637		ms.StoreMessageInfo(mi)
638	}
639}
640
641func (x *OrderedJob) String() string {
642	return protoimpl.X.MessageStringOf(x)
643}
644
645func (*OrderedJob) ProtoMessage() {}
646
647func (x *OrderedJob) ProtoReflect() protoreflect.Message {
648	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4]
649	if protoimpl.UnsafeEnabled && x != nil {
650		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
651		if ms.LoadMessageInfo() == nil {
652			ms.StoreMessageInfo(mi)
653		}
654		return ms
655	}
656	return mi.MessageOf(x)
657}
658
659// Deprecated: Use OrderedJob.ProtoReflect.Descriptor instead.
660func (*OrderedJob) Descriptor() ([]byte, []int) {
661	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{4}
662}
663
664func (x *OrderedJob) GetStepId() string {
665	if x != nil {
666		return x.StepId
667	}
668	return ""
669}
670
671func (m *OrderedJob) GetJobType() isOrderedJob_JobType {
672	if m != nil {
673		return m.JobType
674	}
675	return nil
676}
677
678func (x *OrderedJob) GetHadoopJob() *HadoopJob {
679	if x, ok := x.GetJobType().(*OrderedJob_HadoopJob); ok {
680		return x.HadoopJob
681	}
682	return nil
683}
684
685func (x *OrderedJob) GetSparkJob() *SparkJob {
686	if x, ok := x.GetJobType().(*OrderedJob_SparkJob); ok {
687		return x.SparkJob
688	}
689	return nil
690}
691
692func (x *OrderedJob) GetPysparkJob() *PySparkJob {
693	if x, ok := x.GetJobType().(*OrderedJob_PysparkJob); ok {
694		return x.PysparkJob
695	}
696	return nil
697}
698
699func (x *OrderedJob) GetHiveJob() *HiveJob {
700	if x, ok := x.GetJobType().(*OrderedJob_HiveJob); ok {
701		return x.HiveJob
702	}
703	return nil
704}
705
706func (x *OrderedJob) GetPigJob() *PigJob {
707	if x, ok := x.GetJobType().(*OrderedJob_PigJob); ok {
708		return x.PigJob
709	}
710	return nil
711}
712
713func (x *OrderedJob) GetSparkRJob() *SparkRJob {
714	if x, ok := x.GetJobType().(*OrderedJob_SparkRJob); ok {
715		return x.SparkRJob
716	}
717	return nil
718}
719
720func (x *OrderedJob) GetSparkSqlJob() *SparkSqlJob {
721	if x, ok := x.GetJobType().(*OrderedJob_SparkSqlJob); ok {
722		return x.SparkSqlJob
723	}
724	return nil
725}
726
727func (x *OrderedJob) GetPrestoJob() *PrestoJob {
728	if x, ok := x.GetJobType().(*OrderedJob_PrestoJob); ok {
729		return x.PrestoJob
730	}
731	return nil
732}
733
734func (x *OrderedJob) GetLabels() map[string]string {
735	if x != nil {
736		return x.Labels
737	}
738	return nil
739}
740
741func (x *OrderedJob) GetScheduling() *JobScheduling {
742	if x != nil {
743		return x.Scheduling
744	}
745	return nil
746}
747
748func (x *OrderedJob) GetPrerequisiteStepIds() []string {
749	if x != nil {
750		return x.PrerequisiteStepIds
751	}
752	return nil
753}
754
755type isOrderedJob_JobType interface {
756	isOrderedJob_JobType()
757}
758
759type OrderedJob_HadoopJob struct {
760	// Optional. Job is a Hadoop job.
761	HadoopJob *HadoopJob `protobuf:"bytes,2,opt,name=hadoop_job,json=hadoopJob,proto3,oneof"`
762}
763
764type OrderedJob_SparkJob struct {
765	// Optional. Job is a Spark job.
766	SparkJob *SparkJob `protobuf:"bytes,3,opt,name=spark_job,json=sparkJob,proto3,oneof"`
767}
768
769type OrderedJob_PysparkJob struct {
770	// Optional. Job is a PySpark job.
771	PysparkJob *PySparkJob `protobuf:"bytes,4,opt,name=pyspark_job,json=pysparkJob,proto3,oneof"`
772}
773
774type OrderedJob_HiveJob struct {
775	// Optional. Job is a Hive job.
776	HiveJob *HiveJob `protobuf:"bytes,5,opt,name=hive_job,json=hiveJob,proto3,oneof"`
777}
778
779type OrderedJob_PigJob struct {
780	// Optional. Job is a Pig job.
781	PigJob *PigJob `protobuf:"bytes,6,opt,name=pig_job,json=pigJob,proto3,oneof"`
782}
783
784type OrderedJob_SparkRJob struct {
785	// Optional. Job is a SparkR job.
786	SparkRJob *SparkRJob `protobuf:"bytes,11,opt,name=spark_r_job,json=sparkRJob,proto3,oneof"`
787}
788
789type OrderedJob_SparkSqlJob struct {
790	// Optional. Job is a SparkSql job.
791	SparkSqlJob *SparkSqlJob `protobuf:"bytes,7,opt,name=spark_sql_job,json=sparkSqlJob,proto3,oneof"`
792}
793
794type OrderedJob_PrestoJob struct {
795	// Optional. Job is a Presto job.
796	PrestoJob *PrestoJob `protobuf:"bytes,12,opt,name=presto_job,json=prestoJob,proto3,oneof"`
797}
798
799func (*OrderedJob_HadoopJob) isOrderedJob_JobType() {}
800
801func (*OrderedJob_SparkJob) isOrderedJob_JobType() {}
802
803func (*OrderedJob_PysparkJob) isOrderedJob_JobType() {}
804
805func (*OrderedJob_HiveJob) isOrderedJob_JobType() {}
806
807func (*OrderedJob_PigJob) isOrderedJob_JobType() {}
808
809func (*OrderedJob_SparkRJob) isOrderedJob_JobType() {}
810
811func (*OrderedJob_SparkSqlJob) isOrderedJob_JobType() {}
812
813func (*OrderedJob_PrestoJob) isOrderedJob_JobType() {}
814
815// A configurable parameter that replaces one or more fields in the template.
816// Parameterizable fields:
817// - Labels
818// - File uris
819// - Job properties
820// - Job arguments
821// - Script variables
822// - Main class (in HadoopJob and SparkJob)
823// - Zone (in ClusterSelector)
824type TemplateParameter struct {
825	state         protoimpl.MessageState
826	sizeCache     protoimpl.SizeCache
827	unknownFields protoimpl.UnknownFields
828
829	// Required. Parameter name.
830	// The parameter name is used as the key, and paired with the
831	// parameter value, which are passed to the template when the template
832	// is instantiated.
833	// The name must contain only capital letters (A-Z), numbers (0-9), and
834	// underscores (_), and must not start with a number. The maximum length is
835	// 40 characters.
836	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
837	// Required. Paths to all fields that the parameter replaces.
838	// A field is allowed to appear in at most one parameter's list of field
839	// paths.
840	//
841	// A field path is similar in syntax to a
842	// [google.protobuf.FieldMask][google.protobuf.FieldMask]. For example, a
843	// field path that references the zone field of a workflow template's cluster
844	// selector would be specified as `placement.clusterSelector.zone`.
845	//
846	// Also, field paths can reference fields using the following syntax:
847	//
848	// * Values in maps can be referenced by key:
849	//     * labels['key']
850	//     * placement.clusterSelector.clusterLabels['key']
851	//     * placement.managedCluster.labels['key']
852	//     * placement.clusterSelector.clusterLabels['key']
853	//     * jobs['step-id'].labels['key']
854	//
855	// * Jobs in the jobs list can be referenced by step-id:
856	//     * jobs['step-id'].hadoopJob.mainJarFileUri
857	//     * jobs['step-id'].hiveJob.queryFileUri
858	//     * jobs['step-id'].pySparkJob.mainPythonFileUri
859	//     * jobs['step-id'].hadoopJob.jarFileUris[0]
860	//     * jobs['step-id'].hadoopJob.archiveUris[0]
861	//     * jobs['step-id'].hadoopJob.fileUris[0]
862	//     * jobs['step-id'].pySparkJob.pythonFileUris[0]
863	//
864	// * Items in repeated fields can be referenced by a zero-based index:
865	//     * jobs['step-id'].sparkJob.args[0]
866	//
867	// * Other examples:
868	//     * jobs['step-id'].hadoopJob.properties['key']
869	//     * jobs['step-id'].hadoopJob.args[0]
870	//     * jobs['step-id'].hiveJob.scriptVariables['key']
871	//     * jobs['step-id'].hadoopJob.mainJarFileUri
872	//     * placement.clusterSelector.zone
873	//
874	// It may not be possible to parameterize maps and repeated fields in their
875	// entirety since only individual map values and individual items in repeated
876	// fields can be referenced. For example, the following field paths are
877	// invalid:
878	//
879	// - placement.clusterSelector.clusterLabels
880	// - jobs['step-id'].sparkJob.args
881	Fields []string `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
882	// Optional. Brief description of the parameter.
883	// Must not exceed 1024 characters.
884	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
885	// Optional. Validation rules to be applied to this parameter's value.
886	Validation *ParameterValidation `protobuf:"bytes,4,opt,name=validation,proto3" json:"validation,omitempty"`
887}
888
889func (x *TemplateParameter) Reset() {
890	*x = TemplateParameter{}
891	if protoimpl.UnsafeEnabled {
892		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5]
893		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
894		ms.StoreMessageInfo(mi)
895	}
896}
897
898func (x *TemplateParameter) String() string {
899	return protoimpl.X.MessageStringOf(x)
900}
901
902func (*TemplateParameter) ProtoMessage() {}
903
904func (x *TemplateParameter) ProtoReflect() protoreflect.Message {
905	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5]
906	if protoimpl.UnsafeEnabled && x != nil {
907		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
908		if ms.LoadMessageInfo() == nil {
909			ms.StoreMessageInfo(mi)
910		}
911		return ms
912	}
913	return mi.MessageOf(x)
914}
915
916// Deprecated: Use TemplateParameter.ProtoReflect.Descriptor instead.
917func (*TemplateParameter) Descriptor() ([]byte, []int) {
918	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{5}
919}
920
921func (x *TemplateParameter) GetName() string {
922	if x != nil {
923		return x.Name
924	}
925	return ""
926}
927
928func (x *TemplateParameter) GetFields() []string {
929	if x != nil {
930		return x.Fields
931	}
932	return nil
933}
934
935func (x *TemplateParameter) GetDescription() string {
936	if x != nil {
937		return x.Description
938	}
939	return ""
940}
941
942func (x *TemplateParameter) GetValidation() *ParameterValidation {
943	if x != nil {
944		return x.Validation
945	}
946	return nil
947}
948
949// Configuration for parameter validation.
950type ParameterValidation struct {
951	state         protoimpl.MessageState
952	sizeCache     protoimpl.SizeCache
953	unknownFields protoimpl.UnknownFields
954
955	// Required. The type of validation to be performed.
956	//
957	// Types that are assignable to ValidationType:
958	//	*ParameterValidation_Regex
959	//	*ParameterValidation_Values
960	ValidationType isParameterValidation_ValidationType `protobuf_oneof:"validation_type"`
961}
962
963func (x *ParameterValidation) Reset() {
964	*x = ParameterValidation{}
965	if protoimpl.UnsafeEnabled {
966		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6]
967		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
968		ms.StoreMessageInfo(mi)
969	}
970}
971
972func (x *ParameterValidation) String() string {
973	return protoimpl.X.MessageStringOf(x)
974}
975
976func (*ParameterValidation) ProtoMessage() {}
977
978func (x *ParameterValidation) ProtoReflect() protoreflect.Message {
979	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6]
980	if protoimpl.UnsafeEnabled && x != nil {
981		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
982		if ms.LoadMessageInfo() == nil {
983			ms.StoreMessageInfo(mi)
984		}
985		return ms
986	}
987	return mi.MessageOf(x)
988}
989
990// Deprecated: Use ParameterValidation.ProtoReflect.Descriptor instead.
991func (*ParameterValidation) Descriptor() ([]byte, []int) {
992	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{6}
993}
994
995func (m *ParameterValidation) GetValidationType() isParameterValidation_ValidationType {
996	if m != nil {
997		return m.ValidationType
998	}
999	return nil
1000}
1001
1002func (x *ParameterValidation) GetRegex() *RegexValidation {
1003	if x, ok := x.GetValidationType().(*ParameterValidation_Regex); ok {
1004		return x.Regex
1005	}
1006	return nil
1007}
1008
1009func (x *ParameterValidation) GetValues() *ValueValidation {
1010	if x, ok := x.GetValidationType().(*ParameterValidation_Values); ok {
1011		return x.Values
1012	}
1013	return nil
1014}
1015
1016type isParameterValidation_ValidationType interface {
1017	isParameterValidation_ValidationType()
1018}
1019
1020type ParameterValidation_Regex struct {
1021	// Validation based on regular expressions.
1022	Regex *RegexValidation `protobuf:"bytes,1,opt,name=regex,proto3,oneof"`
1023}
1024
1025type ParameterValidation_Values struct {
1026	// Validation based on a list of allowed values.
1027	Values *ValueValidation `protobuf:"bytes,2,opt,name=values,proto3,oneof"`
1028}
1029
1030func (*ParameterValidation_Regex) isParameterValidation_ValidationType() {}
1031
1032func (*ParameterValidation_Values) isParameterValidation_ValidationType() {}
1033
1034// Validation based on regular expressions.
1035type RegexValidation struct {
1036	state         protoimpl.MessageState
1037	sizeCache     protoimpl.SizeCache
1038	unknownFields protoimpl.UnknownFields
1039
1040	// Required. RE2 regular expressions used to validate the parameter's value.
1041	// The value must match the regex in its entirety (substring
1042	// matches are not sufficient).
1043	Regexes []string `protobuf:"bytes,1,rep,name=regexes,proto3" json:"regexes,omitempty"`
1044}
1045
1046func (x *RegexValidation) Reset() {
1047	*x = RegexValidation{}
1048	if protoimpl.UnsafeEnabled {
1049		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7]
1050		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1051		ms.StoreMessageInfo(mi)
1052	}
1053}
1054
1055func (x *RegexValidation) String() string {
1056	return protoimpl.X.MessageStringOf(x)
1057}
1058
1059func (*RegexValidation) ProtoMessage() {}
1060
1061func (x *RegexValidation) ProtoReflect() protoreflect.Message {
1062	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7]
1063	if protoimpl.UnsafeEnabled && x != nil {
1064		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1065		if ms.LoadMessageInfo() == nil {
1066			ms.StoreMessageInfo(mi)
1067		}
1068		return ms
1069	}
1070	return mi.MessageOf(x)
1071}
1072
1073// Deprecated: Use RegexValidation.ProtoReflect.Descriptor instead.
1074func (*RegexValidation) Descriptor() ([]byte, []int) {
1075	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{7}
1076}
1077
1078func (x *RegexValidation) GetRegexes() []string {
1079	if x != nil {
1080		return x.Regexes
1081	}
1082	return nil
1083}
1084
1085// Validation based on a list of allowed values.
1086type ValueValidation struct {
1087	state         protoimpl.MessageState
1088	sizeCache     protoimpl.SizeCache
1089	unknownFields protoimpl.UnknownFields
1090
1091	// Required. List of allowed values for the parameter.
1092	Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
1093}
1094
1095func (x *ValueValidation) Reset() {
1096	*x = ValueValidation{}
1097	if protoimpl.UnsafeEnabled {
1098		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8]
1099		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1100		ms.StoreMessageInfo(mi)
1101	}
1102}
1103
1104func (x *ValueValidation) String() string {
1105	return protoimpl.X.MessageStringOf(x)
1106}
1107
1108func (*ValueValidation) ProtoMessage() {}
1109
1110func (x *ValueValidation) ProtoReflect() protoreflect.Message {
1111	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8]
1112	if protoimpl.UnsafeEnabled && x != nil {
1113		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1114		if ms.LoadMessageInfo() == nil {
1115			ms.StoreMessageInfo(mi)
1116		}
1117		return ms
1118	}
1119	return mi.MessageOf(x)
1120}
1121
1122// Deprecated: Use ValueValidation.ProtoReflect.Descriptor instead.
1123func (*ValueValidation) Descriptor() ([]byte, []int) {
1124	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{8}
1125}
1126
1127func (x *ValueValidation) GetValues() []string {
1128	if x != nil {
1129		return x.Values
1130	}
1131	return nil
1132}
1133
1134// A Dataproc workflow template resource.
1135type WorkflowMetadata struct {
1136	state         protoimpl.MessageState
1137	sizeCache     protoimpl.SizeCache
1138	unknownFields protoimpl.UnknownFields
1139
1140	// Output only. The resource name of the workflow template as described
1141	// in https://cloud.google.com/apis/design/resource_names.
1142	//
1143	// * For `projects.regions.workflowTemplates`, the resource name of the
1144	//   template has the following format:
1145	//   `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
1146	//
1147	// * For `projects.locations.workflowTemplates`, the resource name of the
1148	//   template has the following format:
1149	//   `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
1150	Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
1151	// Output only. The version of template at the time of
1152	// workflow instantiation.
1153	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
1154	// Output only. The create cluster operation metadata.
1155	CreateCluster *ClusterOperation `protobuf:"bytes,3,opt,name=create_cluster,json=createCluster,proto3" json:"create_cluster,omitempty"`
1156	// Output only. The workflow graph.
1157	Graph *WorkflowGraph `protobuf:"bytes,4,opt,name=graph,proto3" json:"graph,omitempty"`
1158	// Output only. The delete cluster operation metadata.
1159	DeleteCluster *ClusterOperation `protobuf:"bytes,5,opt,name=delete_cluster,json=deleteCluster,proto3" json:"delete_cluster,omitempty"`
1160	// Output only. The workflow state.
1161	State WorkflowMetadata_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowMetadata_State" json:"state,omitempty"`
1162	// Output only. The name of the target cluster.
1163	ClusterName string `protobuf:"bytes,7,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
1164	// Map from parameter names to values that were used for those parameters.
1165	Parameters map[string]string `protobuf:"bytes,8,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1166	// Output only. Workflow start time.
1167	StartTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
1168	// Output only. Workflow end time.
1169	EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
1170	// Output only. The UUID of target cluster.
1171	ClusterUuid string `protobuf:"bytes,11,opt,name=cluster_uuid,json=clusterUuid,proto3" json:"cluster_uuid,omitempty"`
1172	// Output only. The timeout duration for the DAG of jobs.
1173	// Minimum timeout duration is 10 minutes and maximum is 24 hours, expressed
1174	// as a
1175	// [google.protobuf.Duration][https://developers.google.com/protocol-buffers/docs/proto3#json_mapping].
1176	// For example, "1800" = 1800 seconds/30 minutes duration.
1177	DagTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=dag_timeout,json=dagTimeout,proto3" json:"dag_timeout,omitempty"`
1178	// Output only. DAG start time, which is only set for workflows with
1179	// [dag_timeout][google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout]
1180	// when the DAG begins.
1181	DagStartTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=dag_start_time,json=dagStartTime,proto3" json:"dag_start_time,omitempty"`
1182	// Output only. DAG end time, which is only set for workflows with
1183	// [dag_timeout][google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout]
1184	// when the DAG ends.
1185	DagEndTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=dag_end_time,json=dagEndTime,proto3" json:"dag_end_time,omitempty"`
1186}
1187
1188func (x *WorkflowMetadata) Reset() {
1189	*x = WorkflowMetadata{}
1190	if protoimpl.UnsafeEnabled {
1191		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9]
1192		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1193		ms.StoreMessageInfo(mi)
1194	}
1195}
1196
1197func (x *WorkflowMetadata) String() string {
1198	return protoimpl.X.MessageStringOf(x)
1199}
1200
1201func (*WorkflowMetadata) ProtoMessage() {}
1202
1203func (x *WorkflowMetadata) ProtoReflect() protoreflect.Message {
1204	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9]
1205	if protoimpl.UnsafeEnabled && x != nil {
1206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1207		if ms.LoadMessageInfo() == nil {
1208			ms.StoreMessageInfo(mi)
1209		}
1210		return ms
1211	}
1212	return mi.MessageOf(x)
1213}
1214
1215// Deprecated: Use WorkflowMetadata.ProtoReflect.Descriptor instead.
1216func (*WorkflowMetadata) Descriptor() ([]byte, []int) {
1217	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9}
1218}
1219
1220func (x *WorkflowMetadata) GetTemplate() string {
1221	if x != nil {
1222		return x.Template
1223	}
1224	return ""
1225}
1226
1227func (x *WorkflowMetadata) GetVersion() int32 {
1228	if x != nil {
1229		return x.Version
1230	}
1231	return 0
1232}
1233
1234func (x *WorkflowMetadata) GetCreateCluster() *ClusterOperation {
1235	if x != nil {
1236		return x.CreateCluster
1237	}
1238	return nil
1239}
1240
1241func (x *WorkflowMetadata) GetGraph() *WorkflowGraph {
1242	if x != nil {
1243		return x.Graph
1244	}
1245	return nil
1246}
1247
1248func (x *WorkflowMetadata) GetDeleteCluster() *ClusterOperation {
1249	if x != nil {
1250		return x.DeleteCluster
1251	}
1252	return nil
1253}
1254
1255func (x *WorkflowMetadata) GetState() WorkflowMetadata_State {
1256	if x != nil {
1257		return x.State
1258	}
1259	return WorkflowMetadata_UNKNOWN
1260}
1261
1262func (x *WorkflowMetadata) GetClusterName() string {
1263	if x != nil {
1264		return x.ClusterName
1265	}
1266	return ""
1267}
1268
1269func (x *WorkflowMetadata) GetParameters() map[string]string {
1270	if x != nil {
1271		return x.Parameters
1272	}
1273	return nil
1274}
1275
1276func (x *WorkflowMetadata) GetStartTime() *timestamppb.Timestamp {
1277	if x != nil {
1278		return x.StartTime
1279	}
1280	return nil
1281}
1282
1283func (x *WorkflowMetadata) GetEndTime() *timestamppb.Timestamp {
1284	if x != nil {
1285		return x.EndTime
1286	}
1287	return nil
1288}
1289
1290func (x *WorkflowMetadata) GetClusterUuid() string {
1291	if x != nil {
1292		return x.ClusterUuid
1293	}
1294	return ""
1295}
1296
1297func (x *WorkflowMetadata) GetDagTimeout() *durationpb.Duration {
1298	if x != nil {
1299		return x.DagTimeout
1300	}
1301	return nil
1302}
1303
1304func (x *WorkflowMetadata) GetDagStartTime() *timestamppb.Timestamp {
1305	if x != nil {
1306		return x.DagStartTime
1307	}
1308	return nil
1309}
1310
1311func (x *WorkflowMetadata) GetDagEndTime() *timestamppb.Timestamp {
1312	if x != nil {
1313		return x.DagEndTime
1314	}
1315	return nil
1316}
1317
1318// The cluster operation triggered by a workflow.
1319type ClusterOperation struct {
1320	state         protoimpl.MessageState
1321	sizeCache     protoimpl.SizeCache
1322	unknownFields protoimpl.UnknownFields
1323
1324	// Output only. The id of the cluster operation.
1325	OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
1326	// Output only. Error, if operation failed.
1327	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
1328	// Output only. Indicates the operation is done.
1329	Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
1330}
1331
1332func (x *ClusterOperation) Reset() {
1333	*x = ClusterOperation{}
1334	if protoimpl.UnsafeEnabled {
1335		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10]
1336		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1337		ms.StoreMessageInfo(mi)
1338	}
1339}
1340
1341func (x *ClusterOperation) String() string {
1342	return protoimpl.X.MessageStringOf(x)
1343}
1344
1345func (*ClusterOperation) ProtoMessage() {}
1346
1347func (x *ClusterOperation) ProtoReflect() protoreflect.Message {
1348	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10]
1349	if protoimpl.UnsafeEnabled && x != nil {
1350		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1351		if ms.LoadMessageInfo() == nil {
1352			ms.StoreMessageInfo(mi)
1353		}
1354		return ms
1355	}
1356	return mi.MessageOf(x)
1357}
1358
1359// Deprecated: Use ClusterOperation.ProtoReflect.Descriptor instead.
1360func (*ClusterOperation) Descriptor() ([]byte, []int) {
1361	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{10}
1362}
1363
1364func (x *ClusterOperation) GetOperationId() string {
1365	if x != nil {
1366		return x.OperationId
1367	}
1368	return ""
1369}
1370
1371func (x *ClusterOperation) GetError() string {
1372	if x != nil {
1373		return x.Error
1374	}
1375	return ""
1376}
1377
1378func (x *ClusterOperation) GetDone() bool {
1379	if x != nil {
1380		return x.Done
1381	}
1382	return false
1383}
1384
1385// The workflow graph.
1386type WorkflowGraph struct {
1387	state         protoimpl.MessageState
1388	sizeCache     protoimpl.SizeCache
1389	unknownFields protoimpl.UnknownFields
1390
1391	// Output only. The workflow nodes.
1392	Nodes []*WorkflowNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
1393}
1394
1395func (x *WorkflowGraph) Reset() {
1396	*x = WorkflowGraph{}
1397	if protoimpl.UnsafeEnabled {
1398		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11]
1399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1400		ms.StoreMessageInfo(mi)
1401	}
1402}
1403
1404func (x *WorkflowGraph) String() string {
1405	return protoimpl.X.MessageStringOf(x)
1406}
1407
1408func (*WorkflowGraph) ProtoMessage() {}
1409
1410func (x *WorkflowGraph) ProtoReflect() protoreflect.Message {
1411	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11]
1412	if protoimpl.UnsafeEnabled && x != nil {
1413		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1414		if ms.LoadMessageInfo() == nil {
1415			ms.StoreMessageInfo(mi)
1416		}
1417		return ms
1418	}
1419	return mi.MessageOf(x)
1420}
1421
1422// Deprecated: Use WorkflowGraph.ProtoReflect.Descriptor instead.
1423func (*WorkflowGraph) Descriptor() ([]byte, []int) {
1424	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{11}
1425}
1426
1427func (x *WorkflowGraph) GetNodes() []*WorkflowNode {
1428	if x != nil {
1429		return x.Nodes
1430	}
1431	return nil
1432}
1433
1434// The workflow node.
1435type WorkflowNode struct {
1436	state         protoimpl.MessageState
1437	sizeCache     protoimpl.SizeCache
1438	unknownFields protoimpl.UnknownFields
1439
1440	// Output only. The name of the node.
1441	StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
1442	// Output only. Node's prerequisite nodes.
1443	PrerequisiteStepIds []string `protobuf:"bytes,2,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"`
1444	// Output only. The job id; populated after the node enters RUNNING state.
1445	JobId string `protobuf:"bytes,3,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1446	// Output only. The node state.
1447	State WorkflowNode_NodeState `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowNode_NodeState" json:"state,omitempty"`
1448	// Output only. The error detail.
1449	Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"`
1450}
1451
1452func (x *WorkflowNode) Reset() {
1453	*x = WorkflowNode{}
1454	if protoimpl.UnsafeEnabled {
1455		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12]
1456		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1457		ms.StoreMessageInfo(mi)
1458	}
1459}
1460
1461func (x *WorkflowNode) String() string {
1462	return protoimpl.X.MessageStringOf(x)
1463}
1464
1465func (*WorkflowNode) ProtoMessage() {}
1466
1467func (x *WorkflowNode) ProtoReflect() protoreflect.Message {
1468	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12]
1469	if protoimpl.UnsafeEnabled && x != nil {
1470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1471		if ms.LoadMessageInfo() == nil {
1472			ms.StoreMessageInfo(mi)
1473		}
1474		return ms
1475	}
1476	return mi.MessageOf(x)
1477}
1478
1479// Deprecated: Use WorkflowNode.ProtoReflect.Descriptor instead.
1480func (*WorkflowNode) Descriptor() ([]byte, []int) {
1481	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12}
1482}
1483
1484func (x *WorkflowNode) GetStepId() string {
1485	if x != nil {
1486		return x.StepId
1487	}
1488	return ""
1489}
1490
1491func (x *WorkflowNode) GetPrerequisiteStepIds() []string {
1492	if x != nil {
1493		return x.PrerequisiteStepIds
1494	}
1495	return nil
1496}
1497
1498func (x *WorkflowNode) GetJobId() string {
1499	if x != nil {
1500		return x.JobId
1501	}
1502	return ""
1503}
1504
1505func (x *WorkflowNode) GetState() WorkflowNode_NodeState {
1506	if x != nil {
1507		return x.State
1508	}
1509	return WorkflowNode_NODE_STATUS_UNSPECIFIED
1510}
1511
1512func (x *WorkflowNode) GetError() string {
1513	if x != nil {
1514		return x.Error
1515	}
1516	return ""
1517}
1518
1519// A request to create a workflow template.
1520type CreateWorkflowTemplateRequest struct {
1521	state         protoimpl.MessageState
1522	sizeCache     protoimpl.SizeCache
1523	unknownFields protoimpl.UnknownFields
1524
1525	// Required. The resource name of the region or location, as described
1526	// in https://cloud.google.com/apis/design/resource_names.
1527	//
1528	// * For `projects.regions.workflowTemplates,create`, the resource name of the
1529	//   region has the following format:
1530	//   `projects/{project_id}/regions/{region}`
1531	//
1532	// * For `projects.locations.workflowTemplates.create`, the resource name of
1533	//   the location has the following format:
1534	//   `projects/{project_id}/locations/{location}`
1535	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1536	// Required. The Dataproc workflow template to create.
1537	Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
1538}
1539
1540func (x *CreateWorkflowTemplateRequest) Reset() {
1541	*x = CreateWorkflowTemplateRequest{}
1542	if protoimpl.UnsafeEnabled {
1543		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13]
1544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1545		ms.StoreMessageInfo(mi)
1546	}
1547}
1548
1549func (x *CreateWorkflowTemplateRequest) String() string {
1550	return protoimpl.X.MessageStringOf(x)
1551}
1552
1553func (*CreateWorkflowTemplateRequest) ProtoMessage() {}
1554
1555func (x *CreateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
1556	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13]
1557	if protoimpl.UnsafeEnabled && x != nil {
1558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1559		if ms.LoadMessageInfo() == nil {
1560			ms.StoreMessageInfo(mi)
1561		}
1562		return ms
1563	}
1564	return mi.MessageOf(x)
1565}
1566
1567// Deprecated: Use CreateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
1568func (*CreateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
1569	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{13}
1570}
1571
1572func (x *CreateWorkflowTemplateRequest) GetParent() string {
1573	if x != nil {
1574		return x.Parent
1575	}
1576	return ""
1577}
1578
1579func (x *CreateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
1580	if x != nil {
1581		return x.Template
1582	}
1583	return nil
1584}
1585
1586// A request to fetch a workflow template.
1587type GetWorkflowTemplateRequest struct {
1588	state         protoimpl.MessageState
1589	sizeCache     protoimpl.SizeCache
1590	unknownFields protoimpl.UnknownFields
1591
1592	// Required. The resource name of the workflow template, as described
1593	// in https://cloud.google.com/apis/design/resource_names.
1594	//
1595	// * For `projects.regions.workflowTemplates.get`, the resource name of the
1596	//   template has the following format:
1597	//   `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
1598	//
1599	// * For `projects.locations.workflowTemplates.get`, the resource name of the
1600	//   template has the following format:
1601	//   `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
1602	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1603	// Optional. The version of workflow template to retrieve. Only previously
1604	// instantiated versions can be retrieved.
1605	//
1606	// If unspecified, retrieves the current version.
1607	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
1608}
1609
1610func (x *GetWorkflowTemplateRequest) Reset() {
1611	*x = GetWorkflowTemplateRequest{}
1612	if protoimpl.UnsafeEnabled {
1613		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14]
1614		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1615		ms.StoreMessageInfo(mi)
1616	}
1617}
1618
1619func (x *GetWorkflowTemplateRequest) String() string {
1620	return protoimpl.X.MessageStringOf(x)
1621}
1622
1623func (*GetWorkflowTemplateRequest) ProtoMessage() {}
1624
1625func (x *GetWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
1626	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14]
1627	if protoimpl.UnsafeEnabled && x != nil {
1628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1629		if ms.LoadMessageInfo() == nil {
1630			ms.StoreMessageInfo(mi)
1631		}
1632		return ms
1633	}
1634	return mi.MessageOf(x)
1635}
1636
1637// Deprecated: Use GetWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
1638func (*GetWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
1639	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{14}
1640}
1641
1642func (x *GetWorkflowTemplateRequest) GetName() string {
1643	if x != nil {
1644		return x.Name
1645	}
1646	return ""
1647}
1648
1649func (x *GetWorkflowTemplateRequest) GetVersion() int32 {
1650	if x != nil {
1651		return x.Version
1652	}
1653	return 0
1654}
1655
1656// A request to instantiate a workflow template.
1657type InstantiateWorkflowTemplateRequest struct {
1658	state         protoimpl.MessageState
1659	sizeCache     protoimpl.SizeCache
1660	unknownFields protoimpl.UnknownFields
1661
1662	// Required. The resource name of the workflow template, as described
1663	// in https://cloud.google.com/apis/design/resource_names.
1664	//
1665	// * For `projects.regions.workflowTemplates.instantiate`, the resource name
1666	// of the template has the following format:
1667	//   `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
1668	//
1669	// * For `projects.locations.workflowTemplates.instantiate`, the resource name
1670	//   of the template has the following format:
1671	//   `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
1672	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1673	// Optional. The version of workflow template to instantiate. If specified,
1674	// the workflow will be instantiated only if the current version of
1675	// the workflow template has the supplied version.
1676	//
1677	// This option cannot be used to instantiate a previous version of
1678	// workflow template.
1679	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
1680	// Deprecated. Please use `request_id` field instead.
1681	//
1682	// Deprecated: Do not use.
1683	InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
1684	// Optional. A tag that prevents multiple concurrent workflow
1685	// instances with the same tag from running. This mitigates risk of
1686	// concurrent instances started due to retries.
1687	//
1688	// It is recommended to always set this value to a
1689	// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
1690	//
1691	// The tag must contain only letters (a-z, A-Z), numbers (0-9),
1692	// underscores (_), and hyphens (-). The maximum length is 40 characters.
1693	RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1694	// Optional. Map from parameter names to values that should be used for those
1695	// parameters. Values may not exceed 100 characters.
1696	Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1697}
1698
1699func (x *InstantiateWorkflowTemplateRequest) Reset() {
1700	*x = InstantiateWorkflowTemplateRequest{}
1701	if protoimpl.UnsafeEnabled {
1702		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15]
1703		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1704		ms.StoreMessageInfo(mi)
1705	}
1706}
1707
1708func (x *InstantiateWorkflowTemplateRequest) String() string {
1709	return protoimpl.X.MessageStringOf(x)
1710}
1711
1712func (*InstantiateWorkflowTemplateRequest) ProtoMessage() {}
1713
1714func (x *InstantiateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
1715	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15]
1716	if protoimpl.UnsafeEnabled && x != nil {
1717		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1718		if ms.LoadMessageInfo() == nil {
1719			ms.StoreMessageInfo(mi)
1720		}
1721		return ms
1722	}
1723	return mi.MessageOf(x)
1724}
1725
1726// Deprecated: Use InstantiateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
1727func (*InstantiateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
1728	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{15}
1729}
1730
1731func (x *InstantiateWorkflowTemplateRequest) GetName() string {
1732	if x != nil {
1733		return x.Name
1734	}
1735	return ""
1736}
1737
1738func (x *InstantiateWorkflowTemplateRequest) GetVersion() int32 {
1739	if x != nil {
1740		return x.Version
1741	}
1742	return 0
1743}
1744
1745// Deprecated: Do not use.
1746func (x *InstantiateWorkflowTemplateRequest) GetInstanceId() string {
1747	if x != nil {
1748		return x.InstanceId
1749	}
1750	return ""
1751}
1752
1753func (x *InstantiateWorkflowTemplateRequest) GetRequestId() string {
1754	if x != nil {
1755		return x.RequestId
1756	}
1757	return ""
1758}
1759
1760func (x *InstantiateWorkflowTemplateRequest) GetParameters() map[string]string {
1761	if x != nil {
1762		return x.Parameters
1763	}
1764	return nil
1765}
1766
1767// A request to instantiate an inline workflow template.
1768type InstantiateInlineWorkflowTemplateRequest struct {
1769	state         protoimpl.MessageState
1770	sizeCache     protoimpl.SizeCache
1771	unknownFields protoimpl.UnknownFields
1772
1773	// Required. The resource name of the region or location, as described
1774	// in https://cloud.google.com/apis/design/resource_names.
1775	//
1776	// * For `projects.regions.workflowTemplates,instantiateinline`, the resource
1777	//   name of the region has the following format:
1778	//   `projects/{project_id}/regions/{region}`
1779	//
1780	// * For `projects.locations.workflowTemplates.instantiateinline`, the
1781	//   resource name of the location has the following format:
1782	//   `projects/{project_id}/locations/{location}`
1783	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1784	// Required. The workflow template to instantiate.
1785	Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
1786	// Deprecated. Please use `request_id` field instead.
1787	InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
1788	// Optional. A tag that prevents multiple concurrent workflow
1789	// instances with the same tag from running. This mitigates risk of
1790	// concurrent instances started due to retries.
1791	//
1792	// It is recommended to always set this value to a
1793	// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
1794	//
1795	// The tag must contain only letters (a-z, A-Z), numbers (0-9),
1796	// underscores (_), and hyphens (-). The maximum length is 40 characters.
1797	RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1798}
1799
1800func (x *InstantiateInlineWorkflowTemplateRequest) Reset() {
1801	*x = InstantiateInlineWorkflowTemplateRequest{}
1802	if protoimpl.UnsafeEnabled {
1803		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16]
1804		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1805		ms.StoreMessageInfo(mi)
1806	}
1807}
1808
1809func (x *InstantiateInlineWorkflowTemplateRequest) String() string {
1810	return protoimpl.X.MessageStringOf(x)
1811}
1812
1813func (*InstantiateInlineWorkflowTemplateRequest) ProtoMessage() {}
1814
1815func (x *InstantiateInlineWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
1816	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16]
1817	if protoimpl.UnsafeEnabled && x != nil {
1818		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1819		if ms.LoadMessageInfo() == nil {
1820			ms.StoreMessageInfo(mi)
1821		}
1822		return ms
1823	}
1824	return mi.MessageOf(x)
1825}
1826
1827// Deprecated: Use InstantiateInlineWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
1828func (*InstantiateInlineWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
1829	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{16}
1830}
1831
1832func (x *InstantiateInlineWorkflowTemplateRequest) GetParent() string {
1833	if x != nil {
1834		return x.Parent
1835	}
1836	return ""
1837}
1838
1839func (x *InstantiateInlineWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
1840	if x != nil {
1841		return x.Template
1842	}
1843	return nil
1844}
1845
1846func (x *InstantiateInlineWorkflowTemplateRequest) GetInstanceId() string {
1847	if x != nil {
1848		return x.InstanceId
1849	}
1850	return ""
1851}
1852
1853func (x *InstantiateInlineWorkflowTemplateRequest) GetRequestId() string {
1854	if x != nil {
1855		return x.RequestId
1856	}
1857	return ""
1858}
1859
1860// A request to update a workflow template.
1861type UpdateWorkflowTemplateRequest struct {
1862	state         protoimpl.MessageState
1863	sizeCache     protoimpl.SizeCache
1864	unknownFields protoimpl.UnknownFields
1865
1866	// Required. The updated workflow template.
1867	//
1868	// The `template.version` field must match the current version.
1869	Template *WorkflowTemplate `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
1870}
1871
1872func (x *UpdateWorkflowTemplateRequest) Reset() {
1873	*x = UpdateWorkflowTemplateRequest{}
1874	if protoimpl.UnsafeEnabled {
1875		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17]
1876		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1877		ms.StoreMessageInfo(mi)
1878	}
1879}
1880
1881func (x *UpdateWorkflowTemplateRequest) String() string {
1882	return protoimpl.X.MessageStringOf(x)
1883}
1884
1885func (*UpdateWorkflowTemplateRequest) ProtoMessage() {}
1886
1887func (x *UpdateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
1888	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17]
1889	if protoimpl.UnsafeEnabled && x != nil {
1890		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1891		if ms.LoadMessageInfo() == nil {
1892			ms.StoreMessageInfo(mi)
1893		}
1894		return ms
1895	}
1896	return mi.MessageOf(x)
1897}
1898
1899// Deprecated: Use UpdateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
1900func (*UpdateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
1901	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{17}
1902}
1903
1904func (x *UpdateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
1905	if x != nil {
1906		return x.Template
1907	}
1908	return nil
1909}
1910
1911// A request to list workflow templates in a project.
1912type ListWorkflowTemplatesRequest struct {
1913	state         protoimpl.MessageState
1914	sizeCache     protoimpl.SizeCache
1915	unknownFields protoimpl.UnknownFields
1916
1917	// Required. The resource name of the region or location, as described
1918	// in https://cloud.google.com/apis/design/resource_names.
1919	//
1920	// * For `projects.regions.workflowTemplates,list`, the resource
1921	//   name of the region has the following format:
1922	//   `projects/{project_id}/regions/{region}`
1923	//
1924	// * For `projects.locations.workflowTemplates.list`, the
1925	//   resource name of the location has the following format:
1926	//   `projects/{project_id}/locations/{location}`
1927	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1928	// Optional. The maximum number of results to return in each response.
1929	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1930	// Optional. The page token, returned by a previous call, to request the
1931	// next page of results.
1932	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1933}
1934
1935func (x *ListWorkflowTemplatesRequest) Reset() {
1936	*x = ListWorkflowTemplatesRequest{}
1937	if protoimpl.UnsafeEnabled {
1938		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18]
1939		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1940		ms.StoreMessageInfo(mi)
1941	}
1942}
1943
1944func (x *ListWorkflowTemplatesRequest) String() string {
1945	return protoimpl.X.MessageStringOf(x)
1946}
1947
1948func (*ListWorkflowTemplatesRequest) ProtoMessage() {}
1949
1950func (x *ListWorkflowTemplatesRequest) ProtoReflect() protoreflect.Message {
1951	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18]
1952	if protoimpl.UnsafeEnabled && x != nil {
1953		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1954		if ms.LoadMessageInfo() == nil {
1955			ms.StoreMessageInfo(mi)
1956		}
1957		return ms
1958	}
1959	return mi.MessageOf(x)
1960}
1961
1962// Deprecated: Use ListWorkflowTemplatesRequest.ProtoReflect.Descriptor instead.
1963func (*ListWorkflowTemplatesRequest) Descriptor() ([]byte, []int) {
1964	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{18}
1965}
1966
1967func (x *ListWorkflowTemplatesRequest) GetParent() string {
1968	if x != nil {
1969		return x.Parent
1970	}
1971	return ""
1972}
1973
1974func (x *ListWorkflowTemplatesRequest) GetPageSize() int32 {
1975	if x != nil {
1976		return x.PageSize
1977	}
1978	return 0
1979}
1980
1981func (x *ListWorkflowTemplatesRequest) GetPageToken() string {
1982	if x != nil {
1983		return x.PageToken
1984	}
1985	return ""
1986}
1987
1988// A response to a request to list workflow templates in a project.
1989type ListWorkflowTemplatesResponse struct {
1990	state         protoimpl.MessageState
1991	sizeCache     protoimpl.SizeCache
1992	unknownFields protoimpl.UnknownFields
1993
1994	// Output only. WorkflowTemplates list.
1995	Templates []*WorkflowTemplate `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"`
1996	// Output only. This token is included in the response if there are more
1997	// results to fetch. To fetch additional results, provide this value as the
1998	// page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>.
1999	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2000}
2001
2002func (x *ListWorkflowTemplatesResponse) Reset() {
2003	*x = ListWorkflowTemplatesResponse{}
2004	if protoimpl.UnsafeEnabled {
2005		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19]
2006		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2007		ms.StoreMessageInfo(mi)
2008	}
2009}
2010
2011func (x *ListWorkflowTemplatesResponse) String() string {
2012	return protoimpl.X.MessageStringOf(x)
2013}
2014
2015func (*ListWorkflowTemplatesResponse) ProtoMessage() {}
2016
2017func (x *ListWorkflowTemplatesResponse) ProtoReflect() protoreflect.Message {
2018	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19]
2019	if protoimpl.UnsafeEnabled && x != nil {
2020		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2021		if ms.LoadMessageInfo() == nil {
2022			ms.StoreMessageInfo(mi)
2023		}
2024		return ms
2025	}
2026	return mi.MessageOf(x)
2027}
2028
2029// Deprecated: Use ListWorkflowTemplatesResponse.ProtoReflect.Descriptor instead.
2030func (*ListWorkflowTemplatesResponse) Descriptor() ([]byte, []int) {
2031	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{19}
2032}
2033
2034func (x *ListWorkflowTemplatesResponse) GetTemplates() []*WorkflowTemplate {
2035	if x != nil {
2036		return x.Templates
2037	}
2038	return nil
2039}
2040
2041func (x *ListWorkflowTemplatesResponse) GetNextPageToken() string {
2042	if x != nil {
2043		return x.NextPageToken
2044	}
2045	return ""
2046}
2047
2048// A request to delete a workflow template.
2049//
2050// Currently started workflows will remain running.
2051type DeleteWorkflowTemplateRequest struct {
2052	state         protoimpl.MessageState
2053	sizeCache     protoimpl.SizeCache
2054	unknownFields protoimpl.UnknownFields
2055
2056	// Required. The resource name of the workflow template, as described
2057	// in https://cloud.google.com/apis/design/resource_names.
2058	//
2059	// * For `projects.regions.workflowTemplates.delete`, the resource name
2060	// of the template has the following format:
2061	//   `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
2062	//
2063	// * For `projects.locations.workflowTemplates.instantiate`, the resource name
2064	//   of the template has the following format:
2065	//   `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
2066	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2067	// Optional. The version of workflow template to delete. If specified,
2068	// will only delete the template if the current server version matches
2069	// specified version.
2070	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
2071}
2072
2073func (x *DeleteWorkflowTemplateRequest) Reset() {
2074	*x = DeleteWorkflowTemplateRequest{}
2075	if protoimpl.UnsafeEnabled {
2076		mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20]
2077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2078		ms.StoreMessageInfo(mi)
2079	}
2080}
2081
2082func (x *DeleteWorkflowTemplateRequest) String() string {
2083	return protoimpl.X.MessageStringOf(x)
2084}
2085
2086func (*DeleteWorkflowTemplateRequest) ProtoMessage() {}
2087
2088func (x *DeleteWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
2089	mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20]
2090	if protoimpl.UnsafeEnabled && x != nil {
2091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2092		if ms.LoadMessageInfo() == nil {
2093			ms.StoreMessageInfo(mi)
2094		}
2095		return ms
2096	}
2097	return mi.MessageOf(x)
2098}
2099
2100// Deprecated: Use DeleteWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
2101func (*DeleteWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
2102	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{20}
2103}
2104
2105func (x *DeleteWorkflowTemplateRequest) GetName() string {
2106	if x != nil {
2107		return x.Name
2108	}
2109	return ""
2110}
2111
2112func (x *DeleteWorkflowTemplateRequest) GetVersion() int32 {
2113	if x != nil {
2114		return x.Version
2115	}
2116	return 0
2117}
2118
2119var File_google_cloud_dataproc_v1beta2_workflow_templates_proto protoreflect.FileDescriptor
2120
2121var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = []byte{
2122	0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
2123	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f,
2124	0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2125	0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2126	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
2127	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2128	0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
2129	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
2130	0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
2131	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
2132	0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2133	0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
2134	0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67,
2135	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
2136	0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
2137	0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2138	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f,
2139	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2140	0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
2141	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2142	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2143	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
2144	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2145	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
2146	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
2147	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
2148	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x06, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
2149	0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64,
2150	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12,
2151	0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2152	0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
2153	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07,
2154	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
2155	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
2156	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
2157	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63,
2158	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
2159	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
2160	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2161	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2162	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x6c,
2163	0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f,
2164	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
2165	0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
2166	0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62,
2167	0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c,
2168	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
2169	0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2170	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2171	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
2172	0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
2173	0x6e, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a,
2174	0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
2175	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
2176	0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65,
2177	0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x55, 0x0a, 0x0a,
2178	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
2179	0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2180	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
2181	0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2182	0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2183	0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x64, 0x61, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
2184	0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2185	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
2186	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x67, 0x54, 0x69, 0x6d,
2187	0x65, 0x6f, 0x75, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
2188	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2189	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
2190	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a,
2191	0xca, 0x01, 0xea, 0x41, 0xc6, 0x01, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2192	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2193	0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2194	0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
2195	0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65,
2196	0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2197	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
2198	0x77, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x4d, 0x70, 0x72, 0x6f,
2199	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
2200	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2201	0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
2202	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
2203	0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x20, 0x01, 0x22, 0xdf, 0x01, 0x0a,
2204	0x19, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2205	0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x6d, 0x61,
2206	0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20,
2207	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2208	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
2209	0x74, 0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74,
2210	0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75,
2211	0x73, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
2212	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
2213	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61,
2214	0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43,
2215	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00,
2216	0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
2217	0x72, 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87,
2218	0x02, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
2219	0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
2220	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
2221	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
2222	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2223	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62,
2224	0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
2225	0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61,
2226	0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f,
2227	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
2228	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67,
2229	0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
2230	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a,
2231	0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
2232	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
2233	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
2234	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x75,
2235	0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04,
2236	0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65,
2237	0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65,
2238	0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2239	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2240	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
2241	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
2242	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x75,
2243	0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c,
2244	0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
2245	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
2246	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
2247	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xca, 0x07, 0x0a,
2248	0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x07, 0x73,
2249	0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2250	0x02, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0a, 0x68, 0x61, 0x64,
2251	0x6f, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
2252	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2253	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x61,
2254	0x64, 0x6f, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09,
2255	0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x70, 0x61,
2256	0x72, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
2257	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61,
2258	0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61,
2259	0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x70,
2260	0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x51, 0x0a, 0x0b, 0x70, 0x79, 0x73, 0x70, 0x61, 0x72,
2261	0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
2262	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
2263	0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x79, 0x53, 0x70,
2264	0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x70,
2265	0x79, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x48, 0x0a, 0x08, 0x68, 0x69, 0x76,
2266	0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
2267	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
2268	0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x69, 0x76, 0x65,
2269	0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x76, 0x65,
2270	0x4a, 0x6f, 0x62, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x69, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06,
2271	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2272	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62,
2273	0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x69, 0x67, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01,
2274	0x48, 0x00, 0x52, 0x06, 0x70, 0x69, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x70,
2275	0x61, 0x72, 0x6b, 0x5f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
2276	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2277	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
2278	0x53, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
2279	0x52, 0x09, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x12, 0x55, 0x0a, 0x0d, 0x73,
2280	0x70, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01,
2281	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2282	0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2283	0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a, 0x6f, 0x62, 0x42, 0x03,
2284	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a,
2285	0x6f, 0x62, 0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x5f, 0x6a, 0x6f, 0x62,
2286	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2287	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
2288	0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a, 0x6f, 0x62,
2289	0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a,
2290	0x6f, 0x62, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03,
2291	0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2292	0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2293	0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61,
2294	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06,
2295	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
2296	0x6c, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
2297	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
2298	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x63,
2299	0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x73,
2300	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65,
2301	0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69,
2302	0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x70,
2303	0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49,
2304	0x64, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
2305	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
2306	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
2307	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a,
2308	0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x54, 0x65,
2309	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
2310	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
2311	0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20,
2312	0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64,
2313	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2314	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a,
2315	0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
2316	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2317	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2318	0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64,
2319	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
2320	0x6e, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56,
2321	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x67,
2322	0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2323	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2324	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61,
2325	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65,
2326	0x78, 0x12, 0x48, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
2327	0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2328	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2329	0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
2330	0x6e, 0x48, 0x00, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x76,
2331	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b,
2332	0x0a, 0x0f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
2333	0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
2334	0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x22, 0x29, 0x0a, 0x0f, 0x56,
2335	0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
2336	0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
2337	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x98, 0x08, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2338	0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x08, 0x74,
2339	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2340	0x41, 0x03, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x07,
2341	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
2342	0x41, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x63,
2343	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20,
2344	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2345	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
2346	0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61,
2347	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74,
2348	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70,
2349	0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2350	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
2351	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
2352	0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x67, 0x72, 0x61, 0x70,
2353	0x68, 0x12, 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73,
2354	0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2355	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
2356	0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
2357	0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2358	0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x50,
2359	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e,
2360	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2361	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f,
2362	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
2363	0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
2364	0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
2365	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75,
2366	0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61,
2367	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67,
2368	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61,
2369	0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72,
2370	0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x61,
2371	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70,
2372	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61,
2373	0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2374	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2375	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09,
2376	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64,
2377	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2378	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2379	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e,
2380	0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
2381	0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
2382	0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x3f, 0x0a,
2383	0x0b, 0x64, 0x61, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01,
2384	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2385	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
2386	0x41, 0x03, 0x52, 0x0a, 0x64, 0x61, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45,
2387	0x0a, 0x0e, 0x64, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
2388	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2389	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
2390	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x64, 0x61, 0x67, 0x53, 0x74, 0x61, 0x72,
2391	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x61, 0x67, 0x5f, 0x65, 0x6e, 0x64,
2392	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2393	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2394	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x61,
2395	0x67, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61,
2396	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
2397	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
2398	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
2399	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
2400	0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a,
2401	0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55,
2402	0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10,
2403	0x03, 0x22, 0x6e, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72,
2404	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
2405	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
2406	0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a,
2407	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2408	0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65,
2409	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x64, 0x6f, 0x6e,
2410	0x65, 0x22, 0x57, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61,
2411	0x70, 0x68, 0x12, 0x46, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2412	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2413	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2414	0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x03,
2415	0xe0, 0x41, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x0c, 0x57,
2416	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x73,
2417	0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2418	0x03, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65,
2419	0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69,
2420	0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70,
2421	0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49,
2422	0x64, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
2423	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x50,
2424	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e,
2425	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2426	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f,
2427	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53,
2428	0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
2429	0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
2430	0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x09, 0x4e,
2431	0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x44, 0x45,
2432	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
2433	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44,
2434	0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x55, 0x4e, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02,
2435	0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a,
2436	0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06,
2437	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xbb, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65,
2438	0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2439	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61,
2440	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
2441	0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f,
2442	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b,
2443	0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61,
2444	0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2445	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2446	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
2447	0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
2448	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65,
2449	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x7c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
2450	0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
2451	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2452	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61,
2453	0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2454	0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
2455	0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
2456	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72,
2457	0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
2458	0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
2459	0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e,
2460	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41,
2461	0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2462	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2463	0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d,
2464	0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
2465	0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x69,
2466	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2467	0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64,
2468	0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05,
2469	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
2470	0x71, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
2471	0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2472	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
2473	0x74, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57,
2474	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
2475	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2476	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2477	0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
2478	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
2479	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
2480	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
2481	0x01, 0x22, 0x86, 0x02, 0x0a, 0x28, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74,
2482	0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
2483	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48,
2484	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
2485	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2486	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2487	0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2488	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70,
2489	0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2490	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
2491	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2492	0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
2493	0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e,
2494	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
2495	0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
2496	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
2497	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1d, 0x55, 0x70,
2498	0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
2499	0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74,
2500	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
2501	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2502	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f,
2503	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03,
2504	0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01,
2505	0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2506	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48,
2507	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
2508	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
2509	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2510	0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2511	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
2512	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
2513	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
2514	0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
2515	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72,
2516	0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65,
2517	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2518	0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2519	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
2520	0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
2521	0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2522	0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65,
2523	0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
2524	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
2525	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74,
2526	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2527	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2528	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
2529	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2530	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
2531	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18,
2532	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
2533	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xe9, 0x11, 0x0a, 0x17, 0x57, 0x6f, 0x72,
2534	0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
2535	0x76, 0x69, 0x63, 0x65, 0x12, 0xb0, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57,
2536	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
2537	0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2538	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
2539	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2540	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
2541	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2542	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f,
2543	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa6,
2544	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8c, 0x01, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
2545	0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2546	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
2547	0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2548	0x65, 0x73, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x46, 0x22, 0x3a,
2549	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
2550	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2551	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
2552	0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70,
2553	0x6c, 0x61, 0x74, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74,
2554	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x89, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57,
2555	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
2556	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2557	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
2558	0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2559	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2560	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
2561	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2562	0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x85, 0x01, 0x82, 0xd3,
2563	0xe4, 0x93, 0x02, 0x78, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b,
2564	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2565	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
2566	0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3c,
2567	0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
2568	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2569	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
2570	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
2571	0x61, 0x6d, 0x65, 0x12, 0xe5, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69,
2572	0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2573	0x61, 0x74, 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2574	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
2575	0x74, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57,
2576	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
2577	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2578	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
2579	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x22,
2580	0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
2581	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f,
2582	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
2583	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
2584	0x74, 0x69, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x62,
2585	0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2586	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2587	0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2588	0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61,
2589	0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x10, 0x6e,
2590	0x61, 0x6d, 0x65, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0xca,
2591	0x41, 0x29, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2592	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2593	0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x84, 0x03, 0x0a, 0x21,
2594	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e,
2595	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2596	0x65, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2597	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2598	0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c,
2599	0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2600	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
2601	0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
2602	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x82, 0xd3, 0xe4, 0x93,
2603	0x02, 0xb0, 0x01, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70,
2604	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
2605	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f,
2606	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a,
2607	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e,
2608	0x65, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x56, 0x22, 0x4a, 0x2f,
2609	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
2610	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f,
2611	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2612	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69,
2613	0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
2614	0x61, 0x74, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x65,
2615	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xca, 0x41, 0x29, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2616	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
2617	0x12, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
2618	0x74, 0x61, 0x12, 0xba, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72,
2619	0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e,
2620	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
2621	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x55, 0x70,
2622	0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
2623	0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f,
2624	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
2625	0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
2626	0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xb0, 0x01, 0x82,
2627	0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x1a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
2628	0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
2629	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f,
2630	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
2631	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
2632	0x61, 0x74, 0x65, 0x5a, 0x4f, 0x1a, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f,
2633	0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
2634	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
2635	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2636	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70,
2637	0x6c, 0x61, 0x74, 0x65, 0xda, 0x41, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
2638	0x9c, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
2639	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2640	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
2641	0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f,
2642	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52,
2643	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2644	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
2645	0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66,
2646	0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
2647	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x12, 0x38, 0x2f,
2648	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
2649	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f,
2650	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
2651	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65,
2652	0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2653	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2654	0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
2655	0x6c, 0x61, 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf6,
2656	0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
2657	0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2658	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
2659	0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
2660	0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2661	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2662	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
2663	0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
2664	0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2665	0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f,
2666	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f,
2667	0x2a, 0x7d, 0x5a, 0x3c, 0x2a, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b,
2668	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2669	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
2670	0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
2671	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x4b, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61,
2672	0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2673	0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
2674	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2675	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
2676	0x66, 0x6f, 0x72, 0x6d, 0x42, 0x84, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
2677	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
2678	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x16, 0x57, 0x6f, 0x72, 0x6b,
2679	0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f,
2680	0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
2681	0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2682	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
2683	0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
2684	0x61, 0x32, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f,
2685	0x74, 0x6f, 0x33,
2686}
2687
2688var (
2689	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce sync.Once
2690	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc
2691)
2692
2693func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP() []byte {
2694	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce.Do(func() {
2695		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData)
2696	})
2697	return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData
2698}
2699
2700var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2701var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
2702var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = []interface{}{
2703	(WorkflowMetadata_State)(0),                      // 0: google.cloud.dataproc.v1beta2.WorkflowMetadata.State
2704	(WorkflowNode_NodeState)(0),                      // 1: google.cloud.dataproc.v1beta2.WorkflowNode.NodeState
2705	(*WorkflowTemplate)(nil),                         // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate
2706	(*WorkflowTemplatePlacement)(nil),                // 3: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement
2707	(*ManagedCluster)(nil),                           // 4: google.cloud.dataproc.v1beta2.ManagedCluster
2708	(*ClusterSelector)(nil),                          // 5: google.cloud.dataproc.v1beta2.ClusterSelector
2709	(*OrderedJob)(nil),                               // 6: google.cloud.dataproc.v1beta2.OrderedJob
2710	(*TemplateParameter)(nil),                        // 7: google.cloud.dataproc.v1beta2.TemplateParameter
2711	(*ParameterValidation)(nil),                      // 8: google.cloud.dataproc.v1beta2.ParameterValidation
2712	(*RegexValidation)(nil),                          // 9: google.cloud.dataproc.v1beta2.RegexValidation
2713	(*ValueValidation)(nil),                          // 10: google.cloud.dataproc.v1beta2.ValueValidation
2714	(*WorkflowMetadata)(nil),                         // 11: google.cloud.dataproc.v1beta2.WorkflowMetadata
2715	(*ClusterOperation)(nil),                         // 12: google.cloud.dataproc.v1beta2.ClusterOperation
2716	(*WorkflowGraph)(nil),                            // 13: google.cloud.dataproc.v1beta2.WorkflowGraph
2717	(*WorkflowNode)(nil),                             // 14: google.cloud.dataproc.v1beta2.WorkflowNode
2718	(*CreateWorkflowTemplateRequest)(nil),            // 15: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest
2719	(*GetWorkflowTemplateRequest)(nil),               // 16: google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest
2720	(*InstantiateWorkflowTemplateRequest)(nil),       // 17: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest
2721	(*InstantiateInlineWorkflowTemplateRequest)(nil), // 18: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest
2722	(*UpdateWorkflowTemplateRequest)(nil),            // 19: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest
2723	(*ListWorkflowTemplatesRequest)(nil),             // 20: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest
2724	(*ListWorkflowTemplatesResponse)(nil),            // 21: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse
2725	(*DeleteWorkflowTemplateRequest)(nil),            // 22: google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest
2726	nil,                                              // 23: google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry
2727	nil,                                              // 24: google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry
2728	nil,                                              // 25: google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry
2729	nil,                                              // 26: google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry
2730	nil,                                              // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry
2731	nil,                                              // 28: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry
2732	(*timestamppb.Timestamp)(nil),                    // 29: google.protobuf.Timestamp
2733	(*durationpb.Duration)(nil),                      // 30: google.protobuf.Duration
2734	(*ClusterConfig)(nil),                            // 31: google.cloud.dataproc.v1beta2.ClusterConfig
2735	(*HadoopJob)(nil),                                // 32: google.cloud.dataproc.v1beta2.HadoopJob
2736	(*SparkJob)(nil),                                 // 33: google.cloud.dataproc.v1beta2.SparkJob
2737	(*PySparkJob)(nil),                               // 34: google.cloud.dataproc.v1beta2.PySparkJob
2738	(*HiveJob)(nil),                                  // 35: google.cloud.dataproc.v1beta2.HiveJob
2739	(*PigJob)(nil),                                   // 36: google.cloud.dataproc.v1beta2.PigJob
2740	(*SparkRJob)(nil),                                // 37: google.cloud.dataproc.v1beta2.SparkRJob
2741	(*SparkSqlJob)(nil),                              // 38: google.cloud.dataproc.v1beta2.SparkSqlJob
2742	(*PrestoJob)(nil),                                // 39: google.cloud.dataproc.v1beta2.PrestoJob
2743	(*JobScheduling)(nil),                            // 40: google.cloud.dataproc.v1beta2.JobScheduling
2744	(*longrunning.Operation)(nil),                    // 41: google.longrunning.Operation
2745	(*emptypb.Empty)(nil),                            // 42: google.protobuf.Empty
2746}
2747var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = []int32{
2748	29, // 0: google.cloud.dataproc.v1beta2.WorkflowTemplate.create_time:type_name -> google.protobuf.Timestamp
2749	29, // 1: google.cloud.dataproc.v1beta2.WorkflowTemplate.update_time:type_name -> google.protobuf.Timestamp
2750	23, // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate.labels:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry
2751	3,  // 3: google.cloud.dataproc.v1beta2.WorkflowTemplate.placement:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement
2752	6,  // 4: google.cloud.dataproc.v1beta2.WorkflowTemplate.jobs:type_name -> google.cloud.dataproc.v1beta2.OrderedJob
2753	7,  // 5: google.cloud.dataproc.v1beta2.WorkflowTemplate.parameters:type_name -> google.cloud.dataproc.v1beta2.TemplateParameter
2754	30, // 6: google.cloud.dataproc.v1beta2.WorkflowTemplate.dag_timeout:type_name -> google.protobuf.Duration
2755	4,  // 7: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.managed_cluster:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster
2756	5,  // 8: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.cluster_selector:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector
2757	31, // 9: google.cloud.dataproc.v1beta2.ManagedCluster.config:type_name -> google.cloud.dataproc.v1beta2.ClusterConfig
2758	24, // 10: google.cloud.dataproc.v1beta2.ManagedCluster.labels:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry
2759	25, // 11: google.cloud.dataproc.v1beta2.ClusterSelector.cluster_labels:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry
2760	32, // 12: google.cloud.dataproc.v1beta2.OrderedJob.hadoop_job:type_name -> google.cloud.dataproc.v1beta2.HadoopJob
2761	33, // 13: google.cloud.dataproc.v1beta2.OrderedJob.spark_job:type_name -> google.cloud.dataproc.v1beta2.SparkJob
2762	34, // 14: google.cloud.dataproc.v1beta2.OrderedJob.pyspark_job:type_name -> google.cloud.dataproc.v1beta2.PySparkJob
2763	35, // 15: google.cloud.dataproc.v1beta2.OrderedJob.hive_job:type_name -> google.cloud.dataproc.v1beta2.HiveJob
2764	36, // 16: google.cloud.dataproc.v1beta2.OrderedJob.pig_job:type_name -> google.cloud.dataproc.v1beta2.PigJob
2765	37, // 17: google.cloud.dataproc.v1beta2.OrderedJob.spark_r_job:type_name -> google.cloud.dataproc.v1beta2.SparkRJob
2766	38, // 18: google.cloud.dataproc.v1beta2.OrderedJob.spark_sql_job:type_name -> google.cloud.dataproc.v1beta2.SparkSqlJob
2767	39, // 19: google.cloud.dataproc.v1beta2.OrderedJob.presto_job:type_name -> google.cloud.dataproc.v1beta2.PrestoJob
2768	26, // 20: google.cloud.dataproc.v1beta2.OrderedJob.labels:type_name -> google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry
2769	40, // 21: google.cloud.dataproc.v1beta2.OrderedJob.scheduling:type_name -> google.cloud.dataproc.v1beta2.JobScheduling
2770	8,  // 22: google.cloud.dataproc.v1beta2.TemplateParameter.validation:type_name -> google.cloud.dataproc.v1beta2.ParameterValidation
2771	9,  // 23: google.cloud.dataproc.v1beta2.ParameterValidation.regex:type_name -> google.cloud.dataproc.v1beta2.RegexValidation
2772	10, // 24: google.cloud.dataproc.v1beta2.ParameterValidation.values:type_name -> google.cloud.dataproc.v1beta2.ValueValidation
2773	12, // 25: google.cloud.dataproc.v1beta2.WorkflowMetadata.create_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation
2774	13, // 26: google.cloud.dataproc.v1beta2.WorkflowMetadata.graph:type_name -> google.cloud.dataproc.v1beta2.WorkflowGraph
2775	12, // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.delete_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation
2776	0,  // 28: google.cloud.dataproc.v1beta2.WorkflowMetadata.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.State
2777	27, // 29: google.cloud.dataproc.v1beta2.WorkflowMetadata.parameters:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry
2778	29, // 30: google.cloud.dataproc.v1beta2.WorkflowMetadata.start_time:type_name -> google.protobuf.Timestamp
2779	29, // 31: google.cloud.dataproc.v1beta2.WorkflowMetadata.end_time:type_name -> google.protobuf.Timestamp
2780	30, // 32: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout:type_name -> google.protobuf.Duration
2781	29, // 33: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_start_time:type_name -> google.protobuf.Timestamp
2782	29, // 34: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_end_time:type_name -> google.protobuf.Timestamp
2783	14, // 35: google.cloud.dataproc.v1beta2.WorkflowGraph.nodes:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode
2784	1,  // 36: google.cloud.dataproc.v1beta2.WorkflowNode.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode.NodeState
2785	2,  // 37: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2786	28, // 38: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.parameters:type_name -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry
2787	2,  // 39: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2788	2,  // 40: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2789	2,  // 41: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse.templates:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2790	15, // 42: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest
2791	16, // 43: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest
2792	17, // 44: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest
2793	18, // 45: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest
2794	19, // 46: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest
2795	20, // 47: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:input_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest
2796	22, // 48: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest
2797	2,  // 49: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2798	2,  // 50: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2799	41, // 51: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:output_type -> google.longrunning.Operation
2800	41, // 52: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:output_type -> google.longrunning.Operation
2801	2,  // 53: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2802	21, // 54: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:output_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse
2803	42, // 55: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:output_type -> google.protobuf.Empty
2804	49, // [49:56] is the sub-list for method output_type
2805	42, // [42:49] is the sub-list for method input_type
2806	42, // [42:42] is the sub-list for extension type_name
2807	42, // [42:42] is the sub-list for extension extendee
2808	0,  // [0:42] is the sub-list for field type_name
2809}
2810
2811func init() { file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() }
2812func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() {
2813	if File_google_cloud_dataproc_v1beta2_workflow_templates_proto != nil {
2814		return
2815	}
2816	file_google_cloud_dataproc_v1beta2_clusters_proto_init()
2817	file_google_cloud_dataproc_v1beta2_jobs_proto_init()
2818	if !protoimpl.UnsafeEnabled {
2819		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2820			switch v := v.(*WorkflowTemplate); i {
2821			case 0:
2822				return &v.state
2823			case 1:
2824				return &v.sizeCache
2825			case 2:
2826				return &v.unknownFields
2827			default:
2828				return nil
2829			}
2830		}
2831		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2832			switch v := v.(*WorkflowTemplatePlacement); i {
2833			case 0:
2834				return &v.state
2835			case 1:
2836				return &v.sizeCache
2837			case 2:
2838				return &v.unknownFields
2839			default:
2840				return nil
2841			}
2842		}
2843		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2844			switch v := v.(*ManagedCluster); i {
2845			case 0:
2846				return &v.state
2847			case 1:
2848				return &v.sizeCache
2849			case 2:
2850				return &v.unknownFields
2851			default:
2852				return nil
2853			}
2854		}
2855		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2856			switch v := v.(*ClusterSelector); i {
2857			case 0:
2858				return &v.state
2859			case 1:
2860				return &v.sizeCache
2861			case 2:
2862				return &v.unknownFields
2863			default:
2864				return nil
2865			}
2866		}
2867		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2868			switch v := v.(*OrderedJob); i {
2869			case 0:
2870				return &v.state
2871			case 1:
2872				return &v.sizeCache
2873			case 2:
2874				return &v.unknownFields
2875			default:
2876				return nil
2877			}
2878		}
2879		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2880			switch v := v.(*TemplateParameter); i {
2881			case 0:
2882				return &v.state
2883			case 1:
2884				return &v.sizeCache
2885			case 2:
2886				return &v.unknownFields
2887			default:
2888				return nil
2889			}
2890		}
2891		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2892			switch v := v.(*ParameterValidation); i {
2893			case 0:
2894				return &v.state
2895			case 1:
2896				return &v.sizeCache
2897			case 2:
2898				return &v.unknownFields
2899			default:
2900				return nil
2901			}
2902		}
2903		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2904			switch v := v.(*RegexValidation); i {
2905			case 0:
2906				return &v.state
2907			case 1:
2908				return &v.sizeCache
2909			case 2:
2910				return &v.unknownFields
2911			default:
2912				return nil
2913			}
2914		}
2915		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2916			switch v := v.(*ValueValidation); i {
2917			case 0:
2918				return &v.state
2919			case 1:
2920				return &v.sizeCache
2921			case 2:
2922				return &v.unknownFields
2923			default:
2924				return nil
2925			}
2926		}
2927		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2928			switch v := v.(*WorkflowMetadata); i {
2929			case 0:
2930				return &v.state
2931			case 1:
2932				return &v.sizeCache
2933			case 2:
2934				return &v.unknownFields
2935			default:
2936				return nil
2937			}
2938		}
2939		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2940			switch v := v.(*ClusterOperation); i {
2941			case 0:
2942				return &v.state
2943			case 1:
2944				return &v.sizeCache
2945			case 2:
2946				return &v.unknownFields
2947			default:
2948				return nil
2949			}
2950		}
2951		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2952			switch v := v.(*WorkflowGraph); i {
2953			case 0:
2954				return &v.state
2955			case 1:
2956				return &v.sizeCache
2957			case 2:
2958				return &v.unknownFields
2959			default:
2960				return nil
2961			}
2962		}
2963		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2964			switch v := v.(*WorkflowNode); i {
2965			case 0:
2966				return &v.state
2967			case 1:
2968				return &v.sizeCache
2969			case 2:
2970				return &v.unknownFields
2971			default:
2972				return nil
2973			}
2974		}
2975		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2976			switch v := v.(*CreateWorkflowTemplateRequest); i {
2977			case 0:
2978				return &v.state
2979			case 1:
2980				return &v.sizeCache
2981			case 2:
2982				return &v.unknownFields
2983			default:
2984				return nil
2985			}
2986		}
2987		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2988			switch v := v.(*GetWorkflowTemplateRequest); i {
2989			case 0:
2990				return &v.state
2991			case 1:
2992				return &v.sizeCache
2993			case 2:
2994				return &v.unknownFields
2995			default:
2996				return nil
2997			}
2998		}
2999		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3000			switch v := v.(*InstantiateWorkflowTemplateRequest); i {
3001			case 0:
3002				return &v.state
3003			case 1:
3004				return &v.sizeCache
3005			case 2:
3006				return &v.unknownFields
3007			default:
3008				return nil
3009			}
3010		}
3011		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3012			switch v := v.(*InstantiateInlineWorkflowTemplateRequest); i {
3013			case 0:
3014				return &v.state
3015			case 1:
3016				return &v.sizeCache
3017			case 2:
3018				return &v.unknownFields
3019			default:
3020				return nil
3021			}
3022		}
3023		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3024			switch v := v.(*UpdateWorkflowTemplateRequest); i {
3025			case 0:
3026				return &v.state
3027			case 1:
3028				return &v.sizeCache
3029			case 2:
3030				return &v.unknownFields
3031			default:
3032				return nil
3033			}
3034		}
3035		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3036			switch v := v.(*ListWorkflowTemplatesRequest); i {
3037			case 0:
3038				return &v.state
3039			case 1:
3040				return &v.sizeCache
3041			case 2:
3042				return &v.unknownFields
3043			default:
3044				return nil
3045			}
3046		}
3047		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3048			switch v := v.(*ListWorkflowTemplatesResponse); i {
3049			case 0:
3050				return &v.state
3051			case 1:
3052				return &v.sizeCache
3053			case 2:
3054				return &v.unknownFields
3055			default:
3056				return nil
3057			}
3058		}
3059		file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3060			switch v := v.(*DeleteWorkflowTemplateRequest); i {
3061			case 0:
3062				return &v.state
3063			case 1:
3064				return &v.sizeCache
3065			case 2:
3066				return &v.unknownFields
3067			default:
3068				return nil
3069			}
3070		}
3071	}
3072	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].OneofWrappers = []interface{}{
3073		(*WorkflowTemplatePlacement_ManagedCluster)(nil),
3074		(*WorkflowTemplatePlacement_ClusterSelector)(nil),
3075	}
3076	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].OneofWrappers = []interface{}{
3077		(*OrderedJob_HadoopJob)(nil),
3078		(*OrderedJob_SparkJob)(nil),
3079		(*OrderedJob_PysparkJob)(nil),
3080		(*OrderedJob_HiveJob)(nil),
3081		(*OrderedJob_PigJob)(nil),
3082		(*OrderedJob_SparkRJob)(nil),
3083		(*OrderedJob_SparkSqlJob)(nil),
3084		(*OrderedJob_PrestoJob)(nil),
3085	}
3086	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].OneofWrappers = []interface{}{
3087		(*ParameterValidation_Regex)(nil),
3088		(*ParameterValidation_Values)(nil),
3089	}
3090	type x struct{}
3091	out := protoimpl.TypeBuilder{
3092		File: protoimpl.DescBuilder{
3093			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3094			RawDescriptor: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc,
3095			NumEnums:      2,
3096			NumMessages:   27,
3097			NumExtensions: 0,
3098			NumServices:   1,
3099		},
3100		GoTypes:           file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes,
3101		DependencyIndexes: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs,
3102		EnumInfos:         file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes,
3103		MessageInfos:      file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes,
3104	}.Build()
3105	File_google_cloud_dataproc_v1beta2_workflow_templates_proto = out.File
3106	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = nil
3107	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = nil
3108	file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = nil
3109}
3110
3111// Reference imports to suppress errors if they are not otherwise used.
3112var _ context.Context
3113var _ grpc.ClientConnInterface
3114
3115// This is a compile-time assertion to ensure that this generated file
3116// is compatible with the grpc package it is being compiled against.
3117const _ = grpc.SupportPackageIsVersion6
3118
3119// WorkflowTemplateServiceClient is the client API for WorkflowTemplateService service.
3120//
3121// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3122type WorkflowTemplateServiceClient interface {
3123	// Creates new workflow template.
3124	CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
3125	// Retrieves the latest workflow template.
3126	//
3127	// Can retrieve previously instantiated template by specifying optional
3128	// version parameter.
3129	GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
3130	// Instantiates a template and begins execution.
3131	//
3132	// The returned Operation can be used to track execution of
3133	// workflow by polling
3134	// [operations.get][google.longrunning.Operations.GetOperation].
3135	// The Operation will complete when entire workflow is finished.
3136	//
3137	// The running workflow can be aborted via
3138	// [operations.cancel][google.longrunning.Operations.CancelOperation].
3139	// This will cause any inflight jobs to be cancelled and workflow-owned
3140	// clusters to be deleted.
3141	//
3142	// The [Operation.metadata][google.longrunning.Operation.metadata] will be
3143	// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata).
3144	// Also see [Using
3145	// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
3146	//
3147	// On successful completion,
3148	// [Operation.response][google.longrunning.Operation.response] will be
3149	// [Empty][google.protobuf.Empty].
3150	InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
3151	// Instantiates a template and begins execution.
3152	//
3153	// This method is equivalent to executing the sequence
3154	// [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate],
3155	// [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate],
3156	// [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate].
3157	//
3158	// The returned Operation can be used to track execution of
3159	// workflow by polling
3160	// [operations.get][google.longrunning.Operations.GetOperation].
3161	// The Operation will complete when entire workflow is finished.
3162	//
3163	// The running workflow can be aborted via
3164	// [operations.cancel][google.longrunning.Operations.CancelOperation].
3165	// This will cause any inflight jobs to be cancelled and workflow-owned
3166	// clusters to be deleted.
3167	//
3168	// The [Operation.metadata][google.longrunning.Operation.metadata] will be
3169	// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
3170	// Also see [Using
3171	// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
3172	//
3173	// On successful completion,
3174	// [Operation.response][google.longrunning.Operation.response] will be
3175	// [Empty][google.protobuf.Empty].
3176	InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
3177	// Updates (replaces) workflow template. The updated template
3178	// must contain version that matches the current server version.
3179	UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
3180	// Lists workflows that match the specified filter in the request.
3181	ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error)
3182	// Deletes a workflow template. It does not cancel in-progress workflows.
3183	DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3184}
3185
3186type workflowTemplateServiceClient struct {
3187	cc grpc.ClientConnInterface
3188}
3189
3190func NewWorkflowTemplateServiceClient(cc grpc.ClientConnInterface) WorkflowTemplateServiceClient {
3191	return &workflowTemplateServiceClient{cc}
3192}
3193
3194func (c *workflowTemplateServiceClient) CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
3195	out := new(WorkflowTemplate)
3196	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate", in, out, opts...)
3197	if err != nil {
3198		return nil, err
3199	}
3200	return out, nil
3201}
3202
3203func (c *workflowTemplateServiceClient) GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
3204	out := new(WorkflowTemplate)
3205	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate", in, out, opts...)
3206	if err != nil {
3207		return nil, err
3208	}
3209	return out, nil
3210}
3211
3212func (c *workflowTemplateServiceClient) InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
3213	out := new(longrunning.Operation)
3214	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate", in, out, opts...)
3215	if err != nil {
3216		return nil, err
3217	}
3218	return out, nil
3219}
3220
3221func (c *workflowTemplateServiceClient) InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
3222	out := new(longrunning.Operation)
3223	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate", in, out, opts...)
3224	if err != nil {
3225		return nil, err
3226	}
3227	return out, nil
3228}
3229
3230func (c *workflowTemplateServiceClient) UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
3231	out := new(WorkflowTemplate)
3232	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate", in, out, opts...)
3233	if err != nil {
3234		return nil, err
3235	}
3236	return out, nil
3237}
3238
3239func (c *workflowTemplateServiceClient) ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error) {
3240	out := new(ListWorkflowTemplatesResponse)
3241	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates", in, out, opts...)
3242	if err != nil {
3243		return nil, err
3244	}
3245	return out, nil
3246}
3247
3248func (c *workflowTemplateServiceClient) DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3249	out := new(emptypb.Empty)
3250	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate", in, out, opts...)
3251	if err != nil {
3252		return nil, err
3253	}
3254	return out, nil
3255}
3256
3257// WorkflowTemplateServiceServer is the server API for WorkflowTemplateService service.
3258type WorkflowTemplateServiceServer interface {
3259	// Creates new workflow template.
3260	CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error)
3261	// Retrieves the latest workflow template.
3262	//
3263	// Can retrieve previously instantiated template by specifying optional
3264	// version parameter.
3265	GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error)
3266	// Instantiates a template and begins execution.
3267	//
3268	// The returned Operation can be used to track execution of
3269	// workflow by polling
3270	// [operations.get][google.longrunning.Operations.GetOperation].
3271	// The Operation will complete when entire workflow is finished.
3272	//
3273	// The running workflow can be aborted via
3274	// [operations.cancel][google.longrunning.Operations.CancelOperation].
3275	// This will cause any inflight jobs to be cancelled and workflow-owned
3276	// clusters to be deleted.
3277	//
3278	// The [Operation.metadata][google.longrunning.Operation.metadata] will be
3279	// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata).
3280	// Also see [Using
3281	// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
3282	//
3283	// On successful completion,
3284	// [Operation.response][google.longrunning.Operation.response] will be
3285	// [Empty][google.protobuf.Empty].
3286	InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error)
3287	// Instantiates a template and begins execution.
3288	//
3289	// This method is equivalent to executing the sequence
3290	// [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate],
3291	// [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate],
3292	// [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate].
3293	//
3294	// The returned Operation can be used to track execution of
3295	// workflow by polling
3296	// [operations.get][google.longrunning.Operations.GetOperation].
3297	// The Operation will complete when entire workflow is finished.
3298	//
3299	// The running workflow can be aborted via
3300	// [operations.cancel][google.longrunning.Operations.CancelOperation].
3301	// This will cause any inflight jobs to be cancelled and workflow-owned
3302	// clusters to be deleted.
3303	//
3304	// The [Operation.metadata][google.longrunning.Operation.metadata] will be
3305	// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
3306	// Also see [Using
3307	// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
3308	//
3309	// On successful completion,
3310	// [Operation.response][google.longrunning.Operation.response] will be
3311	// [Empty][google.protobuf.Empty].
3312	InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error)
3313	// Updates (replaces) workflow template. The updated template
3314	// must contain version that matches the current server version.
3315	UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error)
3316	// Lists workflows that match the specified filter in the request.
3317	ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error)
3318	// Deletes a workflow template. It does not cancel in-progress workflows.
3319	DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*emptypb.Empty, error)
3320}
3321
3322// UnimplementedWorkflowTemplateServiceServer can be embedded to have forward compatible implementations.
3323type UnimplementedWorkflowTemplateServiceServer struct {
3324}
3325
3326func (*UnimplementedWorkflowTemplateServiceServer) CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error) {
3327	return nil, status.Errorf(codes.Unimplemented, "method CreateWorkflowTemplate not implemented")
3328}
3329func (*UnimplementedWorkflowTemplateServiceServer) GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error) {
3330	return nil, status.Errorf(codes.Unimplemented, "method GetWorkflowTemplate not implemented")
3331}
3332func (*UnimplementedWorkflowTemplateServiceServer) InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error) {
3333	return nil, status.Errorf(codes.Unimplemented, "method InstantiateWorkflowTemplate not implemented")
3334}
3335func (*UnimplementedWorkflowTemplateServiceServer) InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error) {
3336	return nil, status.Errorf(codes.Unimplemented, "method InstantiateInlineWorkflowTemplate not implemented")
3337}
3338func (*UnimplementedWorkflowTemplateServiceServer) UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error) {
3339	return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkflowTemplate not implemented")
3340}
3341func (*UnimplementedWorkflowTemplateServiceServer) ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error) {
3342	return nil, status.Errorf(codes.Unimplemented, "method ListWorkflowTemplates not implemented")
3343}
3344func (*UnimplementedWorkflowTemplateServiceServer) DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*emptypb.Empty, error) {
3345	return nil, status.Errorf(codes.Unimplemented, "method DeleteWorkflowTemplate not implemented")
3346}
3347
3348func RegisterWorkflowTemplateServiceServer(s *grpc.Server, srv WorkflowTemplateServiceServer) {
3349	s.RegisterService(&_WorkflowTemplateService_serviceDesc, srv)
3350}
3351
3352func _WorkflowTemplateService_CreateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3353	in := new(CreateWorkflowTemplateRequest)
3354	if err := dec(in); err != nil {
3355		return nil, err
3356	}
3357	if interceptor == nil {
3358		return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, in)
3359	}
3360	info := &grpc.UnaryServerInfo{
3361		Server:     srv,
3362		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate",
3363	}
3364	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3365		return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, req.(*CreateWorkflowTemplateRequest))
3366	}
3367	return interceptor(ctx, in, info, handler)
3368}
3369
3370func _WorkflowTemplateService_GetWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3371	in := new(GetWorkflowTemplateRequest)
3372	if err := dec(in); err != nil {
3373		return nil, err
3374	}
3375	if interceptor == nil {
3376		return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, in)
3377	}
3378	info := &grpc.UnaryServerInfo{
3379		Server:     srv,
3380		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate",
3381	}
3382	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3383		return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, req.(*GetWorkflowTemplateRequest))
3384	}
3385	return interceptor(ctx, in, info, handler)
3386}
3387
3388func _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3389	in := new(InstantiateWorkflowTemplateRequest)
3390	if err := dec(in); err != nil {
3391		return nil, err
3392	}
3393	if interceptor == nil {
3394		return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, in)
3395	}
3396	info := &grpc.UnaryServerInfo{
3397		Server:     srv,
3398		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate",
3399	}
3400	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3401		return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, req.(*InstantiateWorkflowTemplateRequest))
3402	}
3403	return interceptor(ctx, in, info, handler)
3404}
3405
3406func _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3407	in := new(InstantiateInlineWorkflowTemplateRequest)
3408	if err := dec(in); err != nil {
3409		return nil, err
3410	}
3411	if interceptor == nil {
3412		return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, in)
3413	}
3414	info := &grpc.UnaryServerInfo{
3415		Server:     srv,
3416		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate",
3417	}
3418	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3419		return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, req.(*InstantiateInlineWorkflowTemplateRequest))
3420	}
3421	return interceptor(ctx, in, info, handler)
3422}
3423
3424func _WorkflowTemplateService_UpdateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3425	in := new(UpdateWorkflowTemplateRequest)
3426	if err := dec(in); err != nil {
3427		return nil, err
3428	}
3429	if interceptor == nil {
3430		return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, in)
3431	}
3432	info := &grpc.UnaryServerInfo{
3433		Server:     srv,
3434		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate",
3435	}
3436	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3437		return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, req.(*UpdateWorkflowTemplateRequest))
3438	}
3439	return interceptor(ctx, in, info, handler)
3440}
3441
3442func _WorkflowTemplateService_ListWorkflowTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3443	in := new(ListWorkflowTemplatesRequest)
3444	if err := dec(in); err != nil {
3445		return nil, err
3446	}
3447	if interceptor == nil {
3448		return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, in)
3449	}
3450	info := &grpc.UnaryServerInfo{
3451		Server:     srv,
3452		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates",
3453	}
3454	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3455		return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, req.(*ListWorkflowTemplatesRequest))
3456	}
3457	return interceptor(ctx, in, info, handler)
3458}
3459
3460func _WorkflowTemplateService_DeleteWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3461	in := new(DeleteWorkflowTemplateRequest)
3462	if err := dec(in); err != nil {
3463		return nil, err
3464	}
3465	if interceptor == nil {
3466		return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, in)
3467	}
3468	info := &grpc.UnaryServerInfo{
3469		Server:     srv,
3470		FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate",
3471	}
3472	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3473		return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, req.(*DeleteWorkflowTemplateRequest))
3474	}
3475	return interceptor(ctx, in, info, handler)
3476}
3477
3478var _WorkflowTemplateService_serviceDesc = grpc.ServiceDesc{
3479	ServiceName: "google.cloud.dataproc.v1beta2.WorkflowTemplateService",
3480	HandlerType: (*WorkflowTemplateServiceServer)(nil),
3481	Methods: []grpc.MethodDesc{
3482		{
3483			MethodName: "CreateWorkflowTemplate",
3484			Handler:    _WorkflowTemplateService_CreateWorkflowTemplate_Handler,
3485		},
3486		{
3487			MethodName: "GetWorkflowTemplate",
3488			Handler:    _WorkflowTemplateService_GetWorkflowTemplate_Handler,
3489		},
3490		{
3491			MethodName: "InstantiateWorkflowTemplate",
3492			Handler:    _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler,
3493		},
3494		{
3495			MethodName: "InstantiateInlineWorkflowTemplate",
3496			Handler:    _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler,
3497		},
3498		{
3499			MethodName: "UpdateWorkflowTemplate",
3500			Handler:    _WorkflowTemplateService_UpdateWorkflowTemplate_Handler,
3501		},
3502		{
3503			MethodName: "ListWorkflowTemplates",
3504			Handler:    _WorkflowTemplateService_ListWorkflowTemplates_Handler,
3505		},
3506		{
3507			MethodName: "DeleteWorkflowTemplate",
3508			Handler:    _WorkflowTemplateService_DeleteWorkflowTemplate_Handler,
3509		},
3510	},
3511	Streams:  []grpc.StreamDesc{},
3512	Metadata: "google/cloud/dataproc/v1beta2/workflow_templates.proto",
3513}
3514