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/cloud/dataproc/v1/batches.proto
20
21package dataproc
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	grpc "google.golang.org/grpc"
31	codes "google.golang.org/grpc/codes"
32	status "google.golang.org/grpc/status"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35	emptypb "google.golang.org/protobuf/types/known/emptypb"
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// The batch state.
47type Batch_State int32
48
49const (
50	// The batch state is unknown.
51	Batch_STATE_UNSPECIFIED Batch_State = 0
52	// The batch is created before running.
53	Batch_PENDING Batch_State = 1
54	// The batch is running.
55	Batch_RUNNING Batch_State = 2
56	// The batch is cancelling.
57	Batch_CANCELLING Batch_State = 3
58	// The batch cancellation was successful.
59	Batch_CANCELLED Batch_State = 4
60	// The batch completed successfully.
61	Batch_SUCCEEDED Batch_State = 5
62	// The batch is no longer running due to an error.
63	Batch_FAILED Batch_State = 6
64)
65
66// Enum value maps for Batch_State.
67var (
68	Batch_State_name = map[int32]string{
69		0: "STATE_UNSPECIFIED",
70		1: "PENDING",
71		2: "RUNNING",
72		3: "CANCELLING",
73		4: "CANCELLED",
74		5: "SUCCEEDED",
75		6: "FAILED",
76	}
77	Batch_State_value = map[string]int32{
78		"STATE_UNSPECIFIED": 0,
79		"PENDING":           1,
80		"RUNNING":           2,
81		"CANCELLING":        3,
82		"CANCELLED":         4,
83		"SUCCEEDED":         5,
84		"FAILED":            6,
85	}
86)
87
88func (x Batch_State) Enum() *Batch_State {
89	p := new(Batch_State)
90	*p = x
91	return p
92}
93
94func (x Batch_State) String() string {
95	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
96}
97
98func (Batch_State) Descriptor() protoreflect.EnumDescriptor {
99	return file_google_cloud_dataproc_v1_batches_proto_enumTypes[0].Descriptor()
100}
101
102func (Batch_State) Type() protoreflect.EnumType {
103	return &file_google_cloud_dataproc_v1_batches_proto_enumTypes[0]
104}
105
106func (x Batch_State) Number() protoreflect.EnumNumber {
107	return protoreflect.EnumNumber(x)
108}
109
110// Deprecated: Use Batch_State.Descriptor instead.
111func (Batch_State) EnumDescriptor() ([]byte, []int) {
112	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{5, 0}
113}
114
115// A request to create a batch workload.
116type CreateBatchRequest struct {
117	state         protoimpl.MessageState
118	sizeCache     protoimpl.SizeCache
119	unknownFields protoimpl.UnknownFields
120
121	// Required. The parent resource where this batch will be created.
122	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
123	// Required. The batch to create.
124	Batch *Batch `protobuf:"bytes,2,opt,name=batch,proto3" json:"batch,omitempty"`
125	// Optional. The ID to use for the batch, which will become the final component of
126	// the batch's resource name.
127	//
128	// This value must be 4-63 characters. Valid characters are `/[a-z][0-9]-/`.
129	BatchId string `protobuf:"bytes,3,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
130	// Optional. A unique ID used to identify the request. If the service
131	// receives two
132	// [CreateBatchRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s
133	// with the same request_id, the second request is ignored and the
134	// Operation that corresponds to the first Batch created and stored
135	// in the backend is returned.
136	//
137	// Recommendation: Set this value to a
138	// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
139	//
140	// The value must contain only letters (a-z, A-Z), numbers (0-9),
141	// underscores (_), and hyphens (-). The maximum length is 40 characters.
142	RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
143}
144
145func (x *CreateBatchRequest) Reset() {
146	*x = CreateBatchRequest{}
147	if protoimpl.UnsafeEnabled {
148		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[0]
149		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
150		ms.StoreMessageInfo(mi)
151	}
152}
153
154func (x *CreateBatchRequest) String() string {
155	return protoimpl.X.MessageStringOf(x)
156}
157
158func (*CreateBatchRequest) ProtoMessage() {}
159
160func (x *CreateBatchRequest) ProtoReflect() protoreflect.Message {
161	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[0]
162	if protoimpl.UnsafeEnabled && x != nil {
163		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
164		if ms.LoadMessageInfo() == nil {
165			ms.StoreMessageInfo(mi)
166		}
167		return ms
168	}
169	return mi.MessageOf(x)
170}
171
172// Deprecated: Use CreateBatchRequest.ProtoReflect.Descriptor instead.
173func (*CreateBatchRequest) Descriptor() ([]byte, []int) {
174	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{0}
175}
176
177func (x *CreateBatchRequest) GetParent() string {
178	if x != nil {
179		return x.Parent
180	}
181	return ""
182}
183
184func (x *CreateBatchRequest) GetBatch() *Batch {
185	if x != nil {
186		return x.Batch
187	}
188	return nil
189}
190
191func (x *CreateBatchRequest) GetBatchId() string {
192	if x != nil {
193		return x.BatchId
194	}
195	return ""
196}
197
198func (x *CreateBatchRequest) GetRequestId() string {
199	if x != nil {
200		return x.RequestId
201	}
202	return ""
203}
204
205// A request to get the resource representation for a batch workload.
206type GetBatchRequest struct {
207	state         protoimpl.MessageState
208	sizeCache     protoimpl.SizeCache
209	unknownFields protoimpl.UnknownFields
210
211	// Required. The name of the batch to retrieve.
212	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
213}
214
215func (x *GetBatchRequest) Reset() {
216	*x = GetBatchRequest{}
217	if protoimpl.UnsafeEnabled {
218		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[1]
219		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
220		ms.StoreMessageInfo(mi)
221	}
222}
223
224func (x *GetBatchRequest) String() string {
225	return protoimpl.X.MessageStringOf(x)
226}
227
228func (*GetBatchRequest) ProtoMessage() {}
229
230func (x *GetBatchRequest) ProtoReflect() protoreflect.Message {
231	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[1]
232	if protoimpl.UnsafeEnabled && x != nil {
233		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
234		if ms.LoadMessageInfo() == nil {
235			ms.StoreMessageInfo(mi)
236		}
237		return ms
238	}
239	return mi.MessageOf(x)
240}
241
242// Deprecated: Use GetBatchRequest.ProtoReflect.Descriptor instead.
243func (*GetBatchRequest) Descriptor() ([]byte, []int) {
244	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{1}
245}
246
247func (x *GetBatchRequest) GetName() string {
248	if x != nil {
249		return x.Name
250	}
251	return ""
252}
253
254// A request to list batch workloads in a project.
255type ListBatchesRequest struct {
256	state         protoimpl.MessageState
257	sizeCache     protoimpl.SizeCache
258	unknownFields protoimpl.UnknownFields
259
260	// Required. The parent, which owns this collection of batches.
261	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
262	// Optional. The maximum number of batches to return in each response.
263	// The service may return fewer than this value.
264	// The default page size is 20; the maximum page size is 1000.
265	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
266	// Optional. A page token received from a previous `ListBatches` call.
267	// Provide this token to retrieve the subsequent page.
268	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
269}
270
271func (x *ListBatchesRequest) Reset() {
272	*x = ListBatchesRequest{}
273	if protoimpl.UnsafeEnabled {
274		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[2]
275		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
276		ms.StoreMessageInfo(mi)
277	}
278}
279
280func (x *ListBatchesRequest) String() string {
281	return protoimpl.X.MessageStringOf(x)
282}
283
284func (*ListBatchesRequest) ProtoMessage() {}
285
286func (x *ListBatchesRequest) ProtoReflect() protoreflect.Message {
287	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[2]
288	if protoimpl.UnsafeEnabled && x != nil {
289		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
290		if ms.LoadMessageInfo() == nil {
291			ms.StoreMessageInfo(mi)
292		}
293		return ms
294	}
295	return mi.MessageOf(x)
296}
297
298// Deprecated: Use ListBatchesRequest.ProtoReflect.Descriptor instead.
299func (*ListBatchesRequest) Descriptor() ([]byte, []int) {
300	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{2}
301}
302
303func (x *ListBatchesRequest) GetParent() string {
304	if x != nil {
305		return x.Parent
306	}
307	return ""
308}
309
310func (x *ListBatchesRequest) GetPageSize() int32 {
311	if x != nil {
312		return x.PageSize
313	}
314	return 0
315}
316
317func (x *ListBatchesRequest) GetPageToken() string {
318	if x != nil {
319		return x.PageToken
320	}
321	return ""
322}
323
324// A list of batch workloads.
325type ListBatchesResponse struct {
326	state         protoimpl.MessageState
327	sizeCache     protoimpl.SizeCache
328	unknownFields protoimpl.UnknownFields
329
330	// The batches from the specified collection.
331	Batches []*Batch `protobuf:"bytes,1,rep,name=batches,proto3" json:"batches,omitempty"`
332	// A token, which can be sent as `page_token` to retrieve the next page.
333	// If this field is omitted, there are no subsequent pages.
334	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
335}
336
337func (x *ListBatchesResponse) Reset() {
338	*x = ListBatchesResponse{}
339	if protoimpl.UnsafeEnabled {
340		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[3]
341		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
342		ms.StoreMessageInfo(mi)
343	}
344}
345
346func (x *ListBatchesResponse) String() string {
347	return protoimpl.X.MessageStringOf(x)
348}
349
350func (*ListBatchesResponse) ProtoMessage() {}
351
352func (x *ListBatchesResponse) ProtoReflect() protoreflect.Message {
353	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[3]
354	if protoimpl.UnsafeEnabled && x != nil {
355		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
356		if ms.LoadMessageInfo() == nil {
357			ms.StoreMessageInfo(mi)
358		}
359		return ms
360	}
361	return mi.MessageOf(x)
362}
363
364// Deprecated: Use ListBatchesResponse.ProtoReflect.Descriptor instead.
365func (*ListBatchesResponse) Descriptor() ([]byte, []int) {
366	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{3}
367}
368
369func (x *ListBatchesResponse) GetBatches() []*Batch {
370	if x != nil {
371		return x.Batches
372	}
373	return nil
374}
375
376func (x *ListBatchesResponse) GetNextPageToken() string {
377	if x != nil {
378		return x.NextPageToken
379	}
380	return ""
381}
382
383// A request to delete a batch workload.
384type DeleteBatchRequest struct {
385	state         protoimpl.MessageState
386	sizeCache     protoimpl.SizeCache
387	unknownFields protoimpl.UnknownFields
388
389	// Required. The name of the batch resource to delete.
390	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
391}
392
393func (x *DeleteBatchRequest) Reset() {
394	*x = DeleteBatchRequest{}
395	if protoimpl.UnsafeEnabled {
396		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[4]
397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
398		ms.StoreMessageInfo(mi)
399	}
400}
401
402func (x *DeleteBatchRequest) String() string {
403	return protoimpl.X.MessageStringOf(x)
404}
405
406func (*DeleteBatchRequest) ProtoMessage() {}
407
408func (x *DeleteBatchRequest) ProtoReflect() protoreflect.Message {
409	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[4]
410	if protoimpl.UnsafeEnabled && x != nil {
411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
412		if ms.LoadMessageInfo() == nil {
413			ms.StoreMessageInfo(mi)
414		}
415		return ms
416	}
417	return mi.MessageOf(x)
418}
419
420// Deprecated: Use DeleteBatchRequest.ProtoReflect.Descriptor instead.
421func (*DeleteBatchRequest) Descriptor() ([]byte, []int) {
422	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{4}
423}
424
425func (x *DeleteBatchRequest) GetName() string {
426	if x != nil {
427		return x.Name
428	}
429	return ""
430}
431
432// A representation of a batch workload in the service.
433type Batch struct {
434	state         protoimpl.MessageState
435	sizeCache     protoimpl.SizeCache
436	unknownFields protoimpl.UnknownFields
437
438	// Output only. The resource name of the batch.
439	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
440	// Output only. A batch UUID (Unique Universal Identifier). The service
441	// generates this value when it creates the batch.
442	Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
443	// Output only. The time when the batch was created.
444	CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
445	// The application/framework-specific portion of the batch configuration.
446	//
447	// Types that are assignable to BatchConfig:
448	//	*Batch_PysparkBatch
449	//	*Batch_SparkBatch
450	//	*Batch_SparkRBatch
451	//	*Batch_SparkSqlBatch
452	BatchConfig isBatch_BatchConfig `protobuf_oneof:"batch_config"`
453	// Output only. Runtime information about batch execution.
454	RuntimeInfo *RuntimeInfo `protobuf:"bytes,8,opt,name=runtime_info,json=runtimeInfo,proto3" json:"runtime_info,omitempty"`
455	// Output only. The state of the batch.
456	State Batch_State `protobuf:"varint,9,opt,name=state,proto3,enum=google.cloud.dataproc.v1.Batch_State" json:"state,omitempty"`
457	// Output only. Batch state details, such as a failure
458	// description if the state is `FAILED`.
459	StateMessage string `protobuf:"bytes,10,opt,name=state_message,json=stateMessage,proto3" json:"state_message,omitempty"`
460	// Output only. The time when the batch entered a current state.
461	StateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=state_time,json=stateTime,proto3" json:"state_time,omitempty"`
462	// Output only. The email address of the user who created the batch.
463	Creator string `protobuf:"bytes,12,opt,name=creator,proto3" json:"creator,omitempty"`
464	// Optional. The labels to associate with this batch.
465	// Label **keys** must contain 1 to 63 characters, and must conform to
466	// [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
467	// Label **values** may be empty, but, if present, must contain 1 to 63
468	// characters, and must conform to [RFC
469	// 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
470	// associated with a batch.
471	Labels map[string]string `protobuf:"bytes,13,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
472	// Optional. Runtime configuration for the batch execution.
473	RuntimeConfig *RuntimeConfig `protobuf:"bytes,14,opt,name=runtime_config,json=runtimeConfig,proto3" json:"runtime_config,omitempty"`
474	// Optional. Environment configuration for the batch execution.
475	EnvironmentConfig *EnvironmentConfig `protobuf:"bytes,15,opt,name=environment_config,json=environmentConfig,proto3" json:"environment_config,omitempty"`
476	// Output only. The resource name of the operation associated with this batch.
477	Operation string `protobuf:"bytes,16,opt,name=operation,proto3" json:"operation,omitempty"`
478	// Output only. Historical state information for the batch.
479	StateHistory []*Batch_StateHistory `protobuf:"bytes,17,rep,name=state_history,json=stateHistory,proto3" json:"state_history,omitempty"`
480}
481
482func (x *Batch) Reset() {
483	*x = Batch{}
484	if protoimpl.UnsafeEnabled {
485		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[5]
486		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
487		ms.StoreMessageInfo(mi)
488	}
489}
490
491func (x *Batch) String() string {
492	return protoimpl.X.MessageStringOf(x)
493}
494
495func (*Batch) ProtoMessage() {}
496
497func (x *Batch) ProtoReflect() protoreflect.Message {
498	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[5]
499	if protoimpl.UnsafeEnabled && x != nil {
500		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
501		if ms.LoadMessageInfo() == nil {
502			ms.StoreMessageInfo(mi)
503		}
504		return ms
505	}
506	return mi.MessageOf(x)
507}
508
509// Deprecated: Use Batch.ProtoReflect.Descriptor instead.
510func (*Batch) Descriptor() ([]byte, []int) {
511	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{5}
512}
513
514func (x *Batch) GetName() string {
515	if x != nil {
516		return x.Name
517	}
518	return ""
519}
520
521func (x *Batch) GetUuid() string {
522	if x != nil {
523		return x.Uuid
524	}
525	return ""
526}
527
528func (x *Batch) GetCreateTime() *timestamppb.Timestamp {
529	if x != nil {
530		return x.CreateTime
531	}
532	return nil
533}
534
535func (m *Batch) GetBatchConfig() isBatch_BatchConfig {
536	if m != nil {
537		return m.BatchConfig
538	}
539	return nil
540}
541
542func (x *Batch) GetPysparkBatch() *PySparkBatch {
543	if x, ok := x.GetBatchConfig().(*Batch_PysparkBatch); ok {
544		return x.PysparkBatch
545	}
546	return nil
547}
548
549func (x *Batch) GetSparkBatch() *SparkBatch {
550	if x, ok := x.GetBatchConfig().(*Batch_SparkBatch); ok {
551		return x.SparkBatch
552	}
553	return nil
554}
555
556func (x *Batch) GetSparkRBatch() *SparkRBatch {
557	if x, ok := x.GetBatchConfig().(*Batch_SparkRBatch); ok {
558		return x.SparkRBatch
559	}
560	return nil
561}
562
563func (x *Batch) GetSparkSqlBatch() *SparkSqlBatch {
564	if x, ok := x.GetBatchConfig().(*Batch_SparkSqlBatch); ok {
565		return x.SparkSqlBatch
566	}
567	return nil
568}
569
570func (x *Batch) GetRuntimeInfo() *RuntimeInfo {
571	if x != nil {
572		return x.RuntimeInfo
573	}
574	return nil
575}
576
577func (x *Batch) GetState() Batch_State {
578	if x != nil {
579		return x.State
580	}
581	return Batch_STATE_UNSPECIFIED
582}
583
584func (x *Batch) GetStateMessage() string {
585	if x != nil {
586		return x.StateMessage
587	}
588	return ""
589}
590
591func (x *Batch) GetStateTime() *timestamppb.Timestamp {
592	if x != nil {
593		return x.StateTime
594	}
595	return nil
596}
597
598func (x *Batch) GetCreator() string {
599	if x != nil {
600		return x.Creator
601	}
602	return ""
603}
604
605func (x *Batch) GetLabels() map[string]string {
606	if x != nil {
607		return x.Labels
608	}
609	return nil
610}
611
612func (x *Batch) GetRuntimeConfig() *RuntimeConfig {
613	if x != nil {
614		return x.RuntimeConfig
615	}
616	return nil
617}
618
619func (x *Batch) GetEnvironmentConfig() *EnvironmentConfig {
620	if x != nil {
621		return x.EnvironmentConfig
622	}
623	return nil
624}
625
626func (x *Batch) GetOperation() string {
627	if x != nil {
628		return x.Operation
629	}
630	return ""
631}
632
633func (x *Batch) GetStateHistory() []*Batch_StateHistory {
634	if x != nil {
635		return x.StateHistory
636	}
637	return nil
638}
639
640type isBatch_BatchConfig interface {
641	isBatch_BatchConfig()
642}
643
644type Batch_PysparkBatch struct {
645	// Optional. PySpark batch config.
646	PysparkBatch *PySparkBatch `protobuf:"bytes,4,opt,name=pyspark_batch,json=pysparkBatch,proto3,oneof"`
647}
648
649type Batch_SparkBatch struct {
650	// Optional. Spark batch config.
651	SparkBatch *SparkBatch `protobuf:"bytes,5,opt,name=spark_batch,json=sparkBatch,proto3,oneof"`
652}
653
654type Batch_SparkRBatch struct {
655	// Optional. SparkR batch config.
656	SparkRBatch *SparkRBatch `protobuf:"bytes,6,opt,name=spark_r_batch,json=sparkRBatch,proto3,oneof"`
657}
658
659type Batch_SparkSqlBatch struct {
660	// Optional. SparkSql batch config.
661	SparkSqlBatch *SparkSqlBatch `protobuf:"bytes,7,opt,name=spark_sql_batch,json=sparkSqlBatch,proto3,oneof"`
662}
663
664func (*Batch_PysparkBatch) isBatch_BatchConfig() {}
665
666func (*Batch_SparkBatch) isBatch_BatchConfig() {}
667
668func (*Batch_SparkRBatch) isBatch_BatchConfig() {}
669
670func (*Batch_SparkSqlBatch) isBatch_BatchConfig() {}
671
672// A configuration for running an
673// [Apache
674// PySpark](https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html)
675// batch workload.
676type PySparkBatch struct {
677	state         protoimpl.MessageState
678	sizeCache     protoimpl.SizeCache
679	unknownFields protoimpl.UnknownFields
680
681	// Required. The HCFS URI of the main Python file to use as the Spark driver. Must
682	// be a .py file.
683	MainPythonFileUri string `protobuf:"bytes,1,opt,name=main_python_file_uri,json=mainPythonFileUri,proto3" json:"main_python_file_uri,omitempty"`
684	// Optional. The arguments to pass to the driver. Do not include arguments
685	// that can be set as batch properties, such as `--conf`, since a collision
686	// can occur that causes an incorrect batch submission.
687	Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
688	// Optional. HCFS file URIs of Python files to pass to the PySpark
689	// framework. Supported file types: `.py`, `.egg`, and `.zip`.
690	PythonFileUris []string `protobuf:"bytes,3,rep,name=python_file_uris,json=pythonFileUris,proto3" json:"python_file_uris,omitempty"`
691	// Optional. HCFS URIs of jar files to add to the classpath of the
692	// Spark driver and tasks.
693	JarFileUris []string `protobuf:"bytes,4,rep,name=jar_file_uris,json=jarFileUris,proto3" json:"jar_file_uris,omitempty"`
694	// Optional. HCFS URIs of files to be placed in the working directory of
695	// each executor.
696	FileUris []string `protobuf:"bytes,5,rep,name=file_uris,json=fileUris,proto3" json:"file_uris,omitempty"`
697	// Optional. HCFS URIs of archives to be extracted into the working directory
698	// of each executor. Supported file types:
699	// `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.
700	ArchiveUris []string `protobuf:"bytes,6,rep,name=archive_uris,json=archiveUris,proto3" json:"archive_uris,omitempty"`
701}
702
703func (x *PySparkBatch) Reset() {
704	*x = PySparkBatch{}
705	if protoimpl.UnsafeEnabled {
706		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[6]
707		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
708		ms.StoreMessageInfo(mi)
709	}
710}
711
712func (x *PySparkBatch) String() string {
713	return protoimpl.X.MessageStringOf(x)
714}
715
716func (*PySparkBatch) ProtoMessage() {}
717
718func (x *PySparkBatch) ProtoReflect() protoreflect.Message {
719	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[6]
720	if protoimpl.UnsafeEnabled && x != nil {
721		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
722		if ms.LoadMessageInfo() == nil {
723			ms.StoreMessageInfo(mi)
724		}
725		return ms
726	}
727	return mi.MessageOf(x)
728}
729
730// Deprecated: Use PySparkBatch.ProtoReflect.Descriptor instead.
731func (*PySparkBatch) Descriptor() ([]byte, []int) {
732	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{6}
733}
734
735func (x *PySparkBatch) GetMainPythonFileUri() string {
736	if x != nil {
737		return x.MainPythonFileUri
738	}
739	return ""
740}
741
742func (x *PySparkBatch) GetArgs() []string {
743	if x != nil {
744		return x.Args
745	}
746	return nil
747}
748
749func (x *PySparkBatch) GetPythonFileUris() []string {
750	if x != nil {
751		return x.PythonFileUris
752	}
753	return nil
754}
755
756func (x *PySparkBatch) GetJarFileUris() []string {
757	if x != nil {
758		return x.JarFileUris
759	}
760	return nil
761}
762
763func (x *PySparkBatch) GetFileUris() []string {
764	if x != nil {
765		return x.FileUris
766	}
767	return nil
768}
769
770func (x *PySparkBatch) GetArchiveUris() []string {
771	if x != nil {
772		return x.ArchiveUris
773	}
774	return nil
775}
776
777// A configuration for running an [Apache Spark](http://spark.apache.org/)
778// batch workload.
779type SparkBatch struct {
780	state         protoimpl.MessageState
781	sizeCache     protoimpl.SizeCache
782	unknownFields protoimpl.UnknownFields
783
784	// The specification of the main method to call to drive the Spark
785	// workload. Specify either the jar file that contains the main class or the
786	// main class name. To pass both a main jar and a main class in that jar, add
787	// the jar to `jar_file_uris`, and then specify the main class
788	// name in `main_class`.
789	//
790	// Types that are assignable to Driver:
791	//	*SparkBatch_MainJarFileUri
792	//	*SparkBatch_MainClass
793	Driver isSparkBatch_Driver `protobuf_oneof:"driver"`
794	// Optional. The arguments to pass to the driver. Do not include arguments
795	// that can be set as batch properties, such as `--conf`, since a collision
796	// can occur that causes an incorrect batch submission.
797	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
798	// Optional. HCFS URIs of jar files to add to the classpath of the
799	// Spark driver and tasks.
800	JarFileUris []string `protobuf:"bytes,4,rep,name=jar_file_uris,json=jarFileUris,proto3" json:"jar_file_uris,omitempty"`
801	// Optional. HCFS URIs of files to be placed in the working directory of
802	// each executor.
803	FileUris []string `protobuf:"bytes,5,rep,name=file_uris,json=fileUris,proto3" json:"file_uris,omitempty"`
804	// Optional. HCFS URIs of archives to be extracted into the working directory
805	// of each executor. Supported file types:
806	// `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.
807	ArchiveUris []string `protobuf:"bytes,6,rep,name=archive_uris,json=archiveUris,proto3" json:"archive_uris,omitempty"`
808}
809
810func (x *SparkBatch) Reset() {
811	*x = SparkBatch{}
812	if protoimpl.UnsafeEnabled {
813		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[7]
814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
815		ms.StoreMessageInfo(mi)
816	}
817}
818
819func (x *SparkBatch) String() string {
820	return protoimpl.X.MessageStringOf(x)
821}
822
823func (*SparkBatch) ProtoMessage() {}
824
825func (x *SparkBatch) ProtoReflect() protoreflect.Message {
826	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[7]
827	if protoimpl.UnsafeEnabled && x != nil {
828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
829		if ms.LoadMessageInfo() == nil {
830			ms.StoreMessageInfo(mi)
831		}
832		return ms
833	}
834	return mi.MessageOf(x)
835}
836
837// Deprecated: Use SparkBatch.ProtoReflect.Descriptor instead.
838func (*SparkBatch) Descriptor() ([]byte, []int) {
839	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{7}
840}
841
842func (m *SparkBatch) GetDriver() isSparkBatch_Driver {
843	if m != nil {
844		return m.Driver
845	}
846	return nil
847}
848
849func (x *SparkBatch) GetMainJarFileUri() string {
850	if x, ok := x.GetDriver().(*SparkBatch_MainJarFileUri); ok {
851		return x.MainJarFileUri
852	}
853	return ""
854}
855
856func (x *SparkBatch) GetMainClass() string {
857	if x, ok := x.GetDriver().(*SparkBatch_MainClass); ok {
858		return x.MainClass
859	}
860	return ""
861}
862
863func (x *SparkBatch) GetArgs() []string {
864	if x != nil {
865		return x.Args
866	}
867	return nil
868}
869
870func (x *SparkBatch) GetJarFileUris() []string {
871	if x != nil {
872		return x.JarFileUris
873	}
874	return nil
875}
876
877func (x *SparkBatch) GetFileUris() []string {
878	if x != nil {
879		return x.FileUris
880	}
881	return nil
882}
883
884func (x *SparkBatch) GetArchiveUris() []string {
885	if x != nil {
886		return x.ArchiveUris
887	}
888	return nil
889}
890
891type isSparkBatch_Driver interface {
892	isSparkBatch_Driver()
893}
894
895type SparkBatch_MainJarFileUri struct {
896	// Optional. The HCFS URI of the jar file that contains the main class.
897	MainJarFileUri string `protobuf:"bytes,1,opt,name=main_jar_file_uri,json=mainJarFileUri,proto3,oneof"`
898}
899
900type SparkBatch_MainClass struct {
901	// Optional. The name of the driver main class. The jar file that contains the class
902	// must be in the classpath or specified in `jar_file_uris`.
903	MainClass string `protobuf:"bytes,2,opt,name=main_class,json=mainClass,proto3,oneof"`
904}
905
906func (*SparkBatch_MainJarFileUri) isSparkBatch_Driver() {}
907
908func (*SparkBatch_MainClass) isSparkBatch_Driver() {}
909
910// A configuration for running an
911// [Apache SparkR](https://spark.apache.org/docs/latest/sparkr.html)
912// batch workload.
913type SparkRBatch struct {
914	state         protoimpl.MessageState
915	sizeCache     protoimpl.SizeCache
916	unknownFields protoimpl.UnknownFields
917
918	// Required. The HCFS URI of the main R file to use as the driver.
919	// Must be a `.R` or `.r` file.
920	MainRFileUri string `protobuf:"bytes,1,opt,name=main_r_file_uri,json=mainRFileUri,proto3" json:"main_r_file_uri,omitempty"`
921	// Optional. The arguments to pass to the Spark driver. Do not include arguments
922	// that can be set as batch properties, such as `--conf`, since a collision
923	// can occur that causes an incorrect batch submission.
924	Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
925	// Optional. HCFS URIs of files to be placed in the working directory of
926	// each executor.
927	FileUris []string `protobuf:"bytes,3,rep,name=file_uris,json=fileUris,proto3" json:"file_uris,omitempty"`
928	// Optional. HCFS URIs of archives to be extracted into the working directory
929	// of each executor. Supported file types:
930	// `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.
931	ArchiveUris []string `protobuf:"bytes,4,rep,name=archive_uris,json=archiveUris,proto3" json:"archive_uris,omitempty"`
932}
933
934func (x *SparkRBatch) Reset() {
935	*x = SparkRBatch{}
936	if protoimpl.UnsafeEnabled {
937		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[8]
938		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
939		ms.StoreMessageInfo(mi)
940	}
941}
942
943func (x *SparkRBatch) String() string {
944	return protoimpl.X.MessageStringOf(x)
945}
946
947func (*SparkRBatch) ProtoMessage() {}
948
949func (x *SparkRBatch) ProtoReflect() protoreflect.Message {
950	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[8]
951	if protoimpl.UnsafeEnabled && x != nil {
952		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
953		if ms.LoadMessageInfo() == nil {
954			ms.StoreMessageInfo(mi)
955		}
956		return ms
957	}
958	return mi.MessageOf(x)
959}
960
961// Deprecated: Use SparkRBatch.ProtoReflect.Descriptor instead.
962func (*SparkRBatch) Descriptor() ([]byte, []int) {
963	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{8}
964}
965
966func (x *SparkRBatch) GetMainRFileUri() string {
967	if x != nil {
968		return x.MainRFileUri
969	}
970	return ""
971}
972
973func (x *SparkRBatch) GetArgs() []string {
974	if x != nil {
975		return x.Args
976	}
977	return nil
978}
979
980func (x *SparkRBatch) GetFileUris() []string {
981	if x != nil {
982		return x.FileUris
983	}
984	return nil
985}
986
987func (x *SparkRBatch) GetArchiveUris() []string {
988	if x != nil {
989		return x.ArchiveUris
990	}
991	return nil
992}
993
994// A configuration for running
995// [Apache Spark SQL](http://spark.apache.org/sql/) queries as a batch workload.
996type SparkSqlBatch struct {
997	state         protoimpl.MessageState
998	sizeCache     protoimpl.SizeCache
999	unknownFields protoimpl.UnknownFields
1000
1001	// Required. The HCFS URI of the script that contains Spark SQL queries to execute.
1002	QueryFileUri string `protobuf:"bytes,1,opt,name=query_file_uri,json=queryFileUri,proto3" json:"query_file_uri,omitempty"`
1003	// Optional. Mapping of query variable names to values (equivalent to the
1004	// Spark SQL command: `SET name="value";`).
1005	QueryVariables map[string]string `protobuf:"bytes,2,rep,name=query_variables,json=queryVariables,proto3" json:"query_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1006	// Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.
1007	JarFileUris []string `protobuf:"bytes,3,rep,name=jar_file_uris,json=jarFileUris,proto3" json:"jar_file_uris,omitempty"`
1008}
1009
1010func (x *SparkSqlBatch) Reset() {
1011	*x = SparkSqlBatch{}
1012	if protoimpl.UnsafeEnabled {
1013		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[9]
1014		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1015		ms.StoreMessageInfo(mi)
1016	}
1017}
1018
1019func (x *SparkSqlBatch) String() string {
1020	return protoimpl.X.MessageStringOf(x)
1021}
1022
1023func (*SparkSqlBatch) ProtoMessage() {}
1024
1025func (x *SparkSqlBatch) ProtoReflect() protoreflect.Message {
1026	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[9]
1027	if protoimpl.UnsafeEnabled && x != nil {
1028		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1029		if ms.LoadMessageInfo() == nil {
1030			ms.StoreMessageInfo(mi)
1031		}
1032		return ms
1033	}
1034	return mi.MessageOf(x)
1035}
1036
1037// Deprecated: Use SparkSqlBatch.ProtoReflect.Descriptor instead.
1038func (*SparkSqlBatch) Descriptor() ([]byte, []int) {
1039	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{9}
1040}
1041
1042func (x *SparkSqlBatch) GetQueryFileUri() string {
1043	if x != nil {
1044		return x.QueryFileUri
1045	}
1046	return ""
1047}
1048
1049func (x *SparkSqlBatch) GetQueryVariables() map[string]string {
1050	if x != nil {
1051		return x.QueryVariables
1052	}
1053	return nil
1054}
1055
1056func (x *SparkSqlBatch) GetJarFileUris() []string {
1057	if x != nil {
1058		return x.JarFileUris
1059	}
1060	return nil
1061}
1062
1063// Historical state information.
1064type Batch_StateHistory struct {
1065	state         protoimpl.MessageState
1066	sizeCache     protoimpl.SizeCache
1067	unknownFields protoimpl.UnknownFields
1068
1069	// Output only. The state of the batch at this point in history.
1070	State Batch_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.dataproc.v1.Batch_State" json:"state,omitempty"`
1071	// Output only. Details about the state at this point in history.
1072	StateMessage string `protobuf:"bytes,2,opt,name=state_message,json=stateMessage,proto3" json:"state_message,omitempty"`
1073	// Output only. The time when the batch entered the historical state.
1074	StateStartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=state_start_time,json=stateStartTime,proto3" json:"state_start_time,omitempty"`
1075}
1076
1077func (x *Batch_StateHistory) Reset() {
1078	*x = Batch_StateHistory{}
1079	if protoimpl.UnsafeEnabled {
1080		mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[10]
1081		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1082		ms.StoreMessageInfo(mi)
1083	}
1084}
1085
1086func (x *Batch_StateHistory) String() string {
1087	return protoimpl.X.MessageStringOf(x)
1088}
1089
1090func (*Batch_StateHistory) ProtoMessage() {}
1091
1092func (x *Batch_StateHistory) ProtoReflect() protoreflect.Message {
1093	mi := &file_google_cloud_dataproc_v1_batches_proto_msgTypes[10]
1094	if protoimpl.UnsafeEnabled && x != nil {
1095		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1096		if ms.LoadMessageInfo() == nil {
1097			ms.StoreMessageInfo(mi)
1098		}
1099		return ms
1100	}
1101	return mi.MessageOf(x)
1102}
1103
1104// Deprecated: Use Batch_StateHistory.ProtoReflect.Descriptor instead.
1105func (*Batch_StateHistory) Descriptor() ([]byte, []int) {
1106	return file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP(), []int{5, 0}
1107}
1108
1109func (x *Batch_StateHistory) GetState() Batch_State {
1110	if x != nil {
1111		return x.State
1112	}
1113	return Batch_STATE_UNSPECIFIED
1114}
1115
1116func (x *Batch_StateHistory) GetStateMessage() string {
1117	if x != nil {
1118		return x.StateMessage
1119	}
1120	return ""
1121}
1122
1123func (x *Batch_StateHistory) GetStateStartTime() *timestamppb.Timestamp {
1124	if x != nil {
1125		return x.StateStartTime
1126	}
1127	return nil
1128}
1129
1130var File_google_cloud_dataproc_v1_batches_proto protoreflect.FileDescriptor
1131
1132var file_google_cloud_dataproc_v1_batches_proto_rawDesc = []byte{
1133	0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
1134	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68,
1135	0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1136	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
1137	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
1138	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1139	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
1140	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1141	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
1142	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
1143	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
1144	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
1145	0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x2f,
1146	0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f,
1147	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
1148	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1149	0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1150	0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
1151	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
1152	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
1153	0xd3, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52,
1154	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
1155	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d,
1156	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1157	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x06, 0x70,
1158	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02,
1159	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1160	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e,
1161	0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63,
1162	0x68, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
1163	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49,
1164	0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
1165	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
1166	0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x63,
1167	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1168	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d,
1169	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1170	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x6e,
1171	0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63,
1172	0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61,
1173	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa,
1174	0x41, 0x1f, 0x12, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f,
1175	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, 0x63,
1176	0x68, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67,
1177	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
1178	0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70,
1179	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
1180	0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
1181	0x78, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65,
1182	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65,
1183	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1184	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
1185	0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65,
1186	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
1187	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
1188	0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f, 0x0a, 0x12, 0x44, 0x65, 0x6c,
1189	0x65, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
1190	0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
1191	0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
1192	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42,
1193	0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc0, 0x0c, 0x0a, 0x05, 0x42,
1194	0x61, 0x74, 0x63, 0x68, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
1195	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a,
1196	0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
1197	0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
1198	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
1199	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
1200	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
1201	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x70, 0x79, 0x73, 0x70,
1202	0x61, 0x72, 0x6b, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
1203	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
1204	0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x79, 0x53, 0x70, 0x61,
1205	0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c,
1206	0x70, 0x79, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0b,
1207	0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28,
1208	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1209	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61,
1210	0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a,
1211	0x73, 0x70, 0x61, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x70,
1212	0x61, 0x72, 0x6b, 0x5f, 0x72, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28,
1213	0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1214	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61,
1215	0x72, 0x6b, 0x52, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52,
1216	0x0b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x0f,
1217	0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18,
1218	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1219	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
1220	0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03,
1221	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x42,
1222	0x61, 0x74, 0x63, 0x68, 0x12, 0x4d, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f,
1223	0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
1224	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
1225	0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x66,
1226	0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49,
1227	0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01,
1228	0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1229	0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61,
1230	0x74, 0x63, 0x68, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05,
1231	0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d,
1232	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
1233	0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
1234	0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20,
1235	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1236	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
1237	0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
1238	0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
1239	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x48,
1240	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
1241	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61,
1242	0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e,
1243	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01,
1244	0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74,
1245	0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
1246	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1247	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74,
1248	0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d,
1249	0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a,
1250	0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
1251	0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1252	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
1253	0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
1254	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x65, 0x6e, 0x76,
1255	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21,
1256	0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28,
1257	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
1258	0x6e, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f,
1259	0x72, 0x79, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1260	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
1261	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48,
1262	0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61,
1263	0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0xc5, 0x01, 0x0a, 0x0c, 0x53, 0x74,
1264	0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74,
1265	0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1266	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
1267	0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
1268	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d,
1269	0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
1270	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d,
1271	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f,
1272	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
1273	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1274	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
1275	0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
1276	0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
1277	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
1278	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1279	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a, 0x05,
1280	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
1281	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
1282	0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
1283	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
1284	0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
1285	0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44,
1286	0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06,
1287	0x3a, 0x5b, 0xea, 0x41, 0x58, 0x0a, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
1288	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42,
1289	0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
1290	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1291	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61,
1292	0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x7d, 0x42, 0x0e, 0x0a,
1293	0x0c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xff, 0x01,
1294	0x0a, 0x0c, 0x50, 0x79, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34,
1295	0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x66, 0x69,
1296	0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
1297	0x02, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x46, 0x69, 0x6c,
1298	0x65, 0x55, 0x72, 0x69, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03,
1299	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2d, 0x0a,
1300	0x10, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69,
1301	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x70, 0x79,
1302	0x74, 0x68, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x27, 0x0a, 0x0d,
1303	0x6a, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x04, 0x20,
1304	0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6a, 0x61, 0x72, 0x46, 0x69, 0x6c,
1305	0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72,
1306	0x69, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x66,
1307	0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69,
1308	0x76, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
1309	0x41, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x72, 0x69, 0x73, 0x22,
1310	0xfa, 0x01, 0x0a, 0x0a, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30,
1311	0x0a, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6a, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
1312	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
1313	0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x4a, 0x61, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69,
1314	0x12, 0x24, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02,
1315	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x61, 0x69,
1316	0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03,
1317	0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12,
1318	0x27, 0x0a, 0x0d, 0x6a, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73,
1319	0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6a, 0x61, 0x72,
1320	0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65,
1321	0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
1322	0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x72,
1323	0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09,
1324	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x72,
1325	0x69, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x22, 0x9c, 0x01, 0x0a,
1326	0x0b, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2a, 0x0a, 0x0f,
1327	0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18,
1328	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e,
1329	0x52, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73,
1330	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67,
1331	0x73, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x03,
1332	0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55,
1333	0x72, 0x69, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75,
1334	0x72, 0x69, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b,
1335	0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x72, 0x69, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0d,
1336	0x53, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a,
1337	0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18,
1338	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72,
1339	0x79, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x12, 0x69, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72,
1340	0x79, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
1341	0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1342	0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61,
1343	0x72, 0x6b, 0x53, 0x71, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
1344	0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
1345	0xe0, 0x41, 0x01, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
1346	0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x6a, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
1347	0x75, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
1348	0x0b, 0x6a, 0x61, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x73, 0x1a, 0x41, 0x0a, 0x13,
1349	0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e,
1350	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1351	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
1352	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32,
1353	0x9d, 0x06, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
1354	0x6c, 0x65, 0x72, 0x12, 0xea, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61,
1355	0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1356	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43,
1357	0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
1358	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
1359	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1360	0x22, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
1361	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
1362	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62,
1363	0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0xda, 0x41, 0x15,
1364	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x62, 0x61, 0x74,
1365	0x63, 0x68, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x38, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12,
1366	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61,
1367	0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f,
1368	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
1369	0x12, 0x92, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x2e,
1370	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
1371	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x63,
1372	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1373	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
1374	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
1375	0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
1376	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1377	0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41,
1378	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61,
1379	0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1380	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
1381	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
1382	0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1383	0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
1384	0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
1385	0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f,
1386	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
1387	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
1388	0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
1389	0x12, 0x8f, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68,
1390	0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1391	0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65,
1392	0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
1393	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1394	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b,
1395	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
1396	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
1397	0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
1398	0x6d, 0x65, 0x1a, 0x4b, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
1399	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
1400	0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
1401	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
1402	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42,
1403	0x70, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1404	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x42,
1405	0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
1406	0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
1407	0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
1408	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74,
1409	0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
1410	0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1411}
1412
1413var (
1414	file_google_cloud_dataproc_v1_batches_proto_rawDescOnce sync.Once
1415	file_google_cloud_dataproc_v1_batches_proto_rawDescData = file_google_cloud_dataproc_v1_batches_proto_rawDesc
1416)
1417
1418func file_google_cloud_dataproc_v1_batches_proto_rawDescGZIP() []byte {
1419	file_google_cloud_dataproc_v1_batches_proto_rawDescOnce.Do(func() {
1420		file_google_cloud_dataproc_v1_batches_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataproc_v1_batches_proto_rawDescData)
1421	})
1422	return file_google_cloud_dataproc_v1_batches_proto_rawDescData
1423}
1424
1425var file_google_cloud_dataproc_v1_batches_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
1426var file_google_cloud_dataproc_v1_batches_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
1427var file_google_cloud_dataproc_v1_batches_proto_goTypes = []interface{}{
1428	(Batch_State)(0),              // 0: google.cloud.dataproc.v1.Batch.State
1429	(*CreateBatchRequest)(nil),    // 1: google.cloud.dataproc.v1.CreateBatchRequest
1430	(*GetBatchRequest)(nil),       // 2: google.cloud.dataproc.v1.GetBatchRequest
1431	(*ListBatchesRequest)(nil),    // 3: google.cloud.dataproc.v1.ListBatchesRequest
1432	(*ListBatchesResponse)(nil),   // 4: google.cloud.dataproc.v1.ListBatchesResponse
1433	(*DeleteBatchRequest)(nil),    // 5: google.cloud.dataproc.v1.DeleteBatchRequest
1434	(*Batch)(nil),                 // 6: google.cloud.dataproc.v1.Batch
1435	(*PySparkBatch)(nil),          // 7: google.cloud.dataproc.v1.PySparkBatch
1436	(*SparkBatch)(nil),            // 8: google.cloud.dataproc.v1.SparkBatch
1437	(*SparkRBatch)(nil),           // 9: google.cloud.dataproc.v1.SparkRBatch
1438	(*SparkSqlBatch)(nil),         // 10: google.cloud.dataproc.v1.SparkSqlBatch
1439	(*Batch_StateHistory)(nil),    // 11: google.cloud.dataproc.v1.Batch.StateHistory
1440	nil,                           // 12: google.cloud.dataproc.v1.Batch.LabelsEntry
1441	nil,                           // 13: google.cloud.dataproc.v1.SparkSqlBatch.QueryVariablesEntry
1442	(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
1443	(*RuntimeInfo)(nil),           // 15: google.cloud.dataproc.v1.RuntimeInfo
1444	(*RuntimeConfig)(nil),         // 16: google.cloud.dataproc.v1.RuntimeConfig
1445	(*EnvironmentConfig)(nil),     // 17: google.cloud.dataproc.v1.EnvironmentConfig
1446	(*longrunning.Operation)(nil), // 18: google.longrunning.Operation
1447	(*emptypb.Empty)(nil),         // 19: google.protobuf.Empty
1448}
1449var file_google_cloud_dataproc_v1_batches_proto_depIdxs = []int32{
1450	6,  // 0: google.cloud.dataproc.v1.CreateBatchRequest.batch:type_name -> google.cloud.dataproc.v1.Batch
1451	6,  // 1: google.cloud.dataproc.v1.ListBatchesResponse.batches:type_name -> google.cloud.dataproc.v1.Batch
1452	14, // 2: google.cloud.dataproc.v1.Batch.create_time:type_name -> google.protobuf.Timestamp
1453	7,  // 3: google.cloud.dataproc.v1.Batch.pyspark_batch:type_name -> google.cloud.dataproc.v1.PySparkBatch
1454	8,  // 4: google.cloud.dataproc.v1.Batch.spark_batch:type_name -> google.cloud.dataproc.v1.SparkBatch
1455	9,  // 5: google.cloud.dataproc.v1.Batch.spark_r_batch:type_name -> google.cloud.dataproc.v1.SparkRBatch
1456	10, // 6: google.cloud.dataproc.v1.Batch.spark_sql_batch:type_name -> google.cloud.dataproc.v1.SparkSqlBatch
1457	15, // 7: google.cloud.dataproc.v1.Batch.runtime_info:type_name -> google.cloud.dataproc.v1.RuntimeInfo
1458	0,  // 8: google.cloud.dataproc.v1.Batch.state:type_name -> google.cloud.dataproc.v1.Batch.State
1459	14, // 9: google.cloud.dataproc.v1.Batch.state_time:type_name -> google.protobuf.Timestamp
1460	12, // 10: google.cloud.dataproc.v1.Batch.labels:type_name -> google.cloud.dataproc.v1.Batch.LabelsEntry
1461	16, // 11: google.cloud.dataproc.v1.Batch.runtime_config:type_name -> google.cloud.dataproc.v1.RuntimeConfig
1462	17, // 12: google.cloud.dataproc.v1.Batch.environment_config:type_name -> google.cloud.dataproc.v1.EnvironmentConfig
1463	11, // 13: google.cloud.dataproc.v1.Batch.state_history:type_name -> google.cloud.dataproc.v1.Batch.StateHistory
1464	13, // 14: google.cloud.dataproc.v1.SparkSqlBatch.query_variables:type_name -> google.cloud.dataproc.v1.SparkSqlBatch.QueryVariablesEntry
1465	0,  // 15: google.cloud.dataproc.v1.Batch.StateHistory.state:type_name -> google.cloud.dataproc.v1.Batch.State
1466	14, // 16: google.cloud.dataproc.v1.Batch.StateHistory.state_start_time:type_name -> google.protobuf.Timestamp
1467	1,  // 17: google.cloud.dataproc.v1.BatchController.CreateBatch:input_type -> google.cloud.dataproc.v1.CreateBatchRequest
1468	2,  // 18: google.cloud.dataproc.v1.BatchController.GetBatch:input_type -> google.cloud.dataproc.v1.GetBatchRequest
1469	3,  // 19: google.cloud.dataproc.v1.BatchController.ListBatches:input_type -> google.cloud.dataproc.v1.ListBatchesRequest
1470	5,  // 20: google.cloud.dataproc.v1.BatchController.DeleteBatch:input_type -> google.cloud.dataproc.v1.DeleteBatchRequest
1471	18, // 21: google.cloud.dataproc.v1.BatchController.CreateBatch:output_type -> google.longrunning.Operation
1472	6,  // 22: google.cloud.dataproc.v1.BatchController.GetBatch:output_type -> google.cloud.dataproc.v1.Batch
1473	4,  // 23: google.cloud.dataproc.v1.BatchController.ListBatches:output_type -> google.cloud.dataproc.v1.ListBatchesResponse
1474	19, // 24: google.cloud.dataproc.v1.BatchController.DeleteBatch:output_type -> google.protobuf.Empty
1475	21, // [21:25] is the sub-list for method output_type
1476	17, // [17:21] is the sub-list for method input_type
1477	17, // [17:17] is the sub-list for extension type_name
1478	17, // [17:17] is the sub-list for extension extendee
1479	0,  // [0:17] is the sub-list for field type_name
1480}
1481
1482func init() { file_google_cloud_dataproc_v1_batches_proto_init() }
1483func file_google_cloud_dataproc_v1_batches_proto_init() {
1484	if File_google_cloud_dataproc_v1_batches_proto != nil {
1485		return
1486	}
1487	file_google_cloud_dataproc_v1_shared_proto_init()
1488	if !protoimpl.UnsafeEnabled {
1489		file_google_cloud_dataproc_v1_batches_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1490			switch v := v.(*CreateBatchRequest); i {
1491			case 0:
1492				return &v.state
1493			case 1:
1494				return &v.sizeCache
1495			case 2:
1496				return &v.unknownFields
1497			default:
1498				return nil
1499			}
1500		}
1501		file_google_cloud_dataproc_v1_batches_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1502			switch v := v.(*GetBatchRequest); i {
1503			case 0:
1504				return &v.state
1505			case 1:
1506				return &v.sizeCache
1507			case 2:
1508				return &v.unknownFields
1509			default:
1510				return nil
1511			}
1512		}
1513		file_google_cloud_dataproc_v1_batches_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1514			switch v := v.(*ListBatchesRequest); i {
1515			case 0:
1516				return &v.state
1517			case 1:
1518				return &v.sizeCache
1519			case 2:
1520				return &v.unknownFields
1521			default:
1522				return nil
1523			}
1524		}
1525		file_google_cloud_dataproc_v1_batches_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1526			switch v := v.(*ListBatchesResponse); i {
1527			case 0:
1528				return &v.state
1529			case 1:
1530				return &v.sizeCache
1531			case 2:
1532				return &v.unknownFields
1533			default:
1534				return nil
1535			}
1536		}
1537		file_google_cloud_dataproc_v1_batches_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1538			switch v := v.(*DeleteBatchRequest); i {
1539			case 0:
1540				return &v.state
1541			case 1:
1542				return &v.sizeCache
1543			case 2:
1544				return &v.unknownFields
1545			default:
1546				return nil
1547			}
1548		}
1549		file_google_cloud_dataproc_v1_batches_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1550			switch v := v.(*Batch); i {
1551			case 0:
1552				return &v.state
1553			case 1:
1554				return &v.sizeCache
1555			case 2:
1556				return &v.unknownFields
1557			default:
1558				return nil
1559			}
1560		}
1561		file_google_cloud_dataproc_v1_batches_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1562			switch v := v.(*PySparkBatch); i {
1563			case 0:
1564				return &v.state
1565			case 1:
1566				return &v.sizeCache
1567			case 2:
1568				return &v.unknownFields
1569			default:
1570				return nil
1571			}
1572		}
1573		file_google_cloud_dataproc_v1_batches_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1574			switch v := v.(*SparkBatch); i {
1575			case 0:
1576				return &v.state
1577			case 1:
1578				return &v.sizeCache
1579			case 2:
1580				return &v.unknownFields
1581			default:
1582				return nil
1583			}
1584		}
1585		file_google_cloud_dataproc_v1_batches_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1586			switch v := v.(*SparkRBatch); i {
1587			case 0:
1588				return &v.state
1589			case 1:
1590				return &v.sizeCache
1591			case 2:
1592				return &v.unknownFields
1593			default:
1594				return nil
1595			}
1596		}
1597		file_google_cloud_dataproc_v1_batches_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1598			switch v := v.(*SparkSqlBatch); i {
1599			case 0:
1600				return &v.state
1601			case 1:
1602				return &v.sizeCache
1603			case 2:
1604				return &v.unknownFields
1605			default:
1606				return nil
1607			}
1608		}
1609		file_google_cloud_dataproc_v1_batches_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1610			switch v := v.(*Batch_StateHistory); i {
1611			case 0:
1612				return &v.state
1613			case 1:
1614				return &v.sizeCache
1615			case 2:
1616				return &v.unknownFields
1617			default:
1618				return nil
1619			}
1620		}
1621	}
1622	file_google_cloud_dataproc_v1_batches_proto_msgTypes[5].OneofWrappers = []interface{}{
1623		(*Batch_PysparkBatch)(nil),
1624		(*Batch_SparkBatch)(nil),
1625		(*Batch_SparkRBatch)(nil),
1626		(*Batch_SparkSqlBatch)(nil),
1627	}
1628	file_google_cloud_dataproc_v1_batches_proto_msgTypes[7].OneofWrappers = []interface{}{
1629		(*SparkBatch_MainJarFileUri)(nil),
1630		(*SparkBatch_MainClass)(nil),
1631	}
1632	type x struct{}
1633	out := protoimpl.TypeBuilder{
1634		File: protoimpl.DescBuilder{
1635			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1636			RawDescriptor: file_google_cloud_dataproc_v1_batches_proto_rawDesc,
1637			NumEnums:      1,
1638			NumMessages:   13,
1639			NumExtensions: 0,
1640			NumServices:   1,
1641		},
1642		GoTypes:           file_google_cloud_dataproc_v1_batches_proto_goTypes,
1643		DependencyIndexes: file_google_cloud_dataproc_v1_batches_proto_depIdxs,
1644		EnumInfos:         file_google_cloud_dataproc_v1_batches_proto_enumTypes,
1645		MessageInfos:      file_google_cloud_dataproc_v1_batches_proto_msgTypes,
1646	}.Build()
1647	File_google_cloud_dataproc_v1_batches_proto = out.File
1648	file_google_cloud_dataproc_v1_batches_proto_rawDesc = nil
1649	file_google_cloud_dataproc_v1_batches_proto_goTypes = nil
1650	file_google_cloud_dataproc_v1_batches_proto_depIdxs = nil
1651}
1652
1653// Reference imports to suppress errors if they are not otherwise used.
1654var _ context.Context
1655var _ grpc.ClientConnInterface
1656
1657// This is a compile-time assertion to ensure that this generated file
1658// is compatible with the grpc package it is being compiled against.
1659const _ = grpc.SupportPackageIsVersion6
1660
1661// BatchControllerClient is the client API for BatchController service.
1662//
1663// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1664type BatchControllerClient interface {
1665	// Creates a batch workload that executes asynchronously.
1666	CreateBatch(ctx context.Context, in *CreateBatchRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1667	// Gets the batch workload resource representation.
1668	GetBatch(ctx context.Context, in *GetBatchRequest, opts ...grpc.CallOption) (*Batch, error)
1669	// Lists batch workloads.
1670	ListBatches(ctx context.Context, in *ListBatchesRequest, opts ...grpc.CallOption) (*ListBatchesResponse, error)
1671	// Deletes the batch workload resource. If the batch is not in terminal state,
1672	// the delete fails and the response returns `FAILED_PRECONDITION`.
1673	DeleteBatch(ctx context.Context, in *DeleteBatchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
1674}
1675
1676type batchControllerClient struct {
1677	cc grpc.ClientConnInterface
1678}
1679
1680func NewBatchControllerClient(cc grpc.ClientConnInterface) BatchControllerClient {
1681	return &batchControllerClient{cc}
1682}
1683
1684func (c *batchControllerClient) CreateBatch(ctx context.Context, in *CreateBatchRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1685	out := new(longrunning.Operation)
1686	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1.BatchController/CreateBatch", in, out, opts...)
1687	if err != nil {
1688		return nil, err
1689	}
1690	return out, nil
1691}
1692
1693func (c *batchControllerClient) GetBatch(ctx context.Context, in *GetBatchRequest, opts ...grpc.CallOption) (*Batch, error) {
1694	out := new(Batch)
1695	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1.BatchController/GetBatch", in, out, opts...)
1696	if err != nil {
1697		return nil, err
1698	}
1699	return out, nil
1700}
1701
1702func (c *batchControllerClient) ListBatches(ctx context.Context, in *ListBatchesRequest, opts ...grpc.CallOption) (*ListBatchesResponse, error) {
1703	out := new(ListBatchesResponse)
1704	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1.BatchController/ListBatches", in, out, opts...)
1705	if err != nil {
1706		return nil, err
1707	}
1708	return out, nil
1709}
1710
1711func (c *batchControllerClient) DeleteBatch(ctx context.Context, in *DeleteBatchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
1712	out := new(emptypb.Empty)
1713	err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1.BatchController/DeleteBatch", in, out, opts...)
1714	if err != nil {
1715		return nil, err
1716	}
1717	return out, nil
1718}
1719
1720// BatchControllerServer is the server API for BatchController service.
1721type BatchControllerServer interface {
1722	// Creates a batch workload that executes asynchronously.
1723	CreateBatch(context.Context, *CreateBatchRequest) (*longrunning.Operation, error)
1724	// Gets the batch workload resource representation.
1725	GetBatch(context.Context, *GetBatchRequest) (*Batch, error)
1726	// Lists batch workloads.
1727	ListBatches(context.Context, *ListBatchesRequest) (*ListBatchesResponse, error)
1728	// Deletes the batch workload resource. If the batch is not in terminal state,
1729	// the delete fails and the response returns `FAILED_PRECONDITION`.
1730	DeleteBatch(context.Context, *DeleteBatchRequest) (*emptypb.Empty, error)
1731}
1732
1733// UnimplementedBatchControllerServer can be embedded to have forward compatible implementations.
1734type UnimplementedBatchControllerServer struct {
1735}
1736
1737func (*UnimplementedBatchControllerServer) CreateBatch(context.Context, *CreateBatchRequest) (*longrunning.Operation, error) {
1738	return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented")
1739}
1740func (*UnimplementedBatchControllerServer) GetBatch(context.Context, *GetBatchRequest) (*Batch, error) {
1741	return nil, status.Errorf(codes.Unimplemented, "method GetBatch not implemented")
1742}
1743func (*UnimplementedBatchControllerServer) ListBatches(context.Context, *ListBatchesRequest) (*ListBatchesResponse, error) {
1744	return nil, status.Errorf(codes.Unimplemented, "method ListBatches not implemented")
1745}
1746func (*UnimplementedBatchControllerServer) DeleteBatch(context.Context, *DeleteBatchRequest) (*emptypb.Empty, error) {
1747	return nil, status.Errorf(codes.Unimplemented, "method DeleteBatch not implemented")
1748}
1749
1750func RegisterBatchControllerServer(s *grpc.Server, srv BatchControllerServer) {
1751	s.RegisterService(&_BatchController_serviceDesc, srv)
1752}
1753
1754func _BatchController_CreateBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1755	in := new(CreateBatchRequest)
1756	if err := dec(in); err != nil {
1757		return nil, err
1758	}
1759	if interceptor == nil {
1760		return srv.(BatchControllerServer).CreateBatch(ctx, in)
1761	}
1762	info := &grpc.UnaryServerInfo{
1763		Server:     srv,
1764		FullMethod: "/google.cloud.dataproc.v1.BatchController/CreateBatch",
1765	}
1766	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1767		return srv.(BatchControllerServer).CreateBatch(ctx, req.(*CreateBatchRequest))
1768	}
1769	return interceptor(ctx, in, info, handler)
1770}
1771
1772func _BatchController_GetBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1773	in := new(GetBatchRequest)
1774	if err := dec(in); err != nil {
1775		return nil, err
1776	}
1777	if interceptor == nil {
1778		return srv.(BatchControllerServer).GetBatch(ctx, in)
1779	}
1780	info := &grpc.UnaryServerInfo{
1781		Server:     srv,
1782		FullMethod: "/google.cloud.dataproc.v1.BatchController/GetBatch",
1783	}
1784	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1785		return srv.(BatchControllerServer).GetBatch(ctx, req.(*GetBatchRequest))
1786	}
1787	return interceptor(ctx, in, info, handler)
1788}
1789
1790func _BatchController_ListBatches_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1791	in := new(ListBatchesRequest)
1792	if err := dec(in); err != nil {
1793		return nil, err
1794	}
1795	if interceptor == nil {
1796		return srv.(BatchControllerServer).ListBatches(ctx, in)
1797	}
1798	info := &grpc.UnaryServerInfo{
1799		Server:     srv,
1800		FullMethod: "/google.cloud.dataproc.v1.BatchController/ListBatches",
1801	}
1802	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1803		return srv.(BatchControllerServer).ListBatches(ctx, req.(*ListBatchesRequest))
1804	}
1805	return interceptor(ctx, in, info, handler)
1806}
1807
1808func _BatchController_DeleteBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1809	in := new(DeleteBatchRequest)
1810	if err := dec(in); err != nil {
1811		return nil, err
1812	}
1813	if interceptor == nil {
1814		return srv.(BatchControllerServer).DeleteBatch(ctx, in)
1815	}
1816	info := &grpc.UnaryServerInfo{
1817		Server:     srv,
1818		FullMethod: "/google.cloud.dataproc.v1.BatchController/DeleteBatch",
1819	}
1820	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1821		return srv.(BatchControllerServer).DeleteBatch(ctx, req.(*DeleteBatchRequest))
1822	}
1823	return interceptor(ctx, in, info, handler)
1824}
1825
1826var _BatchController_serviceDesc = grpc.ServiceDesc{
1827	ServiceName: "google.cloud.dataproc.v1.BatchController",
1828	HandlerType: (*BatchControllerServer)(nil),
1829	Methods: []grpc.MethodDesc{
1830		{
1831			MethodName: "CreateBatch",
1832			Handler:    _BatchController_CreateBatch_Handler,
1833		},
1834		{
1835			MethodName: "GetBatch",
1836			Handler:    _BatchController_GetBatch_Handler,
1837		},
1838		{
1839			MethodName: "ListBatches",
1840			Handler:    _BatchController_ListBatches_Handler,
1841		},
1842		{
1843			MethodName: "DeleteBatch",
1844			Handler:    _BatchController_DeleteBatch_Handler,
1845		},
1846	},
1847	Streams:  []grpc.StreamDesc{},
1848	Metadata: "google/cloud/dataproc/v1/batches.proto",
1849}
1850