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/streaming.proto
20
21package dataflow
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29)
30
31const (
32	// Verify that this generated code is sufficiently up-to-date.
33	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
34	// Verify that runtime/protoimpl is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
36)
37
38// Global topology of the streaming Dataflow job, including all
39// computations and their sharded locations.
40type TopologyConfig struct {
41	state         protoimpl.MessageState
42	sizeCache     protoimpl.SizeCache
43	unknownFields protoimpl.UnknownFields
44
45	// The computations associated with a streaming Dataflow job.
46	Computations []*ComputationTopology `protobuf:"bytes,1,rep,name=computations,proto3" json:"computations,omitempty"`
47	// The disks assigned to a streaming Dataflow job.
48	DataDiskAssignments []*DataDiskAssignment `protobuf:"bytes,2,rep,name=data_disk_assignments,json=dataDiskAssignments,proto3" json:"data_disk_assignments,omitempty"`
49	// Maps user stage names to stable computation names.
50	UserStageToComputationNameMap map[string]string `protobuf:"bytes,3,rep,name=user_stage_to_computation_name_map,json=userStageToComputationNameMap,proto3" json:"user_stage_to_computation_name_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
51	// The size (in bits) of keys that will be assigned to source messages.
52	ForwardingKeyBits int32 `protobuf:"varint,4,opt,name=forwarding_key_bits,json=forwardingKeyBits,proto3" json:"forwarding_key_bits,omitempty"`
53	// Version number for persistent state.
54	PersistentStateVersion int32 `protobuf:"varint,5,opt,name=persistent_state_version,json=persistentStateVersion,proto3" json:"persistent_state_version,omitempty"`
55}
56
57func (x *TopologyConfig) Reset() {
58	*x = TopologyConfig{}
59	if protoimpl.UnsafeEnabled {
60		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[0]
61		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
62		ms.StoreMessageInfo(mi)
63	}
64}
65
66func (x *TopologyConfig) String() string {
67	return protoimpl.X.MessageStringOf(x)
68}
69
70func (*TopologyConfig) ProtoMessage() {}
71
72func (x *TopologyConfig) ProtoReflect() protoreflect.Message {
73	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[0]
74	if protoimpl.UnsafeEnabled && x != nil {
75		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
76		if ms.LoadMessageInfo() == nil {
77			ms.StoreMessageInfo(mi)
78		}
79		return ms
80	}
81	return mi.MessageOf(x)
82}
83
84// Deprecated: Use TopologyConfig.ProtoReflect.Descriptor instead.
85func (*TopologyConfig) Descriptor() ([]byte, []int) {
86	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{0}
87}
88
89func (x *TopologyConfig) GetComputations() []*ComputationTopology {
90	if x != nil {
91		return x.Computations
92	}
93	return nil
94}
95
96func (x *TopologyConfig) GetDataDiskAssignments() []*DataDiskAssignment {
97	if x != nil {
98		return x.DataDiskAssignments
99	}
100	return nil
101}
102
103func (x *TopologyConfig) GetUserStageToComputationNameMap() map[string]string {
104	if x != nil {
105		return x.UserStageToComputationNameMap
106	}
107	return nil
108}
109
110func (x *TopologyConfig) GetForwardingKeyBits() int32 {
111	if x != nil {
112		return x.ForwardingKeyBits
113	}
114	return 0
115}
116
117func (x *TopologyConfig) GetPersistentStateVersion() int32 {
118	if x != nil {
119		return x.PersistentStateVersion
120	}
121	return 0
122}
123
124// Identifies a pubsub location to use for transferring data into or
125// out of a streaming Dataflow job.
126type PubsubLocation struct {
127	state         protoimpl.MessageState
128	sizeCache     protoimpl.SizeCache
129	unknownFields protoimpl.UnknownFields
130
131	// A pubsub topic, in the form of
132	// "pubsub.googleapis.com/topics/<project-id>/<topic-name>"
133	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
134	// A pubsub subscription, in the form of
135	// "pubsub.googleapis.com/subscriptions/<project-id>/<subscription-name>"
136	Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
137	// If set, contains a pubsub label from which to extract record timestamps.
138	// If left empty, record timestamps will be generated upon arrival.
139	TimestampLabel string `protobuf:"bytes,3,opt,name=timestamp_label,json=timestampLabel,proto3" json:"timestamp_label,omitempty"`
140	// If set, contains a pubsub label from which to extract record ids.
141	// If left empty, record deduplication will be strictly best effort.
142	IdLabel string `protobuf:"bytes,4,opt,name=id_label,json=idLabel,proto3" json:"id_label,omitempty"`
143	// Indicates whether the pipeline allows late-arriving data.
144	DropLateData bool `protobuf:"varint,5,opt,name=drop_late_data,json=dropLateData,proto3" json:"drop_late_data,omitempty"`
145	// If set, specifies the pubsub subscription that will be used for tracking
146	// custom time timestamps for watermark estimation.
147	TrackingSubscription string `protobuf:"bytes,6,opt,name=tracking_subscription,json=trackingSubscription,proto3" json:"tracking_subscription,omitempty"`
148	// If true, then the client has requested to get pubsub attributes.
149	WithAttributes bool `protobuf:"varint,7,opt,name=with_attributes,json=withAttributes,proto3" json:"with_attributes,omitempty"`
150}
151
152func (x *PubsubLocation) Reset() {
153	*x = PubsubLocation{}
154	if protoimpl.UnsafeEnabled {
155		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[1]
156		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
157		ms.StoreMessageInfo(mi)
158	}
159}
160
161func (x *PubsubLocation) String() string {
162	return protoimpl.X.MessageStringOf(x)
163}
164
165func (*PubsubLocation) ProtoMessage() {}
166
167func (x *PubsubLocation) ProtoReflect() protoreflect.Message {
168	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[1]
169	if protoimpl.UnsafeEnabled && x != nil {
170		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
171		if ms.LoadMessageInfo() == nil {
172			ms.StoreMessageInfo(mi)
173		}
174		return ms
175	}
176	return mi.MessageOf(x)
177}
178
179// Deprecated: Use PubsubLocation.ProtoReflect.Descriptor instead.
180func (*PubsubLocation) Descriptor() ([]byte, []int) {
181	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{1}
182}
183
184func (x *PubsubLocation) GetTopic() string {
185	if x != nil {
186		return x.Topic
187	}
188	return ""
189}
190
191func (x *PubsubLocation) GetSubscription() string {
192	if x != nil {
193		return x.Subscription
194	}
195	return ""
196}
197
198func (x *PubsubLocation) GetTimestampLabel() string {
199	if x != nil {
200		return x.TimestampLabel
201	}
202	return ""
203}
204
205func (x *PubsubLocation) GetIdLabel() string {
206	if x != nil {
207		return x.IdLabel
208	}
209	return ""
210}
211
212func (x *PubsubLocation) GetDropLateData() bool {
213	if x != nil {
214		return x.DropLateData
215	}
216	return false
217}
218
219func (x *PubsubLocation) GetTrackingSubscription() string {
220	if x != nil {
221		return x.TrackingSubscription
222	}
223	return ""
224}
225
226func (x *PubsubLocation) GetWithAttributes() bool {
227	if x != nil {
228		return x.WithAttributes
229	}
230	return false
231}
232
233// Identifies the location of a streaming computation stage, for
234// stage-to-stage communication.
235type StreamingStageLocation struct {
236	state         protoimpl.MessageState
237	sizeCache     protoimpl.SizeCache
238	unknownFields protoimpl.UnknownFields
239
240	// Identifies the particular stream within the streaming Dataflow
241	// job.
242	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
243}
244
245func (x *StreamingStageLocation) Reset() {
246	*x = StreamingStageLocation{}
247	if protoimpl.UnsafeEnabled {
248		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[2]
249		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
250		ms.StoreMessageInfo(mi)
251	}
252}
253
254func (x *StreamingStageLocation) String() string {
255	return protoimpl.X.MessageStringOf(x)
256}
257
258func (*StreamingStageLocation) ProtoMessage() {}
259
260func (x *StreamingStageLocation) ProtoReflect() protoreflect.Message {
261	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[2]
262	if protoimpl.UnsafeEnabled && x != nil {
263		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
264		if ms.LoadMessageInfo() == nil {
265			ms.StoreMessageInfo(mi)
266		}
267		return ms
268	}
269	return mi.MessageOf(x)
270}
271
272// Deprecated: Use StreamingStageLocation.ProtoReflect.Descriptor instead.
273func (*StreamingStageLocation) Descriptor() ([]byte, []int) {
274	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{2}
275}
276
277func (x *StreamingStageLocation) GetStreamId() string {
278	if x != nil {
279		return x.StreamId
280	}
281	return ""
282}
283
284// Identifies the location of a streaming side input.
285type StreamingSideInputLocation struct {
286	state         protoimpl.MessageState
287	sizeCache     protoimpl.SizeCache
288	unknownFields protoimpl.UnknownFields
289
290	// Identifies the particular side input within the streaming Dataflow job.
291	Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
292	// Identifies the state family where this side input is stored.
293	StateFamily string `protobuf:"bytes,2,opt,name=state_family,json=stateFamily,proto3" json:"state_family,omitempty"`
294}
295
296func (x *StreamingSideInputLocation) Reset() {
297	*x = StreamingSideInputLocation{}
298	if protoimpl.UnsafeEnabled {
299		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[3]
300		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
301		ms.StoreMessageInfo(mi)
302	}
303}
304
305func (x *StreamingSideInputLocation) String() string {
306	return protoimpl.X.MessageStringOf(x)
307}
308
309func (*StreamingSideInputLocation) ProtoMessage() {}
310
311func (x *StreamingSideInputLocation) ProtoReflect() protoreflect.Message {
312	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[3]
313	if protoimpl.UnsafeEnabled && x != nil {
314		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
315		if ms.LoadMessageInfo() == nil {
316			ms.StoreMessageInfo(mi)
317		}
318		return ms
319	}
320	return mi.MessageOf(x)
321}
322
323// Deprecated: Use StreamingSideInputLocation.ProtoReflect.Descriptor instead.
324func (*StreamingSideInputLocation) Descriptor() ([]byte, []int) {
325	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{3}
326}
327
328func (x *StreamingSideInputLocation) GetTag() string {
329	if x != nil {
330		return x.Tag
331	}
332	return ""
333}
334
335func (x *StreamingSideInputLocation) GetStateFamily() string {
336	if x != nil {
337		return x.StateFamily
338	}
339	return ""
340}
341
342// Identifies the location of a custom souce.
343type CustomSourceLocation struct {
344	state         protoimpl.MessageState
345	sizeCache     protoimpl.SizeCache
346	unknownFields protoimpl.UnknownFields
347
348	// Whether this source is stateful.
349	Stateful bool `protobuf:"varint,1,opt,name=stateful,proto3" json:"stateful,omitempty"`
350}
351
352func (x *CustomSourceLocation) Reset() {
353	*x = CustomSourceLocation{}
354	if protoimpl.UnsafeEnabled {
355		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[4]
356		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
357		ms.StoreMessageInfo(mi)
358	}
359}
360
361func (x *CustomSourceLocation) String() string {
362	return protoimpl.X.MessageStringOf(x)
363}
364
365func (*CustomSourceLocation) ProtoMessage() {}
366
367func (x *CustomSourceLocation) ProtoReflect() protoreflect.Message {
368	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[4]
369	if protoimpl.UnsafeEnabled && x != nil {
370		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
371		if ms.LoadMessageInfo() == nil {
372			ms.StoreMessageInfo(mi)
373		}
374		return ms
375	}
376	return mi.MessageOf(x)
377}
378
379// Deprecated: Use CustomSourceLocation.ProtoReflect.Descriptor instead.
380func (*CustomSourceLocation) Descriptor() ([]byte, []int) {
381	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{4}
382}
383
384func (x *CustomSourceLocation) GetStateful() bool {
385	if x != nil {
386		return x.Stateful
387	}
388	return false
389}
390
391// Describes a stream of data, either as input to be processed or as
392// output of a streaming Dataflow job.
393type StreamLocation struct {
394	state         protoimpl.MessageState
395	sizeCache     protoimpl.SizeCache
396	unknownFields protoimpl.UnknownFields
397
398	// A specification of a stream's location.
399	//
400	// Types that are assignable to Location:
401	//	*StreamLocation_StreamingStageLocation
402	//	*StreamLocation_PubsubLocation
403	//	*StreamLocation_SideInputLocation
404	//	*StreamLocation_CustomSourceLocation
405	Location isStreamLocation_Location `protobuf_oneof:"location"`
406}
407
408func (x *StreamLocation) Reset() {
409	*x = StreamLocation{}
410	if protoimpl.UnsafeEnabled {
411		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[5]
412		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
413		ms.StoreMessageInfo(mi)
414	}
415}
416
417func (x *StreamLocation) String() string {
418	return protoimpl.X.MessageStringOf(x)
419}
420
421func (*StreamLocation) ProtoMessage() {}
422
423func (x *StreamLocation) ProtoReflect() protoreflect.Message {
424	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[5]
425	if protoimpl.UnsafeEnabled && x != nil {
426		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
427		if ms.LoadMessageInfo() == nil {
428			ms.StoreMessageInfo(mi)
429		}
430		return ms
431	}
432	return mi.MessageOf(x)
433}
434
435// Deprecated: Use StreamLocation.ProtoReflect.Descriptor instead.
436func (*StreamLocation) Descriptor() ([]byte, []int) {
437	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{5}
438}
439
440func (m *StreamLocation) GetLocation() isStreamLocation_Location {
441	if m != nil {
442		return m.Location
443	}
444	return nil
445}
446
447func (x *StreamLocation) GetStreamingStageLocation() *StreamingStageLocation {
448	if x, ok := x.GetLocation().(*StreamLocation_StreamingStageLocation); ok {
449		return x.StreamingStageLocation
450	}
451	return nil
452}
453
454func (x *StreamLocation) GetPubsubLocation() *PubsubLocation {
455	if x, ok := x.GetLocation().(*StreamLocation_PubsubLocation); ok {
456		return x.PubsubLocation
457	}
458	return nil
459}
460
461func (x *StreamLocation) GetSideInputLocation() *StreamingSideInputLocation {
462	if x, ok := x.GetLocation().(*StreamLocation_SideInputLocation); ok {
463		return x.SideInputLocation
464	}
465	return nil
466}
467
468func (x *StreamLocation) GetCustomSourceLocation() *CustomSourceLocation {
469	if x, ok := x.GetLocation().(*StreamLocation_CustomSourceLocation); ok {
470		return x.CustomSourceLocation
471	}
472	return nil
473}
474
475type isStreamLocation_Location interface {
476	isStreamLocation_Location()
477}
478
479type StreamLocation_StreamingStageLocation struct {
480	// The stream is part of another computation within the current
481	// streaming Dataflow job.
482	StreamingStageLocation *StreamingStageLocation `protobuf:"bytes,1,opt,name=streaming_stage_location,json=streamingStageLocation,proto3,oneof"`
483}
484
485type StreamLocation_PubsubLocation struct {
486	// The stream is a pubsub stream.
487	PubsubLocation *PubsubLocation `protobuf:"bytes,2,opt,name=pubsub_location,json=pubsubLocation,proto3,oneof"`
488}
489
490type StreamLocation_SideInputLocation struct {
491	// The stream is a streaming side input.
492	SideInputLocation *StreamingSideInputLocation `protobuf:"bytes,3,opt,name=side_input_location,json=sideInputLocation,proto3,oneof"`
493}
494
495type StreamLocation_CustomSourceLocation struct {
496	// The stream is a custom source.
497	CustomSourceLocation *CustomSourceLocation `protobuf:"bytes,4,opt,name=custom_source_location,json=customSourceLocation,proto3,oneof"`
498}
499
500func (*StreamLocation_StreamingStageLocation) isStreamLocation_Location() {}
501
502func (*StreamLocation_PubsubLocation) isStreamLocation_Location() {}
503
504func (*StreamLocation_SideInputLocation) isStreamLocation_Location() {}
505
506func (*StreamLocation_CustomSourceLocation) isStreamLocation_Location() {}
507
508// State family configuration.
509type StateFamilyConfig struct {
510	state         protoimpl.MessageState
511	sizeCache     protoimpl.SizeCache
512	unknownFields protoimpl.UnknownFields
513
514	// The state family value.
515	StateFamily string `protobuf:"bytes,1,opt,name=state_family,json=stateFamily,proto3" json:"state_family,omitempty"`
516	// If true, this family corresponds to a read operation.
517	IsRead bool `protobuf:"varint,2,opt,name=is_read,json=isRead,proto3" json:"is_read,omitempty"`
518}
519
520func (x *StateFamilyConfig) Reset() {
521	*x = StateFamilyConfig{}
522	if protoimpl.UnsafeEnabled {
523		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[6]
524		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
525		ms.StoreMessageInfo(mi)
526	}
527}
528
529func (x *StateFamilyConfig) String() string {
530	return protoimpl.X.MessageStringOf(x)
531}
532
533func (*StateFamilyConfig) ProtoMessage() {}
534
535func (x *StateFamilyConfig) ProtoReflect() protoreflect.Message {
536	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[6]
537	if protoimpl.UnsafeEnabled && x != nil {
538		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
539		if ms.LoadMessageInfo() == nil {
540			ms.StoreMessageInfo(mi)
541		}
542		return ms
543	}
544	return mi.MessageOf(x)
545}
546
547// Deprecated: Use StateFamilyConfig.ProtoReflect.Descriptor instead.
548func (*StateFamilyConfig) Descriptor() ([]byte, []int) {
549	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{6}
550}
551
552func (x *StateFamilyConfig) GetStateFamily() string {
553	if x != nil {
554		return x.StateFamily
555	}
556	return ""
557}
558
559func (x *StateFamilyConfig) GetIsRead() bool {
560	if x != nil {
561		return x.IsRead
562	}
563	return false
564}
565
566// All configuration data for a particular Computation.
567type ComputationTopology struct {
568	state         protoimpl.MessageState
569	sizeCache     protoimpl.SizeCache
570	unknownFields protoimpl.UnknownFields
571
572	// The system stage name.
573	SystemStageName string `protobuf:"bytes,1,opt,name=system_stage_name,json=systemStageName,proto3" json:"system_stage_name,omitempty"`
574	// The ID of the computation.
575	ComputationId string `protobuf:"bytes,5,opt,name=computation_id,json=computationId,proto3" json:"computation_id,omitempty"`
576	// The key ranges processed by the computation.
577	KeyRanges []*KeyRangeLocation `protobuf:"bytes,2,rep,name=key_ranges,json=keyRanges,proto3" json:"key_ranges,omitempty"`
578	// The inputs to the computation.
579	Inputs []*StreamLocation `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty"`
580	// The outputs from the computation.
581	Outputs []*StreamLocation `protobuf:"bytes,4,rep,name=outputs,proto3" json:"outputs,omitempty"`
582	// The state family values.
583	StateFamilies []*StateFamilyConfig `protobuf:"bytes,7,rep,name=state_families,json=stateFamilies,proto3" json:"state_families,omitempty"`
584}
585
586func (x *ComputationTopology) Reset() {
587	*x = ComputationTopology{}
588	if protoimpl.UnsafeEnabled {
589		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[7]
590		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
591		ms.StoreMessageInfo(mi)
592	}
593}
594
595func (x *ComputationTopology) String() string {
596	return protoimpl.X.MessageStringOf(x)
597}
598
599func (*ComputationTopology) ProtoMessage() {}
600
601func (x *ComputationTopology) ProtoReflect() protoreflect.Message {
602	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[7]
603	if protoimpl.UnsafeEnabled && x != nil {
604		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
605		if ms.LoadMessageInfo() == nil {
606			ms.StoreMessageInfo(mi)
607		}
608		return ms
609	}
610	return mi.MessageOf(x)
611}
612
613// Deprecated: Use ComputationTopology.ProtoReflect.Descriptor instead.
614func (*ComputationTopology) Descriptor() ([]byte, []int) {
615	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{7}
616}
617
618func (x *ComputationTopology) GetSystemStageName() string {
619	if x != nil {
620		return x.SystemStageName
621	}
622	return ""
623}
624
625func (x *ComputationTopology) GetComputationId() string {
626	if x != nil {
627		return x.ComputationId
628	}
629	return ""
630}
631
632func (x *ComputationTopology) GetKeyRanges() []*KeyRangeLocation {
633	if x != nil {
634		return x.KeyRanges
635	}
636	return nil
637}
638
639func (x *ComputationTopology) GetInputs() []*StreamLocation {
640	if x != nil {
641		return x.Inputs
642	}
643	return nil
644}
645
646func (x *ComputationTopology) GetOutputs() []*StreamLocation {
647	if x != nil {
648		return x.Outputs
649	}
650	return nil
651}
652
653func (x *ComputationTopology) GetStateFamilies() []*StateFamilyConfig {
654	if x != nil {
655		return x.StateFamilies
656	}
657	return nil
658}
659
660// Location information for a specific key-range of a sharded computation.
661// Currently we only support UTF-8 character splits to simplify encoding into
662// JSON.
663type KeyRangeLocation struct {
664	state         protoimpl.MessageState
665	sizeCache     protoimpl.SizeCache
666	unknownFields protoimpl.UnknownFields
667
668	// The start (inclusive) of the key range.
669	Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
670	// The end (exclusive) of the key range.
671	End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
672	// The physical location of this range assignment to be used for
673	// streaming computation cross-worker message delivery.
674	DeliveryEndpoint string `protobuf:"bytes,3,opt,name=delivery_endpoint,json=deliveryEndpoint,proto3" json:"delivery_endpoint,omitempty"`
675	// The name of the data disk where data for this range is stored.
676	// This name is local to the Google Cloud Platform project and uniquely
677	// identifies the disk within that project, for example
678	// "myproject-1014-104817-4c2-harness-0-disk-1".
679	DataDisk string `protobuf:"bytes,5,opt,name=data_disk,json=dataDisk,proto3" json:"data_disk,omitempty"`
680	// DEPRECATED. The location of the persistent state for this range, as a
681	// persistent directory in the worker local filesystem.
682	//
683	// Deprecated: Do not use.
684	DeprecatedPersistentDirectory string `protobuf:"bytes,4,opt,name=deprecated_persistent_directory,json=deprecatedPersistentDirectory,proto3" json:"deprecated_persistent_directory,omitempty"`
685}
686
687func (x *KeyRangeLocation) Reset() {
688	*x = KeyRangeLocation{}
689	if protoimpl.UnsafeEnabled {
690		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[8]
691		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
692		ms.StoreMessageInfo(mi)
693	}
694}
695
696func (x *KeyRangeLocation) String() string {
697	return protoimpl.X.MessageStringOf(x)
698}
699
700func (*KeyRangeLocation) ProtoMessage() {}
701
702func (x *KeyRangeLocation) ProtoReflect() protoreflect.Message {
703	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[8]
704	if protoimpl.UnsafeEnabled && x != nil {
705		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
706		if ms.LoadMessageInfo() == nil {
707			ms.StoreMessageInfo(mi)
708		}
709		return ms
710	}
711	return mi.MessageOf(x)
712}
713
714// Deprecated: Use KeyRangeLocation.ProtoReflect.Descriptor instead.
715func (*KeyRangeLocation) Descriptor() ([]byte, []int) {
716	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{8}
717}
718
719func (x *KeyRangeLocation) GetStart() string {
720	if x != nil {
721		return x.Start
722	}
723	return ""
724}
725
726func (x *KeyRangeLocation) GetEnd() string {
727	if x != nil {
728		return x.End
729	}
730	return ""
731}
732
733func (x *KeyRangeLocation) GetDeliveryEndpoint() string {
734	if x != nil {
735		return x.DeliveryEndpoint
736	}
737	return ""
738}
739
740func (x *KeyRangeLocation) GetDataDisk() string {
741	if x != nil {
742		return x.DataDisk
743	}
744	return ""
745}
746
747// Deprecated: Do not use.
748func (x *KeyRangeLocation) GetDeprecatedPersistentDirectory() string {
749	if x != nil {
750		return x.DeprecatedPersistentDirectory
751	}
752	return ""
753}
754
755// Describes mounted data disk.
756type MountedDataDisk struct {
757	state         protoimpl.MessageState
758	sizeCache     protoimpl.SizeCache
759	unknownFields protoimpl.UnknownFields
760
761	// The name of the data disk.
762	// This name is local to the Google Cloud Platform project and uniquely
763	// identifies the disk within that project, for example
764	// "myproject-1014-104817-4c2-harness-0-disk-1".
765	DataDisk string `protobuf:"bytes,1,opt,name=data_disk,json=dataDisk,proto3" json:"data_disk,omitempty"`
766}
767
768func (x *MountedDataDisk) Reset() {
769	*x = MountedDataDisk{}
770	if protoimpl.UnsafeEnabled {
771		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[9]
772		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
773		ms.StoreMessageInfo(mi)
774	}
775}
776
777func (x *MountedDataDisk) String() string {
778	return protoimpl.X.MessageStringOf(x)
779}
780
781func (*MountedDataDisk) ProtoMessage() {}
782
783func (x *MountedDataDisk) ProtoReflect() protoreflect.Message {
784	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[9]
785	if protoimpl.UnsafeEnabled && x != nil {
786		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
787		if ms.LoadMessageInfo() == nil {
788			ms.StoreMessageInfo(mi)
789		}
790		return ms
791	}
792	return mi.MessageOf(x)
793}
794
795// Deprecated: Use MountedDataDisk.ProtoReflect.Descriptor instead.
796func (*MountedDataDisk) Descriptor() ([]byte, []int) {
797	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{9}
798}
799
800func (x *MountedDataDisk) GetDataDisk() string {
801	if x != nil {
802		return x.DataDisk
803	}
804	return ""
805}
806
807// Data disk assignment for a given VM instance.
808type DataDiskAssignment struct {
809	state         protoimpl.MessageState
810	sizeCache     protoimpl.SizeCache
811	unknownFields protoimpl.UnknownFields
812
813	// VM instance name the data disks mounted to, for example
814	// "myproject-1014-104817-4c2-harness-0".
815	VmInstance string `protobuf:"bytes,1,opt,name=vm_instance,json=vmInstance,proto3" json:"vm_instance,omitempty"`
816	// Mounted data disks. The order is important a data disk's 0-based index in
817	// this list defines which persistent directory the disk is mounted to, for
818	// example the list of { "myproject-1014-104817-4c2-harness-0-disk-0" },
819	// { "myproject-1014-104817-4c2-harness-0-disk-1" }.
820	DataDisks []string `protobuf:"bytes,2,rep,name=data_disks,json=dataDisks,proto3" json:"data_disks,omitempty"`
821}
822
823func (x *DataDiskAssignment) Reset() {
824	*x = DataDiskAssignment{}
825	if protoimpl.UnsafeEnabled {
826		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[10]
827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
828		ms.StoreMessageInfo(mi)
829	}
830}
831
832func (x *DataDiskAssignment) String() string {
833	return protoimpl.X.MessageStringOf(x)
834}
835
836func (*DataDiskAssignment) ProtoMessage() {}
837
838func (x *DataDiskAssignment) ProtoReflect() protoreflect.Message {
839	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[10]
840	if protoimpl.UnsafeEnabled && x != nil {
841		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
842		if ms.LoadMessageInfo() == nil {
843			ms.StoreMessageInfo(mi)
844		}
845		return ms
846	}
847	return mi.MessageOf(x)
848}
849
850// Deprecated: Use DataDiskAssignment.ProtoReflect.Descriptor instead.
851func (*DataDiskAssignment) Descriptor() ([]byte, []int) {
852	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{10}
853}
854
855func (x *DataDiskAssignment) GetVmInstance() string {
856	if x != nil {
857		return x.VmInstance
858	}
859	return ""
860}
861
862func (x *DataDiskAssignment) GetDataDisks() []string {
863	if x != nil {
864		return x.DataDisks
865	}
866	return nil
867}
868
869// Data disk assignment information for a specific key-range of a sharded
870// computation.
871// Currently we only support UTF-8 character splits to simplify encoding into
872// JSON.
873type KeyRangeDataDiskAssignment struct {
874	state         protoimpl.MessageState
875	sizeCache     protoimpl.SizeCache
876	unknownFields protoimpl.UnknownFields
877
878	// The start (inclusive) of the key range.
879	Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
880	// The end (exclusive) of the key range.
881	End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
882	// The name of the data disk where data for this range is stored.
883	// This name is local to the Google Cloud Platform project and uniquely
884	// identifies the disk within that project, for example
885	// "myproject-1014-104817-4c2-harness-0-disk-1".
886	DataDisk string `protobuf:"bytes,3,opt,name=data_disk,json=dataDisk,proto3" json:"data_disk,omitempty"`
887}
888
889func (x *KeyRangeDataDiskAssignment) Reset() {
890	*x = KeyRangeDataDiskAssignment{}
891	if protoimpl.UnsafeEnabled {
892		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[11]
893		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
894		ms.StoreMessageInfo(mi)
895	}
896}
897
898func (x *KeyRangeDataDiskAssignment) String() string {
899	return protoimpl.X.MessageStringOf(x)
900}
901
902func (*KeyRangeDataDiskAssignment) ProtoMessage() {}
903
904func (x *KeyRangeDataDiskAssignment) ProtoReflect() protoreflect.Message {
905	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[11]
906	if protoimpl.UnsafeEnabled && x != nil {
907		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
908		if ms.LoadMessageInfo() == nil {
909			ms.StoreMessageInfo(mi)
910		}
911		return ms
912	}
913	return mi.MessageOf(x)
914}
915
916// Deprecated: Use KeyRangeDataDiskAssignment.ProtoReflect.Descriptor instead.
917func (*KeyRangeDataDiskAssignment) Descriptor() ([]byte, []int) {
918	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{11}
919}
920
921func (x *KeyRangeDataDiskAssignment) GetStart() string {
922	if x != nil {
923		return x.Start
924	}
925	return ""
926}
927
928func (x *KeyRangeDataDiskAssignment) GetEnd() string {
929	if x != nil {
930		return x.End
931	}
932	return ""
933}
934
935func (x *KeyRangeDataDiskAssignment) GetDataDisk() string {
936	if x != nil {
937		return x.DataDisk
938	}
939	return ""
940}
941
942// Describes full or partial data disk assignment information of the computation
943// ranges.
944type StreamingComputationRanges struct {
945	state         protoimpl.MessageState
946	sizeCache     protoimpl.SizeCache
947	unknownFields protoimpl.UnknownFields
948
949	// The ID of the computation.
950	ComputationId string `protobuf:"bytes,1,opt,name=computation_id,json=computationId,proto3" json:"computation_id,omitempty"`
951	// Data disk assignments for ranges from this computation.
952	RangeAssignments []*KeyRangeDataDiskAssignment `protobuf:"bytes,2,rep,name=range_assignments,json=rangeAssignments,proto3" json:"range_assignments,omitempty"`
953}
954
955func (x *StreamingComputationRanges) Reset() {
956	*x = StreamingComputationRanges{}
957	if protoimpl.UnsafeEnabled {
958		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[12]
959		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
960		ms.StoreMessageInfo(mi)
961	}
962}
963
964func (x *StreamingComputationRanges) String() string {
965	return protoimpl.X.MessageStringOf(x)
966}
967
968func (*StreamingComputationRanges) ProtoMessage() {}
969
970func (x *StreamingComputationRanges) ProtoReflect() protoreflect.Message {
971	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[12]
972	if protoimpl.UnsafeEnabled && x != nil {
973		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
974		if ms.LoadMessageInfo() == nil {
975			ms.StoreMessageInfo(mi)
976		}
977		return ms
978	}
979	return mi.MessageOf(x)
980}
981
982// Deprecated: Use StreamingComputationRanges.ProtoReflect.Descriptor instead.
983func (*StreamingComputationRanges) Descriptor() ([]byte, []int) {
984	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{12}
985}
986
987func (x *StreamingComputationRanges) GetComputationId() string {
988	if x != nil {
989		return x.ComputationId
990	}
991	return ""
992}
993
994func (x *StreamingComputationRanges) GetRangeAssignments() []*KeyRangeDataDiskAssignment {
995	if x != nil {
996		return x.RangeAssignments
997	}
998	return nil
999}
1000
1001// Streaming appliance snapshot configuration.
1002type StreamingApplianceSnapshotConfig struct {
1003	state         protoimpl.MessageState
1004	sizeCache     protoimpl.SizeCache
1005	unknownFields protoimpl.UnknownFields
1006
1007	// If set, indicates the snapshot id for the snapshot being performed.
1008	SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
1009	// Indicates which endpoint is used to import appliance state.
1010	ImportStateEndpoint string `protobuf:"bytes,2,opt,name=import_state_endpoint,json=importStateEndpoint,proto3" json:"import_state_endpoint,omitempty"`
1011}
1012
1013func (x *StreamingApplianceSnapshotConfig) Reset() {
1014	*x = StreamingApplianceSnapshotConfig{}
1015	if protoimpl.UnsafeEnabled {
1016		mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[13]
1017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1018		ms.StoreMessageInfo(mi)
1019	}
1020}
1021
1022func (x *StreamingApplianceSnapshotConfig) String() string {
1023	return protoimpl.X.MessageStringOf(x)
1024}
1025
1026func (*StreamingApplianceSnapshotConfig) ProtoMessage() {}
1027
1028func (x *StreamingApplianceSnapshotConfig) ProtoReflect() protoreflect.Message {
1029	mi := &file_google_dataflow_v1beta3_streaming_proto_msgTypes[13]
1030	if protoimpl.UnsafeEnabled && x != nil {
1031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1032		if ms.LoadMessageInfo() == nil {
1033			ms.StoreMessageInfo(mi)
1034		}
1035		return ms
1036	}
1037	return mi.MessageOf(x)
1038}
1039
1040// Deprecated: Use StreamingApplianceSnapshotConfig.ProtoReflect.Descriptor instead.
1041func (*StreamingApplianceSnapshotConfig) Descriptor() ([]byte, []int) {
1042	return file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP(), []int{13}
1043}
1044
1045func (x *StreamingApplianceSnapshotConfig) GetSnapshotId() string {
1046	if x != nil {
1047		return x.SnapshotId
1048	}
1049	return ""
1050}
1051
1052func (x *StreamingApplianceSnapshotConfig) GetImportStateEndpoint() string {
1053	if x != nil {
1054		return x.ImportStateEndpoint
1055	}
1056	return ""
1057}
1058
1059var File_google_dataflow_v1beta3_streaming_proto protoreflect.FileDescriptor
1060
1061var file_google_dataflow_v1beta3_streaming_proto_rawDesc = []byte{
1062	0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
1063	0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
1064	0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1065	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
1066	0x61, 0x33, 0x22, 0x97, 0x04, 0x0a, 0x0e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43,
1067	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61,
1068	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
1069	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31,
1070	0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
1071	0x6e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75,
1072	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f,
1073	0x64, 0x69, 0x73, 0x6b, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
1074	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1075	0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33,
1076	0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d,
1077	0x65, 0x6e, 0x74, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x73,
1078	0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x22, 0x75, 0x73, 0x65,
1079	0x72, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75,
1080	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18,
1081	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
1082	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
1083	0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55,
1084	0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74,
1085	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
1086	0x79, 0x52, 0x1d, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6f,
1087	0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70,
1088	0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6b,
1089	0x65, 0x79, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x66,
1090	0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x42, 0x69, 0x74, 0x73,
1091	0x12, 0x38, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73,
1092	0x74, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
1093	0x28, 0x05, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74,
1094	0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x50, 0x0a, 0x22, 0x55, 0x73,
1095	0x65, 0x72, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61,
1096	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
1097	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
1098	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1099	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x92, 0x02, 0x0a,
1100	0x0e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1101	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
1102	0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
1103	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62,
1104	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d,
1105	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
1106	0x28, 0x09, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4c, 0x61, 0x62,
1107	0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04,
1108	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x24, 0x0a,
1109	0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
1110	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x4c, 0x61, 0x74, 0x65, 0x44,
1111	0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
1112	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
1113	0x28, 0x09, 0x52, 0x14, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73,
1114	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68,
1115	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
1116	0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
1117	0x73, 0x22, 0x35, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74,
1118	0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73,
1119	0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
1120	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65,
1121	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4c, 0x6f,
1122	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20,
1123	0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74,
1124	0x65, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
1125	0x73, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x32, 0x0a, 0x14, 0x43,
1126	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74,
1127	0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18,
1128	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x22,
1129	0xab, 0x03, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
1130	0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f,
1131	0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
1132	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61,
1133	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53,
1134	0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63,
1135	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
1136	0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1137	0x52, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
1138	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1139	0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
1140	0x61, 0x33, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1141	0x6e, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74,
1142	0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x13, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75,
1143	0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
1144	0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c,
1145	0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
1146	0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4c, 0x6f, 0x63,
1147	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x73, 0x69, 0x64, 0x65, 0x49, 0x6e, 0x70,
1148	0x75, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x16, 0x63, 0x75,
1149	0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
1150	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
1151	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62,
1152	0x65, 0x74, 0x61, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63,
1153	0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x63, 0x75, 0x73,
1154	0x74, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1155	0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a,
1156	0x11, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66,
1157	0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x61, 0x6d, 0x69,
1158	0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x46,
1159	0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64,
1160	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x22, 0x89,
1161	0x03, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f,
1162	0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
1163	0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1164	0x09, 0x52, 0x0f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61,
1165	0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
1166	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70,
1167	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x6b, 0x65, 0x79,
1168	0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e,
1169	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
1170	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65,
1171	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e,
1172	0x67, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20,
1173	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74,
1174	0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74,
1175	0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x69, 0x6e,
1176	0x70, 0x75, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18,
1177	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
1178	0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e,
1179	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07,
1180	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65,
1181	0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
1182	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f,
1183	0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46,
1184	0x61, 0x6d, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x61,
1185	0x74, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x10, 0x4b,
1186	0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1187	0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
1188	0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01,
1189	0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x69, 0x76,
1190	0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
1191	0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70,
1192	0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x73,
1193	0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73,
1194	0x6b, 0x12, 0x4a, 0x0a, 0x1f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f,
1195	0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
1196	0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1d,
1197	0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
1198	0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2e, 0x0a,
1199	0x0f, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b,
1200	0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20,
1201	0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x22, 0x54, 0x0a,
1202	0x12, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d,
1203	0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
1204	0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6d, 0x49, 0x6e, 0x73, 0x74,
1205	0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x73,
1206	0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x44, 0x69,
1207	0x73, 0x6b, 0x73, 0x22, 0x61, 0x0a, 0x1a, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44,
1208	0x61, 0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
1209	0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1210	0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02,
1211	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74,
1212	0x61, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61,
1213	0x74, 0x61, 0x44, 0x69, 0x73, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61,
1214	0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
1215	0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61,
1216	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63,
1217	0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x60, 0x0a, 0x11,
1218	0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
1219	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1220	0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
1221	0x33, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69,
1222	0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x72, 0x61,
1223	0x6e, 0x67, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x77,
1224	0x0a, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x69,
1225	0x61, 0x6e, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66,
1226	0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69,
1227	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
1228	0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74,
1229	0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
1230	0x28, 0x09, 0x52, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45,
1231	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0xd3, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e,
1232	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
1233	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x42, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
1234	0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1235	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
1236	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
1237	0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
1238	0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0xaa, 0x02, 0x1d, 0x47, 0x6f, 0x6f,
1239	0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x66, 0x6c,
1240	0x6f, 0x77, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x33, 0xca, 0x02, 0x1d, 0x47, 0x6f, 0x6f,
1241	0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x66, 0x6c,
1242	0x6f, 0x77, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0xea, 0x02, 0x20, 0x47, 0x6f, 0x6f,
1243	0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61,
1244	0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x62, 0x06, 0x70,
1245	0x72, 0x6f, 0x74, 0x6f, 0x33,
1246}
1247
1248var (
1249	file_google_dataflow_v1beta3_streaming_proto_rawDescOnce sync.Once
1250	file_google_dataflow_v1beta3_streaming_proto_rawDescData = file_google_dataflow_v1beta3_streaming_proto_rawDesc
1251)
1252
1253func file_google_dataflow_v1beta3_streaming_proto_rawDescGZIP() []byte {
1254	file_google_dataflow_v1beta3_streaming_proto_rawDescOnce.Do(func() {
1255		file_google_dataflow_v1beta3_streaming_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_dataflow_v1beta3_streaming_proto_rawDescData)
1256	})
1257	return file_google_dataflow_v1beta3_streaming_proto_rawDescData
1258}
1259
1260var file_google_dataflow_v1beta3_streaming_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
1261var file_google_dataflow_v1beta3_streaming_proto_goTypes = []interface{}{
1262	(*TopologyConfig)(nil),                   // 0: google.dataflow.v1beta3.TopologyConfig
1263	(*PubsubLocation)(nil),                   // 1: google.dataflow.v1beta3.PubsubLocation
1264	(*StreamingStageLocation)(nil),           // 2: google.dataflow.v1beta3.StreamingStageLocation
1265	(*StreamingSideInputLocation)(nil),       // 3: google.dataflow.v1beta3.StreamingSideInputLocation
1266	(*CustomSourceLocation)(nil),             // 4: google.dataflow.v1beta3.CustomSourceLocation
1267	(*StreamLocation)(nil),                   // 5: google.dataflow.v1beta3.StreamLocation
1268	(*StateFamilyConfig)(nil),                // 6: google.dataflow.v1beta3.StateFamilyConfig
1269	(*ComputationTopology)(nil),              // 7: google.dataflow.v1beta3.ComputationTopology
1270	(*KeyRangeLocation)(nil),                 // 8: google.dataflow.v1beta3.KeyRangeLocation
1271	(*MountedDataDisk)(nil),                  // 9: google.dataflow.v1beta3.MountedDataDisk
1272	(*DataDiskAssignment)(nil),               // 10: google.dataflow.v1beta3.DataDiskAssignment
1273	(*KeyRangeDataDiskAssignment)(nil),       // 11: google.dataflow.v1beta3.KeyRangeDataDiskAssignment
1274	(*StreamingComputationRanges)(nil),       // 12: google.dataflow.v1beta3.StreamingComputationRanges
1275	(*StreamingApplianceSnapshotConfig)(nil), // 13: google.dataflow.v1beta3.StreamingApplianceSnapshotConfig
1276	nil,                                      // 14: google.dataflow.v1beta3.TopologyConfig.UserStageToComputationNameMapEntry
1277}
1278var file_google_dataflow_v1beta3_streaming_proto_depIdxs = []int32{
1279	7,  // 0: google.dataflow.v1beta3.TopologyConfig.computations:type_name -> google.dataflow.v1beta3.ComputationTopology
1280	10, // 1: google.dataflow.v1beta3.TopologyConfig.data_disk_assignments:type_name -> google.dataflow.v1beta3.DataDiskAssignment
1281	14, // 2: google.dataflow.v1beta3.TopologyConfig.user_stage_to_computation_name_map:type_name -> google.dataflow.v1beta3.TopologyConfig.UserStageToComputationNameMapEntry
1282	2,  // 3: google.dataflow.v1beta3.StreamLocation.streaming_stage_location:type_name -> google.dataflow.v1beta3.StreamingStageLocation
1283	1,  // 4: google.dataflow.v1beta3.StreamLocation.pubsub_location:type_name -> google.dataflow.v1beta3.PubsubLocation
1284	3,  // 5: google.dataflow.v1beta3.StreamLocation.side_input_location:type_name -> google.dataflow.v1beta3.StreamingSideInputLocation
1285	4,  // 6: google.dataflow.v1beta3.StreamLocation.custom_source_location:type_name -> google.dataflow.v1beta3.CustomSourceLocation
1286	8,  // 7: google.dataflow.v1beta3.ComputationTopology.key_ranges:type_name -> google.dataflow.v1beta3.KeyRangeLocation
1287	5,  // 8: google.dataflow.v1beta3.ComputationTopology.inputs:type_name -> google.dataflow.v1beta3.StreamLocation
1288	5,  // 9: google.dataflow.v1beta3.ComputationTopology.outputs:type_name -> google.dataflow.v1beta3.StreamLocation
1289	6,  // 10: google.dataflow.v1beta3.ComputationTopology.state_families:type_name -> google.dataflow.v1beta3.StateFamilyConfig
1290	11, // 11: google.dataflow.v1beta3.StreamingComputationRanges.range_assignments:type_name -> google.dataflow.v1beta3.KeyRangeDataDiskAssignment
1291	12, // [12:12] is the sub-list for method output_type
1292	12, // [12:12] is the sub-list for method input_type
1293	12, // [12:12] is the sub-list for extension type_name
1294	12, // [12:12] is the sub-list for extension extendee
1295	0,  // [0:12] is the sub-list for field type_name
1296}
1297
1298func init() { file_google_dataflow_v1beta3_streaming_proto_init() }
1299func file_google_dataflow_v1beta3_streaming_proto_init() {
1300	if File_google_dataflow_v1beta3_streaming_proto != nil {
1301		return
1302	}
1303	if !protoimpl.UnsafeEnabled {
1304		file_google_dataflow_v1beta3_streaming_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1305			switch v := v.(*TopologyConfig); i {
1306			case 0:
1307				return &v.state
1308			case 1:
1309				return &v.sizeCache
1310			case 2:
1311				return &v.unknownFields
1312			default:
1313				return nil
1314			}
1315		}
1316		file_google_dataflow_v1beta3_streaming_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1317			switch v := v.(*PubsubLocation); i {
1318			case 0:
1319				return &v.state
1320			case 1:
1321				return &v.sizeCache
1322			case 2:
1323				return &v.unknownFields
1324			default:
1325				return nil
1326			}
1327		}
1328		file_google_dataflow_v1beta3_streaming_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1329			switch v := v.(*StreamingStageLocation); i {
1330			case 0:
1331				return &v.state
1332			case 1:
1333				return &v.sizeCache
1334			case 2:
1335				return &v.unknownFields
1336			default:
1337				return nil
1338			}
1339		}
1340		file_google_dataflow_v1beta3_streaming_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1341			switch v := v.(*StreamingSideInputLocation); i {
1342			case 0:
1343				return &v.state
1344			case 1:
1345				return &v.sizeCache
1346			case 2:
1347				return &v.unknownFields
1348			default:
1349				return nil
1350			}
1351		}
1352		file_google_dataflow_v1beta3_streaming_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1353			switch v := v.(*CustomSourceLocation); i {
1354			case 0:
1355				return &v.state
1356			case 1:
1357				return &v.sizeCache
1358			case 2:
1359				return &v.unknownFields
1360			default:
1361				return nil
1362			}
1363		}
1364		file_google_dataflow_v1beta3_streaming_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1365			switch v := v.(*StreamLocation); i {
1366			case 0:
1367				return &v.state
1368			case 1:
1369				return &v.sizeCache
1370			case 2:
1371				return &v.unknownFields
1372			default:
1373				return nil
1374			}
1375		}
1376		file_google_dataflow_v1beta3_streaming_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1377			switch v := v.(*StateFamilyConfig); i {
1378			case 0:
1379				return &v.state
1380			case 1:
1381				return &v.sizeCache
1382			case 2:
1383				return &v.unknownFields
1384			default:
1385				return nil
1386			}
1387		}
1388		file_google_dataflow_v1beta3_streaming_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1389			switch v := v.(*ComputationTopology); i {
1390			case 0:
1391				return &v.state
1392			case 1:
1393				return &v.sizeCache
1394			case 2:
1395				return &v.unknownFields
1396			default:
1397				return nil
1398			}
1399		}
1400		file_google_dataflow_v1beta3_streaming_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1401			switch v := v.(*KeyRangeLocation); i {
1402			case 0:
1403				return &v.state
1404			case 1:
1405				return &v.sizeCache
1406			case 2:
1407				return &v.unknownFields
1408			default:
1409				return nil
1410			}
1411		}
1412		file_google_dataflow_v1beta3_streaming_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1413			switch v := v.(*MountedDataDisk); i {
1414			case 0:
1415				return &v.state
1416			case 1:
1417				return &v.sizeCache
1418			case 2:
1419				return &v.unknownFields
1420			default:
1421				return nil
1422			}
1423		}
1424		file_google_dataflow_v1beta3_streaming_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1425			switch v := v.(*DataDiskAssignment); i {
1426			case 0:
1427				return &v.state
1428			case 1:
1429				return &v.sizeCache
1430			case 2:
1431				return &v.unknownFields
1432			default:
1433				return nil
1434			}
1435		}
1436		file_google_dataflow_v1beta3_streaming_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1437			switch v := v.(*KeyRangeDataDiskAssignment); i {
1438			case 0:
1439				return &v.state
1440			case 1:
1441				return &v.sizeCache
1442			case 2:
1443				return &v.unknownFields
1444			default:
1445				return nil
1446			}
1447		}
1448		file_google_dataflow_v1beta3_streaming_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1449			switch v := v.(*StreamingComputationRanges); i {
1450			case 0:
1451				return &v.state
1452			case 1:
1453				return &v.sizeCache
1454			case 2:
1455				return &v.unknownFields
1456			default:
1457				return nil
1458			}
1459		}
1460		file_google_dataflow_v1beta3_streaming_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
1461			switch v := v.(*StreamingApplianceSnapshotConfig); i {
1462			case 0:
1463				return &v.state
1464			case 1:
1465				return &v.sizeCache
1466			case 2:
1467				return &v.unknownFields
1468			default:
1469				return nil
1470			}
1471		}
1472	}
1473	file_google_dataflow_v1beta3_streaming_proto_msgTypes[5].OneofWrappers = []interface{}{
1474		(*StreamLocation_StreamingStageLocation)(nil),
1475		(*StreamLocation_PubsubLocation)(nil),
1476		(*StreamLocation_SideInputLocation)(nil),
1477		(*StreamLocation_CustomSourceLocation)(nil),
1478	}
1479	type x struct{}
1480	out := protoimpl.TypeBuilder{
1481		File: protoimpl.DescBuilder{
1482			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1483			RawDescriptor: file_google_dataflow_v1beta3_streaming_proto_rawDesc,
1484			NumEnums:      0,
1485			NumMessages:   15,
1486			NumExtensions: 0,
1487			NumServices:   0,
1488		},
1489		GoTypes:           file_google_dataflow_v1beta3_streaming_proto_goTypes,
1490		DependencyIndexes: file_google_dataflow_v1beta3_streaming_proto_depIdxs,
1491		MessageInfos:      file_google_dataflow_v1beta3_streaming_proto_msgTypes,
1492	}.Build()
1493	File_google_dataflow_v1beta3_streaming_proto = out.File
1494	file_google_dataflow_v1beta3_streaming_proto_rawDesc = nil
1495	file_google_dataflow_v1beta3_streaming_proto_goTypes = nil
1496	file_google_dataflow_v1beta3_streaming_proto_depIdxs = nil
1497}
1498