1// Copyright 2021 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.26.0
18// 	protoc        v3.12.2
19// source: google/dataflow/v1beta3/templates.proto
20
21package dataflow
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	status "google.golang.org/genproto/googleapis/rpc/status"
30	grpc "google.golang.org/grpc"
31	codes "google.golang.org/grpc/codes"
32	status1 "google.golang.org/grpc/status"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35)
36
37const (
38	// Verify that this generated code is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
40	// Verify that runtime/protoimpl is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
42)
43
44// ParameterType specifies what kind of input we need for this parameter.
45type ParameterType int32
46
47const (
48	// Default input type.
49	ParameterType_DEFAULT ParameterType = 0
50	// The parameter specifies generic text input.
51	ParameterType_TEXT ParameterType = 1
52	// The parameter specifies a Cloud Storage Bucket to read from.
53	ParameterType_GCS_READ_BUCKET ParameterType = 2
54	// The parameter specifies a Cloud Storage Bucket to write to.
55	ParameterType_GCS_WRITE_BUCKET ParameterType = 3
56	// The parameter specifies a Cloud Storage file path to read from.
57	ParameterType_GCS_READ_FILE ParameterType = 4
58	// The parameter specifies a Cloud Storage file path to write to.
59	ParameterType_GCS_WRITE_FILE ParameterType = 5
60	// The parameter specifies a Cloud Storage folder path to read from.
61	ParameterType_GCS_READ_FOLDER ParameterType = 6
62	// The parameter specifies a Cloud Storage folder to write to.
63	ParameterType_GCS_WRITE_FOLDER ParameterType = 7
64	// The parameter specifies a Pub/Sub Topic.
65	ParameterType_PUBSUB_TOPIC ParameterType = 8
66	// The parameter specifies a Pub/Sub Subscription.
67	ParameterType_PUBSUB_SUBSCRIPTION ParameterType = 9
68)
69
70// Enum value maps for ParameterType.
71var (
72	ParameterType_name = map[int32]string{
73		0: "DEFAULT",
74		1: "TEXT",
75		2: "GCS_READ_BUCKET",
76		3: "GCS_WRITE_BUCKET",
77		4: "GCS_READ_FILE",
78		5: "GCS_WRITE_FILE",
79		6: "GCS_READ_FOLDER",
80		7: "GCS_WRITE_FOLDER",
81		8: "PUBSUB_TOPIC",
82		9: "PUBSUB_SUBSCRIPTION",
83	}
84	ParameterType_value = map[string]int32{
85		"DEFAULT":             0,
86		"TEXT":                1,
87		"GCS_READ_BUCKET":     2,
88		"GCS_WRITE_BUCKET":    3,
89		"GCS_READ_FILE":       4,
90		"GCS_WRITE_FILE":      5,
91		"GCS_READ_FOLDER":     6,
92		"GCS_WRITE_FOLDER":    7,
93		"PUBSUB_TOPIC":        8,
94		"PUBSUB_SUBSCRIPTION": 9,
95	}
96)
97
98func (x ParameterType) Enum() *ParameterType {
99	p := new(ParameterType)
100	*p = x
101	return p
102}
103
104func (x ParameterType) String() string {
105	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
106}
107
108func (ParameterType) Descriptor() protoreflect.EnumDescriptor {
109	return file_google_dataflow_v1beta3_templates_proto_enumTypes[0].Descriptor()
110}
111
112func (ParameterType) Type() protoreflect.EnumType {
113	return &file_google_dataflow_v1beta3_templates_proto_enumTypes[0]
114}
115
116func (x ParameterType) Number() protoreflect.EnumNumber {
117	return protoreflect.EnumNumber(x)
118}
119
120// Deprecated: Use ParameterType.Descriptor instead.
121func (ParameterType) EnumDescriptor() ([]byte, []int) {
122	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{0}
123}
124
125// SDK Language.
126type SDKInfo_Language int32
127
128const (
129	// UNKNOWN Language.
130	SDKInfo_UNKNOWN SDKInfo_Language = 0
131	// Java.
132	SDKInfo_JAVA SDKInfo_Language = 1
133	// Python.
134	SDKInfo_PYTHON SDKInfo_Language = 2
135)
136
137// Enum value maps for SDKInfo_Language.
138var (
139	SDKInfo_Language_name = map[int32]string{
140		0: "UNKNOWN",
141		1: "JAVA",
142		2: "PYTHON",
143	}
144	SDKInfo_Language_value = map[string]int32{
145		"UNKNOWN": 0,
146		"JAVA":    1,
147		"PYTHON":  2,
148	}
149)
150
151func (x SDKInfo_Language) Enum() *SDKInfo_Language {
152	p := new(SDKInfo_Language)
153	*p = x
154	return p
155}
156
157func (x SDKInfo_Language) String() string {
158	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
159}
160
161func (SDKInfo_Language) Descriptor() protoreflect.EnumDescriptor {
162	return file_google_dataflow_v1beta3_templates_proto_enumTypes[1].Descriptor()
163}
164
165func (SDKInfo_Language) Type() protoreflect.EnumType {
166	return &file_google_dataflow_v1beta3_templates_proto_enumTypes[1]
167}
168
169func (x SDKInfo_Language) Number() protoreflect.EnumNumber {
170	return protoreflect.EnumNumber(x)
171}
172
173// Deprecated: Use SDKInfo_Language.Descriptor instead.
174func (SDKInfo_Language) EnumDescriptor() ([]byte, []int) {
175	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{8, 0}
176}
177
178// The various views of a template that may be retrieved.
179type GetTemplateRequest_TemplateView int32
180
181const (
182	// Template view that retrieves only the metadata associated with the
183	// template.
184	GetTemplateRequest_METADATA_ONLY GetTemplateRequest_TemplateView = 0
185)
186
187// Enum value maps for GetTemplateRequest_TemplateView.
188var (
189	GetTemplateRequest_TemplateView_name = map[int32]string{
190		0: "METADATA_ONLY",
191	}
192	GetTemplateRequest_TemplateView_value = map[string]int32{
193		"METADATA_ONLY": 0,
194	}
195)
196
197func (x GetTemplateRequest_TemplateView) Enum() *GetTemplateRequest_TemplateView {
198	p := new(GetTemplateRequest_TemplateView)
199	*p = x
200	return p
201}
202
203func (x GetTemplateRequest_TemplateView) String() string {
204	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
205}
206
207func (GetTemplateRequest_TemplateView) Descriptor() protoreflect.EnumDescriptor {
208	return file_google_dataflow_v1beta3_templates_proto_enumTypes[2].Descriptor()
209}
210
211func (GetTemplateRequest_TemplateView) Type() protoreflect.EnumType {
212	return &file_google_dataflow_v1beta3_templates_proto_enumTypes[2]
213}
214
215func (x GetTemplateRequest_TemplateView) Number() protoreflect.EnumNumber {
216	return protoreflect.EnumNumber(x)
217}
218
219// Deprecated: Use GetTemplateRequest_TemplateView.Descriptor instead.
220func (GetTemplateRequest_TemplateView) EnumDescriptor() ([]byte, []int) {
221	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{11, 0}
222}
223
224// Template Type.
225type GetTemplateResponse_TemplateType int32
226
227const (
228	// Unknown Template Type.
229	GetTemplateResponse_UNKNOWN GetTemplateResponse_TemplateType = 0
230	// Legacy Template.
231	GetTemplateResponse_LEGACY GetTemplateResponse_TemplateType = 1
232	// Flex Template.
233	GetTemplateResponse_FLEX GetTemplateResponse_TemplateType = 2
234)
235
236// Enum value maps for GetTemplateResponse_TemplateType.
237var (
238	GetTemplateResponse_TemplateType_name = map[int32]string{
239		0: "UNKNOWN",
240		1: "LEGACY",
241		2: "FLEX",
242	}
243	GetTemplateResponse_TemplateType_value = map[string]int32{
244		"UNKNOWN": 0,
245		"LEGACY":  1,
246		"FLEX":    2,
247	}
248)
249
250func (x GetTemplateResponse_TemplateType) Enum() *GetTemplateResponse_TemplateType {
251	p := new(GetTemplateResponse_TemplateType)
252	*p = x
253	return p
254}
255
256func (x GetTemplateResponse_TemplateType) String() string {
257	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
258}
259
260func (GetTemplateResponse_TemplateType) Descriptor() protoreflect.EnumDescriptor {
261	return file_google_dataflow_v1beta3_templates_proto_enumTypes[3].Descriptor()
262}
263
264func (GetTemplateResponse_TemplateType) Type() protoreflect.EnumType {
265	return &file_google_dataflow_v1beta3_templates_proto_enumTypes[3]
266}
267
268func (x GetTemplateResponse_TemplateType) Number() protoreflect.EnumNumber {
269	return protoreflect.EnumNumber(x)
270}
271
272// Deprecated: Use GetTemplateResponse_TemplateType.Descriptor instead.
273func (GetTemplateResponse_TemplateType) EnumDescriptor() ([]byte, []int) {
274	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{12, 0}
275}
276
277// Response to the request to launch a job from Flex Template.
278type LaunchFlexTemplateResponse struct {
279	state         protoimpl.MessageState
280	sizeCache     protoimpl.SizeCache
281	unknownFields protoimpl.UnknownFields
282
283	// The job that was launched, if the request was not a dry run and
284	// the job was successfully launched.
285	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
286}
287
288func (x *LaunchFlexTemplateResponse) Reset() {
289	*x = LaunchFlexTemplateResponse{}
290	if protoimpl.UnsafeEnabled {
291		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[0]
292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
293		ms.StoreMessageInfo(mi)
294	}
295}
296
297func (x *LaunchFlexTemplateResponse) String() string {
298	return protoimpl.X.MessageStringOf(x)
299}
300
301func (*LaunchFlexTemplateResponse) ProtoMessage() {}
302
303func (x *LaunchFlexTemplateResponse) ProtoReflect() protoreflect.Message {
304	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[0]
305	if protoimpl.UnsafeEnabled && x != nil {
306		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
307		if ms.LoadMessageInfo() == nil {
308			ms.StoreMessageInfo(mi)
309		}
310		return ms
311	}
312	return mi.MessageOf(x)
313}
314
315// Deprecated: Use LaunchFlexTemplateResponse.ProtoReflect.Descriptor instead.
316func (*LaunchFlexTemplateResponse) Descriptor() ([]byte, []int) {
317	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{0}
318}
319
320func (x *LaunchFlexTemplateResponse) GetJob() *Job {
321	if x != nil {
322		return x.Job
323	}
324	return nil
325}
326
327// Container Spec.
328type ContainerSpec struct {
329	state         protoimpl.MessageState
330	sizeCache     protoimpl.SizeCache
331	unknownFields protoimpl.UnknownFields
332
333	// Name of the docker container image. E.g., gcr.io/project/some-image
334	Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
335	// Metadata describing a template including description and validation rules.
336	Metadata *TemplateMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
337	// Required. SDK info of the Flex Template.
338	SdkInfo *SDKInfo `protobuf:"bytes,3,opt,name=sdk_info,json=sdkInfo,proto3" json:"sdk_info,omitempty"`
339	// Default runtime environment for the job.
340	DefaultEnvironment *FlexTemplateRuntimeEnvironment `protobuf:"bytes,4,opt,name=default_environment,json=defaultEnvironment,proto3" json:"default_environment,omitempty"`
341}
342
343func (x *ContainerSpec) Reset() {
344	*x = ContainerSpec{}
345	if protoimpl.UnsafeEnabled {
346		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[1]
347		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
348		ms.StoreMessageInfo(mi)
349	}
350}
351
352func (x *ContainerSpec) String() string {
353	return protoimpl.X.MessageStringOf(x)
354}
355
356func (*ContainerSpec) ProtoMessage() {}
357
358func (x *ContainerSpec) ProtoReflect() protoreflect.Message {
359	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[1]
360	if protoimpl.UnsafeEnabled && x != nil {
361		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
362		if ms.LoadMessageInfo() == nil {
363			ms.StoreMessageInfo(mi)
364		}
365		return ms
366	}
367	return mi.MessageOf(x)
368}
369
370// Deprecated: Use ContainerSpec.ProtoReflect.Descriptor instead.
371func (*ContainerSpec) Descriptor() ([]byte, []int) {
372	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{1}
373}
374
375func (x *ContainerSpec) GetImage() string {
376	if x != nil {
377		return x.Image
378	}
379	return ""
380}
381
382func (x *ContainerSpec) GetMetadata() *TemplateMetadata {
383	if x != nil {
384		return x.Metadata
385	}
386	return nil
387}
388
389func (x *ContainerSpec) GetSdkInfo() *SDKInfo {
390	if x != nil {
391		return x.SdkInfo
392	}
393	return nil
394}
395
396func (x *ContainerSpec) GetDefaultEnvironment() *FlexTemplateRuntimeEnvironment {
397	if x != nil {
398		return x.DefaultEnvironment
399	}
400	return nil
401}
402
403// Launch FlexTemplate Parameter.
404type LaunchFlexTemplateParameter struct {
405	state         protoimpl.MessageState
406	sizeCache     protoimpl.SizeCache
407	unknownFields protoimpl.UnknownFields
408
409	// Required. The job name to use for the created job. For update job request,
410	// job name should be same as the existing running job.
411	JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
412	// Launch Mechanism.
413	//
414	// Types that are assignable to Template:
415	//	*LaunchFlexTemplateParameter_ContainerSpec
416	//	*LaunchFlexTemplateParameter_ContainerSpecGcsPath
417	Template isLaunchFlexTemplateParameter_Template `protobuf_oneof:"template"`
418	// The parameters for FlexTemplate.
419	// Ex. {"num_workers":"5"}
420	Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
421	// Launch options for this flex template job. This is a common set of options
422	// across languages and templates. This should not be used to pass job
423	// parameters.
424	LaunchOptions map[string]string `protobuf:"bytes,6,rep,name=launch_options,json=launchOptions,proto3" json:"launch_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
425	// The runtime environment for the FlexTemplate job
426	Environment *FlexTemplateRuntimeEnvironment `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"`
427	// Set this to true if you are sending a request to update a running
428	// streaming job. When set, the job name should be the same as the
429	// running job.
430	Update bool `protobuf:"varint,8,opt,name=update,proto3" json:"update,omitempty"`
431	// Use this to pass transform_name_mappings for streaming update jobs.
432	// Ex:{"oldTransformName":"newTransformName",...}'
433	TransformNameMappings map[string]string `protobuf:"bytes,9,rep,name=transform_name_mappings,json=transformNameMappings,proto3" json:"transform_name_mappings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
434}
435
436func (x *LaunchFlexTemplateParameter) Reset() {
437	*x = LaunchFlexTemplateParameter{}
438	if protoimpl.UnsafeEnabled {
439		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[2]
440		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
441		ms.StoreMessageInfo(mi)
442	}
443}
444
445func (x *LaunchFlexTemplateParameter) String() string {
446	return protoimpl.X.MessageStringOf(x)
447}
448
449func (*LaunchFlexTemplateParameter) ProtoMessage() {}
450
451func (x *LaunchFlexTemplateParameter) ProtoReflect() protoreflect.Message {
452	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[2]
453	if protoimpl.UnsafeEnabled && x != nil {
454		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
455		if ms.LoadMessageInfo() == nil {
456			ms.StoreMessageInfo(mi)
457		}
458		return ms
459	}
460	return mi.MessageOf(x)
461}
462
463// Deprecated: Use LaunchFlexTemplateParameter.ProtoReflect.Descriptor instead.
464func (*LaunchFlexTemplateParameter) Descriptor() ([]byte, []int) {
465	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{2}
466}
467
468func (x *LaunchFlexTemplateParameter) GetJobName() string {
469	if x != nil {
470		return x.JobName
471	}
472	return ""
473}
474
475func (m *LaunchFlexTemplateParameter) GetTemplate() isLaunchFlexTemplateParameter_Template {
476	if m != nil {
477		return m.Template
478	}
479	return nil
480}
481
482func (x *LaunchFlexTemplateParameter) GetContainerSpec() *ContainerSpec {
483	if x, ok := x.GetTemplate().(*LaunchFlexTemplateParameter_ContainerSpec); ok {
484		return x.ContainerSpec
485	}
486	return nil
487}
488
489func (x *LaunchFlexTemplateParameter) GetContainerSpecGcsPath() string {
490	if x, ok := x.GetTemplate().(*LaunchFlexTemplateParameter_ContainerSpecGcsPath); ok {
491		return x.ContainerSpecGcsPath
492	}
493	return ""
494}
495
496func (x *LaunchFlexTemplateParameter) GetParameters() map[string]string {
497	if x != nil {
498		return x.Parameters
499	}
500	return nil
501}
502
503func (x *LaunchFlexTemplateParameter) GetLaunchOptions() map[string]string {
504	if x != nil {
505		return x.LaunchOptions
506	}
507	return nil
508}
509
510func (x *LaunchFlexTemplateParameter) GetEnvironment() *FlexTemplateRuntimeEnvironment {
511	if x != nil {
512		return x.Environment
513	}
514	return nil
515}
516
517func (x *LaunchFlexTemplateParameter) GetUpdate() bool {
518	if x != nil {
519		return x.Update
520	}
521	return false
522}
523
524func (x *LaunchFlexTemplateParameter) GetTransformNameMappings() map[string]string {
525	if x != nil {
526		return x.TransformNameMappings
527	}
528	return nil
529}
530
531type isLaunchFlexTemplateParameter_Template interface {
532	isLaunchFlexTemplateParameter_Template()
533}
534
535type LaunchFlexTemplateParameter_ContainerSpec struct {
536	// Spec about the container image to launch.
537	ContainerSpec *ContainerSpec `protobuf:"bytes,4,opt,name=container_spec,json=containerSpec,proto3,oneof"`
538}
539
540type LaunchFlexTemplateParameter_ContainerSpecGcsPath struct {
541	// Cloud Storage path to a file with json serialized ContainerSpec as
542	// content.
543	ContainerSpecGcsPath string `protobuf:"bytes,5,opt,name=container_spec_gcs_path,json=containerSpecGcsPath,proto3,oneof"`
544}
545
546func (*LaunchFlexTemplateParameter_ContainerSpec) isLaunchFlexTemplateParameter_Template() {}
547
548func (*LaunchFlexTemplateParameter_ContainerSpecGcsPath) isLaunchFlexTemplateParameter_Template() {}
549
550// The environment values to be set at runtime for flex template.
551type FlexTemplateRuntimeEnvironment struct {
552	state         protoimpl.MessageState
553	sizeCache     protoimpl.SizeCache
554	unknownFields protoimpl.UnknownFields
555
556	// The initial number of Google Compute Engine instances for the job.
557	NumWorkers int32 `protobuf:"varint,1,opt,name=num_workers,json=numWorkers,proto3" json:"num_workers,omitempty"`
558	// The maximum number of Google Compute Engine instances to be made
559	// available to your pipeline during execution, from 1 to 1000.
560	MaxWorkers int32 `protobuf:"varint,2,opt,name=max_workers,json=maxWorkers,proto3" json:"max_workers,omitempty"`
561	// The Compute Engine [availability
562	// zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)
563	// for launching worker instances to run your pipeline.
564	// In the future, worker_zone will take precedence.
565	Zone string `protobuf:"bytes,3,opt,name=zone,proto3" json:"zone,omitempty"`
566	// The email address of the service account to run the job as.
567	ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
568	// The Cloud Storage path to use for temporary files.
569	// Must be a valid Cloud Storage URL, beginning with `gs://`.
570	TempLocation string `protobuf:"bytes,5,opt,name=temp_location,json=tempLocation,proto3" json:"temp_location,omitempty"`
571	// The machine type to use for the job. Defaults to the value from the
572	// template if not specified.
573	MachineType string `protobuf:"bytes,6,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"`
574	// Additional experiment flags for the job.
575	AdditionalExperiments []string `protobuf:"bytes,7,rep,name=additional_experiments,json=additionalExperiments,proto3" json:"additional_experiments,omitempty"`
576	// Network to which VMs will be assigned.  If empty or unspecified,
577	// the service will use the network "default".
578	Network string `protobuf:"bytes,8,opt,name=network,proto3" json:"network,omitempty"`
579	// Subnetwork to which VMs will be assigned, if desired. You can specify a
580	// subnetwork using either a complete URL or an abbreviated path. Expected to
581	// be of the form
582	// "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
583	// or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in
584	// a Shared VPC network, you must use the complete URL.
585	Subnetwork string `protobuf:"bytes,9,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
586	// Additional user labels to be specified for the job.
587	// Keys and values must follow the restrictions specified in the [labeling
588	// restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
589	// page.
590	// An object containing a list of "key": value pairs.
591	// Example: { "name": "wrench", "mass": "1kg", "count": "3" }.
592	AdditionalUserLabels map[string]string `protobuf:"bytes,10,rep,name=additional_user_labels,json=additionalUserLabels,proto3" json:"additional_user_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
593	// Name for the Cloud KMS key for the job.
594	// Key format is:
595	// projects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key>
596	KmsKeyName string `protobuf:"bytes,11,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
597	// Configuration for VM IPs.
598	IpConfiguration WorkerIPAddressConfiguration `protobuf:"varint,12,opt,name=ip_configuration,json=ipConfiguration,proto3,enum=google.dataflow.v1beta3.WorkerIPAddressConfiguration" json:"ip_configuration,omitempty"`
599	// The Compute Engine region
600	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
601	// which worker processing should occur, e.g. "us-west1". Mutually exclusive
602	// with worker_zone. If neither worker_region nor worker_zone is specified,
603	// default to the control plane's region.
604	WorkerRegion string `protobuf:"bytes,13,opt,name=worker_region,json=workerRegion,proto3" json:"worker_region,omitempty"`
605	// The Compute Engine zone
606	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
607	// which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
608	// with worker_region. If neither worker_region nor worker_zone is specified,
609	// a zone in the control plane's region is chosen based on available capacity.
610	// If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.
611	WorkerZone string `protobuf:"bytes,14,opt,name=worker_zone,json=workerZone,proto3" json:"worker_zone,omitempty"`
612	// Whether to enable Streaming Engine for the job.
613	EnableStreamingEngine bool `protobuf:"varint,15,opt,name=enable_streaming_engine,json=enableStreamingEngine,proto3" json:"enable_streaming_engine,omitempty"`
614	// Set FlexRS goal for the job.
615	// https://cloud.google.com/dataflow/docs/guides/flexrs
616	FlexrsGoal FlexResourceSchedulingGoal `protobuf:"varint,16,opt,name=flexrs_goal,json=flexrsGoal,proto3,enum=google.dataflow.v1beta3.FlexResourceSchedulingGoal" json:"flexrs_goal,omitempty"`
617	// The Cloud Storage path for staging local files.
618	// Must be a valid Cloud Storage URL, beginning with `gs://`.
619	StagingLocation string `protobuf:"bytes,17,opt,name=staging_location,json=stagingLocation,proto3" json:"staging_location,omitempty"`
620	// Docker registry location of container image to use for the 'worker harness.
621	// Default is the container for the version of the SDK. Note this field is
622	// only valid for portable pipelines.
623	SdkContainerImage string `protobuf:"bytes,18,opt,name=sdk_container_image,json=sdkContainerImage,proto3" json:"sdk_container_image,omitempty"`
624}
625
626func (x *FlexTemplateRuntimeEnvironment) Reset() {
627	*x = FlexTemplateRuntimeEnvironment{}
628	if protoimpl.UnsafeEnabled {
629		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[3]
630		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
631		ms.StoreMessageInfo(mi)
632	}
633}
634
635func (x *FlexTemplateRuntimeEnvironment) String() string {
636	return protoimpl.X.MessageStringOf(x)
637}
638
639func (*FlexTemplateRuntimeEnvironment) ProtoMessage() {}
640
641func (x *FlexTemplateRuntimeEnvironment) ProtoReflect() protoreflect.Message {
642	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[3]
643	if protoimpl.UnsafeEnabled && x != nil {
644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
645		if ms.LoadMessageInfo() == nil {
646			ms.StoreMessageInfo(mi)
647		}
648		return ms
649	}
650	return mi.MessageOf(x)
651}
652
653// Deprecated: Use FlexTemplateRuntimeEnvironment.ProtoReflect.Descriptor instead.
654func (*FlexTemplateRuntimeEnvironment) Descriptor() ([]byte, []int) {
655	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{3}
656}
657
658func (x *FlexTemplateRuntimeEnvironment) GetNumWorkers() int32 {
659	if x != nil {
660		return x.NumWorkers
661	}
662	return 0
663}
664
665func (x *FlexTemplateRuntimeEnvironment) GetMaxWorkers() int32 {
666	if x != nil {
667		return x.MaxWorkers
668	}
669	return 0
670}
671
672func (x *FlexTemplateRuntimeEnvironment) GetZone() string {
673	if x != nil {
674		return x.Zone
675	}
676	return ""
677}
678
679func (x *FlexTemplateRuntimeEnvironment) GetServiceAccountEmail() string {
680	if x != nil {
681		return x.ServiceAccountEmail
682	}
683	return ""
684}
685
686func (x *FlexTemplateRuntimeEnvironment) GetTempLocation() string {
687	if x != nil {
688		return x.TempLocation
689	}
690	return ""
691}
692
693func (x *FlexTemplateRuntimeEnvironment) GetMachineType() string {
694	if x != nil {
695		return x.MachineType
696	}
697	return ""
698}
699
700func (x *FlexTemplateRuntimeEnvironment) GetAdditionalExperiments() []string {
701	if x != nil {
702		return x.AdditionalExperiments
703	}
704	return nil
705}
706
707func (x *FlexTemplateRuntimeEnvironment) GetNetwork() string {
708	if x != nil {
709		return x.Network
710	}
711	return ""
712}
713
714func (x *FlexTemplateRuntimeEnvironment) GetSubnetwork() string {
715	if x != nil {
716		return x.Subnetwork
717	}
718	return ""
719}
720
721func (x *FlexTemplateRuntimeEnvironment) GetAdditionalUserLabels() map[string]string {
722	if x != nil {
723		return x.AdditionalUserLabels
724	}
725	return nil
726}
727
728func (x *FlexTemplateRuntimeEnvironment) GetKmsKeyName() string {
729	if x != nil {
730		return x.KmsKeyName
731	}
732	return ""
733}
734
735func (x *FlexTemplateRuntimeEnvironment) GetIpConfiguration() WorkerIPAddressConfiguration {
736	if x != nil {
737		return x.IpConfiguration
738	}
739	return WorkerIPAddressConfiguration_WORKER_IP_UNSPECIFIED
740}
741
742func (x *FlexTemplateRuntimeEnvironment) GetWorkerRegion() string {
743	if x != nil {
744		return x.WorkerRegion
745	}
746	return ""
747}
748
749func (x *FlexTemplateRuntimeEnvironment) GetWorkerZone() string {
750	if x != nil {
751		return x.WorkerZone
752	}
753	return ""
754}
755
756func (x *FlexTemplateRuntimeEnvironment) GetEnableStreamingEngine() bool {
757	if x != nil {
758		return x.EnableStreamingEngine
759	}
760	return false
761}
762
763func (x *FlexTemplateRuntimeEnvironment) GetFlexrsGoal() FlexResourceSchedulingGoal {
764	if x != nil {
765		return x.FlexrsGoal
766	}
767	return FlexResourceSchedulingGoal_FLEXRS_UNSPECIFIED
768}
769
770func (x *FlexTemplateRuntimeEnvironment) GetStagingLocation() string {
771	if x != nil {
772		return x.StagingLocation
773	}
774	return ""
775}
776
777func (x *FlexTemplateRuntimeEnvironment) GetSdkContainerImage() string {
778	if x != nil {
779		return x.SdkContainerImage
780	}
781	return ""
782}
783
784// A request to launch a Cloud Dataflow job from a FlexTemplate.
785type LaunchFlexTemplateRequest struct {
786	state         protoimpl.MessageState
787	sizeCache     protoimpl.SizeCache
788	unknownFields protoimpl.UnknownFields
789
790	// Required. The ID of the Cloud Platform project that the job belongs to.
791	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
792	// Required. Parameter to launch a job form Flex Template.
793	LaunchParameter *LaunchFlexTemplateParameter `protobuf:"bytes,2,opt,name=launch_parameter,json=launchParameter,proto3" json:"launch_parameter,omitempty"`
794	// Required. The [regional endpoint]
795	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to
796	// which to direct the request. E.g., us-central1, us-west1.
797	Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
798	// If true, the request is validated but not actually executed.
799	// Defaults to false.
800	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
801}
802
803func (x *LaunchFlexTemplateRequest) Reset() {
804	*x = LaunchFlexTemplateRequest{}
805	if protoimpl.UnsafeEnabled {
806		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[4]
807		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
808		ms.StoreMessageInfo(mi)
809	}
810}
811
812func (x *LaunchFlexTemplateRequest) String() string {
813	return protoimpl.X.MessageStringOf(x)
814}
815
816func (*LaunchFlexTemplateRequest) ProtoMessage() {}
817
818func (x *LaunchFlexTemplateRequest) ProtoReflect() protoreflect.Message {
819	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[4]
820	if protoimpl.UnsafeEnabled && x != nil {
821		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
822		if ms.LoadMessageInfo() == nil {
823			ms.StoreMessageInfo(mi)
824		}
825		return ms
826	}
827	return mi.MessageOf(x)
828}
829
830// Deprecated: Use LaunchFlexTemplateRequest.ProtoReflect.Descriptor instead.
831func (*LaunchFlexTemplateRequest) Descriptor() ([]byte, []int) {
832	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{4}
833}
834
835func (x *LaunchFlexTemplateRequest) GetProjectId() string {
836	if x != nil {
837		return x.ProjectId
838	}
839	return ""
840}
841
842func (x *LaunchFlexTemplateRequest) GetLaunchParameter() *LaunchFlexTemplateParameter {
843	if x != nil {
844		return x.LaunchParameter
845	}
846	return nil
847}
848
849func (x *LaunchFlexTemplateRequest) GetLocation() string {
850	if x != nil {
851		return x.Location
852	}
853	return ""
854}
855
856func (x *LaunchFlexTemplateRequest) GetValidateOnly() bool {
857	if x != nil {
858		return x.ValidateOnly
859	}
860	return false
861}
862
863// The environment values to set at runtime.
864type RuntimeEnvironment struct {
865	state         protoimpl.MessageState
866	sizeCache     protoimpl.SizeCache
867	unknownFields protoimpl.UnknownFields
868
869	// The initial number of Google Compute Engine instnaces for the job.
870	NumWorkers int32 `protobuf:"varint,11,opt,name=num_workers,json=numWorkers,proto3" json:"num_workers,omitempty"`
871	// The maximum number of Google Compute Engine instances to be made
872	// available to your pipeline during execution, from 1 to 1000.
873	MaxWorkers int32 `protobuf:"varint,1,opt,name=max_workers,json=maxWorkers,proto3" json:"max_workers,omitempty"`
874	// The Compute Engine [availability
875	// zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)
876	// for launching worker instances to run your pipeline.
877	// In the future, worker_zone will take precedence.
878	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
879	// The email address of the service account to run the job as.
880	ServiceAccountEmail string `protobuf:"bytes,3,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
881	// The Cloud Storage path to use for temporary files.
882	// Must be a valid Cloud Storage URL, beginning with `gs://`.
883	TempLocation string `protobuf:"bytes,4,opt,name=temp_location,json=tempLocation,proto3" json:"temp_location,omitempty"`
884	// Whether to bypass the safety checks for the job's temporary directory.
885	// Use with caution.
886	BypassTempDirValidation bool `protobuf:"varint,5,opt,name=bypass_temp_dir_validation,json=bypassTempDirValidation,proto3" json:"bypass_temp_dir_validation,omitempty"`
887	// The machine type to use for the job. Defaults to the value from the
888	// template if not specified.
889	MachineType string `protobuf:"bytes,6,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"`
890	// Additional experiment flags for the job.
891	AdditionalExperiments []string `protobuf:"bytes,7,rep,name=additional_experiments,json=additionalExperiments,proto3" json:"additional_experiments,omitempty"`
892	// Network to which VMs will be assigned.  If empty or unspecified,
893	// the service will use the network "default".
894	Network string `protobuf:"bytes,8,opt,name=network,proto3" json:"network,omitempty"`
895	// Subnetwork to which VMs will be assigned, if desired. You can specify a
896	// subnetwork using either a complete URL or an abbreviated path. Expected to
897	// be of the form
898	// "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
899	// or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in
900	// a Shared VPC network, you must use the complete URL.
901	Subnetwork string `protobuf:"bytes,9,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
902	// Additional user labels to be specified for the job.
903	// Keys and values should follow the restrictions specified in the [labeling
904	// restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
905	// page.
906	// An object containing a list of "key": value pairs.
907	// Example: { "name": "wrench", "mass": "1kg", "count": "3" }.
908	AdditionalUserLabels map[string]string `protobuf:"bytes,10,rep,name=additional_user_labels,json=additionalUserLabels,proto3" json:"additional_user_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
909	// Name for the Cloud KMS key for the job.
910	// Key format is:
911	// projects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key>
912	KmsKeyName string `protobuf:"bytes,12,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
913	// Configuration for VM IPs.
914	IpConfiguration WorkerIPAddressConfiguration `protobuf:"varint,14,opt,name=ip_configuration,json=ipConfiguration,proto3,enum=google.dataflow.v1beta3.WorkerIPAddressConfiguration" json:"ip_configuration,omitempty"`
915	// The Compute Engine region
916	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
917	// which worker processing should occur, e.g. "us-west1". Mutually exclusive
918	// with worker_zone. If neither worker_region nor worker_zone is specified,
919	// default to the control plane's region.
920	WorkerRegion string `protobuf:"bytes,15,opt,name=worker_region,json=workerRegion,proto3" json:"worker_region,omitempty"`
921	// The Compute Engine zone
922	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
923	// which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
924	// with worker_region. If neither worker_region nor worker_zone is specified,
925	// a zone in the control plane's region is chosen based on available capacity.
926	// If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.
927	WorkerZone string `protobuf:"bytes,16,opt,name=worker_zone,json=workerZone,proto3" json:"worker_zone,omitempty"`
928	// Whether to enable Streaming Engine for the job.
929	EnableStreamingEngine bool `protobuf:"varint,17,opt,name=enable_streaming_engine,json=enableStreamingEngine,proto3" json:"enable_streaming_engine,omitempty"`
930}
931
932func (x *RuntimeEnvironment) Reset() {
933	*x = RuntimeEnvironment{}
934	if protoimpl.UnsafeEnabled {
935		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[5]
936		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
937		ms.StoreMessageInfo(mi)
938	}
939}
940
941func (x *RuntimeEnvironment) String() string {
942	return protoimpl.X.MessageStringOf(x)
943}
944
945func (*RuntimeEnvironment) ProtoMessage() {}
946
947func (x *RuntimeEnvironment) ProtoReflect() protoreflect.Message {
948	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[5]
949	if protoimpl.UnsafeEnabled && x != nil {
950		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
951		if ms.LoadMessageInfo() == nil {
952			ms.StoreMessageInfo(mi)
953		}
954		return ms
955	}
956	return mi.MessageOf(x)
957}
958
959// Deprecated: Use RuntimeEnvironment.ProtoReflect.Descriptor instead.
960func (*RuntimeEnvironment) Descriptor() ([]byte, []int) {
961	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{5}
962}
963
964func (x *RuntimeEnvironment) GetNumWorkers() int32 {
965	if x != nil {
966		return x.NumWorkers
967	}
968	return 0
969}
970
971func (x *RuntimeEnvironment) GetMaxWorkers() int32 {
972	if x != nil {
973		return x.MaxWorkers
974	}
975	return 0
976}
977
978func (x *RuntimeEnvironment) GetZone() string {
979	if x != nil {
980		return x.Zone
981	}
982	return ""
983}
984
985func (x *RuntimeEnvironment) GetServiceAccountEmail() string {
986	if x != nil {
987		return x.ServiceAccountEmail
988	}
989	return ""
990}
991
992func (x *RuntimeEnvironment) GetTempLocation() string {
993	if x != nil {
994		return x.TempLocation
995	}
996	return ""
997}
998
999func (x *RuntimeEnvironment) GetBypassTempDirValidation() bool {
1000	if x != nil {
1001		return x.BypassTempDirValidation
1002	}
1003	return false
1004}
1005
1006func (x *RuntimeEnvironment) GetMachineType() string {
1007	if x != nil {
1008		return x.MachineType
1009	}
1010	return ""
1011}
1012
1013func (x *RuntimeEnvironment) GetAdditionalExperiments() []string {
1014	if x != nil {
1015		return x.AdditionalExperiments
1016	}
1017	return nil
1018}
1019
1020func (x *RuntimeEnvironment) GetNetwork() string {
1021	if x != nil {
1022		return x.Network
1023	}
1024	return ""
1025}
1026
1027func (x *RuntimeEnvironment) GetSubnetwork() string {
1028	if x != nil {
1029		return x.Subnetwork
1030	}
1031	return ""
1032}
1033
1034func (x *RuntimeEnvironment) GetAdditionalUserLabels() map[string]string {
1035	if x != nil {
1036		return x.AdditionalUserLabels
1037	}
1038	return nil
1039}
1040
1041func (x *RuntimeEnvironment) GetKmsKeyName() string {
1042	if x != nil {
1043		return x.KmsKeyName
1044	}
1045	return ""
1046}
1047
1048func (x *RuntimeEnvironment) GetIpConfiguration() WorkerIPAddressConfiguration {
1049	if x != nil {
1050		return x.IpConfiguration
1051	}
1052	return WorkerIPAddressConfiguration_WORKER_IP_UNSPECIFIED
1053}
1054
1055func (x *RuntimeEnvironment) GetWorkerRegion() string {
1056	if x != nil {
1057		return x.WorkerRegion
1058	}
1059	return ""
1060}
1061
1062func (x *RuntimeEnvironment) GetWorkerZone() string {
1063	if x != nil {
1064		return x.WorkerZone
1065	}
1066	return ""
1067}
1068
1069func (x *RuntimeEnvironment) GetEnableStreamingEngine() bool {
1070	if x != nil {
1071		return x.EnableStreamingEngine
1072	}
1073	return false
1074}
1075
1076// Metadata for a specific parameter.
1077type ParameterMetadata struct {
1078	state         protoimpl.MessageState
1079	sizeCache     protoimpl.SizeCache
1080	unknownFields protoimpl.UnknownFields
1081
1082	// Required. The name of the parameter.
1083	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1084	// Required. The label to display for the parameter.
1085	Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
1086	// Required. The help text to display for the parameter.
1087	HelpText string `protobuf:"bytes,3,opt,name=help_text,json=helpText,proto3" json:"help_text,omitempty"`
1088	// Optional. Whether the parameter is optional. Defaults to false.
1089	IsOptional bool `protobuf:"varint,4,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"`
1090	// Optional. Regexes that the parameter must match.
1091	Regexes []string `protobuf:"bytes,5,rep,name=regexes,proto3" json:"regexes,omitempty"`
1092	// Optional. The type of the parameter.
1093	// Used for selecting input picker.
1094	ParamType ParameterType `protobuf:"varint,6,opt,name=param_type,json=paramType,proto3,enum=google.dataflow.v1beta3.ParameterType" json:"param_type,omitempty"`
1095	// Optional. Additional metadata for describing this parameter.
1096	CustomMetadata map[string]string `protobuf:"bytes,7,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1097}
1098
1099func (x *ParameterMetadata) Reset() {
1100	*x = ParameterMetadata{}
1101	if protoimpl.UnsafeEnabled {
1102		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[6]
1103		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1104		ms.StoreMessageInfo(mi)
1105	}
1106}
1107
1108func (x *ParameterMetadata) String() string {
1109	return protoimpl.X.MessageStringOf(x)
1110}
1111
1112func (*ParameterMetadata) ProtoMessage() {}
1113
1114func (x *ParameterMetadata) ProtoReflect() protoreflect.Message {
1115	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[6]
1116	if protoimpl.UnsafeEnabled && x != nil {
1117		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1118		if ms.LoadMessageInfo() == nil {
1119			ms.StoreMessageInfo(mi)
1120		}
1121		return ms
1122	}
1123	return mi.MessageOf(x)
1124}
1125
1126// Deprecated: Use ParameterMetadata.ProtoReflect.Descriptor instead.
1127func (*ParameterMetadata) Descriptor() ([]byte, []int) {
1128	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{6}
1129}
1130
1131func (x *ParameterMetadata) GetName() string {
1132	if x != nil {
1133		return x.Name
1134	}
1135	return ""
1136}
1137
1138func (x *ParameterMetadata) GetLabel() string {
1139	if x != nil {
1140		return x.Label
1141	}
1142	return ""
1143}
1144
1145func (x *ParameterMetadata) GetHelpText() string {
1146	if x != nil {
1147		return x.HelpText
1148	}
1149	return ""
1150}
1151
1152func (x *ParameterMetadata) GetIsOptional() bool {
1153	if x != nil {
1154		return x.IsOptional
1155	}
1156	return false
1157}
1158
1159func (x *ParameterMetadata) GetRegexes() []string {
1160	if x != nil {
1161		return x.Regexes
1162	}
1163	return nil
1164}
1165
1166func (x *ParameterMetadata) GetParamType() ParameterType {
1167	if x != nil {
1168		return x.ParamType
1169	}
1170	return ParameterType_DEFAULT
1171}
1172
1173func (x *ParameterMetadata) GetCustomMetadata() map[string]string {
1174	if x != nil {
1175		return x.CustomMetadata
1176	}
1177	return nil
1178}
1179
1180// Metadata describing a template.
1181type TemplateMetadata struct {
1182	state         protoimpl.MessageState
1183	sizeCache     protoimpl.SizeCache
1184	unknownFields protoimpl.UnknownFields
1185
1186	// Required. The name of the template.
1187	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1188	// Optional. A description of the template.
1189	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
1190	// The parameters for the template.
1191	Parameters []*ParameterMetadata `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"`
1192}
1193
1194func (x *TemplateMetadata) Reset() {
1195	*x = TemplateMetadata{}
1196	if protoimpl.UnsafeEnabled {
1197		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[7]
1198		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1199		ms.StoreMessageInfo(mi)
1200	}
1201}
1202
1203func (x *TemplateMetadata) String() string {
1204	return protoimpl.X.MessageStringOf(x)
1205}
1206
1207func (*TemplateMetadata) ProtoMessage() {}
1208
1209func (x *TemplateMetadata) ProtoReflect() protoreflect.Message {
1210	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[7]
1211	if protoimpl.UnsafeEnabled && x != nil {
1212		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1213		if ms.LoadMessageInfo() == nil {
1214			ms.StoreMessageInfo(mi)
1215		}
1216		return ms
1217	}
1218	return mi.MessageOf(x)
1219}
1220
1221// Deprecated: Use TemplateMetadata.ProtoReflect.Descriptor instead.
1222func (*TemplateMetadata) Descriptor() ([]byte, []int) {
1223	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{7}
1224}
1225
1226func (x *TemplateMetadata) GetName() string {
1227	if x != nil {
1228		return x.Name
1229	}
1230	return ""
1231}
1232
1233func (x *TemplateMetadata) GetDescription() string {
1234	if x != nil {
1235		return x.Description
1236	}
1237	return ""
1238}
1239
1240func (x *TemplateMetadata) GetParameters() []*ParameterMetadata {
1241	if x != nil {
1242		return x.Parameters
1243	}
1244	return nil
1245}
1246
1247// SDK Information.
1248type SDKInfo struct {
1249	state         protoimpl.MessageState
1250	sizeCache     protoimpl.SizeCache
1251	unknownFields protoimpl.UnknownFields
1252
1253	// Required. The SDK Language.
1254	Language SDKInfo_Language `protobuf:"varint,1,opt,name=language,proto3,enum=google.dataflow.v1beta3.SDKInfo_Language" json:"language,omitempty"`
1255	// Optional. The SDK version.
1256	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
1257}
1258
1259func (x *SDKInfo) Reset() {
1260	*x = SDKInfo{}
1261	if protoimpl.UnsafeEnabled {
1262		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[8]
1263		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1264		ms.StoreMessageInfo(mi)
1265	}
1266}
1267
1268func (x *SDKInfo) String() string {
1269	return protoimpl.X.MessageStringOf(x)
1270}
1271
1272func (*SDKInfo) ProtoMessage() {}
1273
1274func (x *SDKInfo) ProtoReflect() protoreflect.Message {
1275	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[8]
1276	if protoimpl.UnsafeEnabled && x != nil {
1277		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1278		if ms.LoadMessageInfo() == nil {
1279			ms.StoreMessageInfo(mi)
1280		}
1281		return ms
1282	}
1283	return mi.MessageOf(x)
1284}
1285
1286// Deprecated: Use SDKInfo.ProtoReflect.Descriptor instead.
1287func (*SDKInfo) Descriptor() ([]byte, []int) {
1288	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{8}
1289}
1290
1291func (x *SDKInfo) GetLanguage() SDKInfo_Language {
1292	if x != nil {
1293		return x.Language
1294	}
1295	return SDKInfo_UNKNOWN
1296}
1297
1298func (x *SDKInfo) GetVersion() string {
1299	if x != nil {
1300		return x.Version
1301	}
1302	return ""
1303}
1304
1305// RuntimeMetadata describing a runtime environment.
1306type RuntimeMetadata struct {
1307	state         protoimpl.MessageState
1308	sizeCache     protoimpl.SizeCache
1309	unknownFields protoimpl.UnknownFields
1310
1311	// SDK Info for the template.
1312	SdkInfo *SDKInfo `protobuf:"bytes,1,opt,name=sdk_info,json=sdkInfo,proto3" json:"sdk_info,omitempty"`
1313	// The parameters for the template.
1314	Parameters []*ParameterMetadata `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"`
1315}
1316
1317func (x *RuntimeMetadata) Reset() {
1318	*x = RuntimeMetadata{}
1319	if protoimpl.UnsafeEnabled {
1320		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[9]
1321		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1322		ms.StoreMessageInfo(mi)
1323	}
1324}
1325
1326func (x *RuntimeMetadata) String() string {
1327	return protoimpl.X.MessageStringOf(x)
1328}
1329
1330func (*RuntimeMetadata) ProtoMessage() {}
1331
1332func (x *RuntimeMetadata) ProtoReflect() protoreflect.Message {
1333	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[9]
1334	if protoimpl.UnsafeEnabled && x != nil {
1335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336		if ms.LoadMessageInfo() == nil {
1337			ms.StoreMessageInfo(mi)
1338		}
1339		return ms
1340	}
1341	return mi.MessageOf(x)
1342}
1343
1344// Deprecated: Use RuntimeMetadata.ProtoReflect.Descriptor instead.
1345func (*RuntimeMetadata) Descriptor() ([]byte, []int) {
1346	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{9}
1347}
1348
1349func (x *RuntimeMetadata) GetSdkInfo() *SDKInfo {
1350	if x != nil {
1351		return x.SdkInfo
1352	}
1353	return nil
1354}
1355
1356func (x *RuntimeMetadata) GetParameters() []*ParameterMetadata {
1357	if x != nil {
1358		return x.Parameters
1359	}
1360	return nil
1361}
1362
1363// A request to create a Cloud Dataflow job from a template.
1364type CreateJobFromTemplateRequest struct {
1365	state         protoimpl.MessageState
1366	sizeCache     protoimpl.SizeCache
1367	unknownFields protoimpl.UnknownFields
1368
1369	// Required. The ID of the Cloud Platform project that the job belongs to.
1370	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1371	// Required. The job name to use for the created job.
1372	JobName string `protobuf:"bytes,4,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
1373	// The template from which to create the job.
1374	//
1375	// Types that are assignable to Template:
1376	//	*CreateJobFromTemplateRequest_GcsPath
1377	Template isCreateJobFromTemplateRequest_Template `protobuf_oneof:"template"`
1378	// The runtime parameters to pass to the job.
1379	Parameters map[string]string `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1380	// The runtime environment for the job.
1381	Environment *RuntimeEnvironment `protobuf:"bytes,5,opt,name=environment,proto3" json:"environment,omitempty"`
1382	// The [regional endpoint]
1383	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to
1384	// which to direct the request.
1385	Location string `protobuf:"bytes,6,opt,name=location,proto3" json:"location,omitempty"`
1386}
1387
1388func (x *CreateJobFromTemplateRequest) Reset() {
1389	*x = CreateJobFromTemplateRequest{}
1390	if protoimpl.UnsafeEnabled {
1391		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[10]
1392		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1393		ms.StoreMessageInfo(mi)
1394	}
1395}
1396
1397func (x *CreateJobFromTemplateRequest) String() string {
1398	return protoimpl.X.MessageStringOf(x)
1399}
1400
1401func (*CreateJobFromTemplateRequest) ProtoMessage() {}
1402
1403func (x *CreateJobFromTemplateRequest) ProtoReflect() protoreflect.Message {
1404	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[10]
1405	if protoimpl.UnsafeEnabled && x != nil {
1406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407		if ms.LoadMessageInfo() == nil {
1408			ms.StoreMessageInfo(mi)
1409		}
1410		return ms
1411	}
1412	return mi.MessageOf(x)
1413}
1414
1415// Deprecated: Use CreateJobFromTemplateRequest.ProtoReflect.Descriptor instead.
1416func (*CreateJobFromTemplateRequest) Descriptor() ([]byte, []int) {
1417	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{10}
1418}
1419
1420func (x *CreateJobFromTemplateRequest) GetProjectId() string {
1421	if x != nil {
1422		return x.ProjectId
1423	}
1424	return ""
1425}
1426
1427func (x *CreateJobFromTemplateRequest) GetJobName() string {
1428	if x != nil {
1429		return x.JobName
1430	}
1431	return ""
1432}
1433
1434func (m *CreateJobFromTemplateRequest) GetTemplate() isCreateJobFromTemplateRequest_Template {
1435	if m != nil {
1436		return m.Template
1437	}
1438	return nil
1439}
1440
1441func (x *CreateJobFromTemplateRequest) GetGcsPath() string {
1442	if x, ok := x.GetTemplate().(*CreateJobFromTemplateRequest_GcsPath); ok {
1443		return x.GcsPath
1444	}
1445	return ""
1446}
1447
1448func (x *CreateJobFromTemplateRequest) GetParameters() map[string]string {
1449	if x != nil {
1450		return x.Parameters
1451	}
1452	return nil
1453}
1454
1455func (x *CreateJobFromTemplateRequest) GetEnvironment() *RuntimeEnvironment {
1456	if x != nil {
1457		return x.Environment
1458	}
1459	return nil
1460}
1461
1462func (x *CreateJobFromTemplateRequest) GetLocation() string {
1463	if x != nil {
1464		return x.Location
1465	}
1466	return ""
1467}
1468
1469type isCreateJobFromTemplateRequest_Template interface {
1470	isCreateJobFromTemplateRequest_Template()
1471}
1472
1473type CreateJobFromTemplateRequest_GcsPath struct {
1474	// Required. A Cloud Storage path to the template from which to
1475	// create the job.
1476	// Must be a valid Cloud Storage URL, beginning with `gs://`.
1477	GcsPath string `protobuf:"bytes,2,opt,name=gcs_path,json=gcsPath,proto3,oneof"`
1478}
1479
1480func (*CreateJobFromTemplateRequest_GcsPath) isCreateJobFromTemplateRequest_Template() {}
1481
1482// A request to retrieve a Cloud Dataflow job template.
1483type GetTemplateRequest struct {
1484	state         protoimpl.MessageState
1485	sizeCache     protoimpl.SizeCache
1486	unknownFields protoimpl.UnknownFields
1487
1488	// Required. The ID of the Cloud Platform project that the job belongs to.
1489	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1490	// The template from which to create the job.
1491	//
1492	// Types that are assignable to Template:
1493	//	*GetTemplateRequest_GcsPath
1494	Template isGetTemplateRequest_Template `protobuf_oneof:"template"`
1495	// The view to retrieve. Defaults to METADATA_ONLY.
1496	View GetTemplateRequest_TemplateView `protobuf:"varint,3,opt,name=view,proto3,enum=google.dataflow.v1beta3.GetTemplateRequest_TemplateView" json:"view,omitempty"`
1497	// The [regional endpoint]
1498	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to
1499	// which to direct the request.
1500	Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
1501}
1502
1503func (x *GetTemplateRequest) Reset() {
1504	*x = GetTemplateRequest{}
1505	if protoimpl.UnsafeEnabled {
1506		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[11]
1507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1508		ms.StoreMessageInfo(mi)
1509	}
1510}
1511
1512func (x *GetTemplateRequest) String() string {
1513	return protoimpl.X.MessageStringOf(x)
1514}
1515
1516func (*GetTemplateRequest) ProtoMessage() {}
1517
1518func (x *GetTemplateRequest) ProtoReflect() protoreflect.Message {
1519	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[11]
1520	if protoimpl.UnsafeEnabled && x != nil {
1521		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1522		if ms.LoadMessageInfo() == nil {
1523			ms.StoreMessageInfo(mi)
1524		}
1525		return ms
1526	}
1527	return mi.MessageOf(x)
1528}
1529
1530// Deprecated: Use GetTemplateRequest.ProtoReflect.Descriptor instead.
1531func (*GetTemplateRequest) Descriptor() ([]byte, []int) {
1532	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{11}
1533}
1534
1535func (x *GetTemplateRequest) GetProjectId() string {
1536	if x != nil {
1537		return x.ProjectId
1538	}
1539	return ""
1540}
1541
1542func (m *GetTemplateRequest) GetTemplate() isGetTemplateRequest_Template {
1543	if m != nil {
1544		return m.Template
1545	}
1546	return nil
1547}
1548
1549func (x *GetTemplateRequest) GetGcsPath() string {
1550	if x, ok := x.GetTemplate().(*GetTemplateRequest_GcsPath); ok {
1551		return x.GcsPath
1552	}
1553	return ""
1554}
1555
1556func (x *GetTemplateRequest) GetView() GetTemplateRequest_TemplateView {
1557	if x != nil {
1558		return x.View
1559	}
1560	return GetTemplateRequest_METADATA_ONLY
1561}
1562
1563func (x *GetTemplateRequest) GetLocation() string {
1564	if x != nil {
1565		return x.Location
1566	}
1567	return ""
1568}
1569
1570type isGetTemplateRequest_Template interface {
1571	isGetTemplateRequest_Template()
1572}
1573
1574type GetTemplateRequest_GcsPath struct {
1575	// Required. A Cloud Storage path to the template from which to
1576	// create the job.
1577	// Must be valid Cloud Storage URL, beginning with 'gs://'.
1578	GcsPath string `protobuf:"bytes,2,opt,name=gcs_path,json=gcsPath,proto3,oneof"`
1579}
1580
1581func (*GetTemplateRequest_GcsPath) isGetTemplateRequest_Template() {}
1582
1583// The response to a GetTemplate request.
1584type GetTemplateResponse struct {
1585	state         protoimpl.MessageState
1586	sizeCache     protoimpl.SizeCache
1587	unknownFields protoimpl.UnknownFields
1588
1589	// The status of the get template request. Any problems with the
1590	// request will be indicated in the error_details.
1591	Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
1592	// The template metadata describing the template name, available
1593	// parameters, etc.
1594	Metadata *TemplateMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1595	// Template Type.
1596	TemplateType GetTemplateResponse_TemplateType `protobuf:"varint,3,opt,name=template_type,json=templateType,proto3,enum=google.dataflow.v1beta3.GetTemplateResponse_TemplateType" json:"template_type,omitempty"`
1597	// Describes the runtime metadata with SDKInfo and available parameters.
1598	RuntimeMetadata *RuntimeMetadata `protobuf:"bytes,4,opt,name=runtime_metadata,json=runtimeMetadata,proto3" json:"runtime_metadata,omitempty"`
1599}
1600
1601func (x *GetTemplateResponse) Reset() {
1602	*x = GetTemplateResponse{}
1603	if protoimpl.UnsafeEnabled {
1604		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[12]
1605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1606		ms.StoreMessageInfo(mi)
1607	}
1608}
1609
1610func (x *GetTemplateResponse) String() string {
1611	return protoimpl.X.MessageStringOf(x)
1612}
1613
1614func (*GetTemplateResponse) ProtoMessage() {}
1615
1616func (x *GetTemplateResponse) ProtoReflect() protoreflect.Message {
1617	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[12]
1618	if protoimpl.UnsafeEnabled && x != nil {
1619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1620		if ms.LoadMessageInfo() == nil {
1621			ms.StoreMessageInfo(mi)
1622		}
1623		return ms
1624	}
1625	return mi.MessageOf(x)
1626}
1627
1628// Deprecated: Use GetTemplateResponse.ProtoReflect.Descriptor instead.
1629func (*GetTemplateResponse) Descriptor() ([]byte, []int) {
1630	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{12}
1631}
1632
1633func (x *GetTemplateResponse) GetStatus() *status.Status {
1634	if x != nil {
1635		return x.Status
1636	}
1637	return nil
1638}
1639
1640func (x *GetTemplateResponse) GetMetadata() *TemplateMetadata {
1641	if x != nil {
1642		return x.Metadata
1643	}
1644	return nil
1645}
1646
1647func (x *GetTemplateResponse) GetTemplateType() GetTemplateResponse_TemplateType {
1648	if x != nil {
1649		return x.TemplateType
1650	}
1651	return GetTemplateResponse_UNKNOWN
1652}
1653
1654func (x *GetTemplateResponse) GetRuntimeMetadata() *RuntimeMetadata {
1655	if x != nil {
1656		return x.RuntimeMetadata
1657	}
1658	return nil
1659}
1660
1661// Parameters to provide to the template being launched.
1662type LaunchTemplateParameters struct {
1663	state         protoimpl.MessageState
1664	sizeCache     protoimpl.SizeCache
1665	unknownFields protoimpl.UnknownFields
1666
1667	// Required. The job name to use for the created job.
1668	JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
1669	// The runtime parameters to pass to the job.
1670	Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1671	// The runtime environment for the job.
1672	Environment *RuntimeEnvironment `protobuf:"bytes,3,opt,name=environment,proto3" json:"environment,omitempty"`
1673	// If set, replace the existing pipeline with the name specified by jobName
1674	// with this pipeline, preserving state.
1675	Update bool `protobuf:"varint,4,opt,name=update,proto3" json:"update,omitempty"`
1676	// Only applicable when updating a pipeline. Map of transform name prefixes of
1677	// the job to be replaced to the corresponding name prefixes of the new job.
1678	TransformNameMapping map[string]string `protobuf:"bytes,5,rep,name=transform_name_mapping,json=transformNameMapping,proto3" json:"transform_name_mapping,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1679}
1680
1681func (x *LaunchTemplateParameters) Reset() {
1682	*x = LaunchTemplateParameters{}
1683	if protoimpl.UnsafeEnabled {
1684		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[13]
1685		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1686		ms.StoreMessageInfo(mi)
1687	}
1688}
1689
1690func (x *LaunchTemplateParameters) String() string {
1691	return protoimpl.X.MessageStringOf(x)
1692}
1693
1694func (*LaunchTemplateParameters) ProtoMessage() {}
1695
1696func (x *LaunchTemplateParameters) ProtoReflect() protoreflect.Message {
1697	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[13]
1698	if protoimpl.UnsafeEnabled && x != nil {
1699		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1700		if ms.LoadMessageInfo() == nil {
1701			ms.StoreMessageInfo(mi)
1702		}
1703		return ms
1704	}
1705	return mi.MessageOf(x)
1706}
1707
1708// Deprecated: Use LaunchTemplateParameters.ProtoReflect.Descriptor instead.
1709func (*LaunchTemplateParameters) Descriptor() ([]byte, []int) {
1710	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{13}
1711}
1712
1713func (x *LaunchTemplateParameters) GetJobName() string {
1714	if x != nil {
1715		return x.JobName
1716	}
1717	return ""
1718}
1719
1720func (x *LaunchTemplateParameters) GetParameters() map[string]string {
1721	if x != nil {
1722		return x.Parameters
1723	}
1724	return nil
1725}
1726
1727func (x *LaunchTemplateParameters) GetEnvironment() *RuntimeEnvironment {
1728	if x != nil {
1729		return x.Environment
1730	}
1731	return nil
1732}
1733
1734func (x *LaunchTemplateParameters) GetUpdate() bool {
1735	if x != nil {
1736		return x.Update
1737	}
1738	return false
1739}
1740
1741func (x *LaunchTemplateParameters) GetTransformNameMapping() map[string]string {
1742	if x != nil {
1743		return x.TransformNameMapping
1744	}
1745	return nil
1746}
1747
1748// A request to launch a template.
1749type LaunchTemplateRequest struct {
1750	state         protoimpl.MessageState
1751	sizeCache     protoimpl.SizeCache
1752	unknownFields protoimpl.UnknownFields
1753
1754	// Required. The ID of the Cloud Platform project that the job belongs to.
1755	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1756	// If true, the request is validated but not actually executed.
1757	// Defaults to false.
1758	ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
1759	// The template from which to create the job.
1760	//
1761	// Types that are assignable to Template:
1762	//	*LaunchTemplateRequest_GcsPath
1763	//	*LaunchTemplateRequest_DynamicTemplate
1764	Template isLaunchTemplateRequest_Template `protobuf_oneof:"template"`
1765	// The parameters of the template to launch. This should be part of the
1766	// body of the POST request.
1767	LaunchParameters *LaunchTemplateParameters `protobuf:"bytes,4,opt,name=launch_parameters,json=launchParameters,proto3" json:"launch_parameters,omitempty"`
1768	// The [regional endpoint]
1769	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to
1770	// which to direct the request.
1771	Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
1772}
1773
1774func (x *LaunchTemplateRequest) Reset() {
1775	*x = LaunchTemplateRequest{}
1776	if protoimpl.UnsafeEnabled {
1777		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[14]
1778		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1779		ms.StoreMessageInfo(mi)
1780	}
1781}
1782
1783func (x *LaunchTemplateRequest) String() string {
1784	return protoimpl.X.MessageStringOf(x)
1785}
1786
1787func (*LaunchTemplateRequest) ProtoMessage() {}
1788
1789func (x *LaunchTemplateRequest) ProtoReflect() protoreflect.Message {
1790	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[14]
1791	if protoimpl.UnsafeEnabled && x != nil {
1792		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1793		if ms.LoadMessageInfo() == nil {
1794			ms.StoreMessageInfo(mi)
1795		}
1796		return ms
1797	}
1798	return mi.MessageOf(x)
1799}
1800
1801// Deprecated: Use LaunchTemplateRequest.ProtoReflect.Descriptor instead.
1802func (*LaunchTemplateRequest) Descriptor() ([]byte, []int) {
1803	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{14}
1804}
1805
1806func (x *LaunchTemplateRequest) GetProjectId() string {
1807	if x != nil {
1808		return x.ProjectId
1809	}
1810	return ""
1811}
1812
1813func (x *LaunchTemplateRequest) GetValidateOnly() bool {
1814	if x != nil {
1815		return x.ValidateOnly
1816	}
1817	return false
1818}
1819
1820func (m *LaunchTemplateRequest) GetTemplate() isLaunchTemplateRequest_Template {
1821	if m != nil {
1822		return m.Template
1823	}
1824	return nil
1825}
1826
1827func (x *LaunchTemplateRequest) GetGcsPath() string {
1828	if x, ok := x.GetTemplate().(*LaunchTemplateRequest_GcsPath); ok {
1829		return x.GcsPath
1830	}
1831	return ""
1832}
1833
1834func (x *LaunchTemplateRequest) GetDynamicTemplate() *DynamicTemplateLaunchParams {
1835	if x, ok := x.GetTemplate().(*LaunchTemplateRequest_DynamicTemplate); ok {
1836		return x.DynamicTemplate
1837	}
1838	return nil
1839}
1840
1841func (x *LaunchTemplateRequest) GetLaunchParameters() *LaunchTemplateParameters {
1842	if x != nil {
1843		return x.LaunchParameters
1844	}
1845	return nil
1846}
1847
1848func (x *LaunchTemplateRequest) GetLocation() string {
1849	if x != nil {
1850		return x.Location
1851	}
1852	return ""
1853}
1854
1855type isLaunchTemplateRequest_Template interface {
1856	isLaunchTemplateRequest_Template()
1857}
1858
1859type LaunchTemplateRequest_GcsPath struct {
1860	// A Cloud Storage path to the template from which to create
1861	// the job.
1862	// Must be valid Cloud Storage URL, beginning with 'gs://'.
1863	GcsPath string `protobuf:"bytes,3,opt,name=gcs_path,json=gcsPath,proto3,oneof"`
1864}
1865
1866type LaunchTemplateRequest_DynamicTemplate struct {
1867	// Params for launching a dynamic template.
1868	DynamicTemplate *DynamicTemplateLaunchParams `protobuf:"bytes,6,opt,name=dynamic_template,json=dynamicTemplate,proto3,oneof"`
1869}
1870
1871func (*LaunchTemplateRequest_GcsPath) isLaunchTemplateRequest_Template() {}
1872
1873func (*LaunchTemplateRequest_DynamicTemplate) isLaunchTemplateRequest_Template() {}
1874
1875// Response to the request to launch a template.
1876type LaunchTemplateResponse struct {
1877	state         protoimpl.MessageState
1878	sizeCache     protoimpl.SizeCache
1879	unknownFields protoimpl.UnknownFields
1880
1881	// The job that was launched, if the request was not a dry run and
1882	// the job was successfully launched.
1883	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1884}
1885
1886func (x *LaunchTemplateResponse) Reset() {
1887	*x = LaunchTemplateResponse{}
1888	if protoimpl.UnsafeEnabled {
1889		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[15]
1890		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1891		ms.StoreMessageInfo(mi)
1892	}
1893}
1894
1895func (x *LaunchTemplateResponse) String() string {
1896	return protoimpl.X.MessageStringOf(x)
1897}
1898
1899func (*LaunchTemplateResponse) ProtoMessage() {}
1900
1901func (x *LaunchTemplateResponse) ProtoReflect() protoreflect.Message {
1902	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[15]
1903	if protoimpl.UnsafeEnabled && x != nil {
1904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1905		if ms.LoadMessageInfo() == nil {
1906			ms.StoreMessageInfo(mi)
1907		}
1908		return ms
1909	}
1910	return mi.MessageOf(x)
1911}
1912
1913// Deprecated: Use LaunchTemplateResponse.ProtoReflect.Descriptor instead.
1914func (*LaunchTemplateResponse) Descriptor() ([]byte, []int) {
1915	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{15}
1916}
1917
1918func (x *LaunchTemplateResponse) GetJob() *Job {
1919	if x != nil {
1920		return x.Job
1921	}
1922	return nil
1923}
1924
1925// Used in the error_details field of a google.rpc.Status message, this
1926// indicates problems with the template parameter.
1927type InvalidTemplateParameters struct {
1928	state         protoimpl.MessageState
1929	sizeCache     protoimpl.SizeCache
1930	unknownFields protoimpl.UnknownFields
1931
1932	// Describes all parameter violations in a template request.
1933	ParameterViolations []*InvalidTemplateParameters_ParameterViolation `protobuf:"bytes,1,rep,name=parameter_violations,json=parameterViolations,proto3" json:"parameter_violations,omitempty"`
1934}
1935
1936func (x *InvalidTemplateParameters) Reset() {
1937	*x = InvalidTemplateParameters{}
1938	if protoimpl.UnsafeEnabled {
1939		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[16]
1940		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1941		ms.StoreMessageInfo(mi)
1942	}
1943}
1944
1945func (x *InvalidTemplateParameters) String() string {
1946	return protoimpl.X.MessageStringOf(x)
1947}
1948
1949func (*InvalidTemplateParameters) ProtoMessage() {}
1950
1951func (x *InvalidTemplateParameters) ProtoReflect() protoreflect.Message {
1952	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[16]
1953	if protoimpl.UnsafeEnabled && x != nil {
1954		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1955		if ms.LoadMessageInfo() == nil {
1956			ms.StoreMessageInfo(mi)
1957		}
1958		return ms
1959	}
1960	return mi.MessageOf(x)
1961}
1962
1963// Deprecated: Use InvalidTemplateParameters.ProtoReflect.Descriptor instead.
1964func (*InvalidTemplateParameters) Descriptor() ([]byte, []int) {
1965	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{16}
1966}
1967
1968func (x *InvalidTemplateParameters) GetParameterViolations() []*InvalidTemplateParameters_ParameterViolation {
1969	if x != nil {
1970		return x.ParameterViolations
1971	}
1972	return nil
1973}
1974
1975// Params which should be passed when launching a dynamic template.
1976type DynamicTemplateLaunchParams struct {
1977	state         protoimpl.MessageState
1978	sizeCache     protoimpl.SizeCache
1979	unknownFields protoimpl.UnknownFields
1980
1981	// Path to dynamic template spec file on Cloud Storage.
1982	// The file must be a Json serialized DynamicTemplateFieSpec object.
1983	GcsPath string `protobuf:"bytes,1,opt,name=gcs_path,json=gcsPath,proto3" json:"gcs_path,omitempty"`
1984	// Cloud Storage path for staging dependencies.
1985	// Must be a valid Cloud Storage URL, beginning with `gs://`.
1986	StagingLocation string `protobuf:"bytes,2,opt,name=staging_location,json=stagingLocation,proto3" json:"staging_location,omitempty"`
1987}
1988
1989func (x *DynamicTemplateLaunchParams) Reset() {
1990	*x = DynamicTemplateLaunchParams{}
1991	if protoimpl.UnsafeEnabled {
1992		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[17]
1993		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1994		ms.StoreMessageInfo(mi)
1995	}
1996}
1997
1998func (x *DynamicTemplateLaunchParams) String() string {
1999	return protoimpl.X.MessageStringOf(x)
2000}
2001
2002func (*DynamicTemplateLaunchParams) ProtoMessage() {}
2003
2004func (x *DynamicTemplateLaunchParams) ProtoReflect() protoreflect.Message {
2005	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[17]
2006	if protoimpl.UnsafeEnabled && x != nil {
2007		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2008		if ms.LoadMessageInfo() == nil {
2009			ms.StoreMessageInfo(mi)
2010		}
2011		return ms
2012	}
2013	return mi.MessageOf(x)
2014}
2015
2016// Deprecated: Use DynamicTemplateLaunchParams.ProtoReflect.Descriptor instead.
2017func (*DynamicTemplateLaunchParams) Descriptor() ([]byte, []int) {
2018	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{17}
2019}
2020
2021func (x *DynamicTemplateLaunchParams) GetGcsPath() string {
2022	if x != nil {
2023		return x.GcsPath
2024	}
2025	return ""
2026}
2027
2028func (x *DynamicTemplateLaunchParams) GetStagingLocation() string {
2029	if x != nil {
2030		return x.StagingLocation
2031	}
2032	return ""
2033}
2034
2035// A specific template-parameter violation.
2036type InvalidTemplateParameters_ParameterViolation struct {
2037	state         protoimpl.MessageState
2038	sizeCache     protoimpl.SizeCache
2039	unknownFields protoimpl.UnknownFields
2040
2041	// The parameter that failed to validate.
2042	Parameter string `protobuf:"bytes,1,opt,name=parameter,proto3" json:"parameter,omitempty"`
2043	// A description of why the parameter failed to validate.
2044	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
2045}
2046
2047func (x *InvalidTemplateParameters_ParameterViolation) Reset() {
2048	*x = InvalidTemplateParameters_ParameterViolation{}
2049	if protoimpl.UnsafeEnabled {
2050		mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[27]
2051		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2052		ms.StoreMessageInfo(mi)
2053	}
2054}
2055
2056func (x *InvalidTemplateParameters_ParameterViolation) String() string {
2057	return protoimpl.X.MessageStringOf(x)
2058}
2059
2060func (*InvalidTemplateParameters_ParameterViolation) ProtoMessage() {}
2061
2062func (x *InvalidTemplateParameters_ParameterViolation) ProtoReflect() protoreflect.Message {
2063	mi := &file_google_dataflow_v1beta3_templates_proto_msgTypes[27]
2064	if protoimpl.UnsafeEnabled && x != nil {
2065		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2066		if ms.LoadMessageInfo() == nil {
2067			ms.StoreMessageInfo(mi)
2068		}
2069		return ms
2070	}
2071	return mi.MessageOf(x)
2072}
2073
2074// Deprecated: Use InvalidTemplateParameters_ParameterViolation.ProtoReflect.Descriptor instead.
2075func (*InvalidTemplateParameters_ParameterViolation) Descriptor() ([]byte, []int) {
2076	return file_google_dataflow_v1beta3_templates_proto_rawDescGZIP(), []int{16, 0}
2077}
2078
2079func (x *InvalidTemplateParameters_ParameterViolation) GetParameter() string {
2080	if x != nil {
2081		return x.Parameter
2082	}
2083	return ""
2084}
2085
2086func (x *InvalidTemplateParameters_ParameterViolation) GetDescription() string {
2087	if x != nil {
2088		return x.Description
2089	}
2090	return ""
2091}
2092
2093var File_google_dataflow_v1beta3_templates_proto protoreflect.FileDescriptor
2094
2095var file_google_dataflow_v1beta3_templates_proto_rawDesc = []byte{
2096	0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2097	0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2098	0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2099	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2100	0x61, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
2101	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2102	0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2103	0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
2104	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f,
2105	0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62,
2106	0x65, 0x74, 0x61, 0x33, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2107	0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74,
2108	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2109	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2110	0x6f, 0x22, 0x4c, 0x0a, 0x1a, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78, 0x54,
2111	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
2112	0x2e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2113	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76,
2114	0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22,
2115	0x93, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65,
2116	0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2117	0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
2118	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2119	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65,
2120	0x74, 0x61, 0x33, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61,
2121	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b,
2122	0x0a, 0x08, 0x73, 0x64, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
2123	0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2124	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x44, 0x4b, 0x49, 0x6e,
2125	0x66, 0x6f, 0x52, 0x07, 0x73, 0x64, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x68, 0x0a, 0x13, 0x64,
2126	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
2127	0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2128	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2129	0x61, 0x33, 0x2e, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
2130	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
2131	0x74, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
2132	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xec, 0x06, 0x0a, 0x1b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
2133	0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61,
2134	0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d,
2135	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65,
2136	0x12, 0x4f, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70,
2137	0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2138	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2139	0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63,
2140	0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65,
2141	0x63, 0x12, 0x37, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73,
2142	0x70, 0x65, 0x63, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01,
2143	0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53,
2144	0x70, 0x65, 0x63, 0x47, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x64, 0x0a, 0x0a, 0x70, 0x61,
2145	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44,
2146	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
2147	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46,
2148	0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d,
2149	0x65, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45,
2150	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
2151	0x12, 0x6e, 0x0a, 0x0e, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
2152	0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2153	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2154	0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d,
2155	0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x4c,
2156	0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72,
2157	0x79, 0x52, 0x0d, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2158	0x12, 0x59, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18,
2159	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
2160	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
2161	0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x74,
2162	0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b,
2163	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75,
2164	0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64,
2165	0x61, 0x74, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
2166	0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18,
2167	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
2168	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
2169	0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2170	0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e,
2171	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
2172	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
2173	0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x3d, 0x0a,
2174	0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
2175	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
2176	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
2177	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12,
2178	0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
2179	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
2180	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
2181	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x48,
2182	0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d,
2183	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
2184	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
2185	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
2186	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70,
2187	0x6c, 0x61, 0x74, 0x65, 0x22, 0xe9, 0x07, 0x0a, 0x1e, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d,
2188	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69,
2189	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x77,
2190	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75,
2191	0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f,
2192	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d,
2193	0x61, 0x78, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e,
2194	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x32, 0x0a,
2195	0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
2196	0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65,
2197	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69,
2198	0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
2199	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x4c, 0x6f,
2200	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e,
2201	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61,
2202	0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x64, 0x64,
2203	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
2204	0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74,
2205	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73,
2206	0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28,
2207	0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75,
2208	0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
2209	0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x61,
2210	0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c,
2211	0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f,
2212	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31,
2213	0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2214	0x74, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
2215	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55,
2216	0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14,
2217	0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61,
2218	0x62, 0x65, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
2219	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b,
2220	0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x6e,
2221	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e,
2222	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2223	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65,
2224	0x72, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2225	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2226	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b,
2227	0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52,
2228	0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a,
2229	0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01,
2230	0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x36,
2231	0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
2232	0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
2233	0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
2234	0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x66, 0x6c, 0x65, 0x78, 0x72, 0x73,
2235	0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f,
2236	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31,
2237	0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x46, 0x6c, 0x65, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
2238	0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x47, 0x6f, 0x61, 0x6c,
2239	0x52, 0x0a, 0x66, 0x6c, 0x65, 0x78, 0x72, 0x73, 0x47, 0x6f, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10,
2240	0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2241	0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x4c,
2242	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x64, 0x6b, 0x5f, 0x63,
2243	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x12,
2244	0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x64, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
2245	0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x47, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x69, 0x74,
2246	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
2247	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
2248	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
2249	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
2250	0x22, 0xdc, 0x01, 0x0a, 0x19, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78, 0x54,
2251	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
2252	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
2253	0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x5f, 0x0a,
2254	0x10, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2255	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2256	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2257	0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70,
2258	0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6c,
2259	0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1a,
2260	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2261	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61,
2262	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
2263	0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22,
2264	0xdc, 0x06, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72,
2265	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x6f,
2266	0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d,
2267	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x77,
2268	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61,
2269	0x78, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65,
2270	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x15,
2271	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
2272	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72,
2273	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c,
2274	0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2275	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x4c, 0x6f, 0x63,
2276	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f,
2277	0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
2278	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x62, 0x79, 0x70, 0x61, 0x73,
2279	0x73, 0x54, 0x65, 0x6d, 0x70, 0x44, 0x69, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
2280	0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79,
2281	0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e,
2282	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
2283	0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
2284	0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
2285	0x6c, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07,
2286	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e,
2287	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74,
2288	0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e,
2289	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x7b, 0x0a, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
2290	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
2291	0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2292	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
2293	0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
2294	0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x73,
2295	0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x61,
2296	0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62,
2297	0x65, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e,
2298	0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65,
2299	0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
2300	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32,
2301	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2302	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
2303	0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
2304	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2305	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65,
2306	0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
2307	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
2308	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28,
2309	0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x36, 0x0a,
2310	0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
2311	0x67, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15,
2312	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45,
2313	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x47, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
2314	0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
2315	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
2316	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
2317	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88,
2318	0x03, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61,
2319	0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2320	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
2321	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b,
2322	0x0a, 0x09, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
2323	0x09, 0x52, 0x08, 0x68, 0x65, 0x6c, 0x70, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
2324	0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
2325	0x52, 0x0a, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07,
2326	0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72,
2327	0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f,
2328	0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
2329	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62,
2330	0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79,
2331	0x70, 0x65, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x67, 0x0a,
2332	0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
2333	0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2334	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
2335	0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
2336	0x74, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
2337	0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65,
2338	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
2339	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
2340	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
2341	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
2342	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x54, 0x65,
2343	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12,
2344	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
2345	0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
2346	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2347	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2348	0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2349	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2350	0x61, 0x33, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61,
2351	0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
2352	0x22, 0x99, 0x01, 0x0a, 0x07, 0x53, 0x44, 0x4b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x08,
2353	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29,
2354	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
2355	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x44, 0x4b, 0x49, 0x6e, 0x66, 0x6f,
2356	0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75,
2357	0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
2358	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2d, 0x0a,
2359	0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b,
2360	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x41, 0x56, 0x41, 0x10, 0x01,
2361	0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0x9a, 0x01, 0x0a,
2362	0x0f, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
2363	0x12, 0x3b, 0x0a, 0x08, 0x73, 0x64, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
2364	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
2365	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x44, 0x4b,
2366	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x64, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a,
2367	0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
2368	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
2369	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x61, 0x72, 0x61,
2370	0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x70,
2371	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x92, 0x03, 0x0a, 0x1c, 0x43, 0x72,
2372	0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2373	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
2374	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
2375	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62,
2376	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62,
2377	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68,
2378	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74,
2379	0x68, 0x12, 0x65, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18,
2380	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
2381	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
2382	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d,
2383	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72,
2384	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61,
2385	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
2386	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2387	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2388	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45,
2389	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69,
2390	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2391	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
2392	0x69, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2393	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
2394	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2395	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
2396	0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xe9,
2397	0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
2398	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2399	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2400	0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68,
2401	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74,
2402	0x68, 0x12, 0x4c, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
2403	0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2404	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d,
2405	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x6d,
2406	0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12,
2407	0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
2408	0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x21, 0x0a, 0x0c, 0x54,
2409	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x11, 0x0a, 0x0d, 0x4d,
2410	0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x00, 0x42, 0x0a,
2411	0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x13, 0x47,
2412	0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2413	0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
2414	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
2415	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45,
2416	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2417	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2418	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2419	0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74,
2420	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2421	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67,
2422	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76,
2423	0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2424	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2425	0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2426	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
2427	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
2428	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2429	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
2430	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69,
2431	0x6d, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, 0x0a, 0x0c, 0x54, 0x65,
2432	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
2433	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43,
2434	0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4c, 0x45, 0x58, 0x10, 0x02, 0x22, 0x8b, 0x04,
2435	0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2436	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f,
2437	0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f,
2438	0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2439	0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2440	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65,
2441	0x74, 0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2442	0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x50, 0x61, 0x72,
2443	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61,
2444	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
2445	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2446	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2447	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45,
2448	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69,
2449	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74,
2450	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12,
2451	0x81, 0x01, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x61,
2452	0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
2453	0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2454	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63,
2455	0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2456	0x65, 0x72, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d,
2457	0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74,
2458	0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70,
2459	0x69, 0x6e, 0x67, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2460	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
2461	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2462	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
2463	0x38, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e,
2464	0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
2465	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
2466	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
2467	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe3, 0x02, 0x0a, 0x15,
2468	0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
2469	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2470	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2471	0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
2472	0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c,
2473	0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x08, 0x67, 0x63, 0x73,
2474	0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x67,
2475	0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
2476	0x63, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
2477	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2478	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d,
2479	0x69, 0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
2480	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
2481	0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x6c, 0x61, 0x75,
2482	0x6e, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04,
2483	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
2484	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c,
2485	0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72,
2486	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x10, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50,
2487	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
2488	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63,
2489	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2490	0x65, 0x22, 0x48, 0x0a, 0x16, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c,
2491	0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x03, 0x6a,
2492	0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2493	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2494	0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xeb, 0x01, 0x0a, 0x19,
2495	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50,
2496	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, 0x14, 0x70, 0x61, 0x72,
2497	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2498	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2499	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2500	0x33, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
2501	0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61,
2502	0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
2503	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69,
2504	0x6f, 0x6e, 0x73, 0x1a, 0x54, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2505	0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72,
2506	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
2507	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2508	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
2509	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x1b, 0x44, 0x79, 0x6e,
2510	0x61, 0x6d, 0x69, 0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x75, 0x6e,
2511	0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f,
2512	0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50,
2513	0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6c,
2514	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73,
2515	0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0xce,
2516	0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
2517	0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a,
2518	0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x43, 0x53, 0x5f, 0x52,
2519	0x45, 0x41, 0x44, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10,
2520	0x47, 0x43, 0x53, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54,
2521	0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x46,
2522	0x49, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x43, 0x53, 0x5f, 0x57, 0x52, 0x49,
2523	0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x43, 0x53,
2524	0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x06, 0x12, 0x14,
2525	0x0a, 0x10, 0x47, 0x43, 0x53, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x4c, 0x44,
2526	0x45, 0x52, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x55, 0x42, 0x53, 0x55, 0x42, 0x5f, 0x54,
2527	0x4f, 0x50, 0x49, 0x43, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x55, 0x42, 0x53, 0x55, 0x42,
2528	0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x32,
2529	0xba, 0x04, 0x0a, 0x10, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72,
2530	0x76, 0x69, 0x63, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f,
2531	0x62, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35, 0x2e,
2532	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2533	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f,
2534	0x62, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
2535	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
2536	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a,
2537	0x6f, 0x62, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65,
2538	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2539	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
2540	0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
2541	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2542	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
2543	0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
2544	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0b, 0x47, 0x65, 0x74,
2545	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2546	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2547	0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
2548	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
2549	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
2550	0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
2551	0x6e, 0x73, 0x65, 0x22, 0x00, 0x1a, 0xd4, 0x01, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x66,
2552	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2553	0x6f, 0x6d, 0xd2, 0x41, 0xb6, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
2554	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2555	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
2556	0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
2557	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2558	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74,
2559	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2560	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d,
2561	0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74,
2562	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2563	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75, 0x73,
2564	0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x32, 0xee, 0x02, 0x0a,
2565	0x14, 0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, 0x65,
2566	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7f, 0x0a, 0x12, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46,
2567	0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f,
2568	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31,
2569	0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6c, 0x65, 0x78,
2570	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
2571	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2572	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
2573	0x46, 0x6c, 0x65, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
2574	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x1a, 0xd4, 0x01, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61,
2575	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2576	0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xb6, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
2577	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2578	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
2579	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
2580	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2581	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74,
2582	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2583	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f,
2584	0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68,
2585	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2586	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75,
2587	0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x42, 0xd3, 0x01,
2588	0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
2589	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x42, 0x0e, 0x54,
2590	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
2591	0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
2592	0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
2593	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f,
2594	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
2595	0xaa, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2596	0x44, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x33,
2597	0xca, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c,
2598	0x44, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
2599	0xea, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64,
2600	0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
2601	0x74, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2602}
2603
2604var (
2605	file_google_dataflow_v1beta3_templates_proto_rawDescOnce sync.Once
2606	file_google_dataflow_v1beta3_templates_proto_rawDescData = file_google_dataflow_v1beta3_templates_proto_rawDesc
2607)
2608
2609func file_google_dataflow_v1beta3_templates_proto_rawDescGZIP() []byte {
2610	file_google_dataflow_v1beta3_templates_proto_rawDescOnce.Do(func() {
2611		file_google_dataflow_v1beta3_templates_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_dataflow_v1beta3_templates_proto_rawDescData)
2612	})
2613	return file_google_dataflow_v1beta3_templates_proto_rawDescData
2614}
2615
2616var file_google_dataflow_v1beta3_templates_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2617var file_google_dataflow_v1beta3_templates_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
2618var file_google_dataflow_v1beta3_templates_proto_goTypes = []interface{}{
2619	(ParameterType)(0),                     // 0: google.dataflow.v1beta3.ParameterType
2620	(SDKInfo_Language)(0),                  // 1: google.dataflow.v1beta3.SDKInfo.Language
2621	(GetTemplateRequest_TemplateView)(0),   // 2: google.dataflow.v1beta3.GetTemplateRequest.TemplateView
2622	(GetTemplateResponse_TemplateType)(0),  // 3: google.dataflow.v1beta3.GetTemplateResponse.TemplateType
2623	(*LaunchFlexTemplateResponse)(nil),     // 4: google.dataflow.v1beta3.LaunchFlexTemplateResponse
2624	(*ContainerSpec)(nil),                  // 5: google.dataflow.v1beta3.ContainerSpec
2625	(*LaunchFlexTemplateParameter)(nil),    // 6: google.dataflow.v1beta3.LaunchFlexTemplateParameter
2626	(*FlexTemplateRuntimeEnvironment)(nil), // 7: google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment
2627	(*LaunchFlexTemplateRequest)(nil),      // 8: google.dataflow.v1beta3.LaunchFlexTemplateRequest
2628	(*RuntimeEnvironment)(nil),             // 9: google.dataflow.v1beta3.RuntimeEnvironment
2629	(*ParameterMetadata)(nil),              // 10: google.dataflow.v1beta3.ParameterMetadata
2630	(*TemplateMetadata)(nil),               // 11: google.dataflow.v1beta3.TemplateMetadata
2631	(*SDKInfo)(nil),                        // 12: google.dataflow.v1beta3.SDKInfo
2632	(*RuntimeMetadata)(nil),                // 13: google.dataflow.v1beta3.RuntimeMetadata
2633	(*CreateJobFromTemplateRequest)(nil),   // 14: google.dataflow.v1beta3.CreateJobFromTemplateRequest
2634	(*GetTemplateRequest)(nil),             // 15: google.dataflow.v1beta3.GetTemplateRequest
2635	(*GetTemplateResponse)(nil),            // 16: google.dataflow.v1beta3.GetTemplateResponse
2636	(*LaunchTemplateParameters)(nil),       // 17: google.dataflow.v1beta3.LaunchTemplateParameters
2637	(*LaunchTemplateRequest)(nil),          // 18: google.dataflow.v1beta3.LaunchTemplateRequest
2638	(*LaunchTemplateResponse)(nil),         // 19: google.dataflow.v1beta3.LaunchTemplateResponse
2639	(*InvalidTemplateParameters)(nil),      // 20: google.dataflow.v1beta3.InvalidTemplateParameters
2640	(*DynamicTemplateLaunchParams)(nil),    // 21: google.dataflow.v1beta3.DynamicTemplateLaunchParams
2641	nil,                                    // 22: google.dataflow.v1beta3.LaunchFlexTemplateParameter.ParametersEntry
2642	nil,                                    // 23: google.dataflow.v1beta3.LaunchFlexTemplateParameter.LaunchOptionsEntry
2643	nil,                                    // 24: google.dataflow.v1beta3.LaunchFlexTemplateParameter.TransformNameMappingsEntry
2644	nil,                                    // 25: google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment.AdditionalUserLabelsEntry
2645	nil,                                    // 26: google.dataflow.v1beta3.RuntimeEnvironment.AdditionalUserLabelsEntry
2646	nil,                                    // 27: google.dataflow.v1beta3.ParameterMetadata.CustomMetadataEntry
2647	nil,                                    // 28: google.dataflow.v1beta3.CreateJobFromTemplateRequest.ParametersEntry
2648	nil,                                    // 29: google.dataflow.v1beta3.LaunchTemplateParameters.ParametersEntry
2649	nil,                                    // 30: google.dataflow.v1beta3.LaunchTemplateParameters.TransformNameMappingEntry
2650	(*InvalidTemplateParameters_ParameterViolation)(nil), // 31: google.dataflow.v1beta3.InvalidTemplateParameters.ParameterViolation
2651	(*Job)(nil),                       // 32: google.dataflow.v1beta3.Job
2652	(WorkerIPAddressConfiguration)(0), // 33: google.dataflow.v1beta3.WorkerIPAddressConfiguration
2653	(FlexResourceSchedulingGoal)(0),   // 34: google.dataflow.v1beta3.FlexResourceSchedulingGoal
2654	(*status.Status)(nil),             // 35: google.rpc.Status
2655}
2656var file_google_dataflow_v1beta3_templates_proto_depIdxs = []int32{
2657	32, // 0: google.dataflow.v1beta3.LaunchFlexTemplateResponse.job:type_name -> google.dataflow.v1beta3.Job
2658	11, // 1: google.dataflow.v1beta3.ContainerSpec.metadata:type_name -> google.dataflow.v1beta3.TemplateMetadata
2659	12, // 2: google.dataflow.v1beta3.ContainerSpec.sdk_info:type_name -> google.dataflow.v1beta3.SDKInfo
2660	7,  // 3: google.dataflow.v1beta3.ContainerSpec.default_environment:type_name -> google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment
2661	5,  // 4: google.dataflow.v1beta3.LaunchFlexTemplateParameter.container_spec:type_name -> google.dataflow.v1beta3.ContainerSpec
2662	22, // 5: google.dataflow.v1beta3.LaunchFlexTemplateParameter.parameters:type_name -> google.dataflow.v1beta3.LaunchFlexTemplateParameter.ParametersEntry
2663	23, // 6: google.dataflow.v1beta3.LaunchFlexTemplateParameter.launch_options:type_name -> google.dataflow.v1beta3.LaunchFlexTemplateParameter.LaunchOptionsEntry
2664	7,  // 7: google.dataflow.v1beta3.LaunchFlexTemplateParameter.environment:type_name -> google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment
2665	24, // 8: google.dataflow.v1beta3.LaunchFlexTemplateParameter.transform_name_mappings:type_name -> google.dataflow.v1beta3.LaunchFlexTemplateParameter.TransformNameMappingsEntry
2666	25, // 9: google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment.additional_user_labels:type_name -> google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment.AdditionalUserLabelsEntry
2667	33, // 10: google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment.ip_configuration:type_name -> google.dataflow.v1beta3.WorkerIPAddressConfiguration
2668	34, // 11: google.dataflow.v1beta3.FlexTemplateRuntimeEnvironment.flexrs_goal:type_name -> google.dataflow.v1beta3.FlexResourceSchedulingGoal
2669	6,  // 12: google.dataflow.v1beta3.LaunchFlexTemplateRequest.launch_parameter:type_name -> google.dataflow.v1beta3.LaunchFlexTemplateParameter
2670	26, // 13: google.dataflow.v1beta3.RuntimeEnvironment.additional_user_labels:type_name -> google.dataflow.v1beta3.RuntimeEnvironment.AdditionalUserLabelsEntry
2671	33, // 14: google.dataflow.v1beta3.RuntimeEnvironment.ip_configuration:type_name -> google.dataflow.v1beta3.WorkerIPAddressConfiguration
2672	0,  // 15: google.dataflow.v1beta3.ParameterMetadata.param_type:type_name -> google.dataflow.v1beta3.ParameterType
2673	27, // 16: google.dataflow.v1beta3.ParameterMetadata.custom_metadata:type_name -> google.dataflow.v1beta3.ParameterMetadata.CustomMetadataEntry
2674	10, // 17: google.dataflow.v1beta3.TemplateMetadata.parameters:type_name -> google.dataflow.v1beta3.ParameterMetadata
2675	1,  // 18: google.dataflow.v1beta3.SDKInfo.language:type_name -> google.dataflow.v1beta3.SDKInfo.Language
2676	12, // 19: google.dataflow.v1beta3.RuntimeMetadata.sdk_info:type_name -> google.dataflow.v1beta3.SDKInfo
2677	10, // 20: google.dataflow.v1beta3.RuntimeMetadata.parameters:type_name -> google.dataflow.v1beta3.ParameterMetadata
2678	28, // 21: google.dataflow.v1beta3.CreateJobFromTemplateRequest.parameters:type_name -> google.dataflow.v1beta3.CreateJobFromTemplateRequest.ParametersEntry
2679	9,  // 22: google.dataflow.v1beta3.CreateJobFromTemplateRequest.environment:type_name -> google.dataflow.v1beta3.RuntimeEnvironment
2680	2,  // 23: google.dataflow.v1beta3.GetTemplateRequest.view:type_name -> google.dataflow.v1beta3.GetTemplateRequest.TemplateView
2681	35, // 24: google.dataflow.v1beta3.GetTemplateResponse.status:type_name -> google.rpc.Status
2682	11, // 25: google.dataflow.v1beta3.GetTemplateResponse.metadata:type_name -> google.dataflow.v1beta3.TemplateMetadata
2683	3,  // 26: google.dataflow.v1beta3.GetTemplateResponse.template_type:type_name -> google.dataflow.v1beta3.GetTemplateResponse.TemplateType
2684	13, // 27: google.dataflow.v1beta3.GetTemplateResponse.runtime_metadata:type_name -> google.dataflow.v1beta3.RuntimeMetadata
2685	29, // 28: google.dataflow.v1beta3.LaunchTemplateParameters.parameters:type_name -> google.dataflow.v1beta3.LaunchTemplateParameters.ParametersEntry
2686	9,  // 29: google.dataflow.v1beta3.LaunchTemplateParameters.environment:type_name -> google.dataflow.v1beta3.RuntimeEnvironment
2687	30, // 30: google.dataflow.v1beta3.LaunchTemplateParameters.transform_name_mapping:type_name -> google.dataflow.v1beta3.LaunchTemplateParameters.TransformNameMappingEntry
2688	21, // 31: google.dataflow.v1beta3.LaunchTemplateRequest.dynamic_template:type_name -> google.dataflow.v1beta3.DynamicTemplateLaunchParams
2689	17, // 32: google.dataflow.v1beta3.LaunchTemplateRequest.launch_parameters:type_name -> google.dataflow.v1beta3.LaunchTemplateParameters
2690	32, // 33: google.dataflow.v1beta3.LaunchTemplateResponse.job:type_name -> google.dataflow.v1beta3.Job
2691	31, // 34: google.dataflow.v1beta3.InvalidTemplateParameters.parameter_violations:type_name -> google.dataflow.v1beta3.InvalidTemplateParameters.ParameterViolation
2692	14, // 35: google.dataflow.v1beta3.TemplatesService.CreateJobFromTemplate:input_type -> google.dataflow.v1beta3.CreateJobFromTemplateRequest
2693	18, // 36: google.dataflow.v1beta3.TemplatesService.LaunchTemplate:input_type -> google.dataflow.v1beta3.LaunchTemplateRequest
2694	15, // 37: google.dataflow.v1beta3.TemplatesService.GetTemplate:input_type -> google.dataflow.v1beta3.GetTemplateRequest
2695	8,  // 38: google.dataflow.v1beta3.FlexTemplatesService.LaunchFlexTemplate:input_type -> google.dataflow.v1beta3.LaunchFlexTemplateRequest
2696	32, // 39: google.dataflow.v1beta3.TemplatesService.CreateJobFromTemplate:output_type -> google.dataflow.v1beta3.Job
2697	19, // 40: google.dataflow.v1beta3.TemplatesService.LaunchTemplate:output_type -> google.dataflow.v1beta3.LaunchTemplateResponse
2698	16, // 41: google.dataflow.v1beta3.TemplatesService.GetTemplate:output_type -> google.dataflow.v1beta3.GetTemplateResponse
2699	4,  // 42: google.dataflow.v1beta3.FlexTemplatesService.LaunchFlexTemplate:output_type -> google.dataflow.v1beta3.LaunchFlexTemplateResponse
2700	39, // [39:43] is the sub-list for method output_type
2701	35, // [35:39] is the sub-list for method input_type
2702	35, // [35:35] is the sub-list for extension type_name
2703	35, // [35:35] is the sub-list for extension extendee
2704	0,  // [0:35] is the sub-list for field type_name
2705}
2706
2707func init() { file_google_dataflow_v1beta3_templates_proto_init() }
2708func file_google_dataflow_v1beta3_templates_proto_init() {
2709	if File_google_dataflow_v1beta3_templates_proto != nil {
2710		return
2711	}
2712	file_google_dataflow_v1beta3_environment_proto_init()
2713	file_google_dataflow_v1beta3_jobs_proto_init()
2714	if !protoimpl.UnsafeEnabled {
2715		file_google_dataflow_v1beta3_templates_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2716			switch v := v.(*LaunchFlexTemplateResponse); i {
2717			case 0:
2718				return &v.state
2719			case 1:
2720				return &v.sizeCache
2721			case 2:
2722				return &v.unknownFields
2723			default:
2724				return nil
2725			}
2726		}
2727		file_google_dataflow_v1beta3_templates_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2728			switch v := v.(*ContainerSpec); i {
2729			case 0:
2730				return &v.state
2731			case 1:
2732				return &v.sizeCache
2733			case 2:
2734				return &v.unknownFields
2735			default:
2736				return nil
2737			}
2738		}
2739		file_google_dataflow_v1beta3_templates_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2740			switch v := v.(*LaunchFlexTemplateParameter); i {
2741			case 0:
2742				return &v.state
2743			case 1:
2744				return &v.sizeCache
2745			case 2:
2746				return &v.unknownFields
2747			default:
2748				return nil
2749			}
2750		}
2751		file_google_dataflow_v1beta3_templates_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2752			switch v := v.(*FlexTemplateRuntimeEnvironment); i {
2753			case 0:
2754				return &v.state
2755			case 1:
2756				return &v.sizeCache
2757			case 2:
2758				return &v.unknownFields
2759			default:
2760				return nil
2761			}
2762		}
2763		file_google_dataflow_v1beta3_templates_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2764			switch v := v.(*LaunchFlexTemplateRequest); i {
2765			case 0:
2766				return &v.state
2767			case 1:
2768				return &v.sizeCache
2769			case 2:
2770				return &v.unknownFields
2771			default:
2772				return nil
2773			}
2774		}
2775		file_google_dataflow_v1beta3_templates_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2776			switch v := v.(*RuntimeEnvironment); i {
2777			case 0:
2778				return &v.state
2779			case 1:
2780				return &v.sizeCache
2781			case 2:
2782				return &v.unknownFields
2783			default:
2784				return nil
2785			}
2786		}
2787		file_google_dataflow_v1beta3_templates_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2788			switch v := v.(*ParameterMetadata); i {
2789			case 0:
2790				return &v.state
2791			case 1:
2792				return &v.sizeCache
2793			case 2:
2794				return &v.unknownFields
2795			default:
2796				return nil
2797			}
2798		}
2799		file_google_dataflow_v1beta3_templates_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2800			switch v := v.(*TemplateMetadata); i {
2801			case 0:
2802				return &v.state
2803			case 1:
2804				return &v.sizeCache
2805			case 2:
2806				return &v.unknownFields
2807			default:
2808				return nil
2809			}
2810		}
2811		file_google_dataflow_v1beta3_templates_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2812			switch v := v.(*SDKInfo); i {
2813			case 0:
2814				return &v.state
2815			case 1:
2816				return &v.sizeCache
2817			case 2:
2818				return &v.unknownFields
2819			default:
2820				return nil
2821			}
2822		}
2823		file_google_dataflow_v1beta3_templates_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2824			switch v := v.(*RuntimeMetadata); i {
2825			case 0:
2826				return &v.state
2827			case 1:
2828				return &v.sizeCache
2829			case 2:
2830				return &v.unknownFields
2831			default:
2832				return nil
2833			}
2834		}
2835		file_google_dataflow_v1beta3_templates_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2836			switch v := v.(*CreateJobFromTemplateRequest); i {
2837			case 0:
2838				return &v.state
2839			case 1:
2840				return &v.sizeCache
2841			case 2:
2842				return &v.unknownFields
2843			default:
2844				return nil
2845			}
2846		}
2847		file_google_dataflow_v1beta3_templates_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2848			switch v := v.(*GetTemplateRequest); i {
2849			case 0:
2850				return &v.state
2851			case 1:
2852				return &v.sizeCache
2853			case 2:
2854				return &v.unknownFields
2855			default:
2856				return nil
2857			}
2858		}
2859		file_google_dataflow_v1beta3_templates_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2860			switch v := v.(*GetTemplateResponse); i {
2861			case 0:
2862				return &v.state
2863			case 1:
2864				return &v.sizeCache
2865			case 2:
2866				return &v.unknownFields
2867			default:
2868				return nil
2869			}
2870		}
2871		file_google_dataflow_v1beta3_templates_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2872			switch v := v.(*LaunchTemplateParameters); i {
2873			case 0:
2874				return &v.state
2875			case 1:
2876				return &v.sizeCache
2877			case 2:
2878				return &v.unknownFields
2879			default:
2880				return nil
2881			}
2882		}
2883		file_google_dataflow_v1beta3_templates_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2884			switch v := v.(*LaunchTemplateRequest); i {
2885			case 0:
2886				return &v.state
2887			case 1:
2888				return &v.sizeCache
2889			case 2:
2890				return &v.unknownFields
2891			default:
2892				return nil
2893			}
2894		}
2895		file_google_dataflow_v1beta3_templates_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2896			switch v := v.(*LaunchTemplateResponse); i {
2897			case 0:
2898				return &v.state
2899			case 1:
2900				return &v.sizeCache
2901			case 2:
2902				return &v.unknownFields
2903			default:
2904				return nil
2905			}
2906		}
2907		file_google_dataflow_v1beta3_templates_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2908			switch v := v.(*InvalidTemplateParameters); i {
2909			case 0:
2910				return &v.state
2911			case 1:
2912				return &v.sizeCache
2913			case 2:
2914				return &v.unknownFields
2915			default:
2916				return nil
2917			}
2918		}
2919		file_google_dataflow_v1beta3_templates_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2920			switch v := v.(*DynamicTemplateLaunchParams); i {
2921			case 0:
2922				return &v.state
2923			case 1:
2924				return &v.sizeCache
2925			case 2:
2926				return &v.unknownFields
2927			default:
2928				return nil
2929			}
2930		}
2931		file_google_dataflow_v1beta3_templates_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
2932			switch v := v.(*InvalidTemplateParameters_ParameterViolation); i {
2933			case 0:
2934				return &v.state
2935			case 1:
2936				return &v.sizeCache
2937			case 2:
2938				return &v.unknownFields
2939			default:
2940				return nil
2941			}
2942		}
2943	}
2944	file_google_dataflow_v1beta3_templates_proto_msgTypes[2].OneofWrappers = []interface{}{
2945		(*LaunchFlexTemplateParameter_ContainerSpec)(nil),
2946		(*LaunchFlexTemplateParameter_ContainerSpecGcsPath)(nil),
2947	}
2948	file_google_dataflow_v1beta3_templates_proto_msgTypes[10].OneofWrappers = []interface{}{
2949		(*CreateJobFromTemplateRequest_GcsPath)(nil),
2950	}
2951	file_google_dataflow_v1beta3_templates_proto_msgTypes[11].OneofWrappers = []interface{}{
2952		(*GetTemplateRequest_GcsPath)(nil),
2953	}
2954	file_google_dataflow_v1beta3_templates_proto_msgTypes[14].OneofWrappers = []interface{}{
2955		(*LaunchTemplateRequest_GcsPath)(nil),
2956		(*LaunchTemplateRequest_DynamicTemplate)(nil),
2957	}
2958	type x struct{}
2959	out := protoimpl.TypeBuilder{
2960		File: protoimpl.DescBuilder{
2961			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2962			RawDescriptor: file_google_dataflow_v1beta3_templates_proto_rawDesc,
2963			NumEnums:      4,
2964			NumMessages:   28,
2965			NumExtensions: 0,
2966			NumServices:   2,
2967		},
2968		GoTypes:           file_google_dataflow_v1beta3_templates_proto_goTypes,
2969		DependencyIndexes: file_google_dataflow_v1beta3_templates_proto_depIdxs,
2970		EnumInfos:         file_google_dataflow_v1beta3_templates_proto_enumTypes,
2971		MessageInfos:      file_google_dataflow_v1beta3_templates_proto_msgTypes,
2972	}.Build()
2973	File_google_dataflow_v1beta3_templates_proto = out.File
2974	file_google_dataflow_v1beta3_templates_proto_rawDesc = nil
2975	file_google_dataflow_v1beta3_templates_proto_goTypes = nil
2976	file_google_dataflow_v1beta3_templates_proto_depIdxs = nil
2977}
2978
2979// Reference imports to suppress errors if they are not otherwise used.
2980var _ context.Context
2981var _ grpc.ClientConnInterface
2982
2983// This is a compile-time assertion to ensure that this generated file
2984// is compatible with the grpc package it is being compiled against.
2985const _ = grpc.SupportPackageIsVersion6
2986
2987// TemplatesServiceClient is the client API for TemplatesService service.
2988//
2989// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2990type TemplatesServiceClient interface {
2991	// Creates a Cloud Dataflow job from a template.
2992	CreateJobFromTemplate(ctx context.Context, in *CreateJobFromTemplateRequest, opts ...grpc.CallOption) (*Job, error)
2993	// Launch a template.
2994	LaunchTemplate(ctx context.Context, in *LaunchTemplateRequest, opts ...grpc.CallOption) (*LaunchTemplateResponse, error)
2995	// Get the template associated with a template.
2996	GetTemplate(ctx context.Context, in *GetTemplateRequest, opts ...grpc.CallOption) (*GetTemplateResponse, error)
2997}
2998
2999type templatesServiceClient struct {
3000	cc grpc.ClientConnInterface
3001}
3002
3003func NewTemplatesServiceClient(cc grpc.ClientConnInterface) TemplatesServiceClient {
3004	return &templatesServiceClient{cc}
3005}
3006
3007func (c *templatesServiceClient) CreateJobFromTemplate(ctx context.Context, in *CreateJobFromTemplateRequest, opts ...grpc.CallOption) (*Job, error) {
3008	out := new(Job)
3009	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.TemplatesService/CreateJobFromTemplate", in, out, opts...)
3010	if err != nil {
3011		return nil, err
3012	}
3013	return out, nil
3014}
3015
3016func (c *templatesServiceClient) LaunchTemplate(ctx context.Context, in *LaunchTemplateRequest, opts ...grpc.CallOption) (*LaunchTemplateResponse, error) {
3017	out := new(LaunchTemplateResponse)
3018	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.TemplatesService/LaunchTemplate", in, out, opts...)
3019	if err != nil {
3020		return nil, err
3021	}
3022	return out, nil
3023}
3024
3025func (c *templatesServiceClient) GetTemplate(ctx context.Context, in *GetTemplateRequest, opts ...grpc.CallOption) (*GetTemplateResponse, error) {
3026	out := new(GetTemplateResponse)
3027	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.TemplatesService/GetTemplate", in, out, opts...)
3028	if err != nil {
3029		return nil, err
3030	}
3031	return out, nil
3032}
3033
3034// TemplatesServiceServer is the server API for TemplatesService service.
3035type TemplatesServiceServer interface {
3036	// Creates a Cloud Dataflow job from a template.
3037	CreateJobFromTemplate(context.Context, *CreateJobFromTemplateRequest) (*Job, error)
3038	// Launch a template.
3039	LaunchTemplate(context.Context, *LaunchTemplateRequest) (*LaunchTemplateResponse, error)
3040	// Get the template associated with a template.
3041	GetTemplate(context.Context, *GetTemplateRequest) (*GetTemplateResponse, error)
3042}
3043
3044// UnimplementedTemplatesServiceServer can be embedded to have forward compatible implementations.
3045type UnimplementedTemplatesServiceServer struct {
3046}
3047
3048func (*UnimplementedTemplatesServiceServer) CreateJobFromTemplate(context.Context, *CreateJobFromTemplateRequest) (*Job, error) {
3049	return nil, status1.Errorf(codes.Unimplemented, "method CreateJobFromTemplate not implemented")
3050}
3051func (*UnimplementedTemplatesServiceServer) LaunchTemplate(context.Context, *LaunchTemplateRequest) (*LaunchTemplateResponse, error) {
3052	return nil, status1.Errorf(codes.Unimplemented, "method LaunchTemplate not implemented")
3053}
3054func (*UnimplementedTemplatesServiceServer) GetTemplate(context.Context, *GetTemplateRequest) (*GetTemplateResponse, error) {
3055	return nil, status1.Errorf(codes.Unimplemented, "method GetTemplate not implemented")
3056}
3057
3058func RegisterTemplatesServiceServer(s *grpc.Server, srv TemplatesServiceServer) {
3059	s.RegisterService(&_TemplatesService_serviceDesc, srv)
3060}
3061
3062func _TemplatesService_CreateJobFromTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3063	in := new(CreateJobFromTemplateRequest)
3064	if err := dec(in); err != nil {
3065		return nil, err
3066	}
3067	if interceptor == nil {
3068		return srv.(TemplatesServiceServer).CreateJobFromTemplate(ctx, in)
3069	}
3070	info := &grpc.UnaryServerInfo{
3071		Server:     srv,
3072		FullMethod: "/google.dataflow.v1beta3.TemplatesService/CreateJobFromTemplate",
3073	}
3074	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3075		return srv.(TemplatesServiceServer).CreateJobFromTemplate(ctx, req.(*CreateJobFromTemplateRequest))
3076	}
3077	return interceptor(ctx, in, info, handler)
3078}
3079
3080func _TemplatesService_LaunchTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3081	in := new(LaunchTemplateRequest)
3082	if err := dec(in); err != nil {
3083		return nil, err
3084	}
3085	if interceptor == nil {
3086		return srv.(TemplatesServiceServer).LaunchTemplate(ctx, in)
3087	}
3088	info := &grpc.UnaryServerInfo{
3089		Server:     srv,
3090		FullMethod: "/google.dataflow.v1beta3.TemplatesService/LaunchTemplate",
3091	}
3092	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3093		return srv.(TemplatesServiceServer).LaunchTemplate(ctx, req.(*LaunchTemplateRequest))
3094	}
3095	return interceptor(ctx, in, info, handler)
3096}
3097
3098func _TemplatesService_GetTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3099	in := new(GetTemplateRequest)
3100	if err := dec(in); err != nil {
3101		return nil, err
3102	}
3103	if interceptor == nil {
3104		return srv.(TemplatesServiceServer).GetTemplate(ctx, in)
3105	}
3106	info := &grpc.UnaryServerInfo{
3107		Server:     srv,
3108		FullMethod: "/google.dataflow.v1beta3.TemplatesService/GetTemplate",
3109	}
3110	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3111		return srv.(TemplatesServiceServer).GetTemplate(ctx, req.(*GetTemplateRequest))
3112	}
3113	return interceptor(ctx, in, info, handler)
3114}
3115
3116var _TemplatesService_serviceDesc = grpc.ServiceDesc{
3117	ServiceName: "google.dataflow.v1beta3.TemplatesService",
3118	HandlerType: (*TemplatesServiceServer)(nil),
3119	Methods: []grpc.MethodDesc{
3120		{
3121			MethodName: "CreateJobFromTemplate",
3122			Handler:    _TemplatesService_CreateJobFromTemplate_Handler,
3123		},
3124		{
3125			MethodName: "LaunchTemplate",
3126			Handler:    _TemplatesService_LaunchTemplate_Handler,
3127		},
3128		{
3129			MethodName: "GetTemplate",
3130			Handler:    _TemplatesService_GetTemplate_Handler,
3131		},
3132	},
3133	Streams:  []grpc.StreamDesc{},
3134	Metadata: "google/dataflow/v1beta3/templates.proto",
3135}
3136
3137// FlexTemplatesServiceClient is the client API for FlexTemplatesService service.
3138//
3139// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3140type FlexTemplatesServiceClient interface {
3141	// Launch a job with a FlexTemplate.
3142	LaunchFlexTemplate(ctx context.Context, in *LaunchFlexTemplateRequest, opts ...grpc.CallOption) (*LaunchFlexTemplateResponse, error)
3143}
3144
3145type flexTemplatesServiceClient struct {
3146	cc grpc.ClientConnInterface
3147}
3148
3149func NewFlexTemplatesServiceClient(cc grpc.ClientConnInterface) FlexTemplatesServiceClient {
3150	return &flexTemplatesServiceClient{cc}
3151}
3152
3153func (c *flexTemplatesServiceClient) LaunchFlexTemplate(ctx context.Context, in *LaunchFlexTemplateRequest, opts ...grpc.CallOption) (*LaunchFlexTemplateResponse, error) {
3154	out := new(LaunchFlexTemplateResponse)
3155	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.FlexTemplatesService/LaunchFlexTemplate", in, out, opts...)
3156	if err != nil {
3157		return nil, err
3158	}
3159	return out, nil
3160}
3161
3162// FlexTemplatesServiceServer is the server API for FlexTemplatesService service.
3163type FlexTemplatesServiceServer interface {
3164	// Launch a job with a FlexTemplate.
3165	LaunchFlexTemplate(context.Context, *LaunchFlexTemplateRequest) (*LaunchFlexTemplateResponse, error)
3166}
3167
3168// UnimplementedFlexTemplatesServiceServer can be embedded to have forward compatible implementations.
3169type UnimplementedFlexTemplatesServiceServer struct {
3170}
3171
3172func (*UnimplementedFlexTemplatesServiceServer) LaunchFlexTemplate(context.Context, *LaunchFlexTemplateRequest) (*LaunchFlexTemplateResponse, error) {
3173	return nil, status1.Errorf(codes.Unimplemented, "method LaunchFlexTemplate not implemented")
3174}
3175
3176func RegisterFlexTemplatesServiceServer(s *grpc.Server, srv FlexTemplatesServiceServer) {
3177	s.RegisterService(&_FlexTemplatesService_serviceDesc, srv)
3178}
3179
3180func _FlexTemplatesService_LaunchFlexTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3181	in := new(LaunchFlexTemplateRequest)
3182	if err := dec(in); err != nil {
3183		return nil, err
3184	}
3185	if interceptor == nil {
3186		return srv.(FlexTemplatesServiceServer).LaunchFlexTemplate(ctx, in)
3187	}
3188	info := &grpc.UnaryServerInfo{
3189		Server:     srv,
3190		FullMethod: "/google.dataflow.v1beta3.FlexTemplatesService/LaunchFlexTemplate",
3191	}
3192	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3193		return srv.(FlexTemplatesServiceServer).LaunchFlexTemplate(ctx, req.(*LaunchFlexTemplateRequest))
3194	}
3195	return interceptor(ctx, in, info, handler)
3196}
3197
3198var _FlexTemplatesService_serviceDesc = grpc.ServiceDesc{
3199	ServiceName: "google.dataflow.v1beta3.FlexTemplatesService",
3200	HandlerType: (*FlexTemplatesServiceServer)(nil),
3201	Methods: []grpc.MethodDesc{
3202		{
3203			MethodName: "LaunchFlexTemplate",
3204			Handler:    _FlexTemplatesService_LaunchFlexTemplate_Handler,
3205		},
3206	},
3207	Streams:  []grpc.StreamDesc{},
3208	Metadata: "google/dataflow/v1beta3/templates.proto",
3209}
3210