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/jobs.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	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	durationpb "google.golang.org/protobuf/types/known/durationpb"
35	structpb "google.golang.org/protobuf/types/known/structpb"
36	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
37)
38
39const (
40	// Verify that this generated code is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
42	// Verify that runtime/protoimpl is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
44)
45
46// Type of transform or stage operation.
47type KindType int32
48
49const (
50	// Unrecognized transform type.
51	KindType_UNKNOWN_KIND KindType = 0
52	// ParDo transform.
53	KindType_PAR_DO_KIND KindType = 1
54	// Group By Key transform.
55	KindType_GROUP_BY_KEY_KIND KindType = 2
56	// Flatten transform.
57	KindType_FLATTEN_KIND KindType = 3
58	// Read transform.
59	KindType_READ_KIND KindType = 4
60	// Write transform.
61	KindType_WRITE_KIND KindType = 5
62	// Constructs from a constant value, such as with Create.of.
63	KindType_CONSTANT_KIND KindType = 6
64	// Creates a Singleton view of a collection.
65	KindType_SINGLETON_KIND KindType = 7
66	// Opening or closing a shuffle session, often as part of a GroupByKey.
67	KindType_SHUFFLE_KIND KindType = 8
68)
69
70// Enum value maps for KindType.
71var (
72	KindType_name = map[int32]string{
73		0: "UNKNOWN_KIND",
74		1: "PAR_DO_KIND",
75		2: "GROUP_BY_KEY_KIND",
76		3: "FLATTEN_KIND",
77		4: "READ_KIND",
78		5: "WRITE_KIND",
79		6: "CONSTANT_KIND",
80		7: "SINGLETON_KIND",
81		8: "SHUFFLE_KIND",
82	}
83	KindType_value = map[string]int32{
84		"UNKNOWN_KIND":      0,
85		"PAR_DO_KIND":       1,
86		"GROUP_BY_KEY_KIND": 2,
87		"FLATTEN_KIND":      3,
88		"READ_KIND":         4,
89		"WRITE_KIND":        5,
90		"CONSTANT_KIND":     6,
91		"SINGLETON_KIND":    7,
92		"SHUFFLE_KIND":      8,
93	}
94)
95
96func (x KindType) Enum() *KindType {
97	p := new(KindType)
98	*p = x
99	return p
100}
101
102func (x KindType) String() string {
103	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
104}
105
106func (KindType) Descriptor() protoreflect.EnumDescriptor {
107	return file_google_dataflow_v1beta3_jobs_proto_enumTypes[0].Descriptor()
108}
109
110func (KindType) Type() protoreflect.EnumType {
111	return &file_google_dataflow_v1beta3_jobs_proto_enumTypes[0]
112}
113
114func (x KindType) Number() protoreflect.EnumNumber {
115	return protoreflect.EnumNumber(x)
116}
117
118// Deprecated: Use KindType.Descriptor instead.
119func (KindType) EnumDescriptor() ([]byte, []int) {
120	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{0}
121}
122
123// Describes the overall state of a [google.dataflow.v1beta3.Job][google.dataflow.v1beta3.Job].
124type JobState int32
125
126const (
127	// The job's run state isn't specified.
128	JobState_JOB_STATE_UNKNOWN JobState = 0
129	// `JOB_STATE_STOPPED` indicates that the job has not
130	// yet started to run.
131	JobState_JOB_STATE_STOPPED JobState = 1
132	// `JOB_STATE_RUNNING` indicates that the job is currently running.
133	JobState_JOB_STATE_RUNNING JobState = 2
134	// `JOB_STATE_DONE` indicates that the job has successfully completed.
135	// This is a terminal job state.  This state may be set by the Cloud Dataflow
136	// service, as a transition from `JOB_STATE_RUNNING`. It may also be set via a
137	// Cloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal
138	// state.
139	JobState_JOB_STATE_DONE JobState = 3
140	// `JOB_STATE_FAILED` indicates that the job has failed.  This is a
141	// terminal job state.  This state may only be set by the Cloud Dataflow
142	// service, and only as a transition from `JOB_STATE_RUNNING`.
143	JobState_JOB_STATE_FAILED JobState = 4
144	// `JOB_STATE_CANCELLED` indicates that the job has been explicitly
145	// cancelled. This is a terminal job state. This state may only be
146	// set via a Cloud Dataflow `UpdateJob` call, and only if the job has not
147	// yet reached another terminal state.
148	JobState_JOB_STATE_CANCELLED JobState = 5
149	// `JOB_STATE_UPDATED` indicates that the job was successfully updated,
150	// meaning that this job was stopped and another job was started, inheriting
151	// state from this one. This is a terminal job state. This state may only be
152	// set by the Cloud Dataflow service, and only as a transition from
153	// `JOB_STATE_RUNNING`.
154	JobState_JOB_STATE_UPDATED JobState = 6
155	// `JOB_STATE_DRAINING` indicates that the job is in the process of draining.
156	// A draining job has stopped pulling from its input sources and is processing
157	// any data that remains in-flight. This state may be set via a Cloud Dataflow
158	// `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs
159	// that are draining may only transition to `JOB_STATE_DRAINED`,
160	// `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.
161	JobState_JOB_STATE_DRAINING JobState = 7
162	// `JOB_STATE_DRAINED` indicates that the job has been drained.
163	// A drained job terminated by stopping pulling from its input sources and
164	// processing any data that remained in-flight when draining was requested.
165	// This state is a terminal state, may only be set by the Cloud Dataflow
166	// service, and only as a transition from `JOB_STATE_DRAINING`.
167	JobState_JOB_STATE_DRAINED JobState = 8
168	// `JOB_STATE_PENDING` indicates that the job has been created but is not yet
169	// running.  Jobs that are pending may only transition to `JOB_STATE_RUNNING`,
170	// or `JOB_STATE_FAILED`.
171	JobState_JOB_STATE_PENDING JobState = 9
172	// `JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled
173	// and is in the process of stopping.  Jobs that are cancelling may only
174	// transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.
175	JobState_JOB_STATE_CANCELLING JobState = 10
176	// `JOB_STATE_QUEUED` indicates that the job has been created but is being
177	// delayed until launch. Jobs that are queued may only transition to
178	// `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
179	JobState_JOB_STATE_QUEUED JobState = 11
180	// `JOB_STATE_RESOURCE_CLEANING_UP` indicates that the batch job's associated
181	// resources are currently being cleaned up after a successful run.
182	// Currently, this is an opt-in feature, please reach out to Cloud support
183	// team if you are interested.
184	JobState_JOB_STATE_RESOURCE_CLEANING_UP JobState = 12
185)
186
187// Enum value maps for JobState.
188var (
189	JobState_name = map[int32]string{
190		0:  "JOB_STATE_UNKNOWN",
191		1:  "JOB_STATE_STOPPED",
192		2:  "JOB_STATE_RUNNING",
193		3:  "JOB_STATE_DONE",
194		4:  "JOB_STATE_FAILED",
195		5:  "JOB_STATE_CANCELLED",
196		6:  "JOB_STATE_UPDATED",
197		7:  "JOB_STATE_DRAINING",
198		8:  "JOB_STATE_DRAINED",
199		9:  "JOB_STATE_PENDING",
200		10: "JOB_STATE_CANCELLING",
201		11: "JOB_STATE_QUEUED",
202		12: "JOB_STATE_RESOURCE_CLEANING_UP",
203	}
204	JobState_value = map[string]int32{
205		"JOB_STATE_UNKNOWN":              0,
206		"JOB_STATE_STOPPED":              1,
207		"JOB_STATE_RUNNING":              2,
208		"JOB_STATE_DONE":                 3,
209		"JOB_STATE_FAILED":               4,
210		"JOB_STATE_CANCELLED":            5,
211		"JOB_STATE_UPDATED":              6,
212		"JOB_STATE_DRAINING":             7,
213		"JOB_STATE_DRAINED":              8,
214		"JOB_STATE_PENDING":              9,
215		"JOB_STATE_CANCELLING":           10,
216		"JOB_STATE_QUEUED":               11,
217		"JOB_STATE_RESOURCE_CLEANING_UP": 12,
218	}
219)
220
221func (x JobState) Enum() *JobState {
222	p := new(JobState)
223	*p = x
224	return p
225}
226
227func (x JobState) String() string {
228	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
229}
230
231func (JobState) Descriptor() protoreflect.EnumDescriptor {
232	return file_google_dataflow_v1beta3_jobs_proto_enumTypes[1].Descriptor()
233}
234
235func (JobState) Type() protoreflect.EnumType {
236	return &file_google_dataflow_v1beta3_jobs_proto_enumTypes[1]
237}
238
239func (x JobState) Number() protoreflect.EnumNumber {
240	return protoreflect.EnumNumber(x)
241}
242
243// Deprecated: Use JobState.Descriptor instead.
244func (JobState) EnumDescriptor() ([]byte, []int) {
245	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{1}
246}
247
248// Selector for how much information is returned in Job responses.
249type JobView int32
250
251const (
252	// The job view to return isn't specified, or is unknown.
253	// Responses will contain at least the `JOB_VIEW_SUMMARY` information,
254	// and may contain additional information.
255	JobView_JOB_VIEW_UNKNOWN JobView = 0
256	// Request summary information only:
257	// Project ID, Job ID, job name, job type, job status, start/end time,
258	// and Cloud SDK version details.
259	JobView_JOB_VIEW_SUMMARY JobView = 1
260	// Request all information available for this job.
261	JobView_JOB_VIEW_ALL JobView = 2
262	// Request summary info and limited job description data for steps, labels and
263	// environment.
264	JobView_JOB_VIEW_DESCRIPTION JobView = 3
265)
266
267// Enum value maps for JobView.
268var (
269	JobView_name = map[int32]string{
270		0: "JOB_VIEW_UNKNOWN",
271		1: "JOB_VIEW_SUMMARY",
272		2: "JOB_VIEW_ALL",
273		3: "JOB_VIEW_DESCRIPTION",
274	}
275	JobView_value = map[string]int32{
276		"JOB_VIEW_UNKNOWN":     0,
277		"JOB_VIEW_SUMMARY":     1,
278		"JOB_VIEW_ALL":         2,
279		"JOB_VIEW_DESCRIPTION": 3,
280	}
281)
282
283func (x JobView) Enum() *JobView {
284	p := new(JobView)
285	*p = x
286	return p
287}
288
289func (x JobView) String() string {
290	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
291}
292
293func (JobView) Descriptor() protoreflect.EnumDescriptor {
294	return file_google_dataflow_v1beta3_jobs_proto_enumTypes[2].Descriptor()
295}
296
297func (JobView) Type() protoreflect.EnumType {
298	return &file_google_dataflow_v1beta3_jobs_proto_enumTypes[2]
299}
300
301func (x JobView) Number() protoreflect.EnumNumber {
302	return protoreflect.EnumNumber(x)
303}
304
305// Deprecated: Use JobView.Descriptor instead.
306func (JobView) EnumDescriptor() ([]byte, []int) {
307	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{2}
308}
309
310// The support status of the SDK used to run the job.
311type SdkVersion_SdkSupportStatus int32
312
313const (
314	// Cloud Dataflow is unaware of this version.
315	SdkVersion_UNKNOWN SdkVersion_SdkSupportStatus = 0
316	// This is a known version of an SDK, and is supported.
317	SdkVersion_SUPPORTED SdkVersion_SdkSupportStatus = 1
318	// A newer version of the SDK family exists, and an update is recommended.
319	SdkVersion_STALE SdkVersion_SdkSupportStatus = 2
320	// This version of the SDK is deprecated and will eventually be
321	// unsupported.
322	SdkVersion_DEPRECATED SdkVersion_SdkSupportStatus = 3
323	// Support for this SDK version has ended and it should no longer be used.
324	SdkVersion_UNSUPPORTED SdkVersion_SdkSupportStatus = 4
325)
326
327// Enum value maps for SdkVersion_SdkSupportStatus.
328var (
329	SdkVersion_SdkSupportStatus_name = map[int32]string{
330		0: "UNKNOWN",
331		1: "SUPPORTED",
332		2: "STALE",
333		3: "DEPRECATED",
334		4: "UNSUPPORTED",
335	}
336	SdkVersion_SdkSupportStatus_value = map[string]int32{
337		"UNKNOWN":     0,
338		"SUPPORTED":   1,
339		"STALE":       2,
340		"DEPRECATED":  3,
341		"UNSUPPORTED": 4,
342	}
343)
344
345func (x SdkVersion_SdkSupportStatus) Enum() *SdkVersion_SdkSupportStatus {
346	p := new(SdkVersion_SdkSupportStatus)
347	*p = x
348	return p
349}
350
351func (x SdkVersion_SdkSupportStatus) String() string {
352	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
353}
354
355func (SdkVersion_SdkSupportStatus) Descriptor() protoreflect.EnumDescriptor {
356	return file_google_dataflow_v1beta3_jobs_proto_enumTypes[3].Descriptor()
357}
358
359func (SdkVersion_SdkSupportStatus) Type() protoreflect.EnumType {
360	return &file_google_dataflow_v1beta3_jobs_proto_enumTypes[3]
361}
362
363func (x SdkVersion_SdkSupportStatus) Number() protoreflect.EnumNumber {
364	return protoreflect.EnumNumber(x)
365}
366
367// Deprecated: Use SdkVersion_SdkSupportStatus.Descriptor instead.
368func (SdkVersion_SdkSupportStatus) EnumDescriptor() ([]byte, []int) {
369	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{7, 0}
370}
371
372// This field filters out and returns jobs in the specified job state. The
373// order of data returned is determined by the filter used, and is subject to
374// change.
375type ListJobsRequest_Filter int32
376
377const (
378	// The filter isn't specified, or is unknown. This returns all jobs ordered
379	// on descending `JobUuid`.
380	ListJobsRequest_UNKNOWN ListJobsRequest_Filter = 0
381	// Returns all running jobs first ordered on creation timestamp, then
382	// returns all terminated jobs ordered on the termination timestamp.
383	ListJobsRequest_ALL ListJobsRequest_Filter = 1
384	// Filters the jobs that have a terminated state, ordered on the
385	// termination timestamp. Example terminated states: `JOB_STATE_STOPPED`,
386	// `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.
387	ListJobsRequest_TERMINATED ListJobsRequest_Filter = 2
388	// Filters the jobs that are running ordered on the creation timestamp.
389	ListJobsRequest_ACTIVE ListJobsRequest_Filter = 3
390)
391
392// Enum value maps for ListJobsRequest_Filter.
393var (
394	ListJobsRequest_Filter_name = map[int32]string{
395		0: "UNKNOWN",
396		1: "ALL",
397		2: "TERMINATED",
398		3: "ACTIVE",
399	}
400	ListJobsRequest_Filter_value = map[string]int32{
401		"UNKNOWN":    0,
402		"ALL":        1,
403		"TERMINATED": 2,
404		"ACTIVE":     3,
405	}
406)
407
408func (x ListJobsRequest_Filter) Enum() *ListJobsRequest_Filter {
409	p := new(ListJobsRequest_Filter)
410	*p = x
411	return p
412}
413
414func (x ListJobsRequest_Filter) String() string {
415	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
416}
417
418func (ListJobsRequest_Filter) Descriptor() protoreflect.EnumDescriptor {
419	return file_google_dataflow_v1beta3_jobs_proto_enumTypes[4].Descriptor()
420}
421
422func (ListJobsRequest_Filter) Type() protoreflect.EnumType {
423	return &file_google_dataflow_v1beta3_jobs_proto_enumTypes[4]
424}
425
426func (x ListJobsRequest_Filter) Number() protoreflect.EnumNumber {
427	return protoreflect.EnumNumber(x)
428}
429
430// Deprecated: Use ListJobsRequest_Filter.Descriptor instead.
431func (ListJobsRequest_Filter) EnumDescriptor() ([]byte, []int) {
432	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{20, 0}
433}
434
435// Defines a job to be run by the Cloud Dataflow service.
436// nextID: 26
437type Job struct {
438	state         protoimpl.MessageState
439	sizeCache     protoimpl.SizeCache
440	unknownFields protoimpl.UnknownFields
441
442	// The unique ID of this job.
443	//
444	// This field is set by the Cloud Dataflow service when the Job is
445	// created, and is immutable for the life of the job.
446	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
447	// The ID of the Cloud Platform project that the job belongs to.
448	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
449	// The user-specified Cloud Dataflow job name.
450	//
451	// Only one Job with a given name may exist in a project at any
452	// given time. If a caller attempts to create a Job with the same
453	// name as an already-existing Job, the attempt returns the
454	// existing Job.
455	//
456	// The name must match the regular expression
457	// `[a-z]([-a-z0-9]{0,38}[a-z0-9])?`
458	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
459	// The type of Cloud Dataflow job.
460	Type JobType `protobuf:"varint,4,opt,name=type,proto3,enum=google.dataflow.v1beta3.JobType" json:"type,omitempty"`
461	// The environment for the job.
462	Environment *Environment `protobuf:"bytes,5,opt,name=environment,proto3" json:"environment,omitempty"`
463	// Exactly one of step or steps_location should be specified.
464	//
465	// The top-level steps that constitute the entire job. Only retrieved with
466	// JOB_VIEW_ALL.
467	Steps []*Step `protobuf:"bytes,6,rep,name=steps,proto3" json:"steps,omitempty"`
468	// The Cloud Storage location where the steps are stored.
469	StepsLocation string `protobuf:"bytes,24,opt,name=steps_location,json=stepsLocation,proto3" json:"steps_location,omitempty"`
470	// The current state of the job.
471	//
472	// Jobs are created in the `JOB_STATE_STOPPED` state unless otherwise
473	// specified.
474	//
475	// A job in the `JOB_STATE_RUNNING` state may asynchronously enter a
476	// terminal state. After a job has reached a terminal state, no
477	// further state updates may be made.
478	//
479	// This field may be mutated by the Cloud Dataflow service;
480	// callers cannot mutate it.
481	CurrentState JobState `protobuf:"varint,7,opt,name=current_state,json=currentState,proto3,enum=google.dataflow.v1beta3.JobState" json:"current_state,omitempty"`
482	// The timestamp associated with the current state.
483	CurrentStateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=current_state_time,json=currentStateTime,proto3" json:"current_state_time,omitempty"`
484	// The job's requested state.
485	//
486	// `UpdateJob` may be used to switch between the `JOB_STATE_STOPPED` and
487	// `JOB_STATE_RUNNING` states, by setting requested_state.  `UpdateJob` may
488	// also be used to directly set a job's requested state to
489	// `JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, irrevocably terminating the
490	// job if it has not already reached a terminal state.
491	RequestedState JobState `protobuf:"varint,9,opt,name=requested_state,json=requestedState,proto3,enum=google.dataflow.v1beta3.JobState" json:"requested_state,omitempty"`
492	// Deprecated.
493	ExecutionInfo *JobExecutionInfo `protobuf:"bytes,10,opt,name=execution_info,json=executionInfo,proto3" json:"execution_info,omitempty"`
494	// The timestamp when the job was initially created. Immutable and set by the
495	// Cloud Dataflow service.
496	CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
497	// If this job is an update of an existing job, this field is the job ID
498	// of the job it replaced.
499	//
500	// When sending a `CreateJobRequest`, you can update a job by specifying it
501	// here. The job named here is stopped, and its intermediate state is
502	// transferred to this job.
503	ReplaceJobId string `protobuf:"bytes,12,opt,name=replace_job_id,json=replaceJobId,proto3" json:"replace_job_id,omitempty"`
504	// The map of transform name prefixes of the job to be replaced to the
505	// corresponding name prefixes of the new job.
506	TransformNameMapping map[string]string `protobuf:"bytes,13,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"`
507	// The client's unique identifier of the job, re-used across retried attempts.
508	// If this field is set, the service will ensure its uniqueness.
509	// The request to create a job will fail if the service has knowledge of a
510	// previously submitted job with the same client's ID and job name.
511	// The caller may use this field to ensure idempotence of job
512	// creation across retried attempts to create a job.
513	// By default, the field is empty and, in that case, the service ignores it.
514	ClientRequestId string `protobuf:"bytes,14,opt,name=client_request_id,json=clientRequestId,proto3" json:"client_request_id,omitempty"`
515	// If another job is an update of this job (and thus, this job is in
516	// `JOB_STATE_UPDATED`), this field contains the ID of that job.
517	ReplacedByJobId string `protobuf:"bytes,15,opt,name=replaced_by_job_id,json=replacedByJobId,proto3" json:"replaced_by_job_id,omitempty"`
518	// A set of files the system should be aware of that are used
519	// for temporary storage. These temporary files will be
520	// removed on job completion.
521	// No duplicates are allowed.
522	// No file patterns are supported.
523	//
524	// The supported files are:
525	//
526	// Google Cloud Storage:
527	//
528	//    storage.googleapis.com/{bucket}/{object}
529	//    bucket.storage.googleapis.com/{object}
530	TempFiles []string `protobuf:"bytes,16,rep,name=temp_files,json=tempFiles,proto3" json:"temp_files,omitempty"`
531	// User-defined labels for this job.
532	//
533	// The labels map can contain no more than 64 entries.  Entries of the labels
534	// map are UTF8 strings that comply with the following restrictions:
535	//
536	// * Keys must conform to regexp:  [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
537	// * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
538	// * Both keys and values are additionally constrained to be <= 128 bytes in
539	// size.
540	Labels map[string]string `protobuf:"bytes,17,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
541	// The [regional endpoint]
542	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
543	// contains this job.
544	Location string `protobuf:"bytes,18,opt,name=location,proto3" json:"location,omitempty"`
545	// Preliminary field: The format of this data may change at any time.
546	// A description of the user pipeline and stages through which it is executed.
547	// Created by Cloud Dataflow service.  Only retrieved with
548	// JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL.
549	PipelineDescription *PipelineDescription `protobuf:"bytes,19,opt,name=pipeline_description,json=pipelineDescription,proto3" json:"pipeline_description,omitempty"`
550	// This field may be mutated by the Cloud Dataflow service;
551	// callers cannot mutate it.
552	StageStates []*ExecutionStageState `protobuf:"bytes,20,rep,name=stage_states,json=stageStates,proto3" json:"stage_states,omitempty"`
553	// This field is populated by the Dataflow service to support filtering jobs
554	// by the metadata values provided here. Populated for ListJobs and all GetJob
555	// views SUMMARY and higher.
556	JobMetadata *JobMetadata `protobuf:"bytes,21,opt,name=job_metadata,json=jobMetadata,proto3" json:"job_metadata,omitempty"`
557	// The timestamp when the job was started (transitioned to JOB_STATE_PENDING).
558	// Flexible resource scheduling jobs are started with some delay after job
559	// creation, so start_time is unset before start and is updated when the
560	// job is started by the Cloud Dataflow service. For other jobs, start_time
561	// always equals to create_time and is immutable and set by the Cloud Dataflow
562	// service.
563	StartTime *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
564	// If this is specified, the job's initial state is populated from the given
565	// snapshot.
566	CreatedFromSnapshotId string `protobuf:"bytes,23,opt,name=created_from_snapshot_id,json=createdFromSnapshotId,proto3" json:"created_from_snapshot_id,omitempty"`
567	// Reserved for future use. This field is set only in responses from the
568	// server; it is ignored if it is set in any requests.
569	SatisfiesPzs bool `protobuf:"varint,25,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
570}
571
572func (x *Job) Reset() {
573	*x = Job{}
574	if protoimpl.UnsafeEnabled {
575		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[0]
576		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
577		ms.StoreMessageInfo(mi)
578	}
579}
580
581func (x *Job) String() string {
582	return protoimpl.X.MessageStringOf(x)
583}
584
585func (*Job) ProtoMessage() {}
586
587func (x *Job) ProtoReflect() protoreflect.Message {
588	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[0]
589	if protoimpl.UnsafeEnabled && x != nil {
590		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
591		if ms.LoadMessageInfo() == nil {
592			ms.StoreMessageInfo(mi)
593		}
594		return ms
595	}
596	return mi.MessageOf(x)
597}
598
599// Deprecated: Use Job.ProtoReflect.Descriptor instead.
600func (*Job) Descriptor() ([]byte, []int) {
601	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{0}
602}
603
604func (x *Job) GetId() string {
605	if x != nil {
606		return x.Id
607	}
608	return ""
609}
610
611func (x *Job) GetProjectId() string {
612	if x != nil {
613		return x.ProjectId
614	}
615	return ""
616}
617
618func (x *Job) GetName() string {
619	if x != nil {
620		return x.Name
621	}
622	return ""
623}
624
625func (x *Job) GetType() JobType {
626	if x != nil {
627		return x.Type
628	}
629	return JobType_JOB_TYPE_UNKNOWN
630}
631
632func (x *Job) GetEnvironment() *Environment {
633	if x != nil {
634		return x.Environment
635	}
636	return nil
637}
638
639func (x *Job) GetSteps() []*Step {
640	if x != nil {
641		return x.Steps
642	}
643	return nil
644}
645
646func (x *Job) GetStepsLocation() string {
647	if x != nil {
648		return x.StepsLocation
649	}
650	return ""
651}
652
653func (x *Job) GetCurrentState() JobState {
654	if x != nil {
655		return x.CurrentState
656	}
657	return JobState_JOB_STATE_UNKNOWN
658}
659
660func (x *Job) GetCurrentStateTime() *timestamppb.Timestamp {
661	if x != nil {
662		return x.CurrentStateTime
663	}
664	return nil
665}
666
667func (x *Job) GetRequestedState() JobState {
668	if x != nil {
669		return x.RequestedState
670	}
671	return JobState_JOB_STATE_UNKNOWN
672}
673
674func (x *Job) GetExecutionInfo() *JobExecutionInfo {
675	if x != nil {
676		return x.ExecutionInfo
677	}
678	return nil
679}
680
681func (x *Job) GetCreateTime() *timestamppb.Timestamp {
682	if x != nil {
683		return x.CreateTime
684	}
685	return nil
686}
687
688func (x *Job) GetReplaceJobId() string {
689	if x != nil {
690		return x.ReplaceJobId
691	}
692	return ""
693}
694
695func (x *Job) GetTransformNameMapping() map[string]string {
696	if x != nil {
697		return x.TransformNameMapping
698	}
699	return nil
700}
701
702func (x *Job) GetClientRequestId() string {
703	if x != nil {
704		return x.ClientRequestId
705	}
706	return ""
707}
708
709func (x *Job) GetReplacedByJobId() string {
710	if x != nil {
711		return x.ReplacedByJobId
712	}
713	return ""
714}
715
716func (x *Job) GetTempFiles() []string {
717	if x != nil {
718		return x.TempFiles
719	}
720	return nil
721}
722
723func (x *Job) GetLabels() map[string]string {
724	if x != nil {
725		return x.Labels
726	}
727	return nil
728}
729
730func (x *Job) GetLocation() string {
731	if x != nil {
732		return x.Location
733	}
734	return ""
735}
736
737func (x *Job) GetPipelineDescription() *PipelineDescription {
738	if x != nil {
739		return x.PipelineDescription
740	}
741	return nil
742}
743
744func (x *Job) GetStageStates() []*ExecutionStageState {
745	if x != nil {
746		return x.StageStates
747	}
748	return nil
749}
750
751func (x *Job) GetJobMetadata() *JobMetadata {
752	if x != nil {
753		return x.JobMetadata
754	}
755	return nil
756}
757
758func (x *Job) GetStartTime() *timestamppb.Timestamp {
759	if x != nil {
760		return x.StartTime
761	}
762	return nil
763}
764
765func (x *Job) GetCreatedFromSnapshotId() string {
766	if x != nil {
767		return x.CreatedFromSnapshotId
768	}
769	return ""
770}
771
772func (x *Job) GetSatisfiesPzs() bool {
773	if x != nil {
774		return x.SatisfiesPzs
775	}
776	return false
777}
778
779// Metadata for a Datastore connector used by the job.
780type DatastoreIODetails struct {
781	state         protoimpl.MessageState
782	sizeCache     protoimpl.SizeCache
783	unknownFields protoimpl.UnknownFields
784
785	// Namespace used in the connection.
786	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
787	// ProjectId accessed in the connection.
788	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
789}
790
791func (x *DatastoreIODetails) Reset() {
792	*x = DatastoreIODetails{}
793	if protoimpl.UnsafeEnabled {
794		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[1]
795		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
796		ms.StoreMessageInfo(mi)
797	}
798}
799
800func (x *DatastoreIODetails) String() string {
801	return protoimpl.X.MessageStringOf(x)
802}
803
804func (*DatastoreIODetails) ProtoMessage() {}
805
806func (x *DatastoreIODetails) ProtoReflect() protoreflect.Message {
807	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[1]
808	if protoimpl.UnsafeEnabled && x != nil {
809		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
810		if ms.LoadMessageInfo() == nil {
811			ms.StoreMessageInfo(mi)
812		}
813		return ms
814	}
815	return mi.MessageOf(x)
816}
817
818// Deprecated: Use DatastoreIODetails.ProtoReflect.Descriptor instead.
819func (*DatastoreIODetails) Descriptor() ([]byte, []int) {
820	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{1}
821}
822
823func (x *DatastoreIODetails) GetNamespace() string {
824	if x != nil {
825		return x.Namespace
826	}
827	return ""
828}
829
830func (x *DatastoreIODetails) GetProjectId() string {
831	if x != nil {
832		return x.ProjectId
833	}
834	return ""
835}
836
837// Metadata for a Pub/Sub connector used by the job.
838type PubSubIODetails struct {
839	state         protoimpl.MessageState
840	sizeCache     protoimpl.SizeCache
841	unknownFields protoimpl.UnknownFields
842
843	// Topic accessed in the connection.
844	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
845	// Subscription used in the connection.
846	Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
847}
848
849func (x *PubSubIODetails) Reset() {
850	*x = PubSubIODetails{}
851	if protoimpl.UnsafeEnabled {
852		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[2]
853		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
854		ms.StoreMessageInfo(mi)
855	}
856}
857
858func (x *PubSubIODetails) String() string {
859	return protoimpl.X.MessageStringOf(x)
860}
861
862func (*PubSubIODetails) ProtoMessage() {}
863
864func (x *PubSubIODetails) ProtoReflect() protoreflect.Message {
865	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[2]
866	if protoimpl.UnsafeEnabled && x != nil {
867		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
868		if ms.LoadMessageInfo() == nil {
869			ms.StoreMessageInfo(mi)
870		}
871		return ms
872	}
873	return mi.MessageOf(x)
874}
875
876// Deprecated: Use PubSubIODetails.ProtoReflect.Descriptor instead.
877func (*PubSubIODetails) Descriptor() ([]byte, []int) {
878	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{2}
879}
880
881func (x *PubSubIODetails) GetTopic() string {
882	if x != nil {
883		return x.Topic
884	}
885	return ""
886}
887
888func (x *PubSubIODetails) GetSubscription() string {
889	if x != nil {
890		return x.Subscription
891	}
892	return ""
893}
894
895// Metadata for a File connector used by the job.
896type FileIODetails struct {
897	state         protoimpl.MessageState
898	sizeCache     protoimpl.SizeCache
899	unknownFields protoimpl.UnknownFields
900
901	// File Pattern used to access files by the connector.
902	FilePattern string `protobuf:"bytes,1,opt,name=file_pattern,json=filePattern,proto3" json:"file_pattern,omitempty"`
903}
904
905func (x *FileIODetails) Reset() {
906	*x = FileIODetails{}
907	if protoimpl.UnsafeEnabled {
908		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[3]
909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
910		ms.StoreMessageInfo(mi)
911	}
912}
913
914func (x *FileIODetails) String() string {
915	return protoimpl.X.MessageStringOf(x)
916}
917
918func (*FileIODetails) ProtoMessage() {}
919
920func (x *FileIODetails) ProtoReflect() protoreflect.Message {
921	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[3]
922	if protoimpl.UnsafeEnabled && x != nil {
923		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
924		if ms.LoadMessageInfo() == nil {
925			ms.StoreMessageInfo(mi)
926		}
927		return ms
928	}
929	return mi.MessageOf(x)
930}
931
932// Deprecated: Use FileIODetails.ProtoReflect.Descriptor instead.
933func (*FileIODetails) Descriptor() ([]byte, []int) {
934	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{3}
935}
936
937func (x *FileIODetails) GetFilePattern() string {
938	if x != nil {
939		return x.FilePattern
940	}
941	return ""
942}
943
944// Metadata for a Cloud BigTable connector used by the job.
945type BigTableIODetails struct {
946	state         protoimpl.MessageState
947	sizeCache     protoimpl.SizeCache
948	unknownFields protoimpl.UnknownFields
949
950	// ProjectId accessed in the connection.
951	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
952	// InstanceId accessed in the connection.
953	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
954	// TableId accessed in the connection.
955	TableId string `protobuf:"bytes,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
956}
957
958func (x *BigTableIODetails) Reset() {
959	*x = BigTableIODetails{}
960	if protoimpl.UnsafeEnabled {
961		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[4]
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		ms.StoreMessageInfo(mi)
964	}
965}
966
967func (x *BigTableIODetails) String() string {
968	return protoimpl.X.MessageStringOf(x)
969}
970
971func (*BigTableIODetails) ProtoMessage() {}
972
973func (x *BigTableIODetails) ProtoReflect() protoreflect.Message {
974	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[4]
975	if protoimpl.UnsafeEnabled && x != nil {
976		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
977		if ms.LoadMessageInfo() == nil {
978			ms.StoreMessageInfo(mi)
979		}
980		return ms
981	}
982	return mi.MessageOf(x)
983}
984
985// Deprecated: Use BigTableIODetails.ProtoReflect.Descriptor instead.
986func (*BigTableIODetails) Descriptor() ([]byte, []int) {
987	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{4}
988}
989
990func (x *BigTableIODetails) GetProjectId() string {
991	if x != nil {
992		return x.ProjectId
993	}
994	return ""
995}
996
997func (x *BigTableIODetails) GetInstanceId() string {
998	if x != nil {
999		return x.InstanceId
1000	}
1001	return ""
1002}
1003
1004func (x *BigTableIODetails) GetTableId() string {
1005	if x != nil {
1006		return x.TableId
1007	}
1008	return ""
1009}
1010
1011// Metadata for a BigQuery connector used by the job.
1012type BigQueryIODetails struct {
1013	state         protoimpl.MessageState
1014	sizeCache     protoimpl.SizeCache
1015	unknownFields protoimpl.UnknownFields
1016
1017	// Table accessed in the connection.
1018	Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"`
1019	// Dataset accessed in the connection.
1020	Dataset string `protobuf:"bytes,2,opt,name=dataset,proto3" json:"dataset,omitempty"`
1021	// Project accessed in the connection.
1022	ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1023	// Query used to access data in the connection.
1024	Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"`
1025}
1026
1027func (x *BigQueryIODetails) Reset() {
1028	*x = BigQueryIODetails{}
1029	if protoimpl.UnsafeEnabled {
1030		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[5]
1031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1032		ms.StoreMessageInfo(mi)
1033	}
1034}
1035
1036func (x *BigQueryIODetails) String() string {
1037	return protoimpl.X.MessageStringOf(x)
1038}
1039
1040func (*BigQueryIODetails) ProtoMessage() {}
1041
1042func (x *BigQueryIODetails) ProtoReflect() protoreflect.Message {
1043	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[5]
1044	if protoimpl.UnsafeEnabled && x != nil {
1045		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1046		if ms.LoadMessageInfo() == nil {
1047			ms.StoreMessageInfo(mi)
1048		}
1049		return ms
1050	}
1051	return mi.MessageOf(x)
1052}
1053
1054// Deprecated: Use BigQueryIODetails.ProtoReflect.Descriptor instead.
1055func (*BigQueryIODetails) Descriptor() ([]byte, []int) {
1056	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{5}
1057}
1058
1059func (x *BigQueryIODetails) GetTable() string {
1060	if x != nil {
1061		return x.Table
1062	}
1063	return ""
1064}
1065
1066func (x *BigQueryIODetails) GetDataset() string {
1067	if x != nil {
1068		return x.Dataset
1069	}
1070	return ""
1071}
1072
1073func (x *BigQueryIODetails) GetProjectId() string {
1074	if x != nil {
1075		return x.ProjectId
1076	}
1077	return ""
1078}
1079
1080func (x *BigQueryIODetails) GetQuery() string {
1081	if x != nil {
1082		return x.Query
1083	}
1084	return ""
1085}
1086
1087// Metadata for a Spanner connector used by the job.
1088type SpannerIODetails struct {
1089	state         protoimpl.MessageState
1090	sizeCache     protoimpl.SizeCache
1091	unknownFields protoimpl.UnknownFields
1092
1093	// ProjectId accessed in the connection.
1094	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1095	// InstanceId accessed in the connection.
1096	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
1097	// DatabaseId accessed in the connection.
1098	DatabaseId string `protobuf:"bytes,3,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"`
1099}
1100
1101func (x *SpannerIODetails) Reset() {
1102	*x = SpannerIODetails{}
1103	if protoimpl.UnsafeEnabled {
1104		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[6]
1105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1106		ms.StoreMessageInfo(mi)
1107	}
1108}
1109
1110func (x *SpannerIODetails) String() string {
1111	return protoimpl.X.MessageStringOf(x)
1112}
1113
1114func (*SpannerIODetails) ProtoMessage() {}
1115
1116func (x *SpannerIODetails) ProtoReflect() protoreflect.Message {
1117	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[6]
1118	if protoimpl.UnsafeEnabled && x != nil {
1119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1120		if ms.LoadMessageInfo() == nil {
1121			ms.StoreMessageInfo(mi)
1122		}
1123		return ms
1124	}
1125	return mi.MessageOf(x)
1126}
1127
1128// Deprecated: Use SpannerIODetails.ProtoReflect.Descriptor instead.
1129func (*SpannerIODetails) Descriptor() ([]byte, []int) {
1130	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{6}
1131}
1132
1133func (x *SpannerIODetails) GetProjectId() string {
1134	if x != nil {
1135		return x.ProjectId
1136	}
1137	return ""
1138}
1139
1140func (x *SpannerIODetails) GetInstanceId() string {
1141	if x != nil {
1142		return x.InstanceId
1143	}
1144	return ""
1145}
1146
1147func (x *SpannerIODetails) GetDatabaseId() string {
1148	if x != nil {
1149		return x.DatabaseId
1150	}
1151	return ""
1152}
1153
1154// The version of the SDK used to run the job.
1155type SdkVersion struct {
1156	state         protoimpl.MessageState
1157	sizeCache     protoimpl.SizeCache
1158	unknownFields protoimpl.UnknownFields
1159
1160	// The version of the SDK used to run the job.
1161	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
1162	// A readable string describing the version of the SDK.
1163	VersionDisplayName string `protobuf:"bytes,2,opt,name=version_display_name,json=versionDisplayName,proto3" json:"version_display_name,omitempty"`
1164	// The support status for this SDK version.
1165	SdkSupportStatus SdkVersion_SdkSupportStatus `protobuf:"varint,3,opt,name=sdk_support_status,json=sdkSupportStatus,proto3,enum=google.dataflow.v1beta3.SdkVersion_SdkSupportStatus" json:"sdk_support_status,omitempty"`
1166}
1167
1168func (x *SdkVersion) Reset() {
1169	*x = SdkVersion{}
1170	if protoimpl.UnsafeEnabled {
1171		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[7]
1172		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1173		ms.StoreMessageInfo(mi)
1174	}
1175}
1176
1177func (x *SdkVersion) String() string {
1178	return protoimpl.X.MessageStringOf(x)
1179}
1180
1181func (*SdkVersion) ProtoMessage() {}
1182
1183func (x *SdkVersion) ProtoReflect() protoreflect.Message {
1184	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[7]
1185	if protoimpl.UnsafeEnabled && x != nil {
1186		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1187		if ms.LoadMessageInfo() == nil {
1188			ms.StoreMessageInfo(mi)
1189		}
1190		return ms
1191	}
1192	return mi.MessageOf(x)
1193}
1194
1195// Deprecated: Use SdkVersion.ProtoReflect.Descriptor instead.
1196func (*SdkVersion) Descriptor() ([]byte, []int) {
1197	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{7}
1198}
1199
1200func (x *SdkVersion) GetVersion() string {
1201	if x != nil {
1202		return x.Version
1203	}
1204	return ""
1205}
1206
1207func (x *SdkVersion) GetVersionDisplayName() string {
1208	if x != nil {
1209		return x.VersionDisplayName
1210	}
1211	return ""
1212}
1213
1214func (x *SdkVersion) GetSdkSupportStatus() SdkVersion_SdkSupportStatus {
1215	if x != nil {
1216		return x.SdkSupportStatus
1217	}
1218	return SdkVersion_UNKNOWN
1219}
1220
1221// Metadata available primarily for filtering jobs. Will be included in the
1222// ListJob response and Job SUMMARY view.
1223type JobMetadata struct {
1224	state         protoimpl.MessageState
1225	sizeCache     protoimpl.SizeCache
1226	unknownFields protoimpl.UnknownFields
1227
1228	// The SDK version used to run the job.
1229	SdkVersion *SdkVersion `protobuf:"bytes,1,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"`
1230	// Identification of a Spanner source used in the Dataflow job.
1231	SpannerDetails []*SpannerIODetails `protobuf:"bytes,2,rep,name=spanner_details,json=spannerDetails,proto3" json:"spanner_details,omitempty"`
1232	// Identification of a BigQuery source used in the Dataflow job.
1233	BigqueryDetails []*BigQueryIODetails `protobuf:"bytes,3,rep,name=bigquery_details,json=bigqueryDetails,proto3" json:"bigquery_details,omitempty"`
1234	// Identification of a Cloud BigTable source used in the Dataflow job.
1235	BigTableDetails []*BigTableIODetails `protobuf:"bytes,4,rep,name=big_table_details,json=bigTableDetails,proto3" json:"big_table_details,omitempty"`
1236	// Identification of a PubSub source used in the Dataflow job.
1237	PubsubDetails []*PubSubIODetails `protobuf:"bytes,5,rep,name=pubsub_details,json=pubsubDetails,proto3" json:"pubsub_details,omitempty"`
1238	// Identification of a File source used in the Dataflow job.
1239	FileDetails []*FileIODetails `protobuf:"bytes,6,rep,name=file_details,json=fileDetails,proto3" json:"file_details,omitempty"`
1240	// Identification of a Datastore source used in the Dataflow job.
1241	DatastoreDetails []*DatastoreIODetails `protobuf:"bytes,7,rep,name=datastore_details,json=datastoreDetails,proto3" json:"datastore_details,omitempty"`
1242}
1243
1244func (x *JobMetadata) Reset() {
1245	*x = JobMetadata{}
1246	if protoimpl.UnsafeEnabled {
1247		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[8]
1248		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1249		ms.StoreMessageInfo(mi)
1250	}
1251}
1252
1253func (x *JobMetadata) String() string {
1254	return protoimpl.X.MessageStringOf(x)
1255}
1256
1257func (*JobMetadata) ProtoMessage() {}
1258
1259func (x *JobMetadata) ProtoReflect() protoreflect.Message {
1260	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[8]
1261	if protoimpl.UnsafeEnabled && x != nil {
1262		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1263		if ms.LoadMessageInfo() == nil {
1264			ms.StoreMessageInfo(mi)
1265		}
1266		return ms
1267	}
1268	return mi.MessageOf(x)
1269}
1270
1271// Deprecated: Use JobMetadata.ProtoReflect.Descriptor instead.
1272func (*JobMetadata) Descriptor() ([]byte, []int) {
1273	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{8}
1274}
1275
1276func (x *JobMetadata) GetSdkVersion() *SdkVersion {
1277	if x != nil {
1278		return x.SdkVersion
1279	}
1280	return nil
1281}
1282
1283func (x *JobMetadata) GetSpannerDetails() []*SpannerIODetails {
1284	if x != nil {
1285		return x.SpannerDetails
1286	}
1287	return nil
1288}
1289
1290func (x *JobMetadata) GetBigqueryDetails() []*BigQueryIODetails {
1291	if x != nil {
1292		return x.BigqueryDetails
1293	}
1294	return nil
1295}
1296
1297func (x *JobMetadata) GetBigTableDetails() []*BigTableIODetails {
1298	if x != nil {
1299		return x.BigTableDetails
1300	}
1301	return nil
1302}
1303
1304func (x *JobMetadata) GetPubsubDetails() []*PubSubIODetails {
1305	if x != nil {
1306		return x.PubsubDetails
1307	}
1308	return nil
1309}
1310
1311func (x *JobMetadata) GetFileDetails() []*FileIODetails {
1312	if x != nil {
1313		return x.FileDetails
1314	}
1315	return nil
1316}
1317
1318func (x *JobMetadata) GetDatastoreDetails() []*DatastoreIODetails {
1319	if x != nil {
1320		return x.DatastoreDetails
1321	}
1322	return nil
1323}
1324
1325// A message describing the state of a particular execution stage.
1326type ExecutionStageState struct {
1327	state         protoimpl.MessageState
1328	sizeCache     protoimpl.SizeCache
1329	unknownFields protoimpl.UnknownFields
1330
1331	// The name of the execution stage.
1332	ExecutionStageName string `protobuf:"bytes,1,opt,name=execution_stage_name,json=executionStageName,proto3" json:"execution_stage_name,omitempty"`
1333	// Executions stage states allow the same set of values as JobState.
1334	ExecutionStageState JobState `protobuf:"varint,2,opt,name=execution_stage_state,json=executionStageState,proto3,enum=google.dataflow.v1beta3.JobState" json:"execution_stage_state,omitempty"`
1335	// The time at which the stage transitioned to this state.
1336	CurrentStateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=current_state_time,json=currentStateTime,proto3" json:"current_state_time,omitempty"`
1337}
1338
1339func (x *ExecutionStageState) Reset() {
1340	*x = ExecutionStageState{}
1341	if protoimpl.UnsafeEnabled {
1342		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[9]
1343		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1344		ms.StoreMessageInfo(mi)
1345	}
1346}
1347
1348func (x *ExecutionStageState) String() string {
1349	return protoimpl.X.MessageStringOf(x)
1350}
1351
1352func (*ExecutionStageState) ProtoMessage() {}
1353
1354func (x *ExecutionStageState) ProtoReflect() protoreflect.Message {
1355	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[9]
1356	if protoimpl.UnsafeEnabled && x != nil {
1357		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1358		if ms.LoadMessageInfo() == nil {
1359			ms.StoreMessageInfo(mi)
1360		}
1361		return ms
1362	}
1363	return mi.MessageOf(x)
1364}
1365
1366// Deprecated: Use ExecutionStageState.ProtoReflect.Descriptor instead.
1367func (*ExecutionStageState) Descriptor() ([]byte, []int) {
1368	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{9}
1369}
1370
1371func (x *ExecutionStageState) GetExecutionStageName() string {
1372	if x != nil {
1373		return x.ExecutionStageName
1374	}
1375	return ""
1376}
1377
1378func (x *ExecutionStageState) GetExecutionStageState() JobState {
1379	if x != nil {
1380		return x.ExecutionStageState
1381	}
1382	return JobState_JOB_STATE_UNKNOWN
1383}
1384
1385func (x *ExecutionStageState) GetCurrentStateTime() *timestamppb.Timestamp {
1386	if x != nil {
1387		return x.CurrentStateTime
1388	}
1389	return nil
1390}
1391
1392// A descriptive representation of submitted pipeline as well as the executed
1393// form.  This data is provided by the Dataflow service for ease of visualizing
1394// the pipeline and interpreting Dataflow provided metrics.
1395type PipelineDescription struct {
1396	state         protoimpl.MessageState
1397	sizeCache     protoimpl.SizeCache
1398	unknownFields protoimpl.UnknownFields
1399
1400	// Description of each transform in the pipeline and collections between them.
1401	OriginalPipelineTransform []*TransformSummary `protobuf:"bytes,1,rep,name=original_pipeline_transform,json=originalPipelineTransform,proto3" json:"original_pipeline_transform,omitempty"`
1402	// Description of each stage of execution of the pipeline.
1403	ExecutionPipelineStage []*ExecutionStageSummary `protobuf:"bytes,2,rep,name=execution_pipeline_stage,json=executionPipelineStage,proto3" json:"execution_pipeline_stage,omitempty"`
1404	// Pipeline level display data.
1405	DisplayData []*DisplayData `protobuf:"bytes,3,rep,name=display_data,json=displayData,proto3" json:"display_data,omitempty"`
1406}
1407
1408func (x *PipelineDescription) Reset() {
1409	*x = PipelineDescription{}
1410	if protoimpl.UnsafeEnabled {
1411		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[10]
1412		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1413		ms.StoreMessageInfo(mi)
1414	}
1415}
1416
1417func (x *PipelineDescription) String() string {
1418	return protoimpl.X.MessageStringOf(x)
1419}
1420
1421func (*PipelineDescription) ProtoMessage() {}
1422
1423func (x *PipelineDescription) ProtoReflect() protoreflect.Message {
1424	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[10]
1425	if protoimpl.UnsafeEnabled && x != nil {
1426		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1427		if ms.LoadMessageInfo() == nil {
1428			ms.StoreMessageInfo(mi)
1429		}
1430		return ms
1431	}
1432	return mi.MessageOf(x)
1433}
1434
1435// Deprecated: Use PipelineDescription.ProtoReflect.Descriptor instead.
1436func (*PipelineDescription) Descriptor() ([]byte, []int) {
1437	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{10}
1438}
1439
1440func (x *PipelineDescription) GetOriginalPipelineTransform() []*TransformSummary {
1441	if x != nil {
1442		return x.OriginalPipelineTransform
1443	}
1444	return nil
1445}
1446
1447func (x *PipelineDescription) GetExecutionPipelineStage() []*ExecutionStageSummary {
1448	if x != nil {
1449		return x.ExecutionPipelineStage
1450	}
1451	return nil
1452}
1453
1454func (x *PipelineDescription) GetDisplayData() []*DisplayData {
1455	if x != nil {
1456		return x.DisplayData
1457	}
1458	return nil
1459}
1460
1461// Description of the type, names/ids, and input/outputs for a transform.
1462type TransformSummary struct {
1463	state         protoimpl.MessageState
1464	sizeCache     protoimpl.SizeCache
1465	unknownFields protoimpl.UnknownFields
1466
1467	// Type of transform.
1468	Kind KindType `protobuf:"varint,1,opt,name=kind,proto3,enum=google.dataflow.v1beta3.KindType" json:"kind,omitempty"`
1469	// SDK generated id of this transform instance.
1470	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
1471	// User provided name for this transform instance.
1472	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
1473	// Transform-specific display data.
1474	DisplayData []*DisplayData `protobuf:"bytes,4,rep,name=display_data,json=displayData,proto3" json:"display_data,omitempty"`
1475	// User  names for all collection outputs to this transform.
1476	OutputCollectionName []string `protobuf:"bytes,5,rep,name=output_collection_name,json=outputCollectionName,proto3" json:"output_collection_name,omitempty"`
1477	// User names for all collection inputs to this transform.
1478	InputCollectionName []string `protobuf:"bytes,6,rep,name=input_collection_name,json=inputCollectionName,proto3" json:"input_collection_name,omitempty"`
1479}
1480
1481func (x *TransformSummary) Reset() {
1482	*x = TransformSummary{}
1483	if protoimpl.UnsafeEnabled {
1484		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[11]
1485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1486		ms.StoreMessageInfo(mi)
1487	}
1488}
1489
1490func (x *TransformSummary) String() string {
1491	return protoimpl.X.MessageStringOf(x)
1492}
1493
1494func (*TransformSummary) ProtoMessage() {}
1495
1496func (x *TransformSummary) ProtoReflect() protoreflect.Message {
1497	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[11]
1498	if protoimpl.UnsafeEnabled && x != nil {
1499		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1500		if ms.LoadMessageInfo() == nil {
1501			ms.StoreMessageInfo(mi)
1502		}
1503		return ms
1504	}
1505	return mi.MessageOf(x)
1506}
1507
1508// Deprecated: Use TransformSummary.ProtoReflect.Descriptor instead.
1509func (*TransformSummary) Descriptor() ([]byte, []int) {
1510	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{11}
1511}
1512
1513func (x *TransformSummary) GetKind() KindType {
1514	if x != nil {
1515		return x.Kind
1516	}
1517	return KindType_UNKNOWN_KIND
1518}
1519
1520func (x *TransformSummary) GetId() string {
1521	if x != nil {
1522		return x.Id
1523	}
1524	return ""
1525}
1526
1527func (x *TransformSummary) GetName() string {
1528	if x != nil {
1529		return x.Name
1530	}
1531	return ""
1532}
1533
1534func (x *TransformSummary) GetDisplayData() []*DisplayData {
1535	if x != nil {
1536		return x.DisplayData
1537	}
1538	return nil
1539}
1540
1541func (x *TransformSummary) GetOutputCollectionName() []string {
1542	if x != nil {
1543		return x.OutputCollectionName
1544	}
1545	return nil
1546}
1547
1548func (x *TransformSummary) GetInputCollectionName() []string {
1549	if x != nil {
1550		return x.InputCollectionName
1551	}
1552	return nil
1553}
1554
1555// Description of the composing transforms, names/ids, and input/outputs of a
1556// stage of execution.  Some composing transforms and sources may have been
1557// generated by the Dataflow service during execution planning.
1558type ExecutionStageSummary struct {
1559	state         protoimpl.MessageState
1560	sizeCache     protoimpl.SizeCache
1561	unknownFields protoimpl.UnknownFields
1562
1563	// Dataflow service generated name for this stage.
1564	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1565	// Dataflow service generated id for this stage.
1566	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
1567	// Type of transform this stage is executing.
1568	Kind KindType `protobuf:"varint,3,opt,name=kind,proto3,enum=google.dataflow.v1beta3.KindType" json:"kind,omitempty"`
1569	// Input sources for this stage.
1570	InputSource []*ExecutionStageSummary_StageSource `protobuf:"bytes,4,rep,name=input_source,json=inputSource,proto3" json:"input_source,omitempty"`
1571	// Output sources for this stage.
1572	OutputSource []*ExecutionStageSummary_StageSource `protobuf:"bytes,5,rep,name=output_source,json=outputSource,proto3" json:"output_source,omitempty"`
1573	// Other stages that must complete before this stage can run.
1574	PrerequisiteStage []string `protobuf:"bytes,8,rep,name=prerequisite_stage,json=prerequisiteStage,proto3" json:"prerequisite_stage,omitempty"`
1575	// Transforms that comprise this execution stage.
1576	ComponentTransform []*ExecutionStageSummary_ComponentTransform `protobuf:"bytes,6,rep,name=component_transform,json=componentTransform,proto3" json:"component_transform,omitempty"`
1577	// Collections produced and consumed by component transforms of this stage.
1578	ComponentSource []*ExecutionStageSummary_ComponentSource `protobuf:"bytes,7,rep,name=component_source,json=componentSource,proto3" json:"component_source,omitempty"`
1579}
1580
1581func (x *ExecutionStageSummary) Reset() {
1582	*x = ExecutionStageSummary{}
1583	if protoimpl.UnsafeEnabled {
1584		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[12]
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		ms.StoreMessageInfo(mi)
1587	}
1588}
1589
1590func (x *ExecutionStageSummary) String() string {
1591	return protoimpl.X.MessageStringOf(x)
1592}
1593
1594func (*ExecutionStageSummary) ProtoMessage() {}
1595
1596func (x *ExecutionStageSummary) ProtoReflect() protoreflect.Message {
1597	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[12]
1598	if protoimpl.UnsafeEnabled && x != nil {
1599		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1600		if ms.LoadMessageInfo() == nil {
1601			ms.StoreMessageInfo(mi)
1602		}
1603		return ms
1604	}
1605	return mi.MessageOf(x)
1606}
1607
1608// Deprecated: Use ExecutionStageSummary.ProtoReflect.Descriptor instead.
1609func (*ExecutionStageSummary) Descriptor() ([]byte, []int) {
1610	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{12}
1611}
1612
1613func (x *ExecutionStageSummary) GetName() string {
1614	if x != nil {
1615		return x.Name
1616	}
1617	return ""
1618}
1619
1620func (x *ExecutionStageSummary) GetId() string {
1621	if x != nil {
1622		return x.Id
1623	}
1624	return ""
1625}
1626
1627func (x *ExecutionStageSummary) GetKind() KindType {
1628	if x != nil {
1629		return x.Kind
1630	}
1631	return KindType_UNKNOWN_KIND
1632}
1633
1634func (x *ExecutionStageSummary) GetInputSource() []*ExecutionStageSummary_StageSource {
1635	if x != nil {
1636		return x.InputSource
1637	}
1638	return nil
1639}
1640
1641func (x *ExecutionStageSummary) GetOutputSource() []*ExecutionStageSummary_StageSource {
1642	if x != nil {
1643		return x.OutputSource
1644	}
1645	return nil
1646}
1647
1648func (x *ExecutionStageSummary) GetPrerequisiteStage() []string {
1649	if x != nil {
1650		return x.PrerequisiteStage
1651	}
1652	return nil
1653}
1654
1655func (x *ExecutionStageSummary) GetComponentTransform() []*ExecutionStageSummary_ComponentTransform {
1656	if x != nil {
1657		return x.ComponentTransform
1658	}
1659	return nil
1660}
1661
1662func (x *ExecutionStageSummary) GetComponentSource() []*ExecutionStageSummary_ComponentSource {
1663	if x != nil {
1664		return x.ComponentSource
1665	}
1666	return nil
1667}
1668
1669// Data provided with a pipeline or transform to provide descriptive info.
1670type DisplayData struct {
1671	state         protoimpl.MessageState
1672	sizeCache     protoimpl.SizeCache
1673	unknownFields protoimpl.UnknownFields
1674
1675	// The key identifying the display data.
1676	// This is intended to be used as a label for the display data
1677	// when viewed in a dax monitoring system.
1678	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
1679	// The namespace for the key. This is usually a class name or programming
1680	// language namespace (i.e. python module) which defines the display data.
1681	// This allows a dax monitoring system to specially handle the data
1682	// and perform custom rendering.
1683	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
1684	// Various value types which can be used for display data.  Only one will be
1685	// set.
1686	//
1687	// Types that are assignable to Value:
1688	//	*DisplayData_StrValue
1689	//	*DisplayData_Int64Value
1690	//	*DisplayData_FloatValue
1691	//	*DisplayData_JavaClassValue
1692	//	*DisplayData_TimestampValue
1693	//	*DisplayData_DurationValue
1694	//	*DisplayData_BoolValue
1695	Value isDisplayData_Value `protobuf_oneof:"Value"`
1696	// A possible additional shorter value to display.
1697	// For example a java_class_name_value of com.mypackage.MyDoFn
1698	// will be stored with MyDoFn as the short_str_value and
1699	// com.mypackage.MyDoFn as the java_class_name value.
1700	// short_str_value can be displayed and java_class_name_value
1701	// will be displayed as a tooltip.
1702	ShortStrValue string `protobuf:"bytes,11,opt,name=short_str_value,json=shortStrValue,proto3" json:"short_str_value,omitempty"`
1703	// An optional full URL.
1704	Url string `protobuf:"bytes,12,opt,name=url,proto3" json:"url,omitempty"`
1705	// An optional label to display in a dax UI for the element.
1706	Label string `protobuf:"bytes,13,opt,name=label,proto3" json:"label,omitempty"`
1707}
1708
1709func (x *DisplayData) Reset() {
1710	*x = DisplayData{}
1711	if protoimpl.UnsafeEnabled {
1712		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[13]
1713		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1714		ms.StoreMessageInfo(mi)
1715	}
1716}
1717
1718func (x *DisplayData) String() string {
1719	return protoimpl.X.MessageStringOf(x)
1720}
1721
1722func (*DisplayData) ProtoMessage() {}
1723
1724func (x *DisplayData) ProtoReflect() protoreflect.Message {
1725	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[13]
1726	if protoimpl.UnsafeEnabled && x != nil {
1727		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1728		if ms.LoadMessageInfo() == nil {
1729			ms.StoreMessageInfo(mi)
1730		}
1731		return ms
1732	}
1733	return mi.MessageOf(x)
1734}
1735
1736// Deprecated: Use DisplayData.ProtoReflect.Descriptor instead.
1737func (*DisplayData) Descriptor() ([]byte, []int) {
1738	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{13}
1739}
1740
1741func (x *DisplayData) GetKey() string {
1742	if x != nil {
1743		return x.Key
1744	}
1745	return ""
1746}
1747
1748func (x *DisplayData) GetNamespace() string {
1749	if x != nil {
1750		return x.Namespace
1751	}
1752	return ""
1753}
1754
1755func (m *DisplayData) GetValue() isDisplayData_Value {
1756	if m != nil {
1757		return m.Value
1758	}
1759	return nil
1760}
1761
1762func (x *DisplayData) GetStrValue() string {
1763	if x, ok := x.GetValue().(*DisplayData_StrValue); ok {
1764		return x.StrValue
1765	}
1766	return ""
1767}
1768
1769func (x *DisplayData) GetInt64Value() int64 {
1770	if x, ok := x.GetValue().(*DisplayData_Int64Value); ok {
1771		return x.Int64Value
1772	}
1773	return 0
1774}
1775
1776func (x *DisplayData) GetFloatValue() float32 {
1777	if x, ok := x.GetValue().(*DisplayData_FloatValue); ok {
1778		return x.FloatValue
1779	}
1780	return 0
1781}
1782
1783func (x *DisplayData) GetJavaClassValue() string {
1784	if x, ok := x.GetValue().(*DisplayData_JavaClassValue); ok {
1785		return x.JavaClassValue
1786	}
1787	return ""
1788}
1789
1790func (x *DisplayData) GetTimestampValue() *timestamppb.Timestamp {
1791	if x, ok := x.GetValue().(*DisplayData_TimestampValue); ok {
1792		return x.TimestampValue
1793	}
1794	return nil
1795}
1796
1797func (x *DisplayData) GetDurationValue() *durationpb.Duration {
1798	if x, ok := x.GetValue().(*DisplayData_DurationValue); ok {
1799		return x.DurationValue
1800	}
1801	return nil
1802}
1803
1804func (x *DisplayData) GetBoolValue() bool {
1805	if x, ok := x.GetValue().(*DisplayData_BoolValue); ok {
1806		return x.BoolValue
1807	}
1808	return false
1809}
1810
1811func (x *DisplayData) GetShortStrValue() string {
1812	if x != nil {
1813		return x.ShortStrValue
1814	}
1815	return ""
1816}
1817
1818func (x *DisplayData) GetUrl() string {
1819	if x != nil {
1820		return x.Url
1821	}
1822	return ""
1823}
1824
1825func (x *DisplayData) GetLabel() string {
1826	if x != nil {
1827		return x.Label
1828	}
1829	return ""
1830}
1831
1832type isDisplayData_Value interface {
1833	isDisplayData_Value()
1834}
1835
1836type DisplayData_StrValue struct {
1837	// Contains value if the data is of string type.
1838	StrValue string `protobuf:"bytes,4,opt,name=str_value,json=strValue,proto3,oneof"`
1839}
1840
1841type DisplayData_Int64Value struct {
1842	// Contains value if the data is of int64 type.
1843	Int64Value int64 `protobuf:"varint,5,opt,name=int64_value,json=int64Value,proto3,oneof"`
1844}
1845
1846type DisplayData_FloatValue struct {
1847	// Contains value if the data is of float type.
1848	FloatValue float32 `protobuf:"fixed32,6,opt,name=float_value,json=floatValue,proto3,oneof"`
1849}
1850
1851type DisplayData_JavaClassValue struct {
1852	// Contains value if the data is of java class type.
1853	JavaClassValue string `protobuf:"bytes,7,opt,name=java_class_value,json=javaClassValue,proto3,oneof"`
1854}
1855
1856type DisplayData_TimestampValue struct {
1857	// Contains value if the data is of timestamp type.
1858	TimestampValue *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
1859}
1860
1861type DisplayData_DurationValue struct {
1862	// Contains value if the data is of duration type.
1863	DurationValue *durationpb.Duration `protobuf:"bytes,9,opt,name=duration_value,json=durationValue,proto3,oneof"`
1864}
1865
1866type DisplayData_BoolValue struct {
1867	// Contains value if the data is of a boolean type.
1868	BoolValue bool `protobuf:"varint,10,opt,name=bool_value,json=boolValue,proto3,oneof"`
1869}
1870
1871func (*DisplayData_StrValue) isDisplayData_Value() {}
1872
1873func (*DisplayData_Int64Value) isDisplayData_Value() {}
1874
1875func (*DisplayData_FloatValue) isDisplayData_Value() {}
1876
1877func (*DisplayData_JavaClassValue) isDisplayData_Value() {}
1878
1879func (*DisplayData_TimestampValue) isDisplayData_Value() {}
1880
1881func (*DisplayData_DurationValue) isDisplayData_Value() {}
1882
1883func (*DisplayData_BoolValue) isDisplayData_Value() {}
1884
1885// Defines a particular step within a Cloud Dataflow job.
1886//
1887// A job consists of multiple steps, each of which performs some
1888// specific operation as part of the overall job.  Data is typically
1889// passed from one step to another as part of the job.
1890//
1891// Here's an example of a sequence of steps which together implement a
1892// Map-Reduce job:
1893//
1894//   * Read a collection of data from some source, parsing the
1895//     collection's elements.
1896//
1897//   * Validate the elements.
1898//
1899//   * Apply a user-defined function to map each element to some value
1900//     and extract an element-specific key value.
1901//
1902//   * Group elements with the same key into a single element with
1903//     that key, transforming a multiply-keyed collection into a
1904//     uniquely-keyed collection.
1905//
1906//   * Write the elements out to some data sink.
1907//
1908// Note that the Cloud Dataflow service may be used to run many different
1909// types of jobs, not just Map-Reduce.
1910type Step struct {
1911	state         protoimpl.MessageState
1912	sizeCache     protoimpl.SizeCache
1913	unknownFields protoimpl.UnknownFields
1914
1915	// The kind of step in the Cloud Dataflow job.
1916	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
1917	// The name that identifies the step. This must be unique for each
1918	// step with respect to all other steps in the Cloud Dataflow job.
1919	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1920	// Named properties associated with the step. Each kind of
1921	// predefined step has its own required set of properties.
1922	// Must be provided on Create.  Only retrieved with JOB_VIEW_ALL.
1923	Properties *structpb.Struct `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
1924}
1925
1926func (x *Step) Reset() {
1927	*x = Step{}
1928	if protoimpl.UnsafeEnabled {
1929		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[14]
1930		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1931		ms.StoreMessageInfo(mi)
1932	}
1933}
1934
1935func (x *Step) String() string {
1936	return protoimpl.X.MessageStringOf(x)
1937}
1938
1939func (*Step) ProtoMessage() {}
1940
1941func (x *Step) ProtoReflect() protoreflect.Message {
1942	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[14]
1943	if protoimpl.UnsafeEnabled && x != nil {
1944		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1945		if ms.LoadMessageInfo() == nil {
1946			ms.StoreMessageInfo(mi)
1947		}
1948		return ms
1949	}
1950	return mi.MessageOf(x)
1951}
1952
1953// Deprecated: Use Step.ProtoReflect.Descriptor instead.
1954func (*Step) Descriptor() ([]byte, []int) {
1955	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{14}
1956}
1957
1958func (x *Step) GetKind() string {
1959	if x != nil {
1960		return x.Kind
1961	}
1962	return ""
1963}
1964
1965func (x *Step) GetName() string {
1966	if x != nil {
1967		return x.Name
1968	}
1969	return ""
1970}
1971
1972func (x *Step) GetProperties() *structpb.Struct {
1973	if x != nil {
1974		return x.Properties
1975	}
1976	return nil
1977}
1978
1979// Additional information about how a Cloud Dataflow job will be executed that
1980// isn't contained in the submitted job.
1981type JobExecutionInfo struct {
1982	state         protoimpl.MessageState
1983	sizeCache     protoimpl.SizeCache
1984	unknownFields protoimpl.UnknownFields
1985
1986	// A mapping from each stage to the information about that stage.
1987	Stages map[string]*JobExecutionStageInfo `protobuf:"bytes,1,rep,name=stages,proto3" json:"stages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1988}
1989
1990func (x *JobExecutionInfo) Reset() {
1991	*x = JobExecutionInfo{}
1992	if protoimpl.UnsafeEnabled {
1993		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[15]
1994		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1995		ms.StoreMessageInfo(mi)
1996	}
1997}
1998
1999func (x *JobExecutionInfo) String() string {
2000	return protoimpl.X.MessageStringOf(x)
2001}
2002
2003func (*JobExecutionInfo) ProtoMessage() {}
2004
2005func (x *JobExecutionInfo) ProtoReflect() protoreflect.Message {
2006	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[15]
2007	if protoimpl.UnsafeEnabled && x != nil {
2008		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2009		if ms.LoadMessageInfo() == nil {
2010			ms.StoreMessageInfo(mi)
2011		}
2012		return ms
2013	}
2014	return mi.MessageOf(x)
2015}
2016
2017// Deprecated: Use JobExecutionInfo.ProtoReflect.Descriptor instead.
2018func (*JobExecutionInfo) Descriptor() ([]byte, []int) {
2019	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{15}
2020}
2021
2022func (x *JobExecutionInfo) GetStages() map[string]*JobExecutionStageInfo {
2023	if x != nil {
2024		return x.Stages
2025	}
2026	return nil
2027}
2028
2029// Contains information about how a particular
2030// [google.dataflow.v1beta3.Step][google.dataflow.v1beta3.Step] will be executed.
2031type JobExecutionStageInfo struct {
2032	state         protoimpl.MessageState
2033	sizeCache     protoimpl.SizeCache
2034	unknownFields protoimpl.UnknownFields
2035
2036	// The steps associated with the execution stage.
2037	// Note that stages may have several steps, and that a given step
2038	// might be run by more than one stage.
2039	StepName []string `protobuf:"bytes,1,rep,name=step_name,json=stepName,proto3" json:"step_name,omitempty"`
2040}
2041
2042func (x *JobExecutionStageInfo) Reset() {
2043	*x = JobExecutionStageInfo{}
2044	if protoimpl.UnsafeEnabled {
2045		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[16]
2046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2047		ms.StoreMessageInfo(mi)
2048	}
2049}
2050
2051func (x *JobExecutionStageInfo) String() string {
2052	return protoimpl.X.MessageStringOf(x)
2053}
2054
2055func (*JobExecutionStageInfo) ProtoMessage() {}
2056
2057func (x *JobExecutionStageInfo) ProtoReflect() protoreflect.Message {
2058	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[16]
2059	if protoimpl.UnsafeEnabled && x != nil {
2060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2061		if ms.LoadMessageInfo() == nil {
2062			ms.StoreMessageInfo(mi)
2063		}
2064		return ms
2065	}
2066	return mi.MessageOf(x)
2067}
2068
2069// Deprecated: Use JobExecutionStageInfo.ProtoReflect.Descriptor instead.
2070func (*JobExecutionStageInfo) Descriptor() ([]byte, []int) {
2071	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{16}
2072}
2073
2074func (x *JobExecutionStageInfo) GetStepName() []string {
2075	if x != nil {
2076		return x.StepName
2077	}
2078	return nil
2079}
2080
2081// Request to create a Cloud Dataflow job.
2082type CreateJobRequest struct {
2083	state         protoimpl.MessageState
2084	sizeCache     protoimpl.SizeCache
2085	unknownFields protoimpl.UnknownFields
2086
2087	// The ID of the Cloud Platform project that the job belongs to.
2088	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2089	// The job to create.
2090	Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
2091	// The level of information requested in response.
2092	View JobView `protobuf:"varint,3,opt,name=view,proto3,enum=google.dataflow.v1beta3.JobView" json:"view,omitempty"`
2093	// Deprecated. This field is now in the Job message.
2094	ReplaceJobId string `protobuf:"bytes,4,opt,name=replace_job_id,json=replaceJobId,proto3" json:"replace_job_id,omitempty"`
2095	// The [regional endpoint]
2096	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2097	// contains this job.
2098	Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
2099}
2100
2101func (x *CreateJobRequest) Reset() {
2102	*x = CreateJobRequest{}
2103	if protoimpl.UnsafeEnabled {
2104		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[17]
2105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2106		ms.StoreMessageInfo(mi)
2107	}
2108}
2109
2110func (x *CreateJobRequest) String() string {
2111	return protoimpl.X.MessageStringOf(x)
2112}
2113
2114func (*CreateJobRequest) ProtoMessage() {}
2115
2116func (x *CreateJobRequest) ProtoReflect() protoreflect.Message {
2117	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[17]
2118	if protoimpl.UnsafeEnabled && x != nil {
2119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2120		if ms.LoadMessageInfo() == nil {
2121			ms.StoreMessageInfo(mi)
2122		}
2123		return ms
2124	}
2125	return mi.MessageOf(x)
2126}
2127
2128// Deprecated: Use CreateJobRequest.ProtoReflect.Descriptor instead.
2129func (*CreateJobRequest) Descriptor() ([]byte, []int) {
2130	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{17}
2131}
2132
2133func (x *CreateJobRequest) GetProjectId() string {
2134	if x != nil {
2135		return x.ProjectId
2136	}
2137	return ""
2138}
2139
2140func (x *CreateJobRequest) GetJob() *Job {
2141	if x != nil {
2142		return x.Job
2143	}
2144	return nil
2145}
2146
2147func (x *CreateJobRequest) GetView() JobView {
2148	if x != nil {
2149		return x.View
2150	}
2151	return JobView_JOB_VIEW_UNKNOWN
2152}
2153
2154func (x *CreateJobRequest) GetReplaceJobId() string {
2155	if x != nil {
2156		return x.ReplaceJobId
2157	}
2158	return ""
2159}
2160
2161func (x *CreateJobRequest) GetLocation() string {
2162	if x != nil {
2163		return x.Location
2164	}
2165	return ""
2166}
2167
2168// Request to get the state of a Cloud Dataflow job.
2169type GetJobRequest struct {
2170	state         protoimpl.MessageState
2171	sizeCache     protoimpl.SizeCache
2172	unknownFields protoimpl.UnknownFields
2173
2174	// The ID of the Cloud Platform project that the job belongs to.
2175	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2176	// The job ID.
2177	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
2178	// The level of information requested in response.
2179	View JobView `protobuf:"varint,3,opt,name=view,proto3,enum=google.dataflow.v1beta3.JobView" json:"view,omitempty"`
2180	// The [regional endpoint]
2181	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2182	// contains this job.
2183	Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
2184}
2185
2186func (x *GetJobRequest) Reset() {
2187	*x = GetJobRequest{}
2188	if protoimpl.UnsafeEnabled {
2189		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[18]
2190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2191		ms.StoreMessageInfo(mi)
2192	}
2193}
2194
2195func (x *GetJobRequest) String() string {
2196	return protoimpl.X.MessageStringOf(x)
2197}
2198
2199func (*GetJobRequest) ProtoMessage() {}
2200
2201func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
2202	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[18]
2203	if protoimpl.UnsafeEnabled && x != nil {
2204		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2205		if ms.LoadMessageInfo() == nil {
2206			ms.StoreMessageInfo(mi)
2207		}
2208		return ms
2209	}
2210	return mi.MessageOf(x)
2211}
2212
2213// Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
2214func (*GetJobRequest) Descriptor() ([]byte, []int) {
2215	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{18}
2216}
2217
2218func (x *GetJobRequest) GetProjectId() string {
2219	if x != nil {
2220		return x.ProjectId
2221	}
2222	return ""
2223}
2224
2225func (x *GetJobRequest) GetJobId() string {
2226	if x != nil {
2227		return x.JobId
2228	}
2229	return ""
2230}
2231
2232func (x *GetJobRequest) GetView() JobView {
2233	if x != nil {
2234		return x.View
2235	}
2236	return JobView_JOB_VIEW_UNKNOWN
2237}
2238
2239func (x *GetJobRequest) GetLocation() string {
2240	if x != nil {
2241		return x.Location
2242	}
2243	return ""
2244}
2245
2246// Request to update a Cloud Dataflow job.
2247type UpdateJobRequest struct {
2248	state         protoimpl.MessageState
2249	sizeCache     protoimpl.SizeCache
2250	unknownFields protoimpl.UnknownFields
2251
2252	// The ID of the Cloud Platform project that the job belongs to.
2253	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2254	// The job ID.
2255	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
2256	// The updated job.
2257	// Only the job state is updatable; other fields will be ignored.
2258	Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"`
2259	// The [regional endpoint]
2260	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2261	// contains this job.
2262	Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
2263}
2264
2265func (x *UpdateJobRequest) Reset() {
2266	*x = UpdateJobRequest{}
2267	if protoimpl.UnsafeEnabled {
2268		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[19]
2269		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2270		ms.StoreMessageInfo(mi)
2271	}
2272}
2273
2274func (x *UpdateJobRequest) String() string {
2275	return protoimpl.X.MessageStringOf(x)
2276}
2277
2278func (*UpdateJobRequest) ProtoMessage() {}
2279
2280func (x *UpdateJobRequest) ProtoReflect() protoreflect.Message {
2281	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[19]
2282	if protoimpl.UnsafeEnabled && x != nil {
2283		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2284		if ms.LoadMessageInfo() == nil {
2285			ms.StoreMessageInfo(mi)
2286		}
2287		return ms
2288	}
2289	return mi.MessageOf(x)
2290}
2291
2292// Deprecated: Use UpdateJobRequest.ProtoReflect.Descriptor instead.
2293func (*UpdateJobRequest) Descriptor() ([]byte, []int) {
2294	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{19}
2295}
2296
2297func (x *UpdateJobRequest) GetProjectId() string {
2298	if x != nil {
2299		return x.ProjectId
2300	}
2301	return ""
2302}
2303
2304func (x *UpdateJobRequest) GetJobId() string {
2305	if x != nil {
2306		return x.JobId
2307	}
2308	return ""
2309}
2310
2311func (x *UpdateJobRequest) GetJob() *Job {
2312	if x != nil {
2313		return x.Job
2314	}
2315	return nil
2316}
2317
2318func (x *UpdateJobRequest) GetLocation() string {
2319	if x != nil {
2320		return x.Location
2321	}
2322	return ""
2323}
2324
2325// Request to list Cloud Dataflow jobs.
2326type ListJobsRequest struct {
2327	state         protoimpl.MessageState
2328	sizeCache     protoimpl.SizeCache
2329	unknownFields protoimpl.UnknownFields
2330
2331	// The kind of filter to use.
2332	Filter ListJobsRequest_Filter `protobuf:"varint,5,opt,name=filter,proto3,enum=google.dataflow.v1beta3.ListJobsRequest_Filter" json:"filter,omitempty"`
2333	// The project which owns the jobs.
2334	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2335	// Deprecated. ListJobs always returns summaries now.
2336	// Use GetJob for other JobViews.
2337	//
2338	// Deprecated: Do not use.
2339	View JobView `protobuf:"varint,2,opt,name=view,proto3,enum=google.dataflow.v1beta3.JobView" json:"view,omitempty"`
2340	// If there are many jobs, limit response to at most this many.
2341	// The actual number of jobs returned will be the lesser of max_responses
2342	// and an unspecified server-defined limit.
2343	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2344	// Set this to the 'next_page_token' field of a previous response
2345	// to request additional results in a long list.
2346	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2347	// The [regional endpoint]
2348	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2349	// contains this job.
2350	Location string `protobuf:"bytes,17,opt,name=location,proto3" json:"location,omitempty"`
2351}
2352
2353func (x *ListJobsRequest) Reset() {
2354	*x = ListJobsRequest{}
2355	if protoimpl.UnsafeEnabled {
2356		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[20]
2357		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2358		ms.StoreMessageInfo(mi)
2359	}
2360}
2361
2362func (x *ListJobsRequest) String() string {
2363	return protoimpl.X.MessageStringOf(x)
2364}
2365
2366func (*ListJobsRequest) ProtoMessage() {}
2367
2368func (x *ListJobsRequest) ProtoReflect() protoreflect.Message {
2369	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[20]
2370	if protoimpl.UnsafeEnabled && x != nil {
2371		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2372		if ms.LoadMessageInfo() == nil {
2373			ms.StoreMessageInfo(mi)
2374		}
2375		return ms
2376	}
2377	return mi.MessageOf(x)
2378}
2379
2380// Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead.
2381func (*ListJobsRequest) Descriptor() ([]byte, []int) {
2382	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{20}
2383}
2384
2385func (x *ListJobsRequest) GetFilter() ListJobsRequest_Filter {
2386	if x != nil {
2387		return x.Filter
2388	}
2389	return ListJobsRequest_UNKNOWN
2390}
2391
2392func (x *ListJobsRequest) GetProjectId() string {
2393	if x != nil {
2394		return x.ProjectId
2395	}
2396	return ""
2397}
2398
2399// Deprecated: Do not use.
2400func (x *ListJobsRequest) GetView() JobView {
2401	if x != nil {
2402		return x.View
2403	}
2404	return JobView_JOB_VIEW_UNKNOWN
2405}
2406
2407func (x *ListJobsRequest) GetPageSize() int32 {
2408	if x != nil {
2409		return x.PageSize
2410	}
2411	return 0
2412}
2413
2414func (x *ListJobsRequest) GetPageToken() string {
2415	if x != nil {
2416		return x.PageToken
2417	}
2418	return ""
2419}
2420
2421func (x *ListJobsRequest) GetLocation() string {
2422	if x != nil {
2423		return x.Location
2424	}
2425	return ""
2426}
2427
2428// Indicates which [regional endpoint]
2429// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) failed
2430// to respond to a request for data.
2431type FailedLocation struct {
2432	state         protoimpl.MessageState
2433	sizeCache     protoimpl.SizeCache
2434	unknownFields protoimpl.UnknownFields
2435
2436	// The name of the [regional endpoint]
2437	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2438	// failed to respond.
2439	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2440}
2441
2442func (x *FailedLocation) Reset() {
2443	*x = FailedLocation{}
2444	if protoimpl.UnsafeEnabled {
2445		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[21]
2446		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2447		ms.StoreMessageInfo(mi)
2448	}
2449}
2450
2451func (x *FailedLocation) String() string {
2452	return protoimpl.X.MessageStringOf(x)
2453}
2454
2455func (*FailedLocation) ProtoMessage() {}
2456
2457func (x *FailedLocation) ProtoReflect() protoreflect.Message {
2458	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[21]
2459	if protoimpl.UnsafeEnabled && x != nil {
2460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2461		if ms.LoadMessageInfo() == nil {
2462			ms.StoreMessageInfo(mi)
2463		}
2464		return ms
2465	}
2466	return mi.MessageOf(x)
2467}
2468
2469// Deprecated: Use FailedLocation.ProtoReflect.Descriptor instead.
2470func (*FailedLocation) Descriptor() ([]byte, []int) {
2471	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{21}
2472}
2473
2474func (x *FailedLocation) GetName() string {
2475	if x != nil {
2476		return x.Name
2477	}
2478	return ""
2479}
2480
2481// Response to a request to list Cloud Dataflow jobs in a project. This might
2482// be a partial response, depending on the page size in the ListJobsRequest.
2483// However, if the project does not have any jobs, an instance of
2484// ListJobsResponse is not returned and the requests's response
2485// body is empty {}.
2486type ListJobsResponse struct {
2487	state         protoimpl.MessageState
2488	sizeCache     protoimpl.SizeCache
2489	unknownFields protoimpl.UnknownFields
2490
2491	// A subset of the requested job information.
2492	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
2493	// Set if there may be more results than fit in this response.
2494	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2495	// Zero or more messages describing the [regional endpoints]
2496	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
2497	// failed to respond.
2498	FailedLocation []*FailedLocation `protobuf:"bytes,3,rep,name=failed_location,json=failedLocation,proto3" json:"failed_location,omitempty"`
2499}
2500
2501func (x *ListJobsResponse) Reset() {
2502	*x = ListJobsResponse{}
2503	if protoimpl.UnsafeEnabled {
2504		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[22]
2505		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2506		ms.StoreMessageInfo(mi)
2507	}
2508}
2509
2510func (x *ListJobsResponse) String() string {
2511	return protoimpl.X.MessageStringOf(x)
2512}
2513
2514func (*ListJobsResponse) ProtoMessage() {}
2515
2516func (x *ListJobsResponse) ProtoReflect() protoreflect.Message {
2517	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[22]
2518	if protoimpl.UnsafeEnabled && x != nil {
2519		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2520		if ms.LoadMessageInfo() == nil {
2521			ms.StoreMessageInfo(mi)
2522		}
2523		return ms
2524	}
2525	return mi.MessageOf(x)
2526}
2527
2528// Deprecated: Use ListJobsResponse.ProtoReflect.Descriptor instead.
2529func (*ListJobsResponse) Descriptor() ([]byte, []int) {
2530	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{22}
2531}
2532
2533func (x *ListJobsResponse) GetJobs() []*Job {
2534	if x != nil {
2535		return x.Jobs
2536	}
2537	return nil
2538}
2539
2540func (x *ListJobsResponse) GetNextPageToken() string {
2541	if x != nil {
2542		return x.NextPageToken
2543	}
2544	return ""
2545}
2546
2547func (x *ListJobsResponse) GetFailedLocation() []*FailedLocation {
2548	if x != nil {
2549		return x.FailedLocation
2550	}
2551	return nil
2552}
2553
2554// Request to create a snapshot of a job.
2555type SnapshotJobRequest struct {
2556	state         protoimpl.MessageState
2557	sizeCache     protoimpl.SizeCache
2558	unknownFields protoimpl.UnknownFields
2559
2560	// The project which owns the job to be snapshotted.
2561	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2562	// The job to be snapshotted.
2563	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
2564	// TTL for the snapshot.
2565	Ttl *durationpb.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
2566	// The location that contains this job.
2567	Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
2568	// If true, perform snapshots for sources which support this.
2569	SnapshotSources bool `protobuf:"varint,5,opt,name=snapshot_sources,json=snapshotSources,proto3" json:"snapshot_sources,omitempty"`
2570	// User specified description of the snapshot. Maybe empty.
2571	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
2572}
2573
2574func (x *SnapshotJobRequest) Reset() {
2575	*x = SnapshotJobRequest{}
2576	if protoimpl.UnsafeEnabled {
2577		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[23]
2578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2579		ms.StoreMessageInfo(mi)
2580	}
2581}
2582
2583func (x *SnapshotJobRequest) String() string {
2584	return protoimpl.X.MessageStringOf(x)
2585}
2586
2587func (*SnapshotJobRequest) ProtoMessage() {}
2588
2589func (x *SnapshotJobRequest) ProtoReflect() protoreflect.Message {
2590	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[23]
2591	if protoimpl.UnsafeEnabled && x != nil {
2592		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2593		if ms.LoadMessageInfo() == nil {
2594			ms.StoreMessageInfo(mi)
2595		}
2596		return ms
2597	}
2598	return mi.MessageOf(x)
2599}
2600
2601// Deprecated: Use SnapshotJobRequest.ProtoReflect.Descriptor instead.
2602func (*SnapshotJobRequest) Descriptor() ([]byte, []int) {
2603	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{23}
2604}
2605
2606func (x *SnapshotJobRequest) GetProjectId() string {
2607	if x != nil {
2608		return x.ProjectId
2609	}
2610	return ""
2611}
2612
2613func (x *SnapshotJobRequest) GetJobId() string {
2614	if x != nil {
2615		return x.JobId
2616	}
2617	return ""
2618}
2619
2620func (x *SnapshotJobRequest) GetTtl() *durationpb.Duration {
2621	if x != nil {
2622		return x.Ttl
2623	}
2624	return nil
2625}
2626
2627func (x *SnapshotJobRequest) GetLocation() string {
2628	if x != nil {
2629		return x.Location
2630	}
2631	return ""
2632}
2633
2634func (x *SnapshotJobRequest) GetSnapshotSources() bool {
2635	if x != nil {
2636		return x.SnapshotSources
2637	}
2638	return false
2639}
2640
2641func (x *SnapshotJobRequest) GetDescription() string {
2642	if x != nil {
2643		return x.Description
2644	}
2645	return ""
2646}
2647
2648// Request to check is active jobs exists for a project
2649type CheckActiveJobsRequest struct {
2650	state         protoimpl.MessageState
2651	sizeCache     protoimpl.SizeCache
2652	unknownFields protoimpl.UnknownFields
2653
2654	// The project which owns the jobs.
2655	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2656}
2657
2658func (x *CheckActiveJobsRequest) Reset() {
2659	*x = CheckActiveJobsRequest{}
2660	if protoimpl.UnsafeEnabled {
2661		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[24]
2662		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2663		ms.StoreMessageInfo(mi)
2664	}
2665}
2666
2667func (x *CheckActiveJobsRequest) String() string {
2668	return protoimpl.X.MessageStringOf(x)
2669}
2670
2671func (*CheckActiveJobsRequest) ProtoMessage() {}
2672
2673func (x *CheckActiveJobsRequest) ProtoReflect() protoreflect.Message {
2674	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[24]
2675	if protoimpl.UnsafeEnabled && x != nil {
2676		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2677		if ms.LoadMessageInfo() == nil {
2678			ms.StoreMessageInfo(mi)
2679		}
2680		return ms
2681	}
2682	return mi.MessageOf(x)
2683}
2684
2685// Deprecated: Use CheckActiveJobsRequest.ProtoReflect.Descriptor instead.
2686func (*CheckActiveJobsRequest) Descriptor() ([]byte, []int) {
2687	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{24}
2688}
2689
2690func (x *CheckActiveJobsRequest) GetProjectId() string {
2691	if x != nil {
2692		return x.ProjectId
2693	}
2694	return ""
2695}
2696
2697// Response for CheckActiveJobsRequest.
2698type CheckActiveJobsResponse struct {
2699	state         protoimpl.MessageState
2700	sizeCache     protoimpl.SizeCache
2701	unknownFields protoimpl.UnknownFields
2702
2703	// If True, active jobs exists for project. False otherwise.
2704	ActiveJobsExist bool `protobuf:"varint,1,opt,name=active_jobs_exist,json=activeJobsExist,proto3" json:"active_jobs_exist,omitempty"`
2705}
2706
2707func (x *CheckActiveJobsResponse) Reset() {
2708	*x = CheckActiveJobsResponse{}
2709	if protoimpl.UnsafeEnabled {
2710		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[25]
2711		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2712		ms.StoreMessageInfo(mi)
2713	}
2714}
2715
2716func (x *CheckActiveJobsResponse) String() string {
2717	return protoimpl.X.MessageStringOf(x)
2718}
2719
2720func (*CheckActiveJobsResponse) ProtoMessage() {}
2721
2722func (x *CheckActiveJobsResponse) ProtoReflect() protoreflect.Message {
2723	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[25]
2724	if protoimpl.UnsafeEnabled && x != nil {
2725		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2726		if ms.LoadMessageInfo() == nil {
2727			ms.StoreMessageInfo(mi)
2728		}
2729		return ms
2730	}
2731	return mi.MessageOf(x)
2732}
2733
2734// Deprecated: Use CheckActiveJobsResponse.ProtoReflect.Descriptor instead.
2735func (*CheckActiveJobsResponse) Descriptor() ([]byte, []int) {
2736	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{25}
2737}
2738
2739func (x *CheckActiveJobsResponse) GetActiveJobsExist() bool {
2740	if x != nil {
2741		return x.ActiveJobsExist
2742	}
2743	return false
2744}
2745
2746// Description of an input or output of an execution stage.
2747type ExecutionStageSummary_StageSource struct {
2748	state         protoimpl.MessageState
2749	sizeCache     protoimpl.SizeCache
2750	unknownFields protoimpl.UnknownFields
2751
2752	// Human-readable name for this source; may be user or system generated.
2753	UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
2754	// Dataflow service generated name for this source.
2755	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
2756	// User name for the original user transform or collection with which this
2757	// source is most closely associated.
2758	OriginalTransformOrCollection string `protobuf:"bytes,3,opt,name=original_transform_or_collection,json=originalTransformOrCollection,proto3" json:"original_transform_or_collection,omitempty"`
2759	// Size of the source, if measurable.
2760	SizeBytes int64 `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
2761}
2762
2763func (x *ExecutionStageSummary_StageSource) Reset() {
2764	*x = ExecutionStageSummary_StageSource{}
2765	if protoimpl.UnsafeEnabled {
2766		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[28]
2767		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2768		ms.StoreMessageInfo(mi)
2769	}
2770}
2771
2772func (x *ExecutionStageSummary_StageSource) String() string {
2773	return protoimpl.X.MessageStringOf(x)
2774}
2775
2776func (*ExecutionStageSummary_StageSource) ProtoMessage() {}
2777
2778func (x *ExecutionStageSummary_StageSource) ProtoReflect() protoreflect.Message {
2779	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[28]
2780	if protoimpl.UnsafeEnabled && x != nil {
2781		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2782		if ms.LoadMessageInfo() == nil {
2783			ms.StoreMessageInfo(mi)
2784		}
2785		return ms
2786	}
2787	return mi.MessageOf(x)
2788}
2789
2790// Deprecated: Use ExecutionStageSummary_StageSource.ProtoReflect.Descriptor instead.
2791func (*ExecutionStageSummary_StageSource) Descriptor() ([]byte, []int) {
2792	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{12, 0}
2793}
2794
2795func (x *ExecutionStageSummary_StageSource) GetUserName() string {
2796	if x != nil {
2797		return x.UserName
2798	}
2799	return ""
2800}
2801
2802func (x *ExecutionStageSummary_StageSource) GetName() string {
2803	if x != nil {
2804		return x.Name
2805	}
2806	return ""
2807}
2808
2809func (x *ExecutionStageSummary_StageSource) GetOriginalTransformOrCollection() string {
2810	if x != nil {
2811		return x.OriginalTransformOrCollection
2812	}
2813	return ""
2814}
2815
2816func (x *ExecutionStageSummary_StageSource) GetSizeBytes() int64 {
2817	if x != nil {
2818		return x.SizeBytes
2819	}
2820	return 0
2821}
2822
2823// Description of a transform executed as part of an execution stage.
2824type ExecutionStageSummary_ComponentTransform struct {
2825	state         protoimpl.MessageState
2826	sizeCache     protoimpl.SizeCache
2827	unknownFields protoimpl.UnknownFields
2828
2829	// Human-readable name for this transform; may be user or system generated.
2830	UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
2831	// Dataflow service generated name for this source.
2832	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
2833	// User name for the original user transform with which this transform is
2834	// most closely associated.
2835	OriginalTransform string `protobuf:"bytes,3,opt,name=original_transform,json=originalTransform,proto3" json:"original_transform,omitempty"`
2836}
2837
2838func (x *ExecutionStageSummary_ComponentTransform) Reset() {
2839	*x = ExecutionStageSummary_ComponentTransform{}
2840	if protoimpl.UnsafeEnabled {
2841		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[29]
2842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2843		ms.StoreMessageInfo(mi)
2844	}
2845}
2846
2847func (x *ExecutionStageSummary_ComponentTransform) String() string {
2848	return protoimpl.X.MessageStringOf(x)
2849}
2850
2851func (*ExecutionStageSummary_ComponentTransform) ProtoMessage() {}
2852
2853func (x *ExecutionStageSummary_ComponentTransform) ProtoReflect() protoreflect.Message {
2854	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[29]
2855	if protoimpl.UnsafeEnabled && x != nil {
2856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2857		if ms.LoadMessageInfo() == nil {
2858			ms.StoreMessageInfo(mi)
2859		}
2860		return ms
2861	}
2862	return mi.MessageOf(x)
2863}
2864
2865// Deprecated: Use ExecutionStageSummary_ComponentTransform.ProtoReflect.Descriptor instead.
2866func (*ExecutionStageSummary_ComponentTransform) Descriptor() ([]byte, []int) {
2867	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{12, 1}
2868}
2869
2870func (x *ExecutionStageSummary_ComponentTransform) GetUserName() string {
2871	if x != nil {
2872		return x.UserName
2873	}
2874	return ""
2875}
2876
2877func (x *ExecutionStageSummary_ComponentTransform) GetName() string {
2878	if x != nil {
2879		return x.Name
2880	}
2881	return ""
2882}
2883
2884func (x *ExecutionStageSummary_ComponentTransform) GetOriginalTransform() string {
2885	if x != nil {
2886		return x.OriginalTransform
2887	}
2888	return ""
2889}
2890
2891// Description of an interstitial value between transforms in an execution
2892// stage.
2893type ExecutionStageSummary_ComponentSource struct {
2894	state         protoimpl.MessageState
2895	sizeCache     protoimpl.SizeCache
2896	unknownFields protoimpl.UnknownFields
2897
2898	// Human-readable name for this transform; may be user or system generated.
2899	UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
2900	// Dataflow service generated name for this source.
2901	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
2902	// User name for the original user transform or collection with which this
2903	// source is most closely associated.
2904	OriginalTransformOrCollection string `protobuf:"bytes,3,opt,name=original_transform_or_collection,json=originalTransformOrCollection,proto3" json:"original_transform_or_collection,omitempty"`
2905}
2906
2907func (x *ExecutionStageSummary_ComponentSource) Reset() {
2908	*x = ExecutionStageSummary_ComponentSource{}
2909	if protoimpl.UnsafeEnabled {
2910		mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[30]
2911		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2912		ms.StoreMessageInfo(mi)
2913	}
2914}
2915
2916func (x *ExecutionStageSummary_ComponentSource) String() string {
2917	return protoimpl.X.MessageStringOf(x)
2918}
2919
2920func (*ExecutionStageSummary_ComponentSource) ProtoMessage() {}
2921
2922func (x *ExecutionStageSummary_ComponentSource) ProtoReflect() protoreflect.Message {
2923	mi := &file_google_dataflow_v1beta3_jobs_proto_msgTypes[30]
2924	if protoimpl.UnsafeEnabled && x != nil {
2925		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2926		if ms.LoadMessageInfo() == nil {
2927			ms.StoreMessageInfo(mi)
2928		}
2929		return ms
2930	}
2931	return mi.MessageOf(x)
2932}
2933
2934// Deprecated: Use ExecutionStageSummary_ComponentSource.ProtoReflect.Descriptor instead.
2935func (*ExecutionStageSummary_ComponentSource) Descriptor() ([]byte, []int) {
2936	return file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP(), []int{12, 2}
2937}
2938
2939func (x *ExecutionStageSummary_ComponentSource) GetUserName() string {
2940	if x != nil {
2941		return x.UserName
2942	}
2943	return ""
2944}
2945
2946func (x *ExecutionStageSummary_ComponentSource) GetName() string {
2947	if x != nil {
2948		return x.Name
2949	}
2950	return ""
2951}
2952
2953func (x *ExecutionStageSummary_ComponentSource) GetOriginalTransformOrCollection() string {
2954	if x != nil {
2955		return x.OriginalTransformOrCollection
2956	}
2957	return ""
2958}
2959
2960var File_google_dataflow_v1beta3_jobs_proto protoreflect.FileDescriptor
2961
2962var file_google_dataflow_v1beta3_jobs_proto_rawDesc = []byte{
2963	0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2964	0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70,
2965	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
2966	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x1a, 0x1c, 0x67,
2967	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
2968	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f,
2969	0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62,
2970	0x65, 0x74, 0x61, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
2971	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64,
2972	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f,
2973	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2974	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2975	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2976	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2977	0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
2978	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
2979	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
2980	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
2981	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x0c, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12,
2982	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
2983	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
2984	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12,
2985	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
2986	0x6d, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
2987	0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
2988	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79,
2989	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
2990	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
2991	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2992	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
2993	0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
2994	0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
2995	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
2996	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05,
2997	0x73, 0x74, 0x65, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x65, 0x70, 0x73, 0x5f, 0x6c,
2998	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
2999	0x74, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0d,
3000	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20,
3001	0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
3002	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f,
3003	0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53,
3004	0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
3005	0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
3006	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3007	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x63, 0x75,
3008	0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a,
3009	0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74,
3010	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3011	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3012	0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75,
3013	0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x65, 0x78,
3014	0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01,
3015	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
3016	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62,
3017	0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x65,
3018	0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b,
3019	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
3020	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3021	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63,
3022	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x70,
3023	0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
3024	0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12,
3025	0x6c, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x61, 0x6d,
3026	0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
3027	0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
3028	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x72,
3029	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69,
3030	0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
3031	0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a,
3032	0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
3033	0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
3034	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x70,
3035	0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
3036	0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x42,
3037	0x79, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x66,
3038	0x69, 0x6c, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70,
3039	0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
3040	0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
3041	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
3042	0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
3043	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3044	0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3045	0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x14, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
3046	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28,
3047	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3048	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x69, 0x70, 0x65,
3049	0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3050	0x13, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
3051	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74,
3052	0x61, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
3053	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62,
3054	0x65, 0x74, 0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
3055	0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53,
3056	0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x65, 0x74,
3057	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
3058	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31,
3059	0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
3060	0x61, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39,
3061	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01,
3062	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3063	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
3064	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x72, 0x65,
3065	0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
3066	0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x72, 0x65,
3067	0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
3068	0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f,
3069	0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73,
3070	0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x1a, 0x47, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73,
3071	0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45,
3072	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
3073	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
3074	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
3075	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
3076	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
3077	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3078	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x12, 0x44,
3079	0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
3080	0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
3081	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
3082	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
3083	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4b,
3084	0x0a, 0x0f, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
3085	0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3086	0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63,
3087	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73,
3088	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x0d, 0x46,
3089	0x69, 0x6c, 0x65, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c,
3090	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01,
3091	0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22,
3092	0x6e, 0x0a, 0x11, 0x42, 0x69, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x4f, 0x44, 0x65, 0x74,
3093	0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
3094	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3095	0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
3096	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
3097	0x63, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64,
3098	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22,
3099	0x78, 0x0a, 0x11, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x4f, 0x44, 0x65, 0x74,
3100	0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20,
3101	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61,
3102	0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74,
3103	0x61, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
3104	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3105	0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
3106	0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x73, 0x0a, 0x10, 0x53, 0x70, 0x61,
3107	0x6e, 0x6e, 0x65, 0x72, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a,
3108	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
3109	0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
3110	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3111	0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a,
3112	0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
3113	0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x22, 0x98,
3114	0x02, 0x0a, 0x0a, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
3115	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
3116	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x73, 0x69,
3117	0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3118	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x69,
3119	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x73, 0x64, 0x6b,
3120	0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
3121	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
3122	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
3123	0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x64, 0x6b, 0x53, 0x75,
3124	0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x73, 0x64, 0x6b,
3125	0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5a, 0x0a,
3126	0x10, 0x53, 0x64, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
3127	0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d,
3128	0x0a, 0x09, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a,
3129	0x05, 0x53, 0x54, 0x41, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52,
3130	0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55,
3131	0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x04, 0x22, 0xcc, 0x04, 0x0a, 0x0b, 0x4a, 0x6f,
3132	0x62, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0b, 0x73, 0x64, 0x6b,
3133	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
3134	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
3135	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73,
3136	0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
3137	0x52, 0x0a, 0x0f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69,
3138	0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3139	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3140	0x61, 0x33, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61,
3141	0x69, 0x6c, 0x73, 0x52, 0x0e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61,
3142	0x69, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
3143	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
3144	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3145	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
3146	0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75,
3147	0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x62, 0x69,
3148	0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
3149	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
3150	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
3151	0x42, 0x69, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
3152	0x73, 0x52, 0x0f, 0x62, 0x69, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
3153	0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x64, 0x65, 0x74,
3154	0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3155	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62,
3156	0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x49, 0x4f, 0x44, 0x65, 0x74,
3157	0x61, 0x69, 0x6c, 0x73, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x44, 0x65, 0x74, 0x61,
3158	0x69, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61,
3159	0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3160	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65,
3161	0x74, 0x61, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x4f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
3162	0x73, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x58,
3163	0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61,
3164	0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3165	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65,
3166	0x74, 0x61, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x4f, 0x44,
3167	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
3168	0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x65,
3169	0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
3170	0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74,
3171	0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
3172	0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61,
3173	0x6d, 0x65, 0x12, 0x55, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3174	0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3175	0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3176	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x53,
3177	0x74, 0x61, 0x74, 0x65, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53,
3178	0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x63, 0x75, 0x72,
3179	0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
3180	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3181	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
3182	0x70, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54,
3183	0x69, 0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x13, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65,
3184	0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x1b, 0x6f,
3185	0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65,
3186	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3187	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
3188	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
3189	0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x19, 0x6f, 0x72, 0x69,
3190	0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x72, 0x61,
3191	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x68, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
3192	0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61,
3193	0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3194	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3195	0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67,
3196	0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
3197	0x69, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65,
3198	0x12, 0x47, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61,
3199	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3200	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
3201	0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x64, 0x69,
3202	0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x02, 0x0a, 0x10, 0x54, 0x72,
3203	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x35,
3204	0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67,
3205	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76,
3206	0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52,
3207	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3208	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
3209	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x69, 0x73,
3210	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
3211	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
3212	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
3213	0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x61,
3214	0x74, 0x61, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c,
3215	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03,
3216	0x28, 0x09, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
3217	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x70, 0x75,
3218	0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
3219	0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
3220	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xed, 0x07, 0x0a,
3221	0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53,
3222	0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3223	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
3224	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x69,
3225	0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3226	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3227	0x61, 0x33, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e,
3228	0x64, 0x12, 0x5d, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
3229	0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3230	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3231	0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65,
3232	0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75,
3233	0x72, 0x63, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
3234	0x12, 0x5f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
3235	0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3236	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3237	0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65,
3238	0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75,
3239	0x72, 0x63, 0x65, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63,
3240	0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74,
3241	0x65, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70,
3242	0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65,
3243	0x12, 0x72, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72,
3244	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e,
3245	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3246	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
3247	0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6f,
3248	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
3249	0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
3250	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x69, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
3251	0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
3252	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
3253	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69,
3254	0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x43,
3255	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f,
3256	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a,
3257	0xa6, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
3258	0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3259	0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
3260	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3261	0x12, 0x47, 0x0a, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61,
3262	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
3263	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x6f, 0x72, 0x69, 0x67,
3264	0x69, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4f, 0x72, 0x43,
3265	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x7a,
3266	0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
3267	0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x74, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70,
3268	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b,
3269	0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3270	0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
3271	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3272	0x2d, 0x0a, 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e,
3273	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x72, 0x69,
3274	0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x8b,
3275	0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72,
3276	0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3277	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
3278	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
3279	0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f,
3280	0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6c,
3281	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x6f,
3282	0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
3283	0x4f, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, 0x03, 0x0a,
3284	0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03,
3285	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c,
3286	0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3287	0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x09,
3288	0x73, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48,
3289	0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69,
3290	0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
3291	0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21,
3292	0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20,
3293	0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
3294	0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
3295	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x6a,
3296	0x61, 0x76, 0x61, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a,
3297	0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
3298	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3299	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3300	0x6d, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56,
3301	0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3302	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
3303	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
3304	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74,
3305	0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c,
3306	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09,
3307	0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f,
3308	0x72, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01,
3309	0x28, 0x09, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75,
3310	0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
3311	0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01,
3312	0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x56, 0x61, 0x6c,
3313	0x75, 0x65, 0x22, 0x67, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69,
3314	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12,
3315	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
3316	0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
3317	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3318	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
3319	0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x10,
3320	0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
3321	0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3322	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
3323	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x78,
3324	0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x67,
3325	0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x67, 0x65, 0x73, 0x1a,
3326	0x69, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
3327	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
3328	0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3329	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
3330	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65,
3331	0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
3332	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x15, 0x4a, 0x6f,
3333	0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49,
3334	0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
3335	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x65, 0x70, 0x4e, 0x61, 0x6d, 0x65,
3336	0x22, 0xd9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65,
3337	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3338	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3339	0x63, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28,
3340	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3341	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x52,
3342	0x03, 0x6a, 0x6f, 0x62, 0x12, 0x34, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01,
3343	0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
3344	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62,
3345	0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65,
3346	0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
3347	0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64,
3348	0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
3349	0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0x0a,
3350	0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
3351	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
3352	0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a,
3353	0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a,
3354	0x6f, 0x62, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01,
3355	0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
3356	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62,
3357	0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f,
3358	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f,
3359	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74,
3360	0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
3361	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3362	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f,
3363	0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49,
3364	0x64, 0x12, 0x2e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
3365	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77,
3366	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f,
3367	0x62, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
3368	0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x02,
3369	0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3370	0x74, 0x12, 0x47, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
3371	0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3372	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3373	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74,
3374	0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
3375	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
3376	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x76, 0x69, 0x65,
3377	0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3378	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3379	0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x76,
3380	0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
3381	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
3382	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04,
3383	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
3384	0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28,
3385	0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x06, 0x46,
3386	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
3387	0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54,
3388	0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41,
3389	0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x22, 0x24, 0x0a, 0x0e, 0x46, 0x61, 0x69, 0x6c, 0x65,
3390	0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3391	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbe, 0x01,
3392	0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3393	0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3394	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
3395	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04,
3396	0x6a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
3397	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
3398	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x50, 0x0a, 0x0f,
3399	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
3400	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
3401	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
3402	0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e,
3403	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe0,
3404	0x01, 0x0a, 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
3405	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3406	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3407	0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02,
3408	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x74,
3409	0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3410	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
3411	0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
3412	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
3413	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
3414	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
3415	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
3416	0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
3417	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
3418	0x6e, 0x22, 0x37, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
3419	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
3420	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3421	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x17, 0x43, 0x68,
3422	0x65, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73,
3423	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
3424	0x6a, 0x6f, 0x62, 0x73, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
3425	0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x45, 0x78, 0x69, 0x73,
3426	0x74, 0x2a, 0xae, 0x01, 0x0a, 0x08, 0x4b, 0x69, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10,
3427	0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x00,
3428	0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x52, 0x5f, 0x44, 0x4f, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10,
3429	0x01, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x59, 0x5f, 0x4b, 0x45,
3430	0x59, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4c, 0x41, 0x54,
3431	0x54, 0x45, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45,
3432	0x41, 0x44, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x52, 0x49,
3433	0x54, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e,
3434	0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e,
3435	0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x54, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x10, 0x07,
3436	0x12, 0x10, 0x0a, 0x0c, 0x53, 0x48, 0x55, 0x46, 0x46, 0x4c, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44,
3437	0x10, 0x08, 0x2a, 0xc3, 0x02, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
3438	0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b,
3439	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54,
3440	0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a,
3441	0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49,
3442	0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54,
3443	0x45, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f,
3444	0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x17,
3445	0x0a, 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43,
3446	0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53,
3447	0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x16,
3448	0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x49,
3449	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54,
3450	0x41, 0x54, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x08, 0x12, 0x15, 0x0a,
3451	0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49,
3452	0x4e, 0x47, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54,
3453	0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x14,
3454	0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x55,
3455	0x45, 0x44, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54,
3456	0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x4e,
3457	0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x10, 0x0c, 0x2a, 0x61, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x56,
3458	0x69, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f,
3459	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42,
3460	0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12,
3461	0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x41, 0x4c, 0x4c, 0x10,
3462	0x02, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, 0x45,
3463	0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x32, 0x8f, 0x07, 0x0a, 0x0b,
3464	0x4a, 0x6f, 0x62, 0x73, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x33, 0x12, 0x56, 0x0a, 0x09, 0x43,
3465	0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3466	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3467	0x61, 0x33, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
3468	0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
3469	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f,
3470	0x62, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x26, 0x2e,
3471	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3472	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
3473	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
3474	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
3475	0x4a, 0x6f, 0x62, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a,
3476	0x6f, 0x62, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61,
3477	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x55, 0x70, 0x64,
3478	0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
3479	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3480	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x00, 0x12, 0x61, 0x0a,
3481	0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3482	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65,
3483	0x74, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
3484	0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
3485	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x69,
3486	0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
3487	0x12, 0x6b, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69,
3488	0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3489	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
3490	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3491	0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
3492	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a,
3493	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a,
3494	0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73,
3495	0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
3496	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
3497	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3498	0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3499	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63,
3500	0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
3501	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
3502	0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
3503	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53,
3504	0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3505	0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66,
3506	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x6e, 0x61, 0x70,
3507	0x73, 0x68, 0x6f, 0x74, 0x22, 0x00, 0x1a, 0xd4, 0x01, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61,
3508	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3509	0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xb6, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
3510	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3511	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
3512	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
3513	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3514	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74,
3515	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3516	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f,
3517	0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68,
3518	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3519	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75,
3520	0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x42, 0xce, 0x01,
3521	0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
3522	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x42, 0x09, 0x4a,
3523	0x6f, 0x62, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67,
3524	0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65,
3525	0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3526	0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
3527	0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0xaa, 0x02, 0x1d, 0x47, 0x6f,
3528	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x66,
3529	0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x33, 0xca, 0x02, 0x1d, 0x47, 0x6f,
3530	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x66,
3531	0x6c, 0x6f, 0x77, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0xea, 0x02, 0x20, 0x47, 0x6f,
3532	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 0x74,
3533	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x62, 0x06,
3534	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3535}
3536
3537var (
3538	file_google_dataflow_v1beta3_jobs_proto_rawDescOnce sync.Once
3539	file_google_dataflow_v1beta3_jobs_proto_rawDescData = file_google_dataflow_v1beta3_jobs_proto_rawDesc
3540)
3541
3542func file_google_dataflow_v1beta3_jobs_proto_rawDescGZIP() []byte {
3543	file_google_dataflow_v1beta3_jobs_proto_rawDescOnce.Do(func() {
3544		file_google_dataflow_v1beta3_jobs_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_dataflow_v1beta3_jobs_proto_rawDescData)
3545	})
3546	return file_google_dataflow_v1beta3_jobs_proto_rawDescData
3547}
3548
3549var file_google_dataflow_v1beta3_jobs_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
3550var file_google_dataflow_v1beta3_jobs_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
3551var file_google_dataflow_v1beta3_jobs_proto_goTypes = []interface{}{
3552	(KindType)(0),                                    // 0: google.dataflow.v1beta3.KindType
3553	(JobState)(0),                                    // 1: google.dataflow.v1beta3.JobState
3554	(JobView)(0),                                     // 2: google.dataflow.v1beta3.JobView
3555	(SdkVersion_SdkSupportStatus)(0),                 // 3: google.dataflow.v1beta3.SdkVersion.SdkSupportStatus
3556	(ListJobsRequest_Filter)(0),                      // 4: google.dataflow.v1beta3.ListJobsRequest.Filter
3557	(*Job)(nil),                                      // 5: google.dataflow.v1beta3.Job
3558	(*DatastoreIODetails)(nil),                       // 6: google.dataflow.v1beta3.DatastoreIODetails
3559	(*PubSubIODetails)(nil),                          // 7: google.dataflow.v1beta3.PubSubIODetails
3560	(*FileIODetails)(nil),                            // 8: google.dataflow.v1beta3.FileIODetails
3561	(*BigTableIODetails)(nil),                        // 9: google.dataflow.v1beta3.BigTableIODetails
3562	(*BigQueryIODetails)(nil),                        // 10: google.dataflow.v1beta3.BigQueryIODetails
3563	(*SpannerIODetails)(nil),                         // 11: google.dataflow.v1beta3.SpannerIODetails
3564	(*SdkVersion)(nil),                               // 12: google.dataflow.v1beta3.SdkVersion
3565	(*JobMetadata)(nil),                              // 13: google.dataflow.v1beta3.JobMetadata
3566	(*ExecutionStageState)(nil),                      // 14: google.dataflow.v1beta3.ExecutionStageState
3567	(*PipelineDescription)(nil),                      // 15: google.dataflow.v1beta3.PipelineDescription
3568	(*TransformSummary)(nil),                         // 16: google.dataflow.v1beta3.TransformSummary
3569	(*ExecutionStageSummary)(nil),                    // 17: google.dataflow.v1beta3.ExecutionStageSummary
3570	(*DisplayData)(nil),                              // 18: google.dataflow.v1beta3.DisplayData
3571	(*Step)(nil),                                     // 19: google.dataflow.v1beta3.Step
3572	(*JobExecutionInfo)(nil),                         // 20: google.dataflow.v1beta3.JobExecutionInfo
3573	(*JobExecutionStageInfo)(nil),                    // 21: google.dataflow.v1beta3.JobExecutionStageInfo
3574	(*CreateJobRequest)(nil),                         // 22: google.dataflow.v1beta3.CreateJobRequest
3575	(*GetJobRequest)(nil),                            // 23: google.dataflow.v1beta3.GetJobRequest
3576	(*UpdateJobRequest)(nil),                         // 24: google.dataflow.v1beta3.UpdateJobRequest
3577	(*ListJobsRequest)(nil),                          // 25: google.dataflow.v1beta3.ListJobsRequest
3578	(*FailedLocation)(nil),                           // 26: google.dataflow.v1beta3.FailedLocation
3579	(*ListJobsResponse)(nil),                         // 27: google.dataflow.v1beta3.ListJobsResponse
3580	(*SnapshotJobRequest)(nil),                       // 28: google.dataflow.v1beta3.SnapshotJobRequest
3581	(*CheckActiveJobsRequest)(nil),                   // 29: google.dataflow.v1beta3.CheckActiveJobsRequest
3582	(*CheckActiveJobsResponse)(nil),                  // 30: google.dataflow.v1beta3.CheckActiveJobsResponse
3583	nil,                                              // 31: google.dataflow.v1beta3.Job.TransformNameMappingEntry
3584	nil,                                              // 32: google.dataflow.v1beta3.Job.LabelsEntry
3585	(*ExecutionStageSummary_StageSource)(nil),        // 33: google.dataflow.v1beta3.ExecutionStageSummary.StageSource
3586	(*ExecutionStageSummary_ComponentTransform)(nil), // 34: google.dataflow.v1beta3.ExecutionStageSummary.ComponentTransform
3587	(*ExecutionStageSummary_ComponentSource)(nil),    // 35: google.dataflow.v1beta3.ExecutionStageSummary.ComponentSource
3588	nil,                           // 36: google.dataflow.v1beta3.JobExecutionInfo.StagesEntry
3589	(JobType)(0),                  // 37: google.dataflow.v1beta3.JobType
3590	(*Environment)(nil),           // 38: google.dataflow.v1beta3.Environment
3591	(*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp
3592	(*durationpb.Duration)(nil),   // 40: google.protobuf.Duration
3593	(*structpb.Struct)(nil),       // 41: google.protobuf.Struct
3594	(*Snapshot)(nil),              // 42: google.dataflow.v1beta3.Snapshot
3595}
3596var file_google_dataflow_v1beta3_jobs_proto_depIdxs = []int32{
3597	37, // 0: google.dataflow.v1beta3.Job.type:type_name -> google.dataflow.v1beta3.JobType
3598	38, // 1: google.dataflow.v1beta3.Job.environment:type_name -> google.dataflow.v1beta3.Environment
3599	19, // 2: google.dataflow.v1beta3.Job.steps:type_name -> google.dataflow.v1beta3.Step
3600	1,  // 3: google.dataflow.v1beta3.Job.current_state:type_name -> google.dataflow.v1beta3.JobState
3601	39, // 4: google.dataflow.v1beta3.Job.current_state_time:type_name -> google.protobuf.Timestamp
3602	1,  // 5: google.dataflow.v1beta3.Job.requested_state:type_name -> google.dataflow.v1beta3.JobState
3603	20, // 6: google.dataflow.v1beta3.Job.execution_info:type_name -> google.dataflow.v1beta3.JobExecutionInfo
3604	39, // 7: google.dataflow.v1beta3.Job.create_time:type_name -> google.protobuf.Timestamp
3605	31, // 8: google.dataflow.v1beta3.Job.transform_name_mapping:type_name -> google.dataflow.v1beta3.Job.TransformNameMappingEntry
3606	32, // 9: google.dataflow.v1beta3.Job.labels:type_name -> google.dataflow.v1beta3.Job.LabelsEntry
3607	15, // 10: google.dataflow.v1beta3.Job.pipeline_description:type_name -> google.dataflow.v1beta3.PipelineDescription
3608	14, // 11: google.dataflow.v1beta3.Job.stage_states:type_name -> google.dataflow.v1beta3.ExecutionStageState
3609	13, // 12: google.dataflow.v1beta3.Job.job_metadata:type_name -> google.dataflow.v1beta3.JobMetadata
3610	39, // 13: google.dataflow.v1beta3.Job.start_time:type_name -> google.protobuf.Timestamp
3611	3,  // 14: google.dataflow.v1beta3.SdkVersion.sdk_support_status:type_name -> google.dataflow.v1beta3.SdkVersion.SdkSupportStatus
3612	12, // 15: google.dataflow.v1beta3.JobMetadata.sdk_version:type_name -> google.dataflow.v1beta3.SdkVersion
3613	11, // 16: google.dataflow.v1beta3.JobMetadata.spanner_details:type_name -> google.dataflow.v1beta3.SpannerIODetails
3614	10, // 17: google.dataflow.v1beta3.JobMetadata.bigquery_details:type_name -> google.dataflow.v1beta3.BigQueryIODetails
3615	9,  // 18: google.dataflow.v1beta3.JobMetadata.big_table_details:type_name -> google.dataflow.v1beta3.BigTableIODetails
3616	7,  // 19: google.dataflow.v1beta3.JobMetadata.pubsub_details:type_name -> google.dataflow.v1beta3.PubSubIODetails
3617	8,  // 20: google.dataflow.v1beta3.JobMetadata.file_details:type_name -> google.dataflow.v1beta3.FileIODetails
3618	6,  // 21: google.dataflow.v1beta3.JobMetadata.datastore_details:type_name -> google.dataflow.v1beta3.DatastoreIODetails
3619	1,  // 22: google.dataflow.v1beta3.ExecutionStageState.execution_stage_state:type_name -> google.dataflow.v1beta3.JobState
3620	39, // 23: google.dataflow.v1beta3.ExecutionStageState.current_state_time:type_name -> google.protobuf.Timestamp
3621	16, // 24: google.dataflow.v1beta3.PipelineDescription.original_pipeline_transform:type_name -> google.dataflow.v1beta3.TransformSummary
3622	17, // 25: google.dataflow.v1beta3.PipelineDescription.execution_pipeline_stage:type_name -> google.dataflow.v1beta3.ExecutionStageSummary
3623	18, // 26: google.dataflow.v1beta3.PipelineDescription.display_data:type_name -> google.dataflow.v1beta3.DisplayData
3624	0,  // 27: google.dataflow.v1beta3.TransformSummary.kind:type_name -> google.dataflow.v1beta3.KindType
3625	18, // 28: google.dataflow.v1beta3.TransformSummary.display_data:type_name -> google.dataflow.v1beta3.DisplayData
3626	0,  // 29: google.dataflow.v1beta3.ExecutionStageSummary.kind:type_name -> google.dataflow.v1beta3.KindType
3627	33, // 30: google.dataflow.v1beta3.ExecutionStageSummary.input_source:type_name -> google.dataflow.v1beta3.ExecutionStageSummary.StageSource
3628	33, // 31: google.dataflow.v1beta3.ExecutionStageSummary.output_source:type_name -> google.dataflow.v1beta3.ExecutionStageSummary.StageSource
3629	34, // 32: google.dataflow.v1beta3.ExecutionStageSummary.component_transform:type_name -> google.dataflow.v1beta3.ExecutionStageSummary.ComponentTransform
3630	35, // 33: google.dataflow.v1beta3.ExecutionStageSummary.component_source:type_name -> google.dataflow.v1beta3.ExecutionStageSummary.ComponentSource
3631	39, // 34: google.dataflow.v1beta3.DisplayData.timestamp_value:type_name -> google.protobuf.Timestamp
3632	40, // 35: google.dataflow.v1beta3.DisplayData.duration_value:type_name -> google.protobuf.Duration
3633	41, // 36: google.dataflow.v1beta3.Step.properties:type_name -> google.protobuf.Struct
3634	36, // 37: google.dataflow.v1beta3.JobExecutionInfo.stages:type_name -> google.dataflow.v1beta3.JobExecutionInfo.StagesEntry
3635	5,  // 38: google.dataflow.v1beta3.CreateJobRequest.job:type_name -> google.dataflow.v1beta3.Job
3636	2,  // 39: google.dataflow.v1beta3.CreateJobRequest.view:type_name -> google.dataflow.v1beta3.JobView
3637	2,  // 40: google.dataflow.v1beta3.GetJobRequest.view:type_name -> google.dataflow.v1beta3.JobView
3638	5,  // 41: google.dataflow.v1beta3.UpdateJobRequest.job:type_name -> google.dataflow.v1beta3.Job
3639	4,  // 42: google.dataflow.v1beta3.ListJobsRequest.filter:type_name -> google.dataflow.v1beta3.ListJobsRequest.Filter
3640	2,  // 43: google.dataflow.v1beta3.ListJobsRequest.view:type_name -> google.dataflow.v1beta3.JobView
3641	5,  // 44: google.dataflow.v1beta3.ListJobsResponse.jobs:type_name -> google.dataflow.v1beta3.Job
3642	26, // 45: google.dataflow.v1beta3.ListJobsResponse.failed_location:type_name -> google.dataflow.v1beta3.FailedLocation
3643	40, // 46: google.dataflow.v1beta3.SnapshotJobRequest.ttl:type_name -> google.protobuf.Duration
3644	21, // 47: google.dataflow.v1beta3.JobExecutionInfo.StagesEntry.value:type_name -> google.dataflow.v1beta3.JobExecutionStageInfo
3645	22, // 48: google.dataflow.v1beta3.JobsV1Beta3.CreateJob:input_type -> google.dataflow.v1beta3.CreateJobRequest
3646	23, // 49: google.dataflow.v1beta3.JobsV1Beta3.GetJob:input_type -> google.dataflow.v1beta3.GetJobRequest
3647	24, // 50: google.dataflow.v1beta3.JobsV1Beta3.UpdateJob:input_type -> google.dataflow.v1beta3.UpdateJobRequest
3648	25, // 51: google.dataflow.v1beta3.JobsV1Beta3.ListJobs:input_type -> google.dataflow.v1beta3.ListJobsRequest
3649	25, // 52: google.dataflow.v1beta3.JobsV1Beta3.AggregatedListJobs:input_type -> google.dataflow.v1beta3.ListJobsRequest
3650	29, // 53: google.dataflow.v1beta3.JobsV1Beta3.CheckActiveJobs:input_type -> google.dataflow.v1beta3.CheckActiveJobsRequest
3651	28, // 54: google.dataflow.v1beta3.JobsV1Beta3.SnapshotJob:input_type -> google.dataflow.v1beta3.SnapshotJobRequest
3652	5,  // 55: google.dataflow.v1beta3.JobsV1Beta3.CreateJob:output_type -> google.dataflow.v1beta3.Job
3653	5,  // 56: google.dataflow.v1beta3.JobsV1Beta3.GetJob:output_type -> google.dataflow.v1beta3.Job
3654	5,  // 57: google.dataflow.v1beta3.JobsV1Beta3.UpdateJob:output_type -> google.dataflow.v1beta3.Job
3655	27, // 58: google.dataflow.v1beta3.JobsV1Beta3.ListJobs:output_type -> google.dataflow.v1beta3.ListJobsResponse
3656	27, // 59: google.dataflow.v1beta3.JobsV1Beta3.AggregatedListJobs:output_type -> google.dataflow.v1beta3.ListJobsResponse
3657	30, // 60: google.dataflow.v1beta3.JobsV1Beta3.CheckActiveJobs:output_type -> google.dataflow.v1beta3.CheckActiveJobsResponse
3658	42, // 61: google.dataflow.v1beta3.JobsV1Beta3.SnapshotJob:output_type -> google.dataflow.v1beta3.Snapshot
3659	55, // [55:62] is the sub-list for method output_type
3660	48, // [48:55] is the sub-list for method input_type
3661	48, // [48:48] is the sub-list for extension type_name
3662	48, // [48:48] is the sub-list for extension extendee
3663	0,  // [0:48] is the sub-list for field type_name
3664}
3665
3666func init() { file_google_dataflow_v1beta3_jobs_proto_init() }
3667func file_google_dataflow_v1beta3_jobs_proto_init() {
3668	if File_google_dataflow_v1beta3_jobs_proto != nil {
3669		return
3670	}
3671	file_google_dataflow_v1beta3_environment_proto_init()
3672	file_google_dataflow_v1beta3_snapshots_proto_init()
3673	if !protoimpl.UnsafeEnabled {
3674		file_google_dataflow_v1beta3_jobs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3675			switch v := v.(*Job); i {
3676			case 0:
3677				return &v.state
3678			case 1:
3679				return &v.sizeCache
3680			case 2:
3681				return &v.unknownFields
3682			default:
3683				return nil
3684			}
3685		}
3686		file_google_dataflow_v1beta3_jobs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3687			switch v := v.(*DatastoreIODetails); i {
3688			case 0:
3689				return &v.state
3690			case 1:
3691				return &v.sizeCache
3692			case 2:
3693				return &v.unknownFields
3694			default:
3695				return nil
3696			}
3697		}
3698		file_google_dataflow_v1beta3_jobs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3699			switch v := v.(*PubSubIODetails); i {
3700			case 0:
3701				return &v.state
3702			case 1:
3703				return &v.sizeCache
3704			case 2:
3705				return &v.unknownFields
3706			default:
3707				return nil
3708			}
3709		}
3710		file_google_dataflow_v1beta3_jobs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3711			switch v := v.(*FileIODetails); i {
3712			case 0:
3713				return &v.state
3714			case 1:
3715				return &v.sizeCache
3716			case 2:
3717				return &v.unknownFields
3718			default:
3719				return nil
3720			}
3721		}
3722		file_google_dataflow_v1beta3_jobs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3723			switch v := v.(*BigTableIODetails); i {
3724			case 0:
3725				return &v.state
3726			case 1:
3727				return &v.sizeCache
3728			case 2:
3729				return &v.unknownFields
3730			default:
3731				return nil
3732			}
3733		}
3734		file_google_dataflow_v1beta3_jobs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3735			switch v := v.(*BigQueryIODetails); i {
3736			case 0:
3737				return &v.state
3738			case 1:
3739				return &v.sizeCache
3740			case 2:
3741				return &v.unknownFields
3742			default:
3743				return nil
3744			}
3745		}
3746		file_google_dataflow_v1beta3_jobs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3747			switch v := v.(*SpannerIODetails); i {
3748			case 0:
3749				return &v.state
3750			case 1:
3751				return &v.sizeCache
3752			case 2:
3753				return &v.unknownFields
3754			default:
3755				return nil
3756			}
3757		}
3758		file_google_dataflow_v1beta3_jobs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3759			switch v := v.(*SdkVersion); i {
3760			case 0:
3761				return &v.state
3762			case 1:
3763				return &v.sizeCache
3764			case 2:
3765				return &v.unknownFields
3766			default:
3767				return nil
3768			}
3769		}
3770		file_google_dataflow_v1beta3_jobs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3771			switch v := v.(*JobMetadata); i {
3772			case 0:
3773				return &v.state
3774			case 1:
3775				return &v.sizeCache
3776			case 2:
3777				return &v.unknownFields
3778			default:
3779				return nil
3780			}
3781		}
3782		file_google_dataflow_v1beta3_jobs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3783			switch v := v.(*ExecutionStageState); i {
3784			case 0:
3785				return &v.state
3786			case 1:
3787				return &v.sizeCache
3788			case 2:
3789				return &v.unknownFields
3790			default:
3791				return nil
3792			}
3793		}
3794		file_google_dataflow_v1beta3_jobs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3795			switch v := v.(*PipelineDescription); i {
3796			case 0:
3797				return &v.state
3798			case 1:
3799				return &v.sizeCache
3800			case 2:
3801				return &v.unknownFields
3802			default:
3803				return nil
3804			}
3805		}
3806		file_google_dataflow_v1beta3_jobs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3807			switch v := v.(*TransformSummary); i {
3808			case 0:
3809				return &v.state
3810			case 1:
3811				return &v.sizeCache
3812			case 2:
3813				return &v.unknownFields
3814			default:
3815				return nil
3816			}
3817		}
3818		file_google_dataflow_v1beta3_jobs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3819			switch v := v.(*ExecutionStageSummary); i {
3820			case 0:
3821				return &v.state
3822			case 1:
3823				return &v.sizeCache
3824			case 2:
3825				return &v.unknownFields
3826			default:
3827				return nil
3828			}
3829		}
3830		file_google_dataflow_v1beta3_jobs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3831			switch v := v.(*DisplayData); i {
3832			case 0:
3833				return &v.state
3834			case 1:
3835				return &v.sizeCache
3836			case 2:
3837				return &v.unknownFields
3838			default:
3839				return nil
3840			}
3841		}
3842		file_google_dataflow_v1beta3_jobs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3843			switch v := v.(*Step); i {
3844			case 0:
3845				return &v.state
3846			case 1:
3847				return &v.sizeCache
3848			case 2:
3849				return &v.unknownFields
3850			default:
3851				return nil
3852			}
3853		}
3854		file_google_dataflow_v1beta3_jobs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3855			switch v := v.(*JobExecutionInfo); i {
3856			case 0:
3857				return &v.state
3858			case 1:
3859				return &v.sizeCache
3860			case 2:
3861				return &v.unknownFields
3862			default:
3863				return nil
3864			}
3865		}
3866		file_google_dataflow_v1beta3_jobs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3867			switch v := v.(*JobExecutionStageInfo); i {
3868			case 0:
3869				return &v.state
3870			case 1:
3871				return &v.sizeCache
3872			case 2:
3873				return &v.unknownFields
3874			default:
3875				return nil
3876			}
3877		}
3878		file_google_dataflow_v1beta3_jobs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3879			switch v := v.(*CreateJobRequest); i {
3880			case 0:
3881				return &v.state
3882			case 1:
3883				return &v.sizeCache
3884			case 2:
3885				return &v.unknownFields
3886			default:
3887				return nil
3888			}
3889		}
3890		file_google_dataflow_v1beta3_jobs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3891			switch v := v.(*GetJobRequest); i {
3892			case 0:
3893				return &v.state
3894			case 1:
3895				return &v.sizeCache
3896			case 2:
3897				return &v.unknownFields
3898			default:
3899				return nil
3900			}
3901		}
3902		file_google_dataflow_v1beta3_jobs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3903			switch v := v.(*UpdateJobRequest); i {
3904			case 0:
3905				return &v.state
3906			case 1:
3907				return &v.sizeCache
3908			case 2:
3909				return &v.unknownFields
3910			default:
3911				return nil
3912			}
3913		}
3914		file_google_dataflow_v1beta3_jobs_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3915			switch v := v.(*ListJobsRequest); i {
3916			case 0:
3917				return &v.state
3918			case 1:
3919				return &v.sizeCache
3920			case 2:
3921				return &v.unknownFields
3922			default:
3923				return nil
3924			}
3925		}
3926		file_google_dataflow_v1beta3_jobs_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3927			switch v := v.(*FailedLocation); i {
3928			case 0:
3929				return &v.state
3930			case 1:
3931				return &v.sizeCache
3932			case 2:
3933				return &v.unknownFields
3934			default:
3935				return nil
3936			}
3937		}
3938		file_google_dataflow_v1beta3_jobs_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3939			switch v := v.(*ListJobsResponse); i {
3940			case 0:
3941				return &v.state
3942			case 1:
3943				return &v.sizeCache
3944			case 2:
3945				return &v.unknownFields
3946			default:
3947				return nil
3948			}
3949		}
3950		file_google_dataflow_v1beta3_jobs_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3951			switch v := v.(*SnapshotJobRequest); i {
3952			case 0:
3953				return &v.state
3954			case 1:
3955				return &v.sizeCache
3956			case 2:
3957				return &v.unknownFields
3958			default:
3959				return nil
3960			}
3961		}
3962		file_google_dataflow_v1beta3_jobs_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3963			switch v := v.(*CheckActiveJobsRequest); i {
3964			case 0:
3965				return &v.state
3966			case 1:
3967				return &v.sizeCache
3968			case 2:
3969				return &v.unknownFields
3970			default:
3971				return nil
3972			}
3973		}
3974		file_google_dataflow_v1beta3_jobs_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3975			switch v := v.(*CheckActiveJobsResponse); i {
3976			case 0:
3977				return &v.state
3978			case 1:
3979				return &v.sizeCache
3980			case 2:
3981				return &v.unknownFields
3982			default:
3983				return nil
3984			}
3985		}
3986		file_google_dataflow_v1beta3_jobs_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
3987			switch v := v.(*ExecutionStageSummary_StageSource); i {
3988			case 0:
3989				return &v.state
3990			case 1:
3991				return &v.sizeCache
3992			case 2:
3993				return &v.unknownFields
3994			default:
3995				return nil
3996			}
3997		}
3998		file_google_dataflow_v1beta3_jobs_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
3999			switch v := v.(*ExecutionStageSummary_ComponentTransform); i {
4000			case 0:
4001				return &v.state
4002			case 1:
4003				return &v.sizeCache
4004			case 2:
4005				return &v.unknownFields
4006			default:
4007				return nil
4008			}
4009		}
4010		file_google_dataflow_v1beta3_jobs_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4011			switch v := v.(*ExecutionStageSummary_ComponentSource); i {
4012			case 0:
4013				return &v.state
4014			case 1:
4015				return &v.sizeCache
4016			case 2:
4017				return &v.unknownFields
4018			default:
4019				return nil
4020			}
4021		}
4022	}
4023	file_google_dataflow_v1beta3_jobs_proto_msgTypes[13].OneofWrappers = []interface{}{
4024		(*DisplayData_StrValue)(nil),
4025		(*DisplayData_Int64Value)(nil),
4026		(*DisplayData_FloatValue)(nil),
4027		(*DisplayData_JavaClassValue)(nil),
4028		(*DisplayData_TimestampValue)(nil),
4029		(*DisplayData_DurationValue)(nil),
4030		(*DisplayData_BoolValue)(nil),
4031	}
4032	type x struct{}
4033	out := protoimpl.TypeBuilder{
4034		File: protoimpl.DescBuilder{
4035			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4036			RawDescriptor: file_google_dataflow_v1beta3_jobs_proto_rawDesc,
4037			NumEnums:      5,
4038			NumMessages:   32,
4039			NumExtensions: 0,
4040			NumServices:   1,
4041		},
4042		GoTypes:           file_google_dataflow_v1beta3_jobs_proto_goTypes,
4043		DependencyIndexes: file_google_dataflow_v1beta3_jobs_proto_depIdxs,
4044		EnumInfos:         file_google_dataflow_v1beta3_jobs_proto_enumTypes,
4045		MessageInfos:      file_google_dataflow_v1beta3_jobs_proto_msgTypes,
4046	}.Build()
4047	File_google_dataflow_v1beta3_jobs_proto = out.File
4048	file_google_dataflow_v1beta3_jobs_proto_rawDesc = nil
4049	file_google_dataflow_v1beta3_jobs_proto_goTypes = nil
4050	file_google_dataflow_v1beta3_jobs_proto_depIdxs = nil
4051}
4052
4053// Reference imports to suppress errors if they are not otherwise used.
4054var _ context.Context
4055var _ grpc.ClientConnInterface
4056
4057// This is a compile-time assertion to ensure that this generated file
4058// is compatible with the grpc package it is being compiled against.
4059const _ = grpc.SupportPackageIsVersion6
4060
4061// JobsV1Beta3Client is the client API for JobsV1Beta3 service.
4062//
4063// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4064type JobsV1Beta3Client interface {
4065	// Creates a Cloud Dataflow job.
4066	//
4067	// To create a job, we recommend using `projects.locations.jobs.create` with a
4068	// [regional endpoint]
4069	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4070	// `projects.jobs.create` is not recommended, as your job will always start
4071	// in `us-central1`.
4072	CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
4073	// Gets the state of the specified Cloud Dataflow job.
4074	//
4075	// To get the state of a job, we recommend using `projects.locations.jobs.get`
4076	// with a [regional endpoint]
4077	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4078	// `projects.jobs.get` is not recommended, as you can only get the state of
4079	// jobs that are running in `us-central1`.
4080	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
4081	// Updates the state of an existing Cloud Dataflow job.
4082	//
4083	// To update the state of an existing job, we recommend using
4084	// `projects.locations.jobs.update` with a [regional endpoint]
4085	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4086	// `projects.jobs.update` is not recommended, as you can only update the state
4087	// of jobs that are running in `us-central1`.
4088	UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error)
4089	// List the jobs of a project.
4090	//
4091	// To list the jobs of a project in a region, we recommend using
4092	// `projects.locations.jobs.list` with a [regional endpoint]
4093	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To
4094	// list the all jobs across all regions, use `projects.jobs.aggregated`. Using
4095	// `projects.jobs.list` is not recommended, as you can only get the list of
4096	// jobs that are running in `us-central1`.
4097	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
4098	// List the jobs of a project across all regions.
4099	AggregatedListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
4100	// Check for existence of active jobs in the given project across all regions.
4101	CheckActiveJobs(ctx context.Context, in *CheckActiveJobsRequest, opts ...grpc.CallOption) (*CheckActiveJobsResponse, error)
4102	// Snapshot the state of a streaming job.
4103	SnapshotJob(ctx context.Context, in *SnapshotJobRequest, opts ...grpc.CallOption) (*Snapshot, error)
4104}
4105
4106type jobsV1Beta3Client struct {
4107	cc grpc.ClientConnInterface
4108}
4109
4110func NewJobsV1Beta3Client(cc grpc.ClientConnInterface) JobsV1Beta3Client {
4111	return &jobsV1Beta3Client{cc}
4112}
4113
4114func (c *jobsV1Beta3Client) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
4115	out := new(Job)
4116	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/CreateJob", in, out, opts...)
4117	if err != nil {
4118		return nil, err
4119	}
4120	return out, nil
4121}
4122
4123func (c *jobsV1Beta3Client) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
4124	out := new(Job)
4125	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/GetJob", in, out, opts...)
4126	if err != nil {
4127		return nil, err
4128	}
4129	return out, nil
4130}
4131
4132func (c *jobsV1Beta3Client) UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error) {
4133	out := new(Job)
4134	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/UpdateJob", in, out, opts...)
4135	if err != nil {
4136		return nil, err
4137	}
4138	return out, nil
4139}
4140
4141func (c *jobsV1Beta3Client) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
4142	out := new(ListJobsResponse)
4143	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/ListJobs", in, out, opts...)
4144	if err != nil {
4145		return nil, err
4146	}
4147	return out, nil
4148}
4149
4150func (c *jobsV1Beta3Client) AggregatedListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
4151	out := new(ListJobsResponse)
4152	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/AggregatedListJobs", in, out, opts...)
4153	if err != nil {
4154		return nil, err
4155	}
4156	return out, nil
4157}
4158
4159func (c *jobsV1Beta3Client) CheckActiveJobs(ctx context.Context, in *CheckActiveJobsRequest, opts ...grpc.CallOption) (*CheckActiveJobsResponse, error) {
4160	out := new(CheckActiveJobsResponse)
4161	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/CheckActiveJobs", in, out, opts...)
4162	if err != nil {
4163		return nil, err
4164	}
4165	return out, nil
4166}
4167
4168func (c *jobsV1Beta3Client) SnapshotJob(ctx context.Context, in *SnapshotJobRequest, opts ...grpc.CallOption) (*Snapshot, error) {
4169	out := new(Snapshot)
4170	err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.JobsV1Beta3/SnapshotJob", in, out, opts...)
4171	if err != nil {
4172		return nil, err
4173	}
4174	return out, nil
4175}
4176
4177// JobsV1Beta3Server is the server API for JobsV1Beta3 service.
4178type JobsV1Beta3Server interface {
4179	// Creates a Cloud Dataflow job.
4180	//
4181	// To create a job, we recommend using `projects.locations.jobs.create` with a
4182	// [regional endpoint]
4183	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4184	// `projects.jobs.create` is not recommended, as your job will always start
4185	// in `us-central1`.
4186	CreateJob(context.Context, *CreateJobRequest) (*Job, error)
4187	// Gets the state of the specified Cloud Dataflow job.
4188	//
4189	// To get the state of a job, we recommend using `projects.locations.jobs.get`
4190	// with a [regional endpoint]
4191	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4192	// `projects.jobs.get` is not recommended, as you can only get the state of
4193	// jobs that are running in `us-central1`.
4194	GetJob(context.Context, *GetJobRequest) (*Job, error)
4195	// Updates the state of an existing Cloud Dataflow job.
4196	//
4197	// To update the state of an existing job, we recommend using
4198	// `projects.locations.jobs.update` with a [regional endpoint]
4199	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using
4200	// `projects.jobs.update` is not recommended, as you can only update the state
4201	// of jobs that are running in `us-central1`.
4202	UpdateJob(context.Context, *UpdateJobRequest) (*Job, error)
4203	// List the jobs of a project.
4204	//
4205	// To list the jobs of a project in a region, we recommend using
4206	// `projects.locations.jobs.list` with a [regional endpoint]
4207	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To
4208	// list the all jobs across all regions, use `projects.jobs.aggregated`. Using
4209	// `projects.jobs.list` is not recommended, as you can only get the list of
4210	// jobs that are running in `us-central1`.
4211	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
4212	// List the jobs of a project across all regions.
4213	AggregatedListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
4214	// Check for existence of active jobs in the given project across all regions.
4215	CheckActiveJobs(context.Context, *CheckActiveJobsRequest) (*CheckActiveJobsResponse, error)
4216	// Snapshot the state of a streaming job.
4217	SnapshotJob(context.Context, *SnapshotJobRequest) (*Snapshot, error)
4218}
4219
4220// UnimplementedJobsV1Beta3Server can be embedded to have forward compatible implementations.
4221type UnimplementedJobsV1Beta3Server struct {
4222}
4223
4224func (*UnimplementedJobsV1Beta3Server) CreateJob(context.Context, *CreateJobRequest) (*Job, error) {
4225	return nil, status.Errorf(codes.Unimplemented, "method CreateJob not implemented")
4226}
4227func (*UnimplementedJobsV1Beta3Server) GetJob(context.Context, *GetJobRequest) (*Job, error) {
4228	return nil, status.Errorf(codes.Unimplemented, "method GetJob not implemented")
4229}
4230func (*UnimplementedJobsV1Beta3Server) UpdateJob(context.Context, *UpdateJobRequest) (*Job, error) {
4231	return nil, status.Errorf(codes.Unimplemented, "method UpdateJob not implemented")
4232}
4233func (*UnimplementedJobsV1Beta3Server) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) {
4234	return nil, status.Errorf(codes.Unimplemented, "method ListJobs not implemented")
4235}
4236func (*UnimplementedJobsV1Beta3Server) AggregatedListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) {
4237	return nil, status.Errorf(codes.Unimplemented, "method AggregatedListJobs not implemented")
4238}
4239func (*UnimplementedJobsV1Beta3Server) CheckActiveJobs(context.Context, *CheckActiveJobsRequest) (*CheckActiveJobsResponse, error) {
4240	return nil, status.Errorf(codes.Unimplemented, "method CheckActiveJobs not implemented")
4241}
4242func (*UnimplementedJobsV1Beta3Server) SnapshotJob(context.Context, *SnapshotJobRequest) (*Snapshot, error) {
4243	return nil, status.Errorf(codes.Unimplemented, "method SnapshotJob not implemented")
4244}
4245
4246func RegisterJobsV1Beta3Server(s *grpc.Server, srv JobsV1Beta3Server) {
4247	s.RegisterService(&_JobsV1Beta3_serviceDesc, srv)
4248}
4249
4250func _JobsV1Beta3_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4251	in := new(CreateJobRequest)
4252	if err := dec(in); err != nil {
4253		return nil, err
4254	}
4255	if interceptor == nil {
4256		return srv.(JobsV1Beta3Server).CreateJob(ctx, in)
4257	}
4258	info := &grpc.UnaryServerInfo{
4259		Server:     srv,
4260		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/CreateJob",
4261	}
4262	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4263		return srv.(JobsV1Beta3Server).CreateJob(ctx, req.(*CreateJobRequest))
4264	}
4265	return interceptor(ctx, in, info, handler)
4266}
4267
4268func _JobsV1Beta3_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4269	in := new(GetJobRequest)
4270	if err := dec(in); err != nil {
4271		return nil, err
4272	}
4273	if interceptor == nil {
4274		return srv.(JobsV1Beta3Server).GetJob(ctx, in)
4275	}
4276	info := &grpc.UnaryServerInfo{
4277		Server:     srv,
4278		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/GetJob",
4279	}
4280	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4281		return srv.(JobsV1Beta3Server).GetJob(ctx, req.(*GetJobRequest))
4282	}
4283	return interceptor(ctx, in, info, handler)
4284}
4285
4286func _JobsV1Beta3_UpdateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4287	in := new(UpdateJobRequest)
4288	if err := dec(in); err != nil {
4289		return nil, err
4290	}
4291	if interceptor == nil {
4292		return srv.(JobsV1Beta3Server).UpdateJob(ctx, in)
4293	}
4294	info := &grpc.UnaryServerInfo{
4295		Server:     srv,
4296		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/UpdateJob",
4297	}
4298	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4299		return srv.(JobsV1Beta3Server).UpdateJob(ctx, req.(*UpdateJobRequest))
4300	}
4301	return interceptor(ctx, in, info, handler)
4302}
4303
4304func _JobsV1Beta3_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4305	in := new(ListJobsRequest)
4306	if err := dec(in); err != nil {
4307		return nil, err
4308	}
4309	if interceptor == nil {
4310		return srv.(JobsV1Beta3Server).ListJobs(ctx, in)
4311	}
4312	info := &grpc.UnaryServerInfo{
4313		Server:     srv,
4314		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/ListJobs",
4315	}
4316	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4317		return srv.(JobsV1Beta3Server).ListJobs(ctx, req.(*ListJobsRequest))
4318	}
4319	return interceptor(ctx, in, info, handler)
4320}
4321
4322func _JobsV1Beta3_AggregatedListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4323	in := new(ListJobsRequest)
4324	if err := dec(in); err != nil {
4325		return nil, err
4326	}
4327	if interceptor == nil {
4328		return srv.(JobsV1Beta3Server).AggregatedListJobs(ctx, in)
4329	}
4330	info := &grpc.UnaryServerInfo{
4331		Server:     srv,
4332		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/AggregatedListJobs",
4333	}
4334	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4335		return srv.(JobsV1Beta3Server).AggregatedListJobs(ctx, req.(*ListJobsRequest))
4336	}
4337	return interceptor(ctx, in, info, handler)
4338}
4339
4340func _JobsV1Beta3_CheckActiveJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4341	in := new(CheckActiveJobsRequest)
4342	if err := dec(in); err != nil {
4343		return nil, err
4344	}
4345	if interceptor == nil {
4346		return srv.(JobsV1Beta3Server).CheckActiveJobs(ctx, in)
4347	}
4348	info := &grpc.UnaryServerInfo{
4349		Server:     srv,
4350		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/CheckActiveJobs",
4351	}
4352	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4353		return srv.(JobsV1Beta3Server).CheckActiveJobs(ctx, req.(*CheckActiveJobsRequest))
4354	}
4355	return interceptor(ctx, in, info, handler)
4356}
4357
4358func _JobsV1Beta3_SnapshotJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4359	in := new(SnapshotJobRequest)
4360	if err := dec(in); err != nil {
4361		return nil, err
4362	}
4363	if interceptor == nil {
4364		return srv.(JobsV1Beta3Server).SnapshotJob(ctx, in)
4365	}
4366	info := &grpc.UnaryServerInfo{
4367		Server:     srv,
4368		FullMethod: "/google.dataflow.v1beta3.JobsV1Beta3/SnapshotJob",
4369	}
4370	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4371		return srv.(JobsV1Beta3Server).SnapshotJob(ctx, req.(*SnapshotJobRequest))
4372	}
4373	return interceptor(ctx, in, info, handler)
4374}
4375
4376var _JobsV1Beta3_serviceDesc = grpc.ServiceDesc{
4377	ServiceName: "google.dataflow.v1beta3.JobsV1Beta3",
4378	HandlerType: (*JobsV1Beta3Server)(nil),
4379	Methods: []grpc.MethodDesc{
4380		{
4381			MethodName: "CreateJob",
4382			Handler:    _JobsV1Beta3_CreateJob_Handler,
4383		},
4384		{
4385			MethodName: "GetJob",
4386			Handler:    _JobsV1Beta3_GetJob_Handler,
4387		},
4388		{
4389			MethodName: "UpdateJob",
4390			Handler:    _JobsV1Beta3_UpdateJob_Handler,
4391		},
4392		{
4393			MethodName: "ListJobs",
4394			Handler:    _JobsV1Beta3_ListJobs_Handler,
4395		},
4396		{
4397			MethodName: "AggregatedListJobs",
4398			Handler:    _JobsV1Beta3_AggregatedListJobs_Handler,
4399		},
4400		{
4401			MethodName: "CheckActiveJobs",
4402			Handler:    _JobsV1Beta3_CheckActiveJobs_Handler,
4403		},
4404		{
4405			MethodName: "SnapshotJob",
4406			Handler:    _JobsV1Beta3_SnapshotJob_Handler,
4407		},
4408	},
4409	Streams:  []grpc.StreamDesc{},
4410	Metadata: "google/dataflow/v1beta3/jobs.proto",
4411}
4412