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