1// Copyright 2020 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.25.0 18// protoc v3.13.0 19// source: google/cloud/dataproc/v1beta2/workflow_templates.proto 20 21package dataproc 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 longrunning "google.golang.org/genproto/googleapis/longrunning" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 durationpb "google.golang.org/protobuf/types/known/durationpb" 37 emptypb "google.golang.org/protobuf/types/known/emptypb" 38 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 39) 40 41const ( 42 // Verify that this generated code is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 44 // Verify that runtime/protoimpl is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 46) 47 48// This is a compile-time assertion that a sufficiently up-to-date version 49// of the legacy proto package is being used. 50const _ = proto.ProtoPackageIsVersion4 51 52// The operation state. 53type WorkflowMetadata_State int32 54 55const ( 56 // Unused. 57 WorkflowMetadata_UNKNOWN WorkflowMetadata_State = 0 58 // The operation has been created. 59 WorkflowMetadata_PENDING WorkflowMetadata_State = 1 60 // The operation is running. 61 WorkflowMetadata_RUNNING WorkflowMetadata_State = 2 62 // The operation is done; either cancelled or completed. 63 WorkflowMetadata_DONE WorkflowMetadata_State = 3 64) 65 66// Enum value maps for WorkflowMetadata_State. 67var ( 68 WorkflowMetadata_State_name = map[int32]string{ 69 0: "UNKNOWN", 70 1: "PENDING", 71 2: "RUNNING", 72 3: "DONE", 73 } 74 WorkflowMetadata_State_value = map[string]int32{ 75 "UNKNOWN": 0, 76 "PENDING": 1, 77 "RUNNING": 2, 78 "DONE": 3, 79 } 80) 81 82func (x WorkflowMetadata_State) Enum() *WorkflowMetadata_State { 83 p := new(WorkflowMetadata_State) 84 *p = x 85 return p 86} 87 88func (x WorkflowMetadata_State) String() string { 89 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 90} 91 92func (WorkflowMetadata_State) Descriptor() protoreflect.EnumDescriptor { 93 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0].Descriptor() 94} 95 96func (WorkflowMetadata_State) Type() protoreflect.EnumType { 97 return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0] 98} 99 100func (x WorkflowMetadata_State) Number() protoreflect.EnumNumber { 101 return protoreflect.EnumNumber(x) 102} 103 104// Deprecated: Use WorkflowMetadata_State.Descriptor instead. 105func (WorkflowMetadata_State) EnumDescriptor() ([]byte, []int) { 106 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9, 0} 107} 108 109// The workflow node state. 110type WorkflowNode_NodeState int32 111 112const ( 113 // State is unspecified. 114 WorkflowNode_NODE_STATUS_UNSPECIFIED WorkflowNode_NodeState = 0 115 // The node is awaiting prerequisite node to finish. 116 WorkflowNode_BLOCKED WorkflowNode_NodeState = 1 117 // The node is runnable but not running. 118 WorkflowNode_RUNNABLE WorkflowNode_NodeState = 2 119 // The node is running. 120 WorkflowNode_RUNNING WorkflowNode_NodeState = 3 121 // The node completed successfully. 122 WorkflowNode_COMPLETED WorkflowNode_NodeState = 4 123 // The node failed. A node can be marked FAILED because 124 // its ancestor or peer failed. 125 WorkflowNode_FAILED WorkflowNode_NodeState = 5 126) 127 128// Enum value maps for WorkflowNode_NodeState. 129var ( 130 WorkflowNode_NodeState_name = map[int32]string{ 131 0: "NODE_STATUS_UNSPECIFIED", 132 1: "BLOCKED", 133 2: "RUNNABLE", 134 3: "RUNNING", 135 4: "COMPLETED", 136 5: "FAILED", 137 } 138 WorkflowNode_NodeState_value = map[string]int32{ 139 "NODE_STATUS_UNSPECIFIED": 0, 140 "BLOCKED": 1, 141 "RUNNABLE": 2, 142 "RUNNING": 3, 143 "COMPLETED": 4, 144 "FAILED": 5, 145 } 146) 147 148func (x WorkflowNode_NodeState) Enum() *WorkflowNode_NodeState { 149 p := new(WorkflowNode_NodeState) 150 *p = x 151 return p 152} 153 154func (x WorkflowNode_NodeState) String() string { 155 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 156} 157 158func (WorkflowNode_NodeState) Descriptor() protoreflect.EnumDescriptor { 159 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1].Descriptor() 160} 161 162func (WorkflowNode_NodeState) Type() protoreflect.EnumType { 163 return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1] 164} 165 166func (x WorkflowNode_NodeState) Number() protoreflect.EnumNumber { 167 return protoreflect.EnumNumber(x) 168} 169 170// Deprecated: Use WorkflowNode_NodeState.Descriptor instead. 171func (WorkflowNode_NodeState) EnumDescriptor() ([]byte, []int) { 172 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12, 0} 173} 174 175// A Dataproc workflow template resource. 176type WorkflowTemplate struct { 177 state protoimpl.MessageState 178 sizeCache protoimpl.SizeCache 179 unknownFields protoimpl.UnknownFields 180 181 // Required. The template id. 182 // 183 // The id must contain only letters (a-z, A-Z), numbers (0-9), 184 // underscores (_), and hyphens (-). Cannot begin or end with underscore 185 // or hyphen. Must consist of between 3 and 50 characters. 186 // 187 // . 188 Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` 189 // Output only. The resource name of the workflow template, as described 190 // in https://cloud.google.com/apis/design/resource_names. 191 // 192 // * For `projects.regions.workflowTemplates`, the resource name of the 193 // template has the following format: 194 // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` 195 // 196 // * For `projects.locations.workflowTemplates`, the resource name of the 197 // template has the following format: 198 // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` 199 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 200 // Optional. Used to perform a consistent read-modify-write. 201 // 202 // This field should be left blank for a `CreateWorkflowTemplate` request. It 203 // is required for an `UpdateWorkflowTemplate` request, and must match the 204 // current server version. A typical update template flow would fetch the 205 // current template with a `GetWorkflowTemplate` request, which will return 206 // the current template with the `version` field filled in with the 207 // current server version. The user updates other fields in the template, 208 // then returns it as part of the `UpdateWorkflowTemplate` request. 209 Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` 210 // Output only. The time template was created. 211 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 212 // Output only. The time template was last updated. 213 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 214 // Optional. The labels to associate with this template. These labels 215 // will be propagated to all jobs and clusters created by the workflow 216 // instance. 217 // 218 // Label **keys** must contain 1 to 63 characters, and must conform to 219 // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). 220 // 221 // Label **values** may be empty, but, if present, must contain 1 to 63 222 // characters, and must conform to 223 // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). 224 // 225 // No more than 32 labels can be associated with a template. 226 Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 227 // Required. WorkflowTemplate scheduling information. 228 Placement *WorkflowTemplatePlacement `protobuf:"bytes,7,opt,name=placement,proto3" json:"placement,omitempty"` 229 // Required. The Directed Acyclic Graph of Jobs to submit. 230 Jobs []*OrderedJob `protobuf:"bytes,8,rep,name=jobs,proto3" json:"jobs,omitempty"` 231 // Optional. Template parameters whose values are substituted into the 232 // template. Values for parameters must be provided when the template is 233 // instantiated. 234 Parameters []*TemplateParameter `protobuf:"bytes,9,rep,name=parameters,proto3" json:"parameters,omitempty"` 235 // Optional. Timeout duration for the DAG of jobs. You can use "s", "m", "h", 236 // and "d" suffixes for second, minute, hour, and day duration values, 237 // respectively. The timeout duration must be from 10 minutes ("10m") to 24 238 // hours ("24h" or "1d"). The timer begins when the first job is submitted. If 239 // the workflow is running at the end of the timeout period, any remaining 240 // jobs are cancelled, the workflow is terminated, and if the workflow was 241 // running on a [managed 242 // cluster](https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), 243 // the cluster is deleted. 244 DagTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=dag_timeout,json=dagTimeout,proto3" json:"dag_timeout,omitempty"` 245} 246 247func (x *WorkflowTemplate) Reset() { 248 *x = WorkflowTemplate{} 249 if protoimpl.UnsafeEnabled { 250 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0] 251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 252 ms.StoreMessageInfo(mi) 253 } 254} 255 256func (x *WorkflowTemplate) String() string { 257 return protoimpl.X.MessageStringOf(x) 258} 259 260func (*WorkflowTemplate) ProtoMessage() {} 261 262func (x *WorkflowTemplate) ProtoReflect() protoreflect.Message { 263 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0] 264 if protoimpl.UnsafeEnabled && x != nil { 265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 266 if ms.LoadMessageInfo() == nil { 267 ms.StoreMessageInfo(mi) 268 } 269 return ms 270 } 271 return mi.MessageOf(x) 272} 273 274// Deprecated: Use WorkflowTemplate.ProtoReflect.Descriptor instead. 275func (*WorkflowTemplate) Descriptor() ([]byte, []int) { 276 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{0} 277} 278 279func (x *WorkflowTemplate) GetId() string { 280 if x != nil { 281 return x.Id 282 } 283 return "" 284} 285 286func (x *WorkflowTemplate) GetName() string { 287 if x != nil { 288 return x.Name 289 } 290 return "" 291} 292 293func (x *WorkflowTemplate) GetVersion() int32 { 294 if x != nil { 295 return x.Version 296 } 297 return 0 298} 299 300func (x *WorkflowTemplate) GetCreateTime() *timestamppb.Timestamp { 301 if x != nil { 302 return x.CreateTime 303 } 304 return nil 305} 306 307func (x *WorkflowTemplate) GetUpdateTime() *timestamppb.Timestamp { 308 if x != nil { 309 return x.UpdateTime 310 } 311 return nil 312} 313 314func (x *WorkflowTemplate) GetLabels() map[string]string { 315 if x != nil { 316 return x.Labels 317 } 318 return nil 319} 320 321func (x *WorkflowTemplate) GetPlacement() *WorkflowTemplatePlacement { 322 if x != nil { 323 return x.Placement 324 } 325 return nil 326} 327 328func (x *WorkflowTemplate) GetJobs() []*OrderedJob { 329 if x != nil { 330 return x.Jobs 331 } 332 return nil 333} 334 335func (x *WorkflowTemplate) GetParameters() []*TemplateParameter { 336 if x != nil { 337 return x.Parameters 338 } 339 return nil 340} 341 342func (x *WorkflowTemplate) GetDagTimeout() *durationpb.Duration { 343 if x != nil { 344 return x.DagTimeout 345 } 346 return nil 347} 348 349// Specifies workflow execution target. 350// 351// Either `managed_cluster` or `cluster_selector` is required. 352type WorkflowTemplatePlacement struct { 353 state protoimpl.MessageState 354 sizeCache protoimpl.SizeCache 355 unknownFields protoimpl.UnknownFields 356 357 // Required. Specifies where workflow executes; either on a managed 358 // cluster or an existing cluster chosen by labels. 359 // 360 // Types that are assignable to Placement: 361 // *WorkflowTemplatePlacement_ManagedCluster 362 // *WorkflowTemplatePlacement_ClusterSelector 363 Placement isWorkflowTemplatePlacement_Placement `protobuf_oneof:"placement"` 364} 365 366func (x *WorkflowTemplatePlacement) Reset() { 367 *x = WorkflowTemplatePlacement{} 368 if protoimpl.UnsafeEnabled { 369 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1] 370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 371 ms.StoreMessageInfo(mi) 372 } 373} 374 375func (x *WorkflowTemplatePlacement) String() string { 376 return protoimpl.X.MessageStringOf(x) 377} 378 379func (*WorkflowTemplatePlacement) ProtoMessage() {} 380 381func (x *WorkflowTemplatePlacement) ProtoReflect() protoreflect.Message { 382 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1] 383 if protoimpl.UnsafeEnabled && x != nil { 384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 385 if ms.LoadMessageInfo() == nil { 386 ms.StoreMessageInfo(mi) 387 } 388 return ms 389 } 390 return mi.MessageOf(x) 391} 392 393// Deprecated: Use WorkflowTemplatePlacement.ProtoReflect.Descriptor instead. 394func (*WorkflowTemplatePlacement) Descriptor() ([]byte, []int) { 395 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{1} 396} 397 398func (m *WorkflowTemplatePlacement) GetPlacement() isWorkflowTemplatePlacement_Placement { 399 if m != nil { 400 return m.Placement 401 } 402 return nil 403} 404 405func (x *WorkflowTemplatePlacement) GetManagedCluster() *ManagedCluster { 406 if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ManagedCluster); ok { 407 return x.ManagedCluster 408 } 409 return nil 410} 411 412func (x *WorkflowTemplatePlacement) GetClusterSelector() *ClusterSelector { 413 if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ClusterSelector); ok { 414 return x.ClusterSelector 415 } 416 return nil 417} 418 419type isWorkflowTemplatePlacement_Placement interface { 420 isWorkflowTemplatePlacement_Placement() 421} 422 423type WorkflowTemplatePlacement_ManagedCluster struct { 424 // Optional. A cluster that is managed by the workflow. 425 ManagedCluster *ManagedCluster `protobuf:"bytes,1,opt,name=managed_cluster,json=managedCluster,proto3,oneof"` 426} 427 428type WorkflowTemplatePlacement_ClusterSelector struct { 429 // Optional. A selector that chooses target cluster for jobs based 430 // on metadata. 431 // 432 // The selector is evaluated at the time each job is submitted. 433 ClusterSelector *ClusterSelector `protobuf:"bytes,2,opt,name=cluster_selector,json=clusterSelector,proto3,oneof"` 434} 435 436func (*WorkflowTemplatePlacement_ManagedCluster) isWorkflowTemplatePlacement_Placement() {} 437 438func (*WorkflowTemplatePlacement_ClusterSelector) isWorkflowTemplatePlacement_Placement() {} 439 440// Cluster that is managed by the workflow. 441type ManagedCluster struct { 442 state protoimpl.MessageState 443 sizeCache protoimpl.SizeCache 444 unknownFields protoimpl.UnknownFields 445 446 // Required. The cluster name prefix. A unique cluster name will be formed by 447 // appending a random suffix. 448 // 449 // The name must contain only lower-case letters (a-z), numbers (0-9), 450 // and hyphens (-). Must begin with a letter. Cannot begin or end with 451 // hyphen. Must consist of between 2 and 35 characters. 452 ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` 453 // Required. The cluster configuration. 454 Config *ClusterConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` 455 // Optional. The labels to associate with this cluster. 456 // 457 // Label keys must be between 1 and 63 characters long, and must conform to 458 // the following PCRE regular expression: 459 // [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} 460 // 461 // Label values must be between 1 and 63 characters long, and must conform to 462 // the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} 463 // 464 // No more than 32 labels can be associated with a given cluster. 465 Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 466} 467 468func (x *ManagedCluster) Reset() { 469 *x = ManagedCluster{} 470 if protoimpl.UnsafeEnabled { 471 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2] 472 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 473 ms.StoreMessageInfo(mi) 474 } 475} 476 477func (x *ManagedCluster) String() string { 478 return protoimpl.X.MessageStringOf(x) 479} 480 481func (*ManagedCluster) ProtoMessage() {} 482 483func (x *ManagedCluster) ProtoReflect() protoreflect.Message { 484 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2] 485 if protoimpl.UnsafeEnabled && x != nil { 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 487 if ms.LoadMessageInfo() == nil { 488 ms.StoreMessageInfo(mi) 489 } 490 return ms 491 } 492 return mi.MessageOf(x) 493} 494 495// Deprecated: Use ManagedCluster.ProtoReflect.Descriptor instead. 496func (*ManagedCluster) Descriptor() ([]byte, []int) { 497 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{2} 498} 499 500func (x *ManagedCluster) GetClusterName() string { 501 if x != nil { 502 return x.ClusterName 503 } 504 return "" 505} 506 507func (x *ManagedCluster) GetConfig() *ClusterConfig { 508 if x != nil { 509 return x.Config 510 } 511 return nil 512} 513 514func (x *ManagedCluster) GetLabels() map[string]string { 515 if x != nil { 516 return x.Labels 517 } 518 return nil 519} 520 521// A selector that chooses target cluster for jobs based on metadata. 522type ClusterSelector struct { 523 state protoimpl.MessageState 524 sizeCache protoimpl.SizeCache 525 unknownFields protoimpl.UnknownFields 526 527 // Optional. The zone where workflow process executes. This parameter does not 528 // affect the selection of the cluster. 529 // 530 // If unspecified, the zone of the first cluster matching the selector 531 // is used. 532 Zone string `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"` 533 // Required. The cluster labels. Cluster must have all labels 534 // to match. 535 ClusterLabels map[string]string `protobuf:"bytes,2,rep,name=cluster_labels,json=clusterLabels,proto3" json:"cluster_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 536} 537 538func (x *ClusterSelector) Reset() { 539 *x = ClusterSelector{} 540 if protoimpl.UnsafeEnabled { 541 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3] 542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 543 ms.StoreMessageInfo(mi) 544 } 545} 546 547func (x *ClusterSelector) String() string { 548 return protoimpl.X.MessageStringOf(x) 549} 550 551func (*ClusterSelector) ProtoMessage() {} 552 553func (x *ClusterSelector) ProtoReflect() protoreflect.Message { 554 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3] 555 if protoimpl.UnsafeEnabled && x != nil { 556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 557 if ms.LoadMessageInfo() == nil { 558 ms.StoreMessageInfo(mi) 559 } 560 return ms 561 } 562 return mi.MessageOf(x) 563} 564 565// Deprecated: Use ClusterSelector.ProtoReflect.Descriptor instead. 566func (*ClusterSelector) Descriptor() ([]byte, []int) { 567 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{3} 568} 569 570func (x *ClusterSelector) GetZone() string { 571 if x != nil { 572 return x.Zone 573 } 574 return "" 575} 576 577func (x *ClusterSelector) GetClusterLabels() map[string]string { 578 if x != nil { 579 return x.ClusterLabels 580 } 581 return nil 582} 583 584// A job executed by the workflow. 585type OrderedJob struct { 586 state protoimpl.MessageState 587 sizeCache protoimpl.SizeCache 588 unknownFields protoimpl.UnknownFields 589 590 // Required. The step id. The id must be unique among all jobs 591 // within the template. 592 // 593 // The step id is used as prefix for job id, as job 594 // `goog-dataproc-workflow-step-id` label, and in 595 // [prerequisiteStepIds][google.cloud.dataproc.v1beta2.OrderedJob.prerequisite_step_ids] 596 // field from other steps. 597 // 598 // The id must contain only letters (a-z, A-Z), numbers (0-9), 599 // underscores (_), and hyphens (-). Cannot begin or end with underscore 600 // or hyphen. Must consist of between 3 and 50 characters. 601 StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"` 602 // Required. The job definition. 603 // 604 // Types that are assignable to JobType: 605 // *OrderedJob_HadoopJob 606 // *OrderedJob_SparkJob 607 // *OrderedJob_PysparkJob 608 // *OrderedJob_HiveJob 609 // *OrderedJob_PigJob 610 // *OrderedJob_SparkRJob 611 // *OrderedJob_SparkSqlJob 612 // *OrderedJob_PrestoJob 613 JobType isOrderedJob_JobType `protobuf_oneof:"job_type"` 614 // Optional. The labels to associate with this job. 615 // 616 // Label keys must be between 1 and 63 characters long, and must conform to 617 // the following regular expression: 618 // [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} 619 // 620 // Label values must be between 1 and 63 characters long, and must conform to 621 // the following regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} 622 // 623 // No more than 32 labels can be associated with a given job. 624 Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 625 // Optional. Job scheduling configuration. 626 Scheduling *JobScheduling `protobuf:"bytes,9,opt,name=scheduling,proto3" json:"scheduling,omitempty"` 627 // Optional. The optional list of prerequisite job step_ids. 628 // If not specified, the job will start at the beginning of workflow. 629 PrerequisiteStepIds []string `protobuf:"bytes,10,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"` 630} 631 632func (x *OrderedJob) Reset() { 633 *x = OrderedJob{} 634 if protoimpl.UnsafeEnabled { 635 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4] 636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 637 ms.StoreMessageInfo(mi) 638 } 639} 640 641func (x *OrderedJob) String() string { 642 return protoimpl.X.MessageStringOf(x) 643} 644 645func (*OrderedJob) ProtoMessage() {} 646 647func (x *OrderedJob) ProtoReflect() protoreflect.Message { 648 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4] 649 if protoimpl.UnsafeEnabled && x != nil { 650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 651 if ms.LoadMessageInfo() == nil { 652 ms.StoreMessageInfo(mi) 653 } 654 return ms 655 } 656 return mi.MessageOf(x) 657} 658 659// Deprecated: Use OrderedJob.ProtoReflect.Descriptor instead. 660func (*OrderedJob) Descriptor() ([]byte, []int) { 661 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{4} 662} 663 664func (x *OrderedJob) GetStepId() string { 665 if x != nil { 666 return x.StepId 667 } 668 return "" 669} 670 671func (m *OrderedJob) GetJobType() isOrderedJob_JobType { 672 if m != nil { 673 return m.JobType 674 } 675 return nil 676} 677 678func (x *OrderedJob) GetHadoopJob() *HadoopJob { 679 if x, ok := x.GetJobType().(*OrderedJob_HadoopJob); ok { 680 return x.HadoopJob 681 } 682 return nil 683} 684 685func (x *OrderedJob) GetSparkJob() *SparkJob { 686 if x, ok := x.GetJobType().(*OrderedJob_SparkJob); ok { 687 return x.SparkJob 688 } 689 return nil 690} 691 692func (x *OrderedJob) GetPysparkJob() *PySparkJob { 693 if x, ok := x.GetJobType().(*OrderedJob_PysparkJob); ok { 694 return x.PysparkJob 695 } 696 return nil 697} 698 699func (x *OrderedJob) GetHiveJob() *HiveJob { 700 if x, ok := x.GetJobType().(*OrderedJob_HiveJob); ok { 701 return x.HiveJob 702 } 703 return nil 704} 705 706func (x *OrderedJob) GetPigJob() *PigJob { 707 if x, ok := x.GetJobType().(*OrderedJob_PigJob); ok { 708 return x.PigJob 709 } 710 return nil 711} 712 713func (x *OrderedJob) GetSparkRJob() *SparkRJob { 714 if x, ok := x.GetJobType().(*OrderedJob_SparkRJob); ok { 715 return x.SparkRJob 716 } 717 return nil 718} 719 720func (x *OrderedJob) GetSparkSqlJob() *SparkSqlJob { 721 if x, ok := x.GetJobType().(*OrderedJob_SparkSqlJob); ok { 722 return x.SparkSqlJob 723 } 724 return nil 725} 726 727func (x *OrderedJob) GetPrestoJob() *PrestoJob { 728 if x, ok := x.GetJobType().(*OrderedJob_PrestoJob); ok { 729 return x.PrestoJob 730 } 731 return nil 732} 733 734func (x *OrderedJob) GetLabels() map[string]string { 735 if x != nil { 736 return x.Labels 737 } 738 return nil 739} 740 741func (x *OrderedJob) GetScheduling() *JobScheduling { 742 if x != nil { 743 return x.Scheduling 744 } 745 return nil 746} 747 748func (x *OrderedJob) GetPrerequisiteStepIds() []string { 749 if x != nil { 750 return x.PrerequisiteStepIds 751 } 752 return nil 753} 754 755type isOrderedJob_JobType interface { 756 isOrderedJob_JobType() 757} 758 759type OrderedJob_HadoopJob struct { 760 // Optional. Job is a Hadoop job. 761 HadoopJob *HadoopJob `protobuf:"bytes,2,opt,name=hadoop_job,json=hadoopJob,proto3,oneof"` 762} 763 764type OrderedJob_SparkJob struct { 765 // Optional. Job is a Spark job. 766 SparkJob *SparkJob `protobuf:"bytes,3,opt,name=spark_job,json=sparkJob,proto3,oneof"` 767} 768 769type OrderedJob_PysparkJob struct { 770 // Optional. Job is a PySpark job. 771 PysparkJob *PySparkJob `protobuf:"bytes,4,opt,name=pyspark_job,json=pysparkJob,proto3,oneof"` 772} 773 774type OrderedJob_HiveJob struct { 775 // Optional. Job is a Hive job. 776 HiveJob *HiveJob `protobuf:"bytes,5,opt,name=hive_job,json=hiveJob,proto3,oneof"` 777} 778 779type OrderedJob_PigJob struct { 780 // Optional. Job is a Pig job. 781 PigJob *PigJob `protobuf:"bytes,6,opt,name=pig_job,json=pigJob,proto3,oneof"` 782} 783 784type OrderedJob_SparkRJob struct { 785 // Optional. Job is a SparkR job. 786 SparkRJob *SparkRJob `protobuf:"bytes,11,opt,name=spark_r_job,json=sparkRJob,proto3,oneof"` 787} 788 789type OrderedJob_SparkSqlJob struct { 790 // Optional. Job is a SparkSql job. 791 SparkSqlJob *SparkSqlJob `protobuf:"bytes,7,opt,name=spark_sql_job,json=sparkSqlJob,proto3,oneof"` 792} 793 794type OrderedJob_PrestoJob struct { 795 // Optional. Job is a Presto job. 796 PrestoJob *PrestoJob `protobuf:"bytes,12,opt,name=presto_job,json=prestoJob,proto3,oneof"` 797} 798 799func (*OrderedJob_HadoopJob) isOrderedJob_JobType() {} 800 801func (*OrderedJob_SparkJob) isOrderedJob_JobType() {} 802 803func (*OrderedJob_PysparkJob) isOrderedJob_JobType() {} 804 805func (*OrderedJob_HiveJob) isOrderedJob_JobType() {} 806 807func (*OrderedJob_PigJob) isOrderedJob_JobType() {} 808 809func (*OrderedJob_SparkRJob) isOrderedJob_JobType() {} 810 811func (*OrderedJob_SparkSqlJob) isOrderedJob_JobType() {} 812 813func (*OrderedJob_PrestoJob) isOrderedJob_JobType() {} 814 815// A configurable parameter that replaces one or more fields in the template. 816// Parameterizable fields: 817// - Labels 818// - File uris 819// - Job properties 820// - Job arguments 821// - Script variables 822// - Main class (in HadoopJob and SparkJob) 823// - Zone (in ClusterSelector) 824type TemplateParameter struct { 825 state protoimpl.MessageState 826 sizeCache protoimpl.SizeCache 827 unknownFields protoimpl.UnknownFields 828 829 // Required. Parameter name. 830 // The parameter name is used as the key, and paired with the 831 // parameter value, which are passed to the template when the template 832 // is instantiated. 833 // The name must contain only capital letters (A-Z), numbers (0-9), and 834 // underscores (_), and must not start with a number. The maximum length is 835 // 40 characters. 836 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 837 // Required. Paths to all fields that the parameter replaces. 838 // A field is allowed to appear in at most one parameter's list of field 839 // paths. 840 // 841 // A field path is similar in syntax to a 842 // [google.protobuf.FieldMask][google.protobuf.FieldMask]. For example, a 843 // field path that references the zone field of a workflow template's cluster 844 // selector would be specified as `placement.clusterSelector.zone`. 845 // 846 // Also, field paths can reference fields using the following syntax: 847 // 848 // * Values in maps can be referenced by key: 849 // * labels['key'] 850 // * placement.clusterSelector.clusterLabels['key'] 851 // * placement.managedCluster.labels['key'] 852 // * placement.clusterSelector.clusterLabels['key'] 853 // * jobs['step-id'].labels['key'] 854 // 855 // * Jobs in the jobs list can be referenced by step-id: 856 // * jobs['step-id'].hadoopJob.mainJarFileUri 857 // * jobs['step-id'].hiveJob.queryFileUri 858 // * jobs['step-id'].pySparkJob.mainPythonFileUri 859 // * jobs['step-id'].hadoopJob.jarFileUris[0] 860 // * jobs['step-id'].hadoopJob.archiveUris[0] 861 // * jobs['step-id'].hadoopJob.fileUris[0] 862 // * jobs['step-id'].pySparkJob.pythonFileUris[0] 863 // 864 // * Items in repeated fields can be referenced by a zero-based index: 865 // * jobs['step-id'].sparkJob.args[0] 866 // 867 // * Other examples: 868 // * jobs['step-id'].hadoopJob.properties['key'] 869 // * jobs['step-id'].hadoopJob.args[0] 870 // * jobs['step-id'].hiveJob.scriptVariables['key'] 871 // * jobs['step-id'].hadoopJob.mainJarFileUri 872 // * placement.clusterSelector.zone 873 // 874 // It may not be possible to parameterize maps and repeated fields in their 875 // entirety since only individual map values and individual items in repeated 876 // fields can be referenced. For example, the following field paths are 877 // invalid: 878 // 879 // - placement.clusterSelector.clusterLabels 880 // - jobs['step-id'].sparkJob.args 881 Fields []string `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` 882 // Optional. Brief description of the parameter. 883 // Must not exceed 1024 characters. 884 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 885 // Optional. Validation rules to be applied to this parameter's value. 886 Validation *ParameterValidation `protobuf:"bytes,4,opt,name=validation,proto3" json:"validation,omitempty"` 887} 888 889func (x *TemplateParameter) Reset() { 890 *x = TemplateParameter{} 891 if protoimpl.UnsafeEnabled { 892 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5] 893 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 894 ms.StoreMessageInfo(mi) 895 } 896} 897 898func (x *TemplateParameter) String() string { 899 return protoimpl.X.MessageStringOf(x) 900} 901 902func (*TemplateParameter) ProtoMessage() {} 903 904func (x *TemplateParameter) ProtoReflect() protoreflect.Message { 905 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5] 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 TemplateParameter.ProtoReflect.Descriptor instead. 917func (*TemplateParameter) Descriptor() ([]byte, []int) { 918 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{5} 919} 920 921func (x *TemplateParameter) GetName() string { 922 if x != nil { 923 return x.Name 924 } 925 return "" 926} 927 928func (x *TemplateParameter) GetFields() []string { 929 if x != nil { 930 return x.Fields 931 } 932 return nil 933} 934 935func (x *TemplateParameter) GetDescription() string { 936 if x != nil { 937 return x.Description 938 } 939 return "" 940} 941 942func (x *TemplateParameter) GetValidation() *ParameterValidation { 943 if x != nil { 944 return x.Validation 945 } 946 return nil 947} 948 949// Configuration for parameter validation. 950type ParameterValidation struct { 951 state protoimpl.MessageState 952 sizeCache protoimpl.SizeCache 953 unknownFields protoimpl.UnknownFields 954 955 // Required. The type of validation to be performed. 956 // 957 // Types that are assignable to ValidationType: 958 // *ParameterValidation_Regex 959 // *ParameterValidation_Values 960 ValidationType isParameterValidation_ValidationType `protobuf_oneof:"validation_type"` 961} 962 963func (x *ParameterValidation) Reset() { 964 *x = ParameterValidation{} 965 if protoimpl.UnsafeEnabled { 966 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6] 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 ms.StoreMessageInfo(mi) 969 } 970} 971 972func (x *ParameterValidation) String() string { 973 return protoimpl.X.MessageStringOf(x) 974} 975 976func (*ParameterValidation) ProtoMessage() {} 977 978func (x *ParameterValidation) ProtoReflect() protoreflect.Message { 979 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6] 980 if protoimpl.UnsafeEnabled && x != nil { 981 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 982 if ms.LoadMessageInfo() == nil { 983 ms.StoreMessageInfo(mi) 984 } 985 return ms 986 } 987 return mi.MessageOf(x) 988} 989 990// Deprecated: Use ParameterValidation.ProtoReflect.Descriptor instead. 991func (*ParameterValidation) Descriptor() ([]byte, []int) { 992 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{6} 993} 994 995func (m *ParameterValidation) GetValidationType() isParameterValidation_ValidationType { 996 if m != nil { 997 return m.ValidationType 998 } 999 return nil 1000} 1001 1002func (x *ParameterValidation) GetRegex() *RegexValidation { 1003 if x, ok := x.GetValidationType().(*ParameterValidation_Regex); ok { 1004 return x.Regex 1005 } 1006 return nil 1007} 1008 1009func (x *ParameterValidation) GetValues() *ValueValidation { 1010 if x, ok := x.GetValidationType().(*ParameterValidation_Values); ok { 1011 return x.Values 1012 } 1013 return nil 1014} 1015 1016type isParameterValidation_ValidationType interface { 1017 isParameterValidation_ValidationType() 1018} 1019 1020type ParameterValidation_Regex struct { 1021 // Validation based on regular expressions. 1022 Regex *RegexValidation `protobuf:"bytes,1,opt,name=regex,proto3,oneof"` 1023} 1024 1025type ParameterValidation_Values struct { 1026 // Validation based on a list of allowed values. 1027 Values *ValueValidation `protobuf:"bytes,2,opt,name=values,proto3,oneof"` 1028} 1029 1030func (*ParameterValidation_Regex) isParameterValidation_ValidationType() {} 1031 1032func (*ParameterValidation_Values) isParameterValidation_ValidationType() {} 1033 1034// Validation based on regular expressions. 1035type RegexValidation struct { 1036 state protoimpl.MessageState 1037 sizeCache protoimpl.SizeCache 1038 unknownFields protoimpl.UnknownFields 1039 1040 // Required. RE2 regular expressions used to validate the parameter's value. 1041 // The value must match the regex in its entirety (substring 1042 // matches are not sufficient). 1043 Regexes []string `protobuf:"bytes,1,rep,name=regexes,proto3" json:"regexes,omitempty"` 1044} 1045 1046func (x *RegexValidation) Reset() { 1047 *x = RegexValidation{} 1048 if protoimpl.UnsafeEnabled { 1049 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7] 1050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1051 ms.StoreMessageInfo(mi) 1052 } 1053} 1054 1055func (x *RegexValidation) String() string { 1056 return protoimpl.X.MessageStringOf(x) 1057} 1058 1059func (*RegexValidation) ProtoMessage() {} 1060 1061func (x *RegexValidation) ProtoReflect() protoreflect.Message { 1062 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7] 1063 if protoimpl.UnsafeEnabled && x != nil { 1064 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1065 if ms.LoadMessageInfo() == nil { 1066 ms.StoreMessageInfo(mi) 1067 } 1068 return ms 1069 } 1070 return mi.MessageOf(x) 1071} 1072 1073// Deprecated: Use RegexValidation.ProtoReflect.Descriptor instead. 1074func (*RegexValidation) Descriptor() ([]byte, []int) { 1075 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{7} 1076} 1077 1078func (x *RegexValidation) GetRegexes() []string { 1079 if x != nil { 1080 return x.Regexes 1081 } 1082 return nil 1083} 1084 1085// Validation based on a list of allowed values. 1086type ValueValidation struct { 1087 state protoimpl.MessageState 1088 sizeCache protoimpl.SizeCache 1089 unknownFields protoimpl.UnknownFields 1090 1091 // Required. List of allowed values for the parameter. 1092 Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` 1093} 1094 1095func (x *ValueValidation) Reset() { 1096 *x = ValueValidation{} 1097 if protoimpl.UnsafeEnabled { 1098 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8] 1099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1100 ms.StoreMessageInfo(mi) 1101 } 1102} 1103 1104func (x *ValueValidation) String() string { 1105 return protoimpl.X.MessageStringOf(x) 1106} 1107 1108func (*ValueValidation) ProtoMessage() {} 1109 1110func (x *ValueValidation) ProtoReflect() protoreflect.Message { 1111 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8] 1112 if protoimpl.UnsafeEnabled && x != nil { 1113 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1114 if ms.LoadMessageInfo() == nil { 1115 ms.StoreMessageInfo(mi) 1116 } 1117 return ms 1118 } 1119 return mi.MessageOf(x) 1120} 1121 1122// Deprecated: Use ValueValidation.ProtoReflect.Descriptor instead. 1123func (*ValueValidation) Descriptor() ([]byte, []int) { 1124 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{8} 1125} 1126 1127func (x *ValueValidation) GetValues() []string { 1128 if x != nil { 1129 return x.Values 1130 } 1131 return nil 1132} 1133 1134// A Dataproc workflow template resource. 1135type WorkflowMetadata struct { 1136 state protoimpl.MessageState 1137 sizeCache protoimpl.SizeCache 1138 unknownFields protoimpl.UnknownFields 1139 1140 // Output only. The resource name of the workflow template as described 1141 // in https://cloud.google.com/apis/design/resource_names. 1142 // 1143 // * For `projects.regions.workflowTemplates`, the resource name of the 1144 // template has the following format: 1145 // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` 1146 // 1147 // * For `projects.locations.workflowTemplates`, the resource name of the 1148 // template has the following format: 1149 // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` 1150 Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"` 1151 // Output only. The version of template at the time of 1152 // workflow instantiation. 1153 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 1154 // Output only. The create cluster operation metadata. 1155 CreateCluster *ClusterOperation `protobuf:"bytes,3,opt,name=create_cluster,json=createCluster,proto3" json:"create_cluster,omitempty"` 1156 // Output only. The workflow graph. 1157 Graph *WorkflowGraph `protobuf:"bytes,4,opt,name=graph,proto3" json:"graph,omitempty"` 1158 // Output only. The delete cluster operation metadata. 1159 DeleteCluster *ClusterOperation `protobuf:"bytes,5,opt,name=delete_cluster,json=deleteCluster,proto3" json:"delete_cluster,omitempty"` 1160 // Output only. The workflow state. 1161 State WorkflowMetadata_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowMetadata_State" json:"state,omitempty"` 1162 // Output only. The name of the target cluster. 1163 ClusterName string `protobuf:"bytes,7,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` 1164 // Map from parameter names to values that were used for those parameters. 1165 Parameters map[string]string `protobuf:"bytes,8,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1166 // Output only. Workflow start time. 1167 StartTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 1168 // Output only. Workflow end time. 1169 EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 1170 // Output only. The UUID of target cluster. 1171 ClusterUuid string `protobuf:"bytes,11,opt,name=cluster_uuid,json=clusterUuid,proto3" json:"cluster_uuid,omitempty"` 1172 // Output only. The timeout duration for the DAG of jobs. 1173 // Minimum timeout duration is 10 minutes and maximum is 24 hours, expressed 1174 // as a 1175 // [google.protobuf.Duration][https://developers.google.com/protocol-buffers/docs/proto3#json_mapping]. 1176 // For example, "1800" = 1800 seconds/30 minutes duration. 1177 DagTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=dag_timeout,json=dagTimeout,proto3" json:"dag_timeout,omitempty"` 1178 // Output only. DAG start time, which is only set for workflows with 1179 // [dag_timeout][google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout] 1180 // when the DAG begins. 1181 DagStartTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=dag_start_time,json=dagStartTime,proto3" json:"dag_start_time,omitempty"` 1182 // Output only. DAG end time, which is only set for workflows with 1183 // [dag_timeout][google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout] 1184 // when the DAG ends. 1185 DagEndTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=dag_end_time,json=dagEndTime,proto3" json:"dag_end_time,omitempty"` 1186} 1187 1188func (x *WorkflowMetadata) Reset() { 1189 *x = WorkflowMetadata{} 1190 if protoimpl.UnsafeEnabled { 1191 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9] 1192 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1193 ms.StoreMessageInfo(mi) 1194 } 1195} 1196 1197func (x *WorkflowMetadata) String() string { 1198 return protoimpl.X.MessageStringOf(x) 1199} 1200 1201func (*WorkflowMetadata) ProtoMessage() {} 1202 1203func (x *WorkflowMetadata) ProtoReflect() protoreflect.Message { 1204 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9] 1205 if protoimpl.UnsafeEnabled && x != nil { 1206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1207 if ms.LoadMessageInfo() == nil { 1208 ms.StoreMessageInfo(mi) 1209 } 1210 return ms 1211 } 1212 return mi.MessageOf(x) 1213} 1214 1215// Deprecated: Use WorkflowMetadata.ProtoReflect.Descriptor instead. 1216func (*WorkflowMetadata) Descriptor() ([]byte, []int) { 1217 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9} 1218} 1219 1220func (x *WorkflowMetadata) GetTemplate() string { 1221 if x != nil { 1222 return x.Template 1223 } 1224 return "" 1225} 1226 1227func (x *WorkflowMetadata) GetVersion() int32 { 1228 if x != nil { 1229 return x.Version 1230 } 1231 return 0 1232} 1233 1234func (x *WorkflowMetadata) GetCreateCluster() *ClusterOperation { 1235 if x != nil { 1236 return x.CreateCluster 1237 } 1238 return nil 1239} 1240 1241func (x *WorkflowMetadata) GetGraph() *WorkflowGraph { 1242 if x != nil { 1243 return x.Graph 1244 } 1245 return nil 1246} 1247 1248func (x *WorkflowMetadata) GetDeleteCluster() *ClusterOperation { 1249 if x != nil { 1250 return x.DeleteCluster 1251 } 1252 return nil 1253} 1254 1255func (x *WorkflowMetadata) GetState() WorkflowMetadata_State { 1256 if x != nil { 1257 return x.State 1258 } 1259 return WorkflowMetadata_UNKNOWN 1260} 1261 1262func (x *WorkflowMetadata) GetClusterName() string { 1263 if x != nil { 1264 return x.ClusterName 1265 } 1266 return "" 1267} 1268 1269func (x *WorkflowMetadata) GetParameters() map[string]string { 1270 if x != nil { 1271 return x.Parameters 1272 } 1273 return nil 1274} 1275 1276func (x *WorkflowMetadata) GetStartTime() *timestamppb.Timestamp { 1277 if x != nil { 1278 return x.StartTime 1279 } 1280 return nil 1281} 1282 1283func (x *WorkflowMetadata) GetEndTime() *timestamppb.Timestamp { 1284 if x != nil { 1285 return x.EndTime 1286 } 1287 return nil 1288} 1289 1290func (x *WorkflowMetadata) GetClusterUuid() string { 1291 if x != nil { 1292 return x.ClusterUuid 1293 } 1294 return "" 1295} 1296 1297func (x *WorkflowMetadata) GetDagTimeout() *durationpb.Duration { 1298 if x != nil { 1299 return x.DagTimeout 1300 } 1301 return nil 1302} 1303 1304func (x *WorkflowMetadata) GetDagStartTime() *timestamppb.Timestamp { 1305 if x != nil { 1306 return x.DagStartTime 1307 } 1308 return nil 1309} 1310 1311func (x *WorkflowMetadata) GetDagEndTime() *timestamppb.Timestamp { 1312 if x != nil { 1313 return x.DagEndTime 1314 } 1315 return nil 1316} 1317 1318// The cluster operation triggered by a workflow. 1319type ClusterOperation struct { 1320 state protoimpl.MessageState 1321 sizeCache protoimpl.SizeCache 1322 unknownFields protoimpl.UnknownFields 1323 1324 // Output only. The id of the cluster operation. 1325 OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` 1326 // Output only. Error, if operation failed. 1327 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` 1328 // Output only. Indicates the operation is done. 1329 Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"` 1330} 1331 1332func (x *ClusterOperation) Reset() { 1333 *x = ClusterOperation{} 1334 if protoimpl.UnsafeEnabled { 1335 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10] 1336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1337 ms.StoreMessageInfo(mi) 1338 } 1339} 1340 1341func (x *ClusterOperation) String() string { 1342 return protoimpl.X.MessageStringOf(x) 1343} 1344 1345func (*ClusterOperation) ProtoMessage() {} 1346 1347func (x *ClusterOperation) ProtoReflect() protoreflect.Message { 1348 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10] 1349 if protoimpl.UnsafeEnabled && x != nil { 1350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1351 if ms.LoadMessageInfo() == nil { 1352 ms.StoreMessageInfo(mi) 1353 } 1354 return ms 1355 } 1356 return mi.MessageOf(x) 1357} 1358 1359// Deprecated: Use ClusterOperation.ProtoReflect.Descriptor instead. 1360func (*ClusterOperation) Descriptor() ([]byte, []int) { 1361 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{10} 1362} 1363 1364func (x *ClusterOperation) GetOperationId() string { 1365 if x != nil { 1366 return x.OperationId 1367 } 1368 return "" 1369} 1370 1371func (x *ClusterOperation) GetError() string { 1372 if x != nil { 1373 return x.Error 1374 } 1375 return "" 1376} 1377 1378func (x *ClusterOperation) GetDone() bool { 1379 if x != nil { 1380 return x.Done 1381 } 1382 return false 1383} 1384 1385// The workflow graph. 1386type WorkflowGraph struct { 1387 state protoimpl.MessageState 1388 sizeCache protoimpl.SizeCache 1389 unknownFields protoimpl.UnknownFields 1390 1391 // Output only. The workflow nodes. 1392 Nodes []*WorkflowNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` 1393} 1394 1395func (x *WorkflowGraph) Reset() { 1396 *x = WorkflowGraph{} 1397 if protoimpl.UnsafeEnabled { 1398 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11] 1399 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1400 ms.StoreMessageInfo(mi) 1401 } 1402} 1403 1404func (x *WorkflowGraph) String() string { 1405 return protoimpl.X.MessageStringOf(x) 1406} 1407 1408func (*WorkflowGraph) ProtoMessage() {} 1409 1410func (x *WorkflowGraph) ProtoReflect() protoreflect.Message { 1411 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11] 1412 if protoimpl.UnsafeEnabled && x != nil { 1413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1414 if ms.LoadMessageInfo() == nil { 1415 ms.StoreMessageInfo(mi) 1416 } 1417 return ms 1418 } 1419 return mi.MessageOf(x) 1420} 1421 1422// Deprecated: Use WorkflowGraph.ProtoReflect.Descriptor instead. 1423func (*WorkflowGraph) Descriptor() ([]byte, []int) { 1424 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{11} 1425} 1426 1427func (x *WorkflowGraph) GetNodes() []*WorkflowNode { 1428 if x != nil { 1429 return x.Nodes 1430 } 1431 return nil 1432} 1433 1434// The workflow node. 1435type WorkflowNode struct { 1436 state protoimpl.MessageState 1437 sizeCache protoimpl.SizeCache 1438 unknownFields protoimpl.UnknownFields 1439 1440 // Output only. The name of the node. 1441 StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"` 1442 // Output only. Node's prerequisite nodes. 1443 PrerequisiteStepIds []string `protobuf:"bytes,2,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"` 1444 // Output only. The job id; populated after the node enters RUNNING state. 1445 JobId string `protobuf:"bytes,3,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` 1446 // Output only. The node state. 1447 State WorkflowNode_NodeState `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowNode_NodeState" json:"state,omitempty"` 1448 // Output only. The error detail. 1449 Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` 1450} 1451 1452func (x *WorkflowNode) Reset() { 1453 *x = WorkflowNode{} 1454 if protoimpl.UnsafeEnabled { 1455 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12] 1456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1457 ms.StoreMessageInfo(mi) 1458 } 1459} 1460 1461func (x *WorkflowNode) String() string { 1462 return protoimpl.X.MessageStringOf(x) 1463} 1464 1465func (*WorkflowNode) ProtoMessage() {} 1466 1467func (x *WorkflowNode) ProtoReflect() protoreflect.Message { 1468 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12] 1469 if protoimpl.UnsafeEnabled && x != nil { 1470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1471 if ms.LoadMessageInfo() == nil { 1472 ms.StoreMessageInfo(mi) 1473 } 1474 return ms 1475 } 1476 return mi.MessageOf(x) 1477} 1478 1479// Deprecated: Use WorkflowNode.ProtoReflect.Descriptor instead. 1480func (*WorkflowNode) Descriptor() ([]byte, []int) { 1481 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12} 1482} 1483 1484func (x *WorkflowNode) GetStepId() string { 1485 if x != nil { 1486 return x.StepId 1487 } 1488 return "" 1489} 1490 1491func (x *WorkflowNode) GetPrerequisiteStepIds() []string { 1492 if x != nil { 1493 return x.PrerequisiteStepIds 1494 } 1495 return nil 1496} 1497 1498func (x *WorkflowNode) GetJobId() string { 1499 if x != nil { 1500 return x.JobId 1501 } 1502 return "" 1503} 1504 1505func (x *WorkflowNode) GetState() WorkflowNode_NodeState { 1506 if x != nil { 1507 return x.State 1508 } 1509 return WorkflowNode_NODE_STATUS_UNSPECIFIED 1510} 1511 1512func (x *WorkflowNode) GetError() string { 1513 if x != nil { 1514 return x.Error 1515 } 1516 return "" 1517} 1518 1519// A request to create a workflow template. 1520type CreateWorkflowTemplateRequest struct { 1521 state protoimpl.MessageState 1522 sizeCache protoimpl.SizeCache 1523 unknownFields protoimpl.UnknownFields 1524 1525 // Required. The resource name of the region or location, as described 1526 // in https://cloud.google.com/apis/design/resource_names. 1527 // 1528 // * For `projects.regions.workflowTemplates,create`, the resource name of the 1529 // region has the following format: 1530 // `projects/{project_id}/regions/{region}` 1531 // 1532 // * For `projects.locations.workflowTemplates.create`, the resource name of 1533 // the location has the following format: 1534 // `projects/{project_id}/locations/{location}` 1535 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1536 // Required. The Dataproc workflow template to create. 1537 Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` 1538} 1539 1540func (x *CreateWorkflowTemplateRequest) Reset() { 1541 *x = CreateWorkflowTemplateRequest{} 1542 if protoimpl.UnsafeEnabled { 1543 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13] 1544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1545 ms.StoreMessageInfo(mi) 1546 } 1547} 1548 1549func (x *CreateWorkflowTemplateRequest) String() string { 1550 return protoimpl.X.MessageStringOf(x) 1551} 1552 1553func (*CreateWorkflowTemplateRequest) ProtoMessage() {} 1554 1555func (x *CreateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 1556 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13] 1557 if protoimpl.UnsafeEnabled && x != nil { 1558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1559 if ms.LoadMessageInfo() == nil { 1560 ms.StoreMessageInfo(mi) 1561 } 1562 return ms 1563 } 1564 return mi.MessageOf(x) 1565} 1566 1567// Deprecated: Use CreateWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 1568func (*CreateWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 1569 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{13} 1570} 1571 1572func (x *CreateWorkflowTemplateRequest) GetParent() string { 1573 if x != nil { 1574 return x.Parent 1575 } 1576 return "" 1577} 1578 1579func (x *CreateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate { 1580 if x != nil { 1581 return x.Template 1582 } 1583 return nil 1584} 1585 1586// A request to fetch a workflow template. 1587type GetWorkflowTemplateRequest struct { 1588 state protoimpl.MessageState 1589 sizeCache protoimpl.SizeCache 1590 unknownFields protoimpl.UnknownFields 1591 1592 // Required. The resource name of the workflow template, as described 1593 // in https://cloud.google.com/apis/design/resource_names. 1594 // 1595 // * For `projects.regions.workflowTemplates.get`, the resource name of the 1596 // template has the following format: 1597 // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` 1598 // 1599 // * For `projects.locations.workflowTemplates.get`, the resource name of the 1600 // template has the following format: 1601 // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` 1602 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1603 // Optional. The version of workflow template to retrieve. Only previously 1604 // instantiated versions can be retrieved. 1605 // 1606 // If unspecified, retrieves the current version. 1607 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 1608} 1609 1610func (x *GetWorkflowTemplateRequest) Reset() { 1611 *x = GetWorkflowTemplateRequest{} 1612 if protoimpl.UnsafeEnabled { 1613 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14] 1614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1615 ms.StoreMessageInfo(mi) 1616 } 1617} 1618 1619func (x *GetWorkflowTemplateRequest) String() string { 1620 return protoimpl.X.MessageStringOf(x) 1621} 1622 1623func (*GetWorkflowTemplateRequest) ProtoMessage() {} 1624 1625func (x *GetWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 1626 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14] 1627 if protoimpl.UnsafeEnabled && x != nil { 1628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1629 if ms.LoadMessageInfo() == nil { 1630 ms.StoreMessageInfo(mi) 1631 } 1632 return ms 1633 } 1634 return mi.MessageOf(x) 1635} 1636 1637// Deprecated: Use GetWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 1638func (*GetWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 1639 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{14} 1640} 1641 1642func (x *GetWorkflowTemplateRequest) GetName() string { 1643 if x != nil { 1644 return x.Name 1645 } 1646 return "" 1647} 1648 1649func (x *GetWorkflowTemplateRequest) GetVersion() int32 { 1650 if x != nil { 1651 return x.Version 1652 } 1653 return 0 1654} 1655 1656// A request to instantiate a workflow template. 1657type InstantiateWorkflowTemplateRequest struct { 1658 state protoimpl.MessageState 1659 sizeCache protoimpl.SizeCache 1660 unknownFields protoimpl.UnknownFields 1661 1662 // Required. The resource name of the workflow template, as described 1663 // in https://cloud.google.com/apis/design/resource_names. 1664 // 1665 // * For `projects.regions.workflowTemplates.instantiate`, the resource name 1666 // of the template has the following format: 1667 // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` 1668 // 1669 // * For `projects.locations.workflowTemplates.instantiate`, the resource name 1670 // of the template has the following format: 1671 // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` 1672 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1673 // Optional. The version of workflow template to instantiate. If specified, 1674 // the workflow will be instantiated only if the current version of 1675 // the workflow template has the supplied version. 1676 // 1677 // This option cannot be used to instantiate a previous version of 1678 // workflow template. 1679 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 1680 // Deprecated. Please use `request_id` field instead. 1681 // 1682 // Deprecated: Do not use. 1683 InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` 1684 // Optional. A tag that prevents multiple concurrent workflow 1685 // instances with the same tag from running. This mitigates risk of 1686 // concurrent instances started due to retries. 1687 // 1688 // It is recommended to always set this value to a 1689 // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). 1690 // 1691 // The tag must contain only letters (a-z, A-Z), numbers (0-9), 1692 // underscores (_), and hyphens (-). The maximum length is 40 characters. 1693 RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1694 // Optional. Map from parameter names to values that should be used for those 1695 // parameters. Values may not exceed 100 characters. 1696 Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1697} 1698 1699func (x *InstantiateWorkflowTemplateRequest) Reset() { 1700 *x = InstantiateWorkflowTemplateRequest{} 1701 if protoimpl.UnsafeEnabled { 1702 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15] 1703 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1704 ms.StoreMessageInfo(mi) 1705 } 1706} 1707 1708func (x *InstantiateWorkflowTemplateRequest) String() string { 1709 return protoimpl.X.MessageStringOf(x) 1710} 1711 1712func (*InstantiateWorkflowTemplateRequest) ProtoMessage() {} 1713 1714func (x *InstantiateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 1715 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15] 1716 if protoimpl.UnsafeEnabled && x != nil { 1717 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1718 if ms.LoadMessageInfo() == nil { 1719 ms.StoreMessageInfo(mi) 1720 } 1721 return ms 1722 } 1723 return mi.MessageOf(x) 1724} 1725 1726// Deprecated: Use InstantiateWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 1727func (*InstantiateWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 1728 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{15} 1729} 1730 1731func (x *InstantiateWorkflowTemplateRequest) GetName() string { 1732 if x != nil { 1733 return x.Name 1734 } 1735 return "" 1736} 1737 1738func (x *InstantiateWorkflowTemplateRequest) GetVersion() int32 { 1739 if x != nil { 1740 return x.Version 1741 } 1742 return 0 1743} 1744 1745// Deprecated: Do not use. 1746func (x *InstantiateWorkflowTemplateRequest) GetInstanceId() string { 1747 if x != nil { 1748 return x.InstanceId 1749 } 1750 return "" 1751} 1752 1753func (x *InstantiateWorkflowTemplateRequest) GetRequestId() string { 1754 if x != nil { 1755 return x.RequestId 1756 } 1757 return "" 1758} 1759 1760func (x *InstantiateWorkflowTemplateRequest) GetParameters() map[string]string { 1761 if x != nil { 1762 return x.Parameters 1763 } 1764 return nil 1765} 1766 1767// A request to instantiate an inline workflow template. 1768type InstantiateInlineWorkflowTemplateRequest struct { 1769 state protoimpl.MessageState 1770 sizeCache protoimpl.SizeCache 1771 unknownFields protoimpl.UnknownFields 1772 1773 // Required. The resource name of the region or location, as described 1774 // in https://cloud.google.com/apis/design/resource_names. 1775 // 1776 // * For `projects.regions.workflowTemplates,instantiateinline`, the resource 1777 // name of the region has the following format: 1778 // `projects/{project_id}/regions/{region}` 1779 // 1780 // * For `projects.locations.workflowTemplates.instantiateinline`, the 1781 // resource name of the location has the following format: 1782 // `projects/{project_id}/locations/{location}` 1783 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1784 // Required. The workflow template to instantiate. 1785 Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` 1786 // Deprecated. Please use `request_id` field instead. 1787 InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` 1788 // Optional. A tag that prevents multiple concurrent workflow 1789 // instances with the same tag from running. This mitigates risk of 1790 // concurrent instances started due to retries. 1791 // 1792 // It is recommended to always set this value to a 1793 // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). 1794 // 1795 // The tag must contain only letters (a-z, A-Z), numbers (0-9), 1796 // underscores (_), and hyphens (-). The maximum length is 40 characters. 1797 RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1798} 1799 1800func (x *InstantiateInlineWorkflowTemplateRequest) Reset() { 1801 *x = InstantiateInlineWorkflowTemplateRequest{} 1802 if protoimpl.UnsafeEnabled { 1803 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16] 1804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1805 ms.StoreMessageInfo(mi) 1806 } 1807} 1808 1809func (x *InstantiateInlineWorkflowTemplateRequest) String() string { 1810 return protoimpl.X.MessageStringOf(x) 1811} 1812 1813func (*InstantiateInlineWorkflowTemplateRequest) ProtoMessage() {} 1814 1815func (x *InstantiateInlineWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 1816 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16] 1817 if protoimpl.UnsafeEnabled && x != nil { 1818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1819 if ms.LoadMessageInfo() == nil { 1820 ms.StoreMessageInfo(mi) 1821 } 1822 return ms 1823 } 1824 return mi.MessageOf(x) 1825} 1826 1827// Deprecated: Use InstantiateInlineWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 1828func (*InstantiateInlineWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 1829 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{16} 1830} 1831 1832func (x *InstantiateInlineWorkflowTemplateRequest) GetParent() string { 1833 if x != nil { 1834 return x.Parent 1835 } 1836 return "" 1837} 1838 1839func (x *InstantiateInlineWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate { 1840 if x != nil { 1841 return x.Template 1842 } 1843 return nil 1844} 1845 1846func (x *InstantiateInlineWorkflowTemplateRequest) GetInstanceId() string { 1847 if x != nil { 1848 return x.InstanceId 1849 } 1850 return "" 1851} 1852 1853func (x *InstantiateInlineWorkflowTemplateRequest) GetRequestId() string { 1854 if x != nil { 1855 return x.RequestId 1856 } 1857 return "" 1858} 1859 1860// A request to update a workflow template. 1861type UpdateWorkflowTemplateRequest struct { 1862 state protoimpl.MessageState 1863 sizeCache protoimpl.SizeCache 1864 unknownFields protoimpl.UnknownFields 1865 1866 // Required. The updated workflow template. 1867 // 1868 // The `template.version` field must match the current version. 1869 Template *WorkflowTemplate `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"` 1870} 1871 1872func (x *UpdateWorkflowTemplateRequest) Reset() { 1873 *x = UpdateWorkflowTemplateRequest{} 1874 if protoimpl.UnsafeEnabled { 1875 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17] 1876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1877 ms.StoreMessageInfo(mi) 1878 } 1879} 1880 1881func (x *UpdateWorkflowTemplateRequest) String() string { 1882 return protoimpl.X.MessageStringOf(x) 1883} 1884 1885func (*UpdateWorkflowTemplateRequest) ProtoMessage() {} 1886 1887func (x *UpdateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 1888 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17] 1889 if protoimpl.UnsafeEnabled && x != nil { 1890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1891 if ms.LoadMessageInfo() == nil { 1892 ms.StoreMessageInfo(mi) 1893 } 1894 return ms 1895 } 1896 return mi.MessageOf(x) 1897} 1898 1899// Deprecated: Use UpdateWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 1900func (*UpdateWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 1901 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{17} 1902} 1903 1904func (x *UpdateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate { 1905 if x != nil { 1906 return x.Template 1907 } 1908 return nil 1909} 1910 1911// A request to list workflow templates in a project. 1912type ListWorkflowTemplatesRequest struct { 1913 state protoimpl.MessageState 1914 sizeCache protoimpl.SizeCache 1915 unknownFields protoimpl.UnknownFields 1916 1917 // Required. The resource name of the region or location, as described 1918 // in https://cloud.google.com/apis/design/resource_names. 1919 // 1920 // * For `projects.regions.workflowTemplates,list`, the resource 1921 // name of the region has the following format: 1922 // `projects/{project_id}/regions/{region}` 1923 // 1924 // * For `projects.locations.workflowTemplates.list`, the 1925 // resource name of the location has the following format: 1926 // `projects/{project_id}/locations/{location}` 1927 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1928 // Optional. The maximum number of results to return in each response. 1929 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1930 // Optional. The page token, returned by a previous call, to request the 1931 // next page of results. 1932 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1933} 1934 1935func (x *ListWorkflowTemplatesRequest) Reset() { 1936 *x = ListWorkflowTemplatesRequest{} 1937 if protoimpl.UnsafeEnabled { 1938 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18] 1939 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1940 ms.StoreMessageInfo(mi) 1941 } 1942} 1943 1944func (x *ListWorkflowTemplatesRequest) String() string { 1945 return protoimpl.X.MessageStringOf(x) 1946} 1947 1948func (*ListWorkflowTemplatesRequest) ProtoMessage() {} 1949 1950func (x *ListWorkflowTemplatesRequest) ProtoReflect() protoreflect.Message { 1951 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18] 1952 if protoimpl.UnsafeEnabled && x != nil { 1953 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1954 if ms.LoadMessageInfo() == nil { 1955 ms.StoreMessageInfo(mi) 1956 } 1957 return ms 1958 } 1959 return mi.MessageOf(x) 1960} 1961 1962// Deprecated: Use ListWorkflowTemplatesRequest.ProtoReflect.Descriptor instead. 1963func (*ListWorkflowTemplatesRequest) Descriptor() ([]byte, []int) { 1964 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{18} 1965} 1966 1967func (x *ListWorkflowTemplatesRequest) GetParent() string { 1968 if x != nil { 1969 return x.Parent 1970 } 1971 return "" 1972} 1973 1974func (x *ListWorkflowTemplatesRequest) GetPageSize() int32 { 1975 if x != nil { 1976 return x.PageSize 1977 } 1978 return 0 1979} 1980 1981func (x *ListWorkflowTemplatesRequest) GetPageToken() string { 1982 if x != nil { 1983 return x.PageToken 1984 } 1985 return "" 1986} 1987 1988// A response to a request to list workflow templates in a project. 1989type ListWorkflowTemplatesResponse struct { 1990 state protoimpl.MessageState 1991 sizeCache protoimpl.SizeCache 1992 unknownFields protoimpl.UnknownFields 1993 1994 // Output only. WorkflowTemplates list. 1995 Templates []*WorkflowTemplate `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"` 1996 // Output only. This token is included in the response if there are more 1997 // results to fetch. To fetch additional results, provide this value as the 1998 // page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>. 1999 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2000} 2001 2002func (x *ListWorkflowTemplatesResponse) Reset() { 2003 *x = ListWorkflowTemplatesResponse{} 2004 if protoimpl.UnsafeEnabled { 2005 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19] 2006 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2007 ms.StoreMessageInfo(mi) 2008 } 2009} 2010 2011func (x *ListWorkflowTemplatesResponse) String() string { 2012 return protoimpl.X.MessageStringOf(x) 2013} 2014 2015func (*ListWorkflowTemplatesResponse) ProtoMessage() {} 2016 2017func (x *ListWorkflowTemplatesResponse) ProtoReflect() protoreflect.Message { 2018 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19] 2019 if protoimpl.UnsafeEnabled && x != nil { 2020 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2021 if ms.LoadMessageInfo() == nil { 2022 ms.StoreMessageInfo(mi) 2023 } 2024 return ms 2025 } 2026 return mi.MessageOf(x) 2027} 2028 2029// Deprecated: Use ListWorkflowTemplatesResponse.ProtoReflect.Descriptor instead. 2030func (*ListWorkflowTemplatesResponse) Descriptor() ([]byte, []int) { 2031 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{19} 2032} 2033 2034func (x *ListWorkflowTemplatesResponse) GetTemplates() []*WorkflowTemplate { 2035 if x != nil { 2036 return x.Templates 2037 } 2038 return nil 2039} 2040 2041func (x *ListWorkflowTemplatesResponse) GetNextPageToken() string { 2042 if x != nil { 2043 return x.NextPageToken 2044 } 2045 return "" 2046} 2047 2048// A request to delete a workflow template. 2049// 2050// Currently started workflows will remain running. 2051type DeleteWorkflowTemplateRequest struct { 2052 state protoimpl.MessageState 2053 sizeCache protoimpl.SizeCache 2054 unknownFields protoimpl.UnknownFields 2055 2056 // Required. The resource name of the workflow template, as described 2057 // in https://cloud.google.com/apis/design/resource_names. 2058 // 2059 // * For `projects.regions.workflowTemplates.delete`, the resource name 2060 // of the template has the following format: 2061 // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` 2062 // 2063 // * For `projects.locations.workflowTemplates.instantiate`, the resource name 2064 // of the template has the following format: 2065 // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` 2066 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2067 // Optional. The version of workflow template to delete. If specified, 2068 // will only delete the template if the current server version matches 2069 // specified version. 2070 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 2071} 2072 2073func (x *DeleteWorkflowTemplateRequest) Reset() { 2074 *x = DeleteWorkflowTemplateRequest{} 2075 if protoimpl.UnsafeEnabled { 2076 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20] 2077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2078 ms.StoreMessageInfo(mi) 2079 } 2080} 2081 2082func (x *DeleteWorkflowTemplateRequest) String() string { 2083 return protoimpl.X.MessageStringOf(x) 2084} 2085 2086func (*DeleteWorkflowTemplateRequest) ProtoMessage() {} 2087 2088func (x *DeleteWorkflowTemplateRequest) ProtoReflect() protoreflect.Message { 2089 mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20] 2090 if protoimpl.UnsafeEnabled && x != nil { 2091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2092 if ms.LoadMessageInfo() == nil { 2093 ms.StoreMessageInfo(mi) 2094 } 2095 return ms 2096 } 2097 return mi.MessageOf(x) 2098} 2099 2100// Deprecated: Use DeleteWorkflowTemplateRequest.ProtoReflect.Descriptor instead. 2101func (*DeleteWorkflowTemplateRequest) Descriptor() ([]byte, []int) { 2102 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{20} 2103} 2104 2105func (x *DeleteWorkflowTemplateRequest) GetName() string { 2106 if x != nil { 2107 return x.Name 2108 } 2109 return "" 2110} 2111 2112func (x *DeleteWorkflowTemplateRequest) GetVersion() int32 { 2113 if x != nil { 2114 return x.Version 2115 } 2116 return 0 2117} 2118 2119var File_google_cloud_dataproc_v1beta2_workflow_templates_proto protoreflect.FileDescriptor 2120 2121var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = []byte{ 2122 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 2123 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 2124 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 2125 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2126 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 2127 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2128 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 2129 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 2130 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 2131 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 2132 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2133 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 2134 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 2135 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 2136 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 2137 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2138 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 2139 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f, 2140 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 2141 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2142 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2143 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2144 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2145 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 2146 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 2147 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 2148 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x06, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 2149 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 2150 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 2151 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2152 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 2153 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 2154 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 2155 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 2156 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 2157 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 2158 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 2159 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2160 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2161 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2162 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x6c, 2163 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 2164 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 2165 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 2166 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 2167 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 2168 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 2169 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2170 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2171 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 2172 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 2173 0x6e, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 2174 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 2175 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 2176 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65, 2177 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x55, 0x0a, 0x0a, 2178 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 2179 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2180 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 2181 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 2182 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 2183 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x64, 0x61, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 2184 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2185 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 2186 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x67, 0x54, 0x69, 0x6d, 2187 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 2188 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2189 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 2190 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 2191 0xca, 0x01, 0xea, 0x41, 0xc6, 0x01, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2192 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2193 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2194 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 2195 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 2196 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2197 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 2198 0x77, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x4d, 0x70, 0x72, 0x6f, 2199 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 2200 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2201 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 2202 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 2203 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x20, 0x01, 0x22, 0xdf, 0x01, 0x0a, 2204 0x19, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 2205 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x6d, 0x61, 2206 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 2207 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2208 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 2209 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 2210 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 2211 0x73, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 2212 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 2213 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 2214 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 2215 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 2216 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 2217 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 2218 0x02, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 2219 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 2220 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 2221 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 2222 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2223 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 2224 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 2225 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 2226 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 2227 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 2228 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 2229 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 2230 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 2231 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 2232 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 2233 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 2234 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 2235 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 2236 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 2237 0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 2238 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2239 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2240 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 2241 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 2242 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x75, 2243 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 2244 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 2245 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 2246 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 2247 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xca, 0x07, 0x0a, 2248 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x07, 0x73, 2249 0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 2250 0x02, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0a, 0x68, 0x61, 0x64, 2251 0x6f, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 2252 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2253 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x61, 2254 0x64, 0x6f, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 2255 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x70, 0x61, 2256 0x72, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 2257 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 2258 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 2259 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x70, 2260 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x51, 0x0a, 0x0b, 0x70, 0x79, 0x73, 0x70, 0x61, 0x72, 2261 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 2262 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 2263 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x79, 0x53, 0x70, 2264 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x70, 2265 0x79, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x48, 0x0a, 0x08, 0x68, 0x69, 0x76, 2266 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 2267 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 2268 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x69, 0x76, 0x65, 2269 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x76, 0x65, 2270 0x4a, 0x6f, 0x62, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x69, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 2271 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2272 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 2273 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x69, 0x67, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 2274 0x48, 0x00, 0x52, 0x06, 0x70, 0x69, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x70, 2275 0x61, 0x72, 0x6b, 0x5f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 2276 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 2277 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 2278 0x53, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 2279 0x52, 0x09, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x12, 0x55, 0x0a, 0x0d, 0x73, 2280 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 2281 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2282 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2283 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a, 0x6f, 0x62, 0x42, 0x03, 2284 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a, 2285 0x6f, 0x62, 0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x5f, 0x6a, 0x6f, 0x62, 2286 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2287 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 2288 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a, 0x6f, 0x62, 2289 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a, 2290 0x6f, 0x62, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 2291 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2292 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2293 0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 2294 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 2295 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 2296 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 2297 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 2298 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x63, 2299 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x73, 2300 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65, 2301 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 2302 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x70, 2303 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49, 2304 0x64, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 2305 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 2306 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 2307 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 2308 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x54, 0x65, 2309 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 2310 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 2311 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 2312 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 2313 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2314 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 2315 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 2316 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2317 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2318 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 2319 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 2320 0x6e, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 2321 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x67, 2322 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2323 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2324 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 2325 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 2326 0x78, 0x12, 0x48, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 2327 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2328 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2329 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 2330 0x6e, 0x48, 0x00, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x76, 2331 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 2332 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 2333 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 2334 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x22, 0x29, 0x0a, 0x0f, 0x56, 2335 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 2336 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 2337 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x98, 0x08, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2338 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x08, 0x74, 2339 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2340 0x41, 0x03, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x07, 2341 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 2342 0x41, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x63, 2343 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 2344 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2345 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 2346 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 2347 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 2348 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70, 2349 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2350 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 2351 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 2352 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x67, 0x72, 0x61, 0x70, 2353 0x68, 0x12, 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 2354 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2355 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 2356 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 2357 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2358 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x50, 2359 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 2360 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2361 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 2362 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 2363 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 2364 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 2365 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75, 2366 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 2367 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 2368 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 2369 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 2370 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x61, 2371 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 2372 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 2373 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2374 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2375 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 2376 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 2377 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2378 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2379 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 2380 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 2381 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 2382 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x3f, 0x0a, 2383 0x0b, 0x64, 0x61, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 2384 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2385 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 2386 0x41, 0x03, 0x52, 0x0a, 0x64, 0x61, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 2387 0x0a, 0x0e, 0x64, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2388 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2389 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2390 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x64, 0x61, 0x67, 0x53, 0x74, 0x61, 0x72, 2391 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x61, 0x67, 0x5f, 0x65, 0x6e, 0x64, 2392 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2393 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2394 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x61, 2395 0x67, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 2396 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 2397 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 2398 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 2399 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 2400 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 2401 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 2402 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 2403 0x03, 0x22, 0x6e, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 2404 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 2405 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 2406 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 2407 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 2408 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 2409 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x64, 0x6f, 0x6e, 2410 0x65, 0x22, 0x57, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61, 2411 0x70, 0x68, 0x12, 0x46, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2412 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2413 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2414 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x03, 2415 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x0c, 0x57, 2416 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x73, 2417 0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 2418 0x03, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65, 2419 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 2420 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 2421 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49, 2422 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 2423 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x50, 2424 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 2425 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2426 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 2427 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 2428 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 2429 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 2430 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x09, 0x4e, 2431 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x44, 0x45, 2432 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 2433 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 2434 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x55, 0x4e, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 2435 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 2436 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 2437 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xbb, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 2438 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 2439 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 2440 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 2441 0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 2442 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 2443 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 2444 0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2445 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2446 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 2447 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 2448 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 2449 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x7c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 2450 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 2451 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 2452 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 2453 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2454 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 2455 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 2456 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 2457 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 2458 0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 2459 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 2460 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 2461 0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2462 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2463 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 2464 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 2465 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x69, 2466 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2467 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 2468 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 2469 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 2470 0x71, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 2471 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2472 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 2473 0x74, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57, 2474 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 2475 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 2476 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 2477 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 2478 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 2479 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 2480 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 2481 0x01, 0x22, 0x86, 0x02, 0x0a, 0x28, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 2482 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 2483 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 2484 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 2485 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2486 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2487 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2488 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 2489 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 2490 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 2491 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2492 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 2493 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 2494 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 2495 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 2496 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 2497 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1d, 0x55, 0x70, 2498 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 2499 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 2500 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 2501 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2502 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 2503 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 2504 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01, 2505 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2506 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 2507 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 2508 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 2509 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2510 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2511 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 2512 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 2513 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 2514 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 2515 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 2516 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 2517 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 2518 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2519 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 2520 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 2521 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2522 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 2523 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 2524 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 2525 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 2526 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 2527 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2528 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 2529 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 2530 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 2531 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 2532 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 2533 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xe9, 0x11, 0x0a, 0x17, 0x57, 0x6f, 0x72, 2534 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 2535 0x76, 0x69, 0x63, 0x65, 0x12, 0xb0, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 2536 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 2537 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 2538 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 2539 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2540 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 2541 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2542 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 2543 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa6, 2544 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8c, 0x01, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 2545 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2546 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 2547 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 2548 0x65, 0x73, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x46, 0x22, 0x3a, 2549 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2550 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 2551 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 2552 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 2553 0x6c, 0x61, 0x74, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74, 2554 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x89, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 2555 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 2556 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 2557 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 2558 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 2559 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 2560 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 2561 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2562 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x85, 0x01, 0x82, 0xd3, 2563 0xe4, 0x93, 0x02, 0x78, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 2564 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 2565 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 2566 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3c, 2567 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 2568 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 2569 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 2570 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 2571 0x61, 0x6d, 0x65, 0x12, 0xe5, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 2572 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 2573 0x61, 0x74, 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2574 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 2575 0x74, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57, 2576 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 2577 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2578 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 2579 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x22, 2580 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2581 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 2582 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 2583 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 2584 0x74, 0x69, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x62, 2585 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2586 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2587 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 2588 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 2589 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x10, 0x6e, 2590 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0xca, 2591 0x41, 0x29, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2592 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2593 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x84, 0x03, 0x0a, 0x21, 2594 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 2595 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 2596 0x65, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2597 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2598 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 2599 0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 2600 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 2601 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 2602 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x82, 0xd3, 0xe4, 0x93, 2603 0x02, 0xb0, 0x01, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 2604 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 2605 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 2606 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 2607 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 2608 0x65, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x56, 0x22, 0x4a, 0x2f, 2609 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2610 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 2611 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2612 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 2613 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 2614 0x61, 0x74, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x65, 2615 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xca, 0x41, 0x29, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2616 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 2617 0x12, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 2618 0x74, 0x61, 0x12, 0xba, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 2619 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 2620 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 2621 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x55, 0x70, 2622 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 2623 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 2624 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 2625 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 2626 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xb0, 0x01, 0x82, 2627 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x1a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 2628 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2629 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 2630 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 2631 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 2632 0x61, 0x74, 0x65, 0x5a, 0x4f, 0x1a, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 2633 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 2634 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 2635 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2636 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 2637 0x6c, 0x61, 0x74, 0x65, 0xda, 0x41, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 2638 0x9c, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 2639 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2640 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 2641 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 2642 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 2643 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2644 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 2645 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 2646 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 2647 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x12, 0x38, 0x2f, 2648 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2649 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 2650 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 2651 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 2652 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2653 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2654 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 2655 0x6c, 0x61, 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf6, 2656 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 2657 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2658 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 2659 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 2660 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2661 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2662 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 2663 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 2664 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2665 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 2666 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 2667 0x2a, 0x7d, 0x5a, 0x3c, 0x2a, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 2668 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 2669 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 2670 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 2671 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x4b, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 2672 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2673 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 2674 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2675 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 2676 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x84, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2677 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 2678 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x16, 0x57, 0x6f, 0x72, 0x6b, 2679 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 2680 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 2681 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2682 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 2683 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 2684 0x61, 0x32, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 2685 0x74, 0x6f, 0x33, 2686} 2687 2688var ( 2689 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce sync.Once 2690 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc 2691) 2692 2693func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP() []byte { 2694 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce.Do(func() { 2695 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData) 2696 }) 2697 return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData 2698} 2699 2700var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 2701var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 2702var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = []interface{}{ 2703 (WorkflowMetadata_State)(0), // 0: google.cloud.dataproc.v1beta2.WorkflowMetadata.State 2704 (WorkflowNode_NodeState)(0), // 1: google.cloud.dataproc.v1beta2.WorkflowNode.NodeState 2705 (*WorkflowTemplate)(nil), // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate 2706 (*WorkflowTemplatePlacement)(nil), // 3: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement 2707 (*ManagedCluster)(nil), // 4: google.cloud.dataproc.v1beta2.ManagedCluster 2708 (*ClusterSelector)(nil), // 5: google.cloud.dataproc.v1beta2.ClusterSelector 2709 (*OrderedJob)(nil), // 6: google.cloud.dataproc.v1beta2.OrderedJob 2710 (*TemplateParameter)(nil), // 7: google.cloud.dataproc.v1beta2.TemplateParameter 2711 (*ParameterValidation)(nil), // 8: google.cloud.dataproc.v1beta2.ParameterValidation 2712 (*RegexValidation)(nil), // 9: google.cloud.dataproc.v1beta2.RegexValidation 2713 (*ValueValidation)(nil), // 10: google.cloud.dataproc.v1beta2.ValueValidation 2714 (*WorkflowMetadata)(nil), // 11: google.cloud.dataproc.v1beta2.WorkflowMetadata 2715 (*ClusterOperation)(nil), // 12: google.cloud.dataproc.v1beta2.ClusterOperation 2716 (*WorkflowGraph)(nil), // 13: google.cloud.dataproc.v1beta2.WorkflowGraph 2717 (*WorkflowNode)(nil), // 14: google.cloud.dataproc.v1beta2.WorkflowNode 2718 (*CreateWorkflowTemplateRequest)(nil), // 15: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest 2719 (*GetWorkflowTemplateRequest)(nil), // 16: google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest 2720 (*InstantiateWorkflowTemplateRequest)(nil), // 17: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest 2721 (*InstantiateInlineWorkflowTemplateRequest)(nil), // 18: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest 2722 (*UpdateWorkflowTemplateRequest)(nil), // 19: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest 2723 (*ListWorkflowTemplatesRequest)(nil), // 20: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest 2724 (*ListWorkflowTemplatesResponse)(nil), // 21: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse 2725 (*DeleteWorkflowTemplateRequest)(nil), // 22: google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest 2726 nil, // 23: google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry 2727 nil, // 24: google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry 2728 nil, // 25: google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry 2729 nil, // 26: google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry 2730 nil, // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry 2731 nil, // 28: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry 2732 (*timestamppb.Timestamp)(nil), // 29: google.protobuf.Timestamp 2733 (*durationpb.Duration)(nil), // 30: google.protobuf.Duration 2734 (*ClusterConfig)(nil), // 31: google.cloud.dataproc.v1beta2.ClusterConfig 2735 (*HadoopJob)(nil), // 32: google.cloud.dataproc.v1beta2.HadoopJob 2736 (*SparkJob)(nil), // 33: google.cloud.dataproc.v1beta2.SparkJob 2737 (*PySparkJob)(nil), // 34: google.cloud.dataproc.v1beta2.PySparkJob 2738 (*HiveJob)(nil), // 35: google.cloud.dataproc.v1beta2.HiveJob 2739 (*PigJob)(nil), // 36: google.cloud.dataproc.v1beta2.PigJob 2740 (*SparkRJob)(nil), // 37: google.cloud.dataproc.v1beta2.SparkRJob 2741 (*SparkSqlJob)(nil), // 38: google.cloud.dataproc.v1beta2.SparkSqlJob 2742 (*PrestoJob)(nil), // 39: google.cloud.dataproc.v1beta2.PrestoJob 2743 (*JobScheduling)(nil), // 40: google.cloud.dataproc.v1beta2.JobScheduling 2744 (*longrunning.Operation)(nil), // 41: google.longrunning.Operation 2745 (*emptypb.Empty)(nil), // 42: google.protobuf.Empty 2746} 2747var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = []int32{ 2748 29, // 0: google.cloud.dataproc.v1beta2.WorkflowTemplate.create_time:type_name -> google.protobuf.Timestamp 2749 29, // 1: google.cloud.dataproc.v1beta2.WorkflowTemplate.update_time:type_name -> google.protobuf.Timestamp 2750 23, // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate.labels:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry 2751 3, // 3: google.cloud.dataproc.v1beta2.WorkflowTemplate.placement:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement 2752 6, // 4: google.cloud.dataproc.v1beta2.WorkflowTemplate.jobs:type_name -> google.cloud.dataproc.v1beta2.OrderedJob 2753 7, // 5: google.cloud.dataproc.v1beta2.WorkflowTemplate.parameters:type_name -> google.cloud.dataproc.v1beta2.TemplateParameter 2754 30, // 6: google.cloud.dataproc.v1beta2.WorkflowTemplate.dag_timeout:type_name -> google.protobuf.Duration 2755 4, // 7: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.managed_cluster:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster 2756 5, // 8: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.cluster_selector:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector 2757 31, // 9: google.cloud.dataproc.v1beta2.ManagedCluster.config:type_name -> google.cloud.dataproc.v1beta2.ClusterConfig 2758 24, // 10: google.cloud.dataproc.v1beta2.ManagedCluster.labels:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry 2759 25, // 11: google.cloud.dataproc.v1beta2.ClusterSelector.cluster_labels:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry 2760 32, // 12: google.cloud.dataproc.v1beta2.OrderedJob.hadoop_job:type_name -> google.cloud.dataproc.v1beta2.HadoopJob 2761 33, // 13: google.cloud.dataproc.v1beta2.OrderedJob.spark_job:type_name -> google.cloud.dataproc.v1beta2.SparkJob 2762 34, // 14: google.cloud.dataproc.v1beta2.OrderedJob.pyspark_job:type_name -> google.cloud.dataproc.v1beta2.PySparkJob 2763 35, // 15: google.cloud.dataproc.v1beta2.OrderedJob.hive_job:type_name -> google.cloud.dataproc.v1beta2.HiveJob 2764 36, // 16: google.cloud.dataproc.v1beta2.OrderedJob.pig_job:type_name -> google.cloud.dataproc.v1beta2.PigJob 2765 37, // 17: google.cloud.dataproc.v1beta2.OrderedJob.spark_r_job:type_name -> google.cloud.dataproc.v1beta2.SparkRJob 2766 38, // 18: google.cloud.dataproc.v1beta2.OrderedJob.spark_sql_job:type_name -> google.cloud.dataproc.v1beta2.SparkSqlJob 2767 39, // 19: google.cloud.dataproc.v1beta2.OrderedJob.presto_job:type_name -> google.cloud.dataproc.v1beta2.PrestoJob 2768 26, // 20: google.cloud.dataproc.v1beta2.OrderedJob.labels:type_name -> google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry 2769 40, // 21: google.cloud.dataproc.v1beta2.OrderedJob.scheduling:type_name -> google.cloud.dataproc.v1beta2.JobScheduling 2770 8, // 22: google.cloud.dataproc.v1beta2.TemplateParameter.validation:type_name -> google.cloud.dataproc.v1beta2.ParameterValidation 2771 9, // 23: google.cloud.dataproc.v1beta2.ParameterValidation.regex:type_name -> google.cloud.dataproc.v1beta2.RegexValidation 2772 10, // 24: google.cloud.dataproc.v1beta2.ParameterValidation.values:type_name -> google.cloud.dataproc.v1beta2.ValueValidation 2773 12, // 25: google.cloud.dataproc.v1beta2.WorkflowMetadata.create_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation 2774 13, // 26: google.cloud.dataproc.v1beta2.WorkflowMetadata.graph:type_name -> google.cloud.dataproc.v1beta2.WorkflowGraph 2775 12, // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.delete_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation 2776 0, // 28: google.cloud.dataproc.v1beta2.WorkflowMetadata.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.State 2777 27, // 29: google.cloud.dataproc.v1beta2.WorkflowMetadata.parameters:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry 2778 29, // 30: google.cloud.dataproc.v1beta2.WorkflowMetadata.start_time:type_name -> google.protobuf.Timestamp 2779 29, // 31: google.cloud.dataproc.v1beta2.WorkflowMetadata.end_time:type_name -> google.protobuf.Timestamp 2780 30, // 32: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_timeout:type_name -> google.protobuf.Duration 2781 29, // 33: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_start_time:type_name -> google.protobuf.Timestamp 2782 29, // 34: google.cloud.dataproc.v1beta2.WorkflowMetadata.dag_end_time:type_name -> google.protobuf.Timestamp 2783 14, // 35: google.cloud.dataproc.v1beta2.WorkflowGraph.nodes:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode 2784 1, // 36: google.cloud.dataproc.v1beta2.WorkflowNode.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode.NodeState 2785 2, // 37: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2786 28, // 38: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.parameters:type_name -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry 2787 2, // 39: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2788 2, // 40: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2789 2, // 41: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse.templates:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2790 15, // 42: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest 2791 16, // 43: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest 2792 17, // 44: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest 2793 18, // 45: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest 2794 19, // 46: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest 2795 20, // 47: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:input_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest 2796 22, // 48: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest 2797 2, // 49: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2798 2, // 50: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2799 41, // 51: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:output_type -> google.longrunning.Operation 2800 41, // 52: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:output_type -> google.longrunning.Operation 2801 2, // 53: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate 2802 21, // 54: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:output_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse 2803 42, // 55: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:output_type -> google.protobuf.Empty 2804 49, // [49:56] is the sub-list for method output_type 2805 42, // [42:49] is the sub-list for method input_type 2806 42, // [42:42] is the sub-list for extension type_name 2807 42, // [42:42] is the sub-list for extension extendee 2808 0, // [0:42] is the sub-list for field type_name 2809} 2810 2811func init() { file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() } 2812func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() { 2813 if File_google_cloud_dataproc_v1beta2_workflow_templates_proto != nil { 2814 return 2815 } 2816 file_google_cloud_dataproc_v1beta2_clusters_proto_init() 2817 file_google_cloud_dataproc_v1beta2_jobs_proto_init() 2818 if !protoimpl.UnsafeEnabled { 2819 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2820 switch v := v.(*WorkflowTemplate); i { 2821 case 0: 2822 return &v.state 2823 case 1: 2824 return &v.sizeCache 2825 case 2: 2826 return &v.unknownFields 2827 default: 2828 return nil 2829 } 2830 } 2831 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2832 switch v := v.(*WorkflowTemplatePlacement); i { 2833 case 0: 2834 return &v.state 2835 case 1: 2836 return &v.sizeCache 2837 case 2: 2838 return &v.unknownFields 2839 default: 2840 return nil 2841 } 2842 } 2843 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2844 switch v := v.(*ManagedCluster); i { 2845 case 0: 2846 return &v.state 2847 case 1: 2848 return &v.sizeCache 2849 case 2: 2850 return &v.unknownFields 2851 default: 2852 return nil 2853 } 2854 } 2855 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2856 switch v := v.(*ClusterSelector); i { 2857 case 0: 2858 return &v.state 2859 case 1: 2860 return &v.sizeCache 2861 case 2: 2862 return &v.unknownFields 2863 default: 2864 return nil 2865 } 2866 } 2867 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2868 switch v := v.(*OrderedJob); i { 2869 case 0: 2870 return &v.state 2871 case 1: 2872 return &v.sizeCache 2873 case 2: 2874 return &v.unknownFields 2875 default: 2876 return nil 2877 } 2878 } 2879 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2880 switch v := v.(*TemplateParameter); i { 2881 case 0: 2882 return &v.state 2883 case 1: 2884 return &v.sizeCache 2885 case 2: 2886 return &v.unknownFields 2887 default: 2888 return nil 2889 } 2890 } 2891 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2892 switch v := v.(*ParameterValidation); i { 2893 case 0: 2894 return &v.state 2895 case 1: 2896 return &v.sizeCache 2897 case 2: 2898 return &v.unknownFields 2899 default: 2900 return nil 2901 } 2902 } 2903 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2904 switch v := v.(*RegexValidation); i { 2905 case 0: 2906 return &v.state 2907 case 1: 2908 return &v.sizeCache 2909 case 2: 2910 return &v.unknownFields 2911 default: 2912 return nil 2913 } 2914 } 2915 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2916 switch v := v.(*ValueValidation); i { 2917 case 0: 2918 return &v.state 2919 case 1: 2920 return &v.sizeCache 2921 case 2: 2922 return &v.unknownFields 2923 default: 2924 return nil 2925 } 2926 } 2927 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2928 switch v := v.(*WorkflowMetadata); i { 2929 case 0: 2930 return &v.state 2931 case 1: 2932 return &v.sizeCache 2933 case 2: 2934 return &v.unknownFields 2935 default: 2936 return nil 2937 } 2938 } 2939 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2940 switch v := v.(*ClusterOperation); i { 2941 case 0: 2942 return &v.state 2943 case 1: 2944 return &v.sizeCache 2945 case 2: 2946 return &v.unknownFields 2947 default: 2948 return nil 2949 } 2950 } 2951 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2952 switch v := v.(*WorkflowGraph); i { 2953 case 0: 2954 return &v.state 2955 case 1: 2956 return &v.sizeCache 2957 case 2: 2958 return &v.unknownFields 2959 default: 2960 return nil 2961 } 2962 } 2963 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2964 switch v := v.(*WorkflowNode); i { 2965 case 0: 2966 return &v.state 2967 case 1: 2968 return &v.sizeCache 2969 case 2: 2970 return &v.unknownFields 2971 default: 2972 return nil 2973 } 2974 } 2975 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2976 switch v := v.(*CreateWorkflowTemplateRequest); i { 2977 case 0: 2978 return &v.state 2979 case 1: 2980 return &v.sizeCache 2981 case 2: 2982 return &v.unknownFields 2983 default: 2984 return nil 2985 } 2986 } 2987 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2988 switch v := v.(*GetWorkflowTemplateRequest); i { 2989 case 0: 2990 return &v.state 2991 case 1: 2992 return &v.sizeCache 2993 case 2: 2994 return &v.unknownFields 2995 default: 2996 return nil 2997 } 2998 } 2999 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3000 switch v := v.(*InstantiateWorkflowTemplateRequest); i { 3001 case 0: 3002 return &v.state 3003 case 1: 3004 return &v.sizeCache 3005 case 2: 3006 return &v.unknownFields 3007 default: 3008 return nil 3009 } 3010 } 3011 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3012 switch v := v.(*InstantiateInlineWorkflowTemplateRequest); i { 3013 case 0: 3014 return &v.state 3015 case 1: 3016 return &v.sizeCache 3017 case 2: 3018 return &v.unknownFields 3019 default: 3020 return nil 3021 } 3022 } 3023 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3024 switch v := v.(*UpdateWorkflowTemplateRequest); i { 3025 case 0: 3026 return &v.state 3027 case 1: 3028 return &v.sizeCache 3029 case 2: 3030 return &v.unknownFields 3031 default: 3032 return nil 3033 } 3034 } 3035 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3036 switch v := v.(*ListWorkflowTemplatesRequest); i { 3037 case 0: 3038 return &v.state 3039 case 1: 3040 return &v.sizeCache 3041 case 2: 3042 return &v.unknownFields 3043 default: 3044 return nil 3045 } 3046 } 3047 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3048 switch v := v.(*ListWorkflowTemplatesResponse); i { 3049 case 0: 3050 return &v.state 3051 case 1: 3052 return &v.sizeCache 3053 case 2: 3054 return &v.unknownFields 3055 default: 3056 return nil 3057 } 3058 } 3059 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3060 switch v := v.(*DeleteWorkflowTemplateRequest); i { 3061 case 0: 3062 return &v.state 3063 case 1: 3064 return &v.sizeCache 3065 case 2: 3066 return &v.unknownFields 3067 default: 3068 return nil 3069 } 3070 } 3071 } 3072 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].OneofWrappers = []interface{}{ 3073 (*WorkflowTemplatePlacement_ManagedCluster)(nil), 3074 (*WorkflowTemplatePlacement_ClusterSelector)(nil), 3075 } 3076 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].OneofWrappers = []interface{}{ 3077 (*OrderedJob_HadoopJob)(nil), 3078 (*OrderedJob_SparkJob)(nil), 3079 (*OrderedJob_PysparkJob)(nil), 3080 (*OrderedJob_HiveJob)(nil), 3081 (*OrderedJob_PigJob)(nil), 3082 (*OrderedJob_SparkRJob)(nil), 3083 (*OrderedJob_SparkSqlJob)(nil), 3084 (*OrderedJob_PrestoJob)(nil), 3085 } 3086 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].OneofWrappers = []interface{}{ 3087 (*ParameterValidation_Regex)(nil), 3088 (*ParameterValidation_Values)(nil), 3089 } 3090 type x struct{} 3091 out := protoimpl.TypeBuilder{ 3092 File: protoimpl.DescBuilder{ 3093 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3094 RawDescriptor: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc, 3095 NumEnums: 2, 3096 NumMessages: 27, 3097 NumExtensions: 0, 3098 NumServices: 1, 3099 }, 3100 GoTypes: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes, 3101 DependencyIndexes: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs, 3102 EnumInfos: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes, 3103 MessageInfos: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes, 3104 }.Build() 3105 File_google_cloud_dataproc_v1beta2_workflow_templates_proto = out.File 3106 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = nil 3107 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = nil 3108 file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = nil 3109} 3110 3111// Reference imports to suppress errors if they are not otherwise used. 3112var _ context.Context 3113var _ grpc.ClientConnInterface 3114 3115// This is a compile-time assertion to ensure that this generated file 3116// is compatible with the grpc package it is being compiled against. 3117const _ = grpc.SupportPackageIsVersion6 3118 3119// WorkflowTemplateServiceClient is the client API for WorkflowTemplateService service. 3120// 3121// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3122type WorkflowTemplateServiceClient interface { 3123 // Creates new workflow template. 3124 CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) 3125 // Retrieves the latest workflow template. 3126 // 3127 // Can retrieve previously instantiated template by specifying optional 3128 // version parameter. 3129 GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) 3130 // Instantiates a template and begins execution. 3131 // 3132 // The returned Operation can be used to track execution of 3133 // workflow by polling 3134 // [operations.get][google.longrunning.Operations.GetOperation]. 3135 // The Operation will complete when entire workflow is finished. 3136 // 3137 // The running workflow can be aborted via 3138 // [operations.cancel][google.longrunning.Operations.CancelOperation]. 3139 // This will cause any inflight jobs to be cancelled and workflow-owned 3140 // clusters to be deleted. 3141 // 3142 // The [Operation.metadata][google.longrunning.Operation.metadata] will be 3143 // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata). 3144 // Also see [Using 3145 // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). 3146 // 3147 // On successful completion, 3148 // [Operation.response][google.longrunning.Operation.response] will be 3149 // [Empty][google.protobuf.Empty]. 3150 InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 3151 // Instantiates a template and begins execution. 3152 // 3153 // This method is equivalent to executing the sequence 3154 // [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate], 3155 // [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate], 3156 // [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate]. 3157 // 3158 // The returned Operation can be used to track execution of 3159 // workflow by polling 3160 // [operations.get][google.longrunning.Operations.GetOperation]. 3161 // The Operation will complete when entire workflow is finished. 3162 // 3163 // The running workflow can be aborted via 3164 // [operations.cancel][google.longrunning.Operations.CancelOperation]. 3165 // This will cause any inflight jobs to be cancelled and workflow-owned 3166 // clusters to be deleted. 3167 // 3168 // The [Operation.metadata][google.longrunning.Operation.metadata] will be 3169 // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). 3170 // Also see [Using 3171 // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). 3172 // 3173 // On successful completion, 3174 // [Operation.response][google.longrunning.Operation.response] will be 3175 // [Empty][google.protobuf.Empty]. 3176 InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 3177 // Updates (replaces) workflow template. The updated template 3178 // must contain version that matches the current server version. 3179 UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) 3180 // Lists workflows that match the specified filter in the request. 3181 ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error) 3182 // Deletes a workflow template. It does not cancel in-progress workflows. 3183 DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 3184} 3185 3186type workflowTemplateServiceClient struct { 3187 cc grpc.ClientConnInterface 3188} 3189 3190func NewWorkflowTemplateServiceClient(cc grpc.ClientConnInterface) WorkflowTemplateServiceClient { 3191 return &workflowTemplateServiceClient{cc} 3192} 3193 3194func (c *workflowTemplateServiceClient) CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) { 3195 out := new(WorkflowTemplate) 3196 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate", in, out, opts...) 3197 if err != nil { 3198 return nil, err 3199 } 3200 return out, nil 3201} 3202 3203func (c *workflowTemplateServiceClient) GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) { 3204 out := new(WorkflowTemplate) 3205 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate", in, out, opts...) 3206 if err != nil { 3207 return nil, err 3208 } 3209 return out, nil 3210} 3211 3212func (c *workflowTemplateServiceClient) InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 3213 out := new(longrunning.Operation) 3214 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate", in, out, opts...) 3215 if err != nil { 3216 return nil, err 3217 } 3218 return out, nil 3219} 3220 3221func (c *workflowTemplateServiceClient) InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 3222 out := new(longrunning.Operation) 3223 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate", in, out, opts...) 3224 if err != nil { 3225 return nil, err 3226 } 3227 return out, nil 3228} 3229 3230func (c *workflowTemplateServiceClient) UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) { 3231 out := new(WorkflowTemplate) 3232 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate", in, out, opts...) 3233 if err != nil { 3234 return nil, err 3235 } 3236 return out, nil 3237} 3238 3239func (c *workflowTemplateServiceClient) ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error) { 3240 out := new(ListWorkflowTemplatesResponse) 3241 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates", in, out, opts...) 3242 if err != nil { 3243 return nil, err 3244 } 3245 return out, nil 3246} 3247 3248func (c *workflowTemplateServiceClient) DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 3249 out := new(emptypb.Empty) 3250 err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate", in, out, opts...) 3251 if err != nil { 3252 return nil, err 3253 } 3254 return out, nil 3255} 3256 3257// WorkflowTemplateServiceServer is the server API for WorkflowTemplateService service. 3258type WorkflowTemplateServiceServer interface { 3259 // Creates new workflow template. 3260 CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error) 3261 // Retrieves the latest workflow template. 3262 // 3263 // Can retrieve previously instantiated template by specifying optional 3264 // version parameter. 3265 GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error) 3266 // Instantiates a template and begins execution. 3267 // 3268 // The returned Operation can be used to track execution of 3269 // workflow by polling 3270 // [operations.get][google.longrunning.Operations.GetOperation]. 3271 // The Operation will complete when entire workflow is finished. 3272 // 3273 // The running workflow can be aborted via 3274 // [operations.cancel][google.longrunning.Operations.CancelOperation]. 3275 // This will cause any inflight jobs to be cancelled and workflow-owned 3276 // clusters to be deleted. 3277 // 3278 // The [Operation.metadata][google.longrunning.Operation.metadata] will be 3279 // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata). 3280 // Also see [Using 3281 // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). 3282 // 3283 // On successful completion, 3284 // [Operation.response][google.longrunning.Operation.response] will be 3285 // [Empty][google.protobuf.Empty]. 3286 InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error) 3287 // Instantiates a template and begins execution. 3288 // 3289 // This method is equivalent to executing the sequence 3290 // [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate], 3291 // [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate], 3292 // [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate]. 3293 // 3294 // The returned Operation can be used to track execution of 3295 // workflow by polling 3296 // [operations.get][google.longrunning.Operations.GetOperation]. 3297 // The Operation will complete when entire workflow is finished. 3298 // 3299 // The running workflow can be aborted via 3300 // [operations.cancel][google.longrunning.Operations.CancelOperation]. 3301 // This will cause any inflight jobs to be cancelled and workflow-owned 3302 // clusters to be deleted. 3303 // 3304 // The [Operation.metadata][google.longrunning.Operation.metadata] will be 3305 // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). 3306 // Also see [Using 3307 // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). 3308 // 3309 // On successful completion, 3310 // [Operation.response][google.longrunning.Operation.response] will be 3311 // [Empty][google.protobuf.Empty]. 3312 InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error) 3313 // Updates (replaces) workflow template. The updated template 3314 // must contain version that matches the current server version. 3315 UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error) 3316 // Lists workflows that match the specified filter in the request. 3317 ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error) 3318 // Deletes a workflow template. It does not cancel in-progress workflows. 3319 DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*emptypb.Empty, error) 3320} 3321 3322// UnimplementedWorkflowTemplateServiceServer can be embedded to have forward compatible implementations. 3323type UnimplementedWorkflowTemplateServiceServer struct { 3324} 3325 3326func (*UnimplementedWorkflowTemplateServiceServer) CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error) { 3327 return nil, status.Errorf(codes.Unimplemented, "method CreateWorkflowTemplate not implemented") 3328} 3329func (*UnimplementedWorkflowTemplateServiceServer) GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error) { 3330 return nil, status.Errorf(codes.Unimplemented, "method GetWorkflowTemplate not implemented") 3331} 3332func (*UnimplementedWorkflowTemplateServiceServer) InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error) { 3333 return nil, status.Errorf(codes.Unimplemented, "method InstantiateWorkflowTemplate not implemented") 3334} 3335func (*UnimplementedWorkflowTemplateServiceServer) InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error) { 3336 return nil, status.Errorf(codes.Unimplemented, "method InstantiateInlineWorkflowTemplate not implemented") 3337} 3338func (*UnimplementedWorkflowTemplateServiceServer) UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error) { 3339 return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkflowTemplate not implemented") 3340} 3341func (*UnimplementedWorkflowTemplateServiceServer) ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error) { 3342 return nil, status.Errorf(codes.Unimplemented, "method ListWorkflowTemplates not implemented") 3343} 3344func (*UnimplementedWorkflowTemplateServiceServer) DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*emptypb.Empty, error) { 3345 return nil, status.Errorf(codes.Unimplemented, "method DeleteWorkflowTemplate not implemented") 3346} 3347 3348func RegisterWorkflowTemplateServiceServer(s *grpc.Server, srv WorkflowTemplateServiceServer) { 3349 s.RegisterService(&_WorkflowTemplateService_serviceDesc, srv) 3350} 3351 3352func _WorkflowTemplateService_CreateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3353 in := new(CreateWorkflowTemplateRequest) 3354 if err := dec(in); err != nil { 3355 return nil, err 3356 } 3357 if interceptor == nil { 3358 return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, in) 3359 } 3360 info := &grpc.UnaryServerInfo{ 3361 Server: srv, 3362 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate", 3363 } 3364 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3365 return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, req.(*CreateWorkflowTemplateRequest)) 3366 } 3367 return interceptor(ctx, in, info, handler) 3368} 3369 3370func _WorkflowTemplateService_GetWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3371 in := new(GetWorkflowTemplateRequest) 3372 if err := dec(in); err != nil { 3373 return nil, err 3374 } 3375 if interceptor == nil { 3376 return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, in) 3377 } 3378 info := &grpc.UnaryServerInfo{ 3379 Server: srv, 3380 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate", 3381 } 3382 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3383 return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, req.(*GetWorkflowTemplateRequest)) 3384 } 3385 return interceptor(ctx, in, info, handler) 3386} 3387 3388func _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3389 in := new(InstantiateWorkflowTemplateRequest) 3390 if err := dec(in); err != nil { 3391 return nil, err 3392 } 3393 if interceptor == nil { 3394 return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, in) 3395 } 3396 info := &grpc.UnaryServerInfo{ 3397 Server: srv, 3398 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate", 3399 } 3400 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3401 return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, req.(*InstantiateWorkflowTemplateRequest)) 3402 } 3403 return interceptor(ctx, in, info, handler) 3404} 3405 3406func _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3407 in := new(InstantiateInlineWorkflowTemplateRequest) 3408 if err := dec(in); err != nil { 3409 return nil, err 3410 } 3411 if interceptor == nil { 3412 return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, in) 3413 } 3414 info := &grpc.UnaryServerInfo{ 3415 Server: srv, 3416 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate", 3417 } 3418 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3419 return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, req.(*InstantiateInlineWorkflowTemplateRequest)) 3420 } 3421 return interceptor(ctx, in, info, handler) 3422} 3423 3424func _WorkflowTemplateService_UpdateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3425 in := new(UpdateWorkflowTemplateRequest) 3426 if err := dec(in); err != nil { 3427 return nil, err 3428 } 3429 if interceptor == nil { 3430 return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, in) 3431 } 3432 info := &grpc.UnaryServerInfo{ 3433 Server: srv, 3434 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate", 3435 } 3436 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3437 return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, req.(*UpdateWorkflowTemplateRequest)) 3438 } 3439 return interceptor(ctx, in, info, handler) 3440} 3441 3442func _WorkflowTemplateService_ListWorkflowTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3443 in := new(ListWorkflowTemplatesRequest) 3444 if err := dec(in); err != nil { 3445 return nil, err 3446 } 3447 if interceptor == nil { 3448 return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, in) 3449 } 3450 info := &grpc.UnaryServerInfo{ 3451 Server: srv, 3452 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates", 3453 } 3454 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3455 return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, req.(*ListWorkflowTemplatesRequest)) 3456 } 3457 return interceptor(ctx, in, info, handler) 3458} 3459 3460func _WorkflowTemplateService_DeleteWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3461 in := new(DeleteWorkflowTemplateRequest) 3462 if err := dec(in); err != nil { 3463 return nil, err 3464 } 3465 if interceptor == nil { 3466 return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, in) 3467 } 3468 info := &grpc.UnaryServerInfo{ 3469 Server: srv, 3470 FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate", 3471 } 3472 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3473 return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, req.(*DeleteWorkflowTemplateRequest)) 3474 } 3475 return interceptor(ctx, in, info, handler) 3476} 3477 3478var _WorkflowTemplateService_serviceDesc = grpc.ServiceDesc{ 3479 ServiceName: "google.cloud.dataproc.v1beta2.WorkflowTemplateService", 3480 HandlerType: (*WorkflowTemplateServiceServer)(nil), 3481 Methods: []grpc.MethodDesc{ 3482 { 3483 MethodName: "CreateWorkflowTemplate", 3484 Handler: _WorkflowTemplateService_CreateWorkflowTemplate_Handler, 3485 }, 3486 { 3487 MethodName: "GetWorkflowTemplate", 3488 Handler: _WorkflowTemplateService_GetWorkflowTemplate_Handler, 3489 }, 3490 { 3491 MethodName: "InstantiateWorkflowTemplate", 3492 Handler: _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler, 3493 }, 3494 { 3495 MethodName: "InstantiateInlineWorkflowTemplate", 3496 Handler: _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler, 3497 }, 3498 { 3499 MethodName: "UpdateWorkflowTemplate", 3500 Handler: _WorkflowTemplateService_UpdateWorkflowTemplate_Handler, 3501 }, 3502 { 3503 MethodName: "ListWorkflowTemplates", 3504 Handler: _WorkflowTemplateService_ListWorkflowTemplates_Handler, 3505 }, 3506 { 3507 MethodName: "DeleteWorkflowTemplate", 3508 Handler: _WorkflowTemplateService_DeleteWorkflowTemplate_Handler, 3509 }, 3510 }, 3511 Streams: []grpc.StreamDesc{}, 3512 Metadata: "google/cloud/dataproc/v1beta2/workflow_templates.proto", 3513} 3514