blob: e77542361b0e47bdbdda59969461b128a78acae5 [file] [log] [blame]
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.22.0
// protoc v3.12.2
// source: google/cloud/dataproc/v1beta2/workflow_templates.proto
package dataproc
import (
context "context"
reflect "reflect"
sync "sync"
proto "github.com/golang/protobuf/proto"
empty "github.com/golang/protobuf/ptypes/empty"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
longrunning "google.golang.org/genproto/googleapis/longrunning"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// The operation state.
type WorkflowMetadata_State int32
const (
// Unused.
WorkflowMetadata_UNKNOWN WorkflowMetadata_State = 0
// The operation has been created.
WorkflowMetadata_PENDING WorkflowMetadata_State = 1
// The operation is running.
WorkflowMetadata_RUNNING WorkflowMetadata_State = 2
// The operation is done; either cancelled or completed.
WorkflowMetadata_DONE WorkflowMetadata_State = 3
)
// Enum value maps for WorkflowMetadata_State.
var (
WorkflowMetadata_State_name = map[int32]string{
0: "UNKNOWN",
1: "PENDING",
2: "RUNNING",
3: "DONE",
}
WorkflowMetadata_State_value = map[string]int32{
"UNKNOWN": 0,
"PENDING": 1,
"RUNNING": 2,
"DONE": 3,
}
)
func (x WorkflowMetadata_State) Enum() *WorkflowMetadata_State {
p := new(WorkflowMetadata_State)
*p = x
return p
}
func (x WorkflowMetadata_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkflowMetadata_State) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0].Descriptor()
}
func (WorkflowMetadata_State) Type() protoreflect.EnumType {
return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[0]
}
func (x WorkflowMetadata_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkflowMetadata_State.Descriptor instead.
func (WorkflowMetadata_State) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9, 0}
}
// The workflow node state.
type WorkflowNode_NodeState int32
const (
// State is unspecified.
WorkflowNode_NODE_STATUS_UNSPECIFIED WorkflowNode_NodeState = 0
// The node is awaiting prerequisite node to finish.
WorkflowNode_BLOCKED WorkflowNode_NodeState = 1
// The node is runnable but not running.
WorkflowNode_RUNNABLE WorkflowNode_NodeState = 2
// The node is running.
WorkflowNode_RUNNING WorkflowNode_NodeState = 3
// The node completed successfully.
WorkflowNode_COMPLETED WorkflowNode_NodeState = 4
// The node failed. A node can be marked FAILED because
// its ancestor or peer failed.
WorkflowNode_FAILED WorkflowNode_NodeState = 5
)
// Enum value maps for WorkflowNode_NodeState.
var (
WorkflowNode_NodeState_name = map[int32]string{
0: "NODE_STATUS_UNSPECIFIED",
1: "BLOCKED",
2: "RUNNABLE",
3: "RUNNING",
4: "COMPLETED",
5: "FAILED",
}
WorkflowNode_NodeState_value = map[string]int32{
"NODE_STATUS_UNSPECIFIED": 0,
"BLOCKED": 1,
"RUNNABLE": 2,
"RUNNING": 3,
"COMPLETED": 4,
"FAILED": 5,
}
)
func (x WorkflowNode_NodeState) Enum() *WorkflowNode_NodeState {
p := new(WorkflowNode_NodeState)
*p = x
return p
}
func (x WorkflowNode_NodeState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkflowNode_NodeState) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1].Descriptor()
}
func (WorkflowNode_NodeState) Type() protoreflect.EnumType {
return &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes[1]
}
func (x WorkflowNode_NodeState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkflowNode_NodeState.Descriptor instead.
func (WorkflowNode_NodeState) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12, 0}
}
// A Dataproc workflow template resource.
type WorkflowTemplate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The template id.
//
// The id must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), and hyphens (-). Cannot begin or end with underscore
// or hyphen. Must consist of between 3 and 50 characters.
//
// .
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
// Output only. The resource name of the workflow template, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates`, the resource name of the
// template has the following format:
// `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
//
// * For `projects.locations.workflowTemplates`, the resource name of the
// template has the following format:
// `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. Used to perform a consistent read-modify-write.
//
// This field should be left blank for a `CreateWorkflowTemplate` request. It
// is required for an `UpdateWorkflowTemplate` request, and must match the
// current server version. A typical update template flow would fetch the
// current template with a `GetWorkflowTemplate` request, which will return
// the current template with the `version` field filled in with the
// current server version. The user updates other fields in the template,
// then returns it as part of the `UpdateWorkflowTemplate` request.
Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
// Output only. The time template was created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The time template was last updated.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// Optional. The labels to associate with this template. These labels
// will be propagated to all jobs and clusters created by the workflow
// instance.
//
// Label **keys** must contain 1 to 63 characters, and must conform to
// [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
//
// Label **values** may be empty, but, if present, must contain 1 to 63
// characters, and must conform to
// [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
//
// No more than 32 labels can be associated with a template.
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"`
// Required. WorkflowTemplate scheduling information.
Placement *WorkflowTemplatePlacement `protobuf:"bytes,7,opt,name=placement,proto3" json:"placement,omitempty"`
// Required. The Directed Acyclic Graph of Jobs to submit.
Jobs []*OrderedJob `protobuf:"bytes,8,rep,name=jobs,proto3" json:"jobs,omitempty"`
// Optional. Template parameters whose values are substituted into the
// template. Values for parameters must be provided when the template is
// instantiated.
Parameters []*TemplateParameter `protobuf:"bytes,9,rep,name=parameters,proto3" json:"parameters,omitempty"`
}
func (x *WorkflowTemplate) Reset() {
*x = WorkflowTemplate{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkflowTemplate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkflowTemplate) ProtoMessage() {}
func (x *WorkflowTemplate) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkflowTemplate.ProtoReflect.Descriptor instead.
func (*WorkflowTemplate) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{0}
}
func (x *WorkflowTemplate) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WorkflowTemplate) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *WorkflowTemplate) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
func (x *WorkflowTemplate) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *WorkflowTemplate) GetUpdateTime() *timestamp.Timestamp {
if x != nil {
return x.UpdateTime
}
return nil
}
func (x *WorkflowTemplate) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *WorkflowTemplate) GetPlacement() *WorkflowTemplatePlacement {
if x != nil {
return x.Placement
}
return nil
}
func (x *WorkflowTemplate) GetJobs() []*OrderedJob {
if x != nil {
return x.Jobs
}
return nil
}
func (x *WorkflowTemplate) GetParameters() []*TemplateParameter {
if x != nil {
return x.Parameters
}
return nil
}
// Specifies workflow execution target.
//
// Either `managed_cluster` or `cluster_selector` is required.
type WorkflowTemplatePlacement struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Specifies where workflow executes; either on a managed
// cluster or an existing cluster chosen by labels.
//
// Types that are assignable to Placement:
// *WorkflowTemplatePlacement_ManagedCluster
// *WorkflowTemplatePlacement_ClusterSelector
Placement isWorkflowTemplatePlacement_Placement `protobuf_oneof:"placement"`
}
func (x *WorkflowTemplatePlacement) Reset() {
*x = WorkflowTemplatePlacement{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkflowTemplatePlacement) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkflowTemplatePlacement) ProtoMessage() {}
func (x *WorkflowTemplatePlacement) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkflowTemplatePlacement.ProtoReflect.Descriptor instead.
func (*WorkflowTemplatePlacement) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{1}
}
func (m *WorkflowTemplatePlacement) GetPlacement() isWorkflowTemplatePlacement_Placement {
if m != nil {
return m.Placement
}
return nil
}
func (x *WorkflowTemplatePlacement) GetManagedCluster() *ManagedCluster {
if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ManagedCluster); ok {
return x.ManagedCluster
}
return nil
}
func (x *WorkflowTemplatePlacement) GetClusterSelector() *ClusterSelector {
if x, ok := x.GetPlacement().(*WorkflowTemplatePlacement_ClusterSelector); ok {
return x.ClusterSelector
}
return nil
}
type isWorkflowTemplatePlacement_Placement interface {
isWorkflowTemplatePlacement_Placement()
}
type WorkflowTemplatePlacement_ManagedCluster struct {
// Optional. A cluster that is managed by the workflow.
ManagedCluster *ManagedCluster `protobuf:"bytes,1,opt,name=managed_cluster,json=managedCluster,proto3,oneof"`
}
type WorkflowTemplatePlacement_ClusterSelector struct {
// Optional. A selector that chooses target cluster for jobs based
// on metadata.
//
// The selector is evaluated at the time each job is submitted.
ClusterSelector *ClusterSelector `protobuf:"bytes,2,opt,name=cluster_selector,json=clusterSelector,proto3,oneof"`
}
func (*WorkflowTemplatePlacement_ManagedCluster) isWorkflowTemplatePlacement_Placement() {}
func (*WorkflowTemplatePlacement_ClusterSelector) isWorkflowTemplatePlacement_Placement() {}
// Cluster that is managed by the workflow.
type ManagedCluster struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The cluster name prefix. A unique cluster name will be formed by
// appending a random suffix.
//
// The name must contain only lower-case letters (a-z), numbers (0-9),
// and hyphens (-). Must begin with a letter. Cannot begin or end with
// hyphen. Must consist of between 2 and 35 characters.
ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
// Required. The cluster configuration.
Config *ClusterConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
// Optional. The labels to associate with this cluster.
//
// Label keys must be between 1 and 63 characters long, and must conform to
// the following PCRE regular expression:
// [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
//
// Label values must be between 1 and 63 characters long, and must conform to
// the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
//
// No more than 32 labels can be associated with a given cluster.
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"`
}
func (x *ManagedCluster) Reset() {
*x = ManagedCluster{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ManagedCluster) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ManagedCluster) ProtoMessage() {}
func (x *ManagedCluster) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ManagedCluster.ProtoReflect.Descriptor instead.
func (*ManagedCluster) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{2}
}
func (x *ManagedCluster) GetClusterName() string {
if x != nil {
return x.ClusterName
}
return ""
}
func (x *ManagedCluster) GetConfig() *ClusterConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *ManagedCluster) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
// A selector that chooses target cluster for jobs based on metadata.
type ClusterSelector struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Optional. The zone where workflow process executes. This parameter does not
// affect the selection of the cluster.
//
// If unspecified, the zone of the first cluster matching the selector
// is used.
Zone string `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
// Required. The cluster labels. Cluster must have all labels
// to match.
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"`
}
func (x *ClusterSelector) Reset() {
*x = ClusterSelector{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClusterSelector) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterSelector) ProtoMessage() {}
func (x *ClusterSelector) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClusterSelector.ProtoReflect.Descriptor instead.
func (*ClusterSelector) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{3}
}
func (x *ClusterSelector) GetZone() string {
if x != nil {
return x.Zone
}
return ""
}
func (x *ClusterSelector) GetClusterLabels() map[string]string {
if x != nil {
return x.ClusterLabels
}
return nil
}
// A job executed by the workflow.
type OrderedJob struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The step id. The id must be unique among all jobs
// within the template.
//
// The step id is used as prefix for job id, as job
// `goog-dataproc-workflow-step-id` label, and in
// [prerequisiteStepIds][google.cloud.dataproc.v1beta2.OrderedJob.prerequisite_step_ids] field from other
// steps.
//
// The id must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), and hyphens (-). Cannot begin or end with underscore
// or hyphen. Must consist of between 3 and 50 characters.
StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
// Required. The job definition.
//
// Types that are assignable to JobType:
// *OrderedJob_HadoopJob
// *OrderedJob_SparkJob
// *OrderedJob_PysparkJob
// *OrderedJob_HiveJob
// *OrderedJob_PigJob
// *OrderedJob_SparkRJob
// *OrderedJob_SparkSqlJob
// *OrderedJob_PrestoJob
JobType isOrderedJob_JobType `protobuf_oneof:"job_type"`
// Optional. The labels to associate with this job.
//
// Label keys must be between 1 and 63 characters long, and must conform to
// the following regular expression:
// [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
//
// Label values must be between 1 and 63 characters long, and must conform to
// the following regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
//
// No more than 32 labels can be associated with a given job.
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"`
// Optional. Job scheduling configuration.
Scheduling *JobScheduling `protobuf:"bytes,9,opt,name=scheduling,proto3" json:"scheduling,omitempty"`
// Optional. The optional list of prerequisite job step_ids.
// If not specified, the job will start at the beginning of workflow.
PrerequisiteStepIds []string `protobuf:"bytes,10,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"`
}
func (x *OrderedJob) Reset() {
*x = OrderedJob{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OrderedJob) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OrderedJob) ProtoMessage() {}
func (x *OrderedJob) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OrderedJob.ProtoReflect.Descriptor instead.
func (*OrderedJob) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{4}
}
func (x *OrderedJob) GetStepId() string {
if x != nil {
return x.StepId
}
return ""
}
func (m *OrderedJob) GetJobType() isOrderedJob_JobType {
if m != nil {
return m.JobType
}
return nil
}
func (x *OrderedJob) GetHadoopJob() *HadoopJob {
if x, ok := x.GetJobType().(*OrderedJob_HadoopJob); ok {
return x.HadoopJob
}
return nil
}
func (x *OrderedJob) GetSparkJob() *SparkJob {
if x, ok := x.GetJobType().(*OrderedJob_SparkJob); ok {
return x.SparkJob
}
return nil
}
func (x *OrderedJob) GetPysparkJob() *PySparkJob {
if x, ok := x.GetJobType().(*OrderedJob_PysparkJob); ok {
return x.PysparkJob
}
return nil
}
func (x *OrderedJob) GetHiveJob() *HiveJob {
if x, ok := x.GetJobType().(*OrderedJob_HiveJob); ok {
return x.HiveJob
}
return nil
}
func (x *OrderedJob) GetPigJob() *PigJob {
if x, ok := x.GetJobType().(*OrderedJob_PigJob); ok {
return x.PigJob
}
return nil
}
func (x *OrderedJob) GetSparkRJob() *SparkRJob {
if x, ok := x.GetJobType().(*OrderedJob_SparkRJob); ok {
return x.SparkRJob
}
return nil
}
func (x *OrderedJob) GetSparkSqlJob() *SparkSqlJob {
if x, ok := x.GetJobType().(*OrderedJob_SparkSqlJob); ok {
return x.SparkSqlJob
}
return nil
}
func (x *OrderedJob) GetPrestoJob() *PrestoJob {
if x, ok := x.GetJobType().(*OrderedJob_PrestoJob); ok {
return x.PrestoJob
}
return nil
}
func (x *OrderedJob) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *OrderedJob) GetScheduling() *JobScheduling {
if x != nil {
return x.Scheduling
}
return nil
}
func (x *OrderedJob) GetPrerequisiteStepIds() []string {
if x != nil {
return x.PrerequisiteStepIds
}
return nil
}
type isOrderedJob_JobType interface {
isOrderedJob_JobType()
}
type OrderedJob_HadoopJob struct {
HadoopJob *HadoopJob `protobuf:"bytes,2,opt,name=hadoop_job,json=hadoopJob,proto3,oneof"`
}
type OrderedJob_SparkJob struct {
SparkJob *SparkJob `protobuf:"bytes,3,opt,name=spark_job,json=sparkJob,proto3,oneof"`
}
type OrderedJob_PysparkJob struct {
PysparkJob *PySparkJob `protobuf:"bytes,4,opt,name=pyspark_job,json=pysparkJob,proto3,oneof"`
}
type OrderedJob_HiveJob struct {
HiveJob *HiveJob `protobuf:"bytes,5,opt,name=hive_job,json=hiveJob,proto3,oneof"`
}
type OrderedJob_PigJob struct {
PigJob *PigJob `protobuf:"bytes,6,opt,name=pig_job,json=pigJob,proto3,oneof"`
}
type OrderedJob_SparkRJob struct {
// Spark R job
SparkRJob *SparkRJob `protobuf:"bytes,11,opt,name=spark_r_job,json=sparkRJob,proto3,oneof"`
}
type OrderedJob_SparkSqlJob struct {
SparkSqlJob *SparkSqlJob `protobuf:"bytes,7,opt,name=spark_sql_job,json=sparkSqlJob,proto3,oneof"`
}
type OrderedJob_PrestoJob struct {
// Presto job
PrestoJob *PrestoJob `protobuf:"bytes,12,opt,name=presto_job,json=prestoJob,proto3,oneof"`
}
func (*OrderedJob_HadoopJob) isOrderedJob_JobType() {}
func (*OrderedJob_SparkJob) isOrderedJob_JobType() {}
func (*OrderedJob_PysparkJob) isOrderedJob_JobType() {}
func (*OrderedJob_HiveJob) isOrderedJob_JobType() {}
func (*OrderedJob_PigJob) isOrderedJob_JobType() {}
func (*OrderedJob_SparkRJob) isOrderedJob_JobType() {}
func (*OrderedJob_SparkSqlJob) isOrderedJob_JobType() {}
func (*OrderedJob_PrestoJob) isOrderedJob_JobType() {}
// A configurable parameter that replaces one or more fields in the template.
// Parameterizable fields:
// - Labels
// - File uris
// - Job properties
// - Job arguments
// - Script variables
// - Main class (in HadoopJob and SparkJob)
// - Zone (in ClusterSelector)
type TemplateParameter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Parameter name.
// The parameter name is used as the key, and paired with the
// parameter value, which are passed to the template when the template
// is instantiated.
// The name must contain only capital letters (A-Z), numbers (0-9), and
// underscores (_), and must not start with a number. The maximum length is
// 40 characters.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Paths to all fields that the parameter replaces.
// A field is allowed to appear in at most one parameter's list of field
// paths.
//
// A field path is similar in syntax to a [google.protobuf.FieldMask][google.protobuf.FieldMask].
// For example, a field path that references the zone field of a workflow
// template's cluster selector would be specified as
// `placement.clusterSelector.zone`.
//
// Also, field paths can reference fields using the following syntax:
//
// * Values in maps can be referenced by key:
// * labels['key']
// * placement.clusterSelector.clusterLabels['key']
// * placement.managedCluster.labels['key']
// * placement.clusterSelector.clusterLabels['key']
// * jobs['step-id'].labels['key']
//
// * Jobs in the jobs list can be referenced by step-id:
// * jobs['step-id'].hadoopJob.mainJarFileUri
// * jobs['step-id'].hiveJob.queryFileUri
// * jobs['step-id'].pySparkJob.mainPythonFileUri
// * jobs['step-id'].hadoopJob.jarFileUris[0]
// * jobs['step-id'].hadoopJob.archiveUris[0]
// * jobs['step-id'].hadoopJob.fileUris[0]
// * jobs['step-id'].pySparkJob.pythonFileUris[0]
//
// * Items in repeated fields can be referenced by a zero-based index:
// * jobs['step-id'].sparkJob.args[0]
//
// * Other examples:
// * jobs['step-id'].hadoopJob.properties['key']
// * jobs['step-id'].hadoopJob.args[0]
// * jobs['step-id'].hiveJob.scriptVariables['key']
// * jobs['step-id'].hadoopJob.mainJarFileUri
// * placement.clusterSelector.zone
//
// It may not be possible to parameterize maps and repeated fields in their
// entirety since only individual map values and individual items in repeated
// fields can be referenced. For example, the following field paths are
// invalid:
//
// - placement.clusterSelector.clusterLabels
// - jobs['step-id'].sparkJob.args
Fields []string `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
// Optional. Brief description of the parameter.
// Must not exceed 1024 characters.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// Optional. Validation rules to be applied to this parameter's value.
Validation *ParameterValidation `protobuf:"bytes,4,opt,name=validation,proto3" json:"validation,omitempty"`
}
func (x *TemplateParameter) Reset() {
*x = TemplateParameter{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TemplateParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TemplateParameter) ProtoMessage() {}
func (x *TemplateParameter) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TemplateParameter.ProtoReflect.Descriptor instead.
func (*TemplateParameter) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{5}
}
func (x *TemplateParameter) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TemplateParameter) GetFields() []string {
if x != nil {
return x.Fields
}
return nil
}
func (x *TemplateParameter) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *TemplateParameter) GetValidation() *ParameterValidation {
if x != nil {
return x.Validation
}
return nil
}
// Configuration for parameter validation.
type ParameterValidation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The type of validation to be performed.
//
// Types that are assignable to ValidationType:
// *ParameterValidation_Regex
// *ParameterValidation_Values
ValidationType isParameterValidation_ValidationType `protobuf_oneof:"validation_type"`
}
func (x *ParameterValidation) Reset() {
*x = ParameterValidation{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParameterValidation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParameterValidation) ProtoMessage() {}
func (x *ParameterValidation) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ParameterValidation.ProtoReflect.Descriptor instead.
func (*ParameterValidation) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{6}
}
func (m *ParameterValidation) GetValidationType() isParameterValidation_ValidationType {
if m != nil {
return m.ValidationType
}
return nil
}
func (x *ParameterValidation) GetRegex() *RegexValidation {
if x, ok := x.GetValidationType().(*ParameterValidation_Regex); ok {
return x.Regex
}
return nil
}
func (x *ParameterValidation) GetValues() *ValueValidation {
if x, ok := x.GetValidationType().(*ParameterValidation_Values); ok {
return x.Values
}
return nil
}
type isParameterValidation_ValidationType interface {
isParameterValidation_ValidationType()
}
type ParameterValidation_Regex struct {
// Validation based on regular expressions.
Regex *RegexValidation `protobuf:"bytes,1,opt,name=regex,proto3,oneof"`
}
type ParameterValidation_Values struct {
// Validation based on a list of allowed values.
Values *ValueValidation `protobuf:"bytes,2,opt,name=values,proto3,oneof"`
}
func (*ParameterValidation_Regex) isParameterValidation_ValidationType() {}
func (*ParameterValidation_Values) isParameterValidation_ValidationType() {}
// Validation based on regular expressions.
type RegexValidation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. RE2 regular expressions used to validate the parameter's value.
// The value must match the regex in its entirety (substring
// matches are not sufficient).
Regexes []string `protobuf:"bytes,1,rep,name=regexes,proto3" json:"regexes,omitempty"`
}
func (x *RegexValidation) Reset() {
*x = RegexValidation{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegexValidation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegexValidation) ProtoMessage() {}
func (x *RegexValidation) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RegexValidation.ProtoReflect.Descriptor instead.
func (*RegexValidation) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{7}
}
func (x *RegexValidation) GetRegexes() []string {
if x != nil {
return x.Regexes
}
return nil
}
// Validation based on a list of allowed values.
type ValueValidation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. List of allowed values for the parameter.
Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
}
func (x *ValueValidation) Reset() {
*x = ValueValidation{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValueValidation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValueValidation) ProtoMessage() {}
func (x *ValueValidation) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ValueValidation.ProtoReflect.Descriptor instead.
func (*ValueValidation) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{8}
}
func (x *ValueValidation) GetValues() []string {
if x != nil {
return x.Values
}
return nil
}
// A Dataproc workflow template resource.
type WorkflowMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The resource name of the workflow template as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates`, the resource name of the
// template has the following format:
// `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
//
// * For `projects.locations.workflowTemplates`, the resource name of the
// template has the following format:
// `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
// Output only. The version of template at the time of
// workflow instantiation.
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
// Output only. The create cluster operation metadata.
CreateCluster *ClusterOperation `protobuf:"bytes,3,opt,name=create_cluster,json=createCluster,proto3" json:"create_cluster,omitempty"`
// Output only. The workflow graph.
Graph *WorkflowGraph `protobuf:"bytes,4,opt,name=graph,proto3" json:"graph,omitempty"`
// Output only. The delete cluster operation metadata.
DeleteCluster *ClusterOperation `protobuf:"bytes,5,opt,name=delete_cluster,json=deleteCluster,proto3" json:"delete_cluster,omitempty"`
// Output only. The workflow state.
State WorkflowMetadata_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowMetadata_State" json:"state,omitempty"`
// Output only. The name of the target cluster.
ClusterName string `protobuf:"bytes,7,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
// Map from parameter names to values that were used for those parameters.
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"`
// Output only. Workflow start time.
StartTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// Output only. Workflow end time.
EndTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// Output only. The UUID of target cluster.
ClusterUuid string `protobuf:"bytes,11,opt,name=cluster_uuid,json=clusterUuid,proto3" json:"cluster_uuid,omitempty"`
}
func (x *WorkflowMetadata) Reset() {
*x = WorkflowMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkflowMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkflowMetadata) ProtoMessage() {}
func (x *WorkflowMetadata) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkflowMetadata.ProtoReflect.Descriptor instead.
func (*WorkflowMetadata) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{9}
}
func (x *WorkflowMetadata) GetTemplate() string {
if x != nil {
return x.Template
}
return ""
}
func (x *WorkflowMetadata) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
func (x *WorkflowMetadata) GetCreateCluster() *ClusterOperation {
if x != nil {
return x.CreateCluster
}
return nil
}
func (x *WorkflowMetadata) GetGraph() *WorkflowGraph {
if x != nil {
return x.Graph
}
return nil
}
func (x *WorkflowMetadata) GetDeleteCluster() *ClusterOperation {
if x != nil {
return x.DeleteCluster
}
return nil
}
func (x *WorkflowMetadata) GetState() WorkflowMetadata_State {
if x != nil {
return x.State
}
return WorkflowMetadata_UNKNOWN
}
func (x *WorkflowMetadata) GetClusterName() string {
if x != nil {
return x.ClusterName
}
return ""
}
func (x *WorkflowMetadata) GetParameters() map[string]string {
if x != nil {
return x.Parameters
}
return nil
}
func (x *WorkflowMetadata) GetStartTime() *timestamp.Timestamp {
if x != nil {
return x.StartTime
}
return nil
}
func (x *WorkflowMetadata) GetEndTime() *timestamp.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
func (x *WorkflowMetadata) GetClusterUuid() string {
if x != nil {
return x.ClusterUuid
}
return ""
}
// The cluster operation triggered by a workflow.
type ClusterOperation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The id of the cluster operation.
OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
// Output only. Error, if operation failed.
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
// Output only. Indicates the operation is done.
Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
}
func (x *ClusterOperation) Reset() {
*x = ClusterOperation{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClusterOperation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterOperation) ProtoMessage() {}
func (x *ClusterOperation) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClusterOperation.ProtoReflect.Descriptor instead.
func (*ClusterOperation) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{10}
}
func (x *ClusterOperation) GetOperationId() string {
if x != nil {
return x.OperationId
}
return ""
}
func (x *ClusterOperation) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *ClusterOperation) GetDone() bool {
if x != nil {
return x.Done
}
return false
}
// The workflow graph.
type WorkflowGraph struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The workflow nodes.
Nodes []*WorkflowNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}
func (x *WorkflowGraph) Reset() {
*x = WorkflowGraph{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkflowGraph) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkflowGraph) ProtoMessage() {}
func (x *WorkflowGraph) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkflowGraph.ProtoReflect.Descriptor instead.
func (*WorkflowGraph) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{11}
}
func (x *WorkflowGraph) GetNodes() []*WorkflowNode {
if x != nil {
return x.Nodes
}
return nil
}
// The workflow node.
type WorkflowNode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The name of the node.
StepId string `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
// Output only. Node's prerequisite nodes.
PrerequisiteStepIds []string `protobuf:"bytes,2,rep,name=prerequisite_step_ids,json=prerequisiteStepIds,proto3" json:"prerequisite_step_ids,omitempty"`
// Output only. The job id; populated after the node enters RUNNING state.
JobId string `protobuf:"bytes,3,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
// Output only. The node state.
State WorkflowNode_NodeState `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.dataproc.v1beta2.WorkflowNode_NodeState" json:"state,omitempty"`
// Output only. The error detail.
Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *WorkflowNode) Reset() {
*x = WorkflowNode{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkflowNode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkflowNode) ProtoMessage() {}
func (x *WorkflowNode) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkflowNode.ProtoReflect.Descriptor instead.
func (*WorkflowNode) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{12}
}
func (x *WorkflowNode) GetStepId() string {
if x != nil {
return x.StepId
}
return ""
}
func (x *WorkflowNode) GetPrerequisiteStepIds() []string {
if x != nil {
return x.PrerequisiteStepIds
}
return nil
}
func (x *WorkflowNode) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *WorkflowNode) GetState() WorkflowNode_NodeState {
if x != nil {
return x.State
}
return WorkflowNode_NODE_STATUS_UNSPECIFIED
}
func (x *WorkflowNode) GetError() string {
if x != nil {
return x.Error
}
return ""
}
// A request to create a workflow template.
type CreateWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the region or location, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates,create`, the resource name of the
// region has the following format:
// `projects/{project_id}/regions/{region}`
//
// * For `projects.locations.workflowTemplates.create`, the resource name of
// the location has the following format:
// `projects/{project_id}/locations/{location}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The Dataproc workflow template to create.
Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
}
func (x *CreateWorkflowTemplateRequest) Reset() {
*x = CreateWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateWorkflowTemplateRequest) ProtoMessage() {}
func (x *CreateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*CreateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{13}
}
func (x *CreateWorkflowTemplateRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
if x != nil {
return x.Template
}
return nil
}
// A request to fetch a workflow template.
type GetWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the workflow template, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates.get`, the resource name of the
// template has the following format:
// `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
//
// * For `projects.locations.workflowTemplates.get`, the resource name of the
// template has the following format:
// `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The version of workflow template to retrieve. Only previously
// instantiated versions can be retrieved.
//
// If unspecified, retrieves the current version.
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *GetWorkflowTemplateRequest) Reset() {
*x = GetWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkflowTemplateRequest) ProtoMessage() {}
func (x *GetWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*GetWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{14}
}
func (x *GetWorkflowTemplateRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GetWorkflowTemplateRequest) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
// A request to instantiate a workflow template.
type InstantiateWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the workflow template, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates.instantiate`, the resource name
// of the template has the following format:
// `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
//
// * For `projects.locations.workflowTemplates.instantiate`, the resource name
// of the template has the following format:
// `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The version of workflow template to instantiate. If specified,
// the workflow will be instantiated only if the current version of
// the workflow template has the supplied version.
//
// This option cannot be used to instantiate a previous version of
// workflow template.
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
// Deprecated. Please use `request_id` field instead.
//
// Deprecated: Do not use.
InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
// Optional. A tag that prevents multiple concurrent workflow
// instances with the same tag from running. This mitigates risk of
// concurrent instances started due to retries.
//
// It is recommended to always set this value to a
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
//
// The tag must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), and hyphens (-). The maximum length is 40 characters.
RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// Optional. Map from parameter names to values that should be used for those
// parameters. Values may not exceed 100 characters.
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"`
}
func (x *InstantiateWorkflowTemplateRequest) Reset() {
*x = InstantiateWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstantiateWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstantiateWorkflowTemplateRequest) ProtoMessage() {}
func (x *InstantiateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstantiateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*InstantiateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{15}
}
func (x *InstantiateWorkflowTemplateRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *InstantiateWorkflowTemplateRequest) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
// Deprecated: Do not use.
func (x *InstantiateWorkflowTemplateRequest) GetInstanceId() string {
if x != nil {
return x.InstanceId
}
return ""
}
func (x *InstantiateWorkflowTemplateRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *InstantiateWorkflowTemplateRequest) GetParameters() map[string]string {
if x != nil {
return x.Parameters
}
return nil
}
// A request to instantiate an inline workflow template.
type InstantiateInlineWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the region or location, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates,instantiateinline`, the resource
// name of the region has the following format:
// `projects/{project_id}/regions/{region}`
//
// * For `projects.locations.workflowTemplates.instantiateinline`, the
// resource name of the location has the following format:
// `projects/{project_id}/locations/{location}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The workflow template to instantiate.
Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
// Deprecated. Please use `request_id` field instead.
InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
// Optional. A tag that prevents multiple concurrent workflow
// instances with the same tag from running. This mitigates risk of
// concurrent instances started due to retries.
//
// It is recommended to always set this value to a
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
//
// The tag must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), and hyphens (-). The maximum length is 40 characters.
RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *InstantiateInlineWorkflowTemplateRequest) Reset() {
*x = InstantiateInlineWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstantiateInlineWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstantiateInlineWorkflowTemplateRequest) ProtoMessage() {}
func (x *InstantiateInlineWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstantiateInlineWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*InstantiateInlineWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{16}
}
func (x *InstantiateInlineWorkflowTemplateRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *InstantiateInlineWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
if x != nil {
return x.Template
}
return nil
}
func (x *InstantiateInlineWorkflowTemplateRequest) GetInstanceId() string {
if x != nil {
return x.InstanceId
}
return ""
}
func (x *InstantiateInlineWorkflowTemplateRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
// A request to update a workflow template.
type UpdateWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The updated workflow template.
//
// The `template.version` field must match the current version.
Template *WorkflowTemplate `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
}
func (x *UpdateWorkflowTemplateRequest) Reset() {
*x = UpdateWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkflowTemplateRequest) ProtoMessage() {}
func (x *UpdateWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{17}
}
func (x *UpdateWorkflowTemplateRequest) GetTemplate() *WorkflowTemplate {
if x != nil {
return x.Template
}
return nil
}
// A request to list workflow templates in a project.
type ListWorkflowTemplatesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the region or location, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates,list`, the resource
// name of the region has the following format:
// `projects/{project_id}/regions/{region}`
//
// * For `projects.locations.workflowTemplates.list`, the
// resource name of the location has the following format:
// `projects/{project_id}/locations/{location}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. The maximum number of results to return in each response.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. The page token, returned by a previous call, to request the
// next page of results.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListWorkflowTemplatesRequest) Reset() {
*x = ListWorkflowTemplatesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkflowTemplatesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkflowTemplatesRequest) ProtoMessage() {}
func (x *ListWorkflowTemplatesRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListWorkflowTemplatesRequest.ProtoReflect.Descriptor instead.
func (*ListWorkflowTemplatesRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{18}
}
func (x *ListWorkflowTemplatesRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListWorkflowTemplatesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListWorkflowTemplatesRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// A response to a request to list workflow templates in a project.
type ListWorkflowTemplatesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. WorkflowTemplates list.
Templates []*WorkflowTemplate `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"`
// Output only. This token is included in the response if there are more
// results to fetch. To fetch additional results, provide this value as the
// page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListWorkflowTemplatesResponse) Reset() {
*x = ListWorkflowTemplatesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkflowTemplatesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkflowTemplatesResponse) ProtoMessage() {}
func (x *ListWorkflowTemplatesResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListWorkflowTemplatesResponse.ProtoReflect.Descriptor instead.
func (*ListWorkflowTemplatesResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{19}
}
func (x *ListWorkflowTemplatesResponse) GetTemplates() []*WorkflowTemplate {
if x != nil {
return x.Templates
}
return nil
}
func (x *ListWorkflowTemplatesResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request to delete a workflow template.
//
// Currently started workflows will remain running.
type DeleteWorkflowTemplateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the workflow template, as described
// in https://cloud.google.com/apis/design/resource_names.
//
// * For `projects.regions.workflowTemplates.delete`, the resource name
// of the template has the following format:
// `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
//
// * For `projects.locations.workflowTemplates.instantiate`, the resource name
// of the template has the following format:
// `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The version of workflow template to delete. If specified,
// will only delete the template if the current server version matches
// specified version.
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *DeleteWorkflowTemplateRequest) Reset() {
*x = DeleteWorkflowTemplateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteWorkflowTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteWorkflowTemplateRequest) ProtoMessage() {}
func (x *DeleteWorkflowTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteWorkflowTemplateRequest.ProtoReflect.Descriptor instead.
func (*DeleteWorkflowTemplateRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP(), []int{20}
}
func (x *DeleteWorkflowTemplateRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeleteWorkflowTemplateRequest) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
var File_google_cloud_dataproc_v1beta2_workflow_templates_proto protoreflect.FileDescriptor
var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = []byte{
0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f,
0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x06, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12,
0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
0x6e, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a,
0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65,
0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x55, 0x0a, 0x0a,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0xca,
0x01, 0xea, 0x41, 0xc6, 0x01, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x4d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f,
0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x20, 0x01, 0x22, 0xdf, 0x01, 0x0a, 0x19,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52,
0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x42, 0x0b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 0x02,
0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x7a,
0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12,
0x68, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x07, 0x0a, 0x0a,
0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x74,
0x65, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0a, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x61, 0x64,
0x6f, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x09, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x4a, 0x6f, 0x62, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x6a, 0x6f, 0x62,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x48,
0x00, 0x52, 0x08, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x4c, 0x0a, 0x0b, 0x70,
0x79, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x50, 0x79, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0a, 0x70,
0x79, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x43, 0x0a, 0x08, 0x68, 0x69, 0x76,
0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x69, 0x76, 0x65,
0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x40,
0x0a, 0x07, 0x70, 0x69, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x50, 0x69, 0x67, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x06, 0x70, 0x69, 0x67, 0x4a, 0x6f, 0x62,
0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x48,
0x00, 0x52, 0x09, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x52, 0x4a, 0x6f, 0x62, 0x12, 0x50, 0x0a, 0x0d,
0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a, 0x6f, 0x62, 0x48,
0x00, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x53, 0x71, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x49,
0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x09,
0x70, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x4a, 0x6f, 0x62, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65,
0x64, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a,
0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42,
0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67,
0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65,
0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42,
0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x70, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69,
0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49, 0x64, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x22, 0xb5, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69,
0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x48, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x65,
0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78,
0x65, 0x73, 0x22, 0x29, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xcd, 0x06,
0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0x12, 0x1f, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72,
0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03,
0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
0x47, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61,
0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x03, 0xe0, 0x41,
0x03, 0x52, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
0x41, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x5f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c,
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x55, 0x75, 0x69, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07,
0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e,
0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e,
0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 0x6e, 0x0a,
0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x22, 0x57, 0x0a,
0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x46,
0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f,
0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x70, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73,
0x74, 0x65, 0x70, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75,
0x69, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x72, 0x65, 0x72, 0x65,
0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x49, 0x64, 0x73, 0x12, 0x1a,
0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
0xe0, 0x41, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x05, 0x73, 0x74,
0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x53,
0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41,
0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c,
0x0a, 0x08, 0x52, 0x55, 0x4e, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d,
0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c,
0x45, 0x44, 0x10, 0x05, 0x22, 0xbb, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28,
0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x22, 0x7c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x22, 0xfa, 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01,
0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x71, 0x0a, 0x0a, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d,
0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x86, 0x02,
0x0a, 0x28, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1c, 0x4c, 0x69,
0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x2a, 0x12, 0x28, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x22, 0xa0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x74, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61,
0x70, 0x72, 0x6f, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x32, 0xe9, 0x11, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0xb0, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xa6, 0x01, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x8c, 0x01, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x08,
0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x46, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x12, 0x89, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70,
0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78,
0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0xe5, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67,
0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0xe3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x22, 0x44, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74,
0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f,
0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f,
0x2a, 0x7d, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x3a, 0x01,
0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0xca, 0x41, 0x29, 0x0a, 0x15,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x84, 0x03, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x57, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x47, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x22,
0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x08, 0x74,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a, 0x56, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x49,
0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xda,
0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0xca, 0x41, 0x29, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x10, 0x57, 0x6f,
0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xba,
0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xb0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x9e, 0x01, 0x1a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x74, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5a,
0x4f, 0x1a, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x74, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0xda, 0x41, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x9c, 0x02, 0x0a, 0x15,
0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f,
0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf6, 0x01, 0x0a, 0x16, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x85, 0x01, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x78, 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3c,
0x2a, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x1a, 0x4b, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2,
0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x42, 0x84, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61,
0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x3b, 0x64,
0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce sync.Once
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc
)
func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescGZIP() []byte {
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescOnce.Do(func() {
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData)
})
return file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDescData
}
var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = []interface{}{
(WorkflowMetadata_State)(0), // 0: google.cloud.dataproc.v1beta2.WorkflowMetadata.State
(WorkflowNode_NodeState)(0), // 1: google.cloud.dataproc.v1beta2.WorkflowNode.NodeState
(*WorkflowTemplate)(nil), // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate
(*WorkflowTemplatePlacement)(nil), // 3: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement
(*ManagedCluster)(nil), // 4: google.cloud.dataproc.v1beta2.ManagedCluster
(*ClusterSelector)(nil), // 5: google.cloud.dataproc.v1beta2.ClusterSelector
(*OrderedJob)(nil), // 6: google.cloud.dataproc.v1beta2.OrderedJob
(*TemplateParameter)(nil), // 7: google.cloud.dataproc.v1beta2.TemplateParameter
(*ParameterValidation)(nil), // 8: google.cloud.dataproc.v1beta2.ParameterValidation
(*RegexValidation)(nil), // 9: google.cloud.dataproc.v1beta2.RegexValidation
(*ValueValidation)(nil), // 10: google.cloud.dataproc.v1beta2.ValueValidation
(*WorkflowMetadata)(nil), // 11: google.cloud.dataproc.v1beta2.WorkflowMetadata
(*ClusterOperation)(nil), // 12: google.cloud.dataproc.v1beta2.ClusterOperation
(*WorkflowGraph)(nil), // 13: google.cloud.dataproc.v1beta2.WorkflowGraph
(*WorkflowNode)(nil), // 14: google.cloud.dataproc.v1beta2.WorkflowNode
(*CreateWorkflowTemplateRequest)(nil), // 15: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest
(*GetWorkflowTemplateRequest)(nil), // 16: google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest
(*InstantiateWorkflowTemplateRequest)(nil), // 17: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest
(*InstantiateInlineWorkflowTemplateRequest)(nil), // 18: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest
(*UpdateWorkflowTemplateRequest)(nil), // 19: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest
(*ListWorkflowTemplatesRequest)(nil), // 20: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest
(*ListWorkflowTemplatesResponse)(nil), // 21: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse
(*DeleteWorkflowTemplateRequest)(nil), // 22: google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest
nil, // 23: google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry
nil, // 24: google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry
nil, // 25: google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry
nil, // 26: google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry
nil, // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry
nil, // 28: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry
(*timestamp.Timestamp)(nil), // 29: google.protobuf.Timestamp
(*ClusterConfig)(nil), // 30: google.cloud.dataproc.v1beta2.ClusterConfig
(*HadoopJob)(nil), // 31: google.cloud.dataproc.v1beta2.HadoopJob
(*SparkJob)(nil), // 32: google.cloud.dataproc.v1beta2.SparkJob
(*PySparkJob)(nil), // 33: google.cloud.dataproc.v1beta2.PySparkJob
(*HiveJob)(nil), // 34: google.cloud.dataproc.v1beta2.HiveJob
(*PigJob)(nil), // 35: google.cloud.dataproc.v1beta2.PigJob
(*SparkRJob)(nil), // 36: google.cloud.dataproc.v1beta2.SparkRJob
(*SparkSqlJob)(nil), // 37: google.cloud.dataproc.v1beta2.SparkSqlJob
(*PrestoJob)(nil), // 38: google.cloud.dataproc.v1beta2.PrestoJob
(*JobScheduling)(nil), // 39: google.cloud.dataproc.v1beta2.JobScheduling
(*longrunning.Operation)(nil), // 40: google.longrunning.Operation
(*empty.Empty)(nil), // 41: google.protobuf.Empty
}
var file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = []int32{
29, // 0: google.cloud.dataproc.v1beta2.WorkflowTemplate.create_time:type_name -> google.protobuf.Timestamp
29, // 1: google.cloud.dataproc.v1beta2.WorkflowTemplate.update_time:type_name -> google.protobuf.Timestamp
23, // 2: google.cloud.dataproc.v1beta2.WorkflowTemplate.labels:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate.LabelsEntry
3, // 3: google.cloud.dataproc.v1beta2.WorkflowTemplate.placement:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement
6, // 4: google.cloud.dataproc.v1beta2.WorkflowTemplate.jobs:type_name -> google.cloud.dataproc.v1beta2.OrderedJob
7, // 5: google.cloud.dataproc.v1beta2.WorkflowTemplate.parameters:type_name -> google.cloud.dataproc.v1beta2.TemplateParameter
4, // 6: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.managed_cluster:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster
5, // 7: google.cloud.dataproc.v1beta2.WorkflowTemplatePlacement.cluster_selector:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector
30, // 8: google.cloud.dataproc.v1beta2.ManagedCluster.config:type_name -> google.cloud.dataproc.v1beta2.ClusterConfig
24, // 9: google.cloud.dataproc.v1beta2.ManagedCluster.labels:type_name -> google.cloud.dataproc.v1beta2.ManagedCluster.LabelsEntry
25, // 10: google.cloud.dataproc.v1beta2.ClusterSelector.cluster_labels:type_name -> google.cloud.dataproc.v1beta2.ClusterSelector.ClusterLabelsEntry
31, // 11: google.cloud.dataproc.v1beta2.OrderedJob.hadoop_job:type_name -> google.cloud.dataproc.v1beta2.HadoopJob
32, // 12: google.cloud.dataproc.v1beta2.OrderedJob.spark_job:type_name -> google.cloud.dataproc.v1beta2.SparkJob
33, // 13: google.cloud.dataproc.v1beta2.OrderedJob.pyspark_job:type_name -> google.cloud.dataproc.v1beta2.PySparkJob
34, // 14: google.cloud.dataproc.v1beta2.OrderedJob.hive_job:type_name -> google.cloud.dataproc.v1beta2.HiveJob
35, // 15: google.cloud.dataproc.v1beta2.OrderedJob.pig_job:type_name -> google.cloud.dataproc.v1beta2.PigJob
36, // 16: google.cloud.dataproc.v1beta2.OrderedJob.spark_r_job:type_name -> google.cloud.dataproc.v1beta2.SparkRJob
37, // 17: google.cloud.dataproc.v1beta2.OrderedJob.spark_sql_job:type_name -> google.cloud.dataproc.v1beta2.SparkSqlJob
38, // 18: google.cloud.dataproc.v1beta2.OrderedJob.presto_job:type_name -> google.cloud.dataproc.v1beta2.PrestoJob
26, // 19: google.cloud.dataproc.v1beta2.OrderedJob.labels:type_name -> google.cloud.dataproc.v1beta2.OrderedJob.LabelsEntry
39, // 20: google.cloud.dataproc.v1beta2.OrderedJob.scheduling:type_name -> google.cloud.dataproc.v1beta2.JobScheduling
8, // 21: google.cloud.dataproc.v1beta2.TemplateParameter.validation:type_name -> google.cloud.dataproc.v1beta2.ParameterValidation
9, // 22: google.cloud.dataproc.v1beta2.ParameterValidation.regex:type_name -> google.cloud.dataproc.v1beta2.RegexValidation
10, // 23: google.cloud.dataproc.v1beta2.ParameterValidation.values:type_name -> google.cloud.dataproc.v1beta2.ValueValidation
12, // 24: google.cloud.dataproc.v1beta2.WorkflowMetadata.create_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation
13, // 25: google.cloud.dataproc.v1beta2.WorkflowMetadata.graph:type_name -> google.cloud.dataproc.v1beta2.WorkflowGraph
12, // 26: google.cloud.dataproc.v1beta2.WorkflowMetadata.delete_cluster:type_name -> google.cloud.dataproc.v1beta2.ClusterOperation
0, // 27: google.cloud.dataproc.v1beta2.WorkflowMetadata.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.State
27, // 28: google.cloud.dataproc.v1beta2.WorkflowMetadata.parameters:type_name -> google.cloud.dataproc.v1beta2.WorkflowMetadata.ParametersEntry
29, // 29: google.cloud.dataproc.v1beta2.WorkflowMetadata.start_time:type_name -> google.protobuf.Timestamp
29, // 30: google.cloud.dataproc.v1beta2.WorkflowMetadata.end_time:type_name -> google.protobuf.Timestamp
14, // 31: google.cloud.dataproc.v1beta2.WorkflowGraph.nodes:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode
1, // 32: google.cloud.dataproc.v1beta2.WorkflowNode.state:type_name -> google.cloud.dataproc.v1beta2.WorkflowNode.NodeState
2, // 33: google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
28, // 34: google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.parameters:type_name -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest.ParametersEntry
2, // 35: google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2, // 36: google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest.template:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2, // 37: google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse.templates:type_name -> google.cloud.dataproc.v1beta2.WorkflowTemplate
15, // 38: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.CreateWorkflowTemplateRequest
16, // 39: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.GetWorkflowTemplateRequest
17, // 40: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateWorkflowTemplateRequest
18, // 41: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.InstantiateInlineWorkflowTemplateRequest
19, // 42: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.UpdateWorkflowTemplateRequest
20, // 43: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:input_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesRequest
22, // 44: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:input_type -> google.cloud.dataproc.v1beta2.DeleteWorkflowTemplateRequest
2, // 45: google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
2, // 46: google.cloud.dataproc.v1beta2.WorkflowTemplateService.GetWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
40, // 47: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate:output_type -> google.longrunning.Operation
40, // 48: google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateInlineWorkflowTemplate:output_type -> google.longrunning.Operation
2, // 49: google.cloud.dataproc.v1beta2.WorkflowTemplateService.UpdateWorkflowTemplate:output_type -> google.cloud.dataproc.v1beta2.WorkflowTemplate
21, // 50: google.cloud.dataproc.v1beta2.WorkflowTemplateService.ListWorkflowTemplates:output_type -> google.cloud.dataproc.v1beta2.ListWorkflowTemplatesResponse
41, // 51: google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate:output_type -> google.protobuf.Empty
45, // [45:52] is the sub-list for method output_type
38, // [38:45] is the sub-list for method input_type
38, // [38:38] is the sub-list for extension type_name
38, // [38:38] is the sub-list for extension extendee
0, // [0:38] is the sub-list for field type_name
}
func init() { file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() }
func file_google_cloud_dataproc_v1beta2_workflow_templates_proto_init() {
if File_google_cloud_dataproc_v1beta2_workflow_templates_proto != nil {
return
}
file_google_cloud_dataproc_v1beta2_clusters_proto_init()
file_google_cloud_dataproc_v1beta2_jobs_proto_init()
if !protoimpl.UnsafeEnabled {
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkflowTemplate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkflowTemplatePlacement); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ManagedCluster); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClusterSelector); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderedJob); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TemplateParameter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParameterValidation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegexValidation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValueValidation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkflowMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClusterOperation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkflowGraph); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkflowNode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstantiateWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstantiateInlineWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkflowTemplatesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkflowTemplatesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteWorkflowTemplateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[1].OneofWrappers = []interface{}{
(*WorkflowTemplatePlacement_ManagedCluster)(nil),
(*WorkflowTemplatePlacement_ClusterSelector)(nil),
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[4].OneofWrappers = []interface{}{
(*OrderedJob_HadoopJob)(nil),
(*OrderedJob_SparkJob)(nil),
(*OrderedJob_PysparkJob)(nil),
(*OrderedJob_HiveJob)(nil),
(*OrderedJob_PigJob)(nil),
(*OrderedJob_SparkRJob)(nil),
(*OrderedJob_SparkSqlJob)(nil),
(*OrderedJob_PrestoJob)(nil),
}
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes[6].OneofWrappers = []interface{}{
(*ParameterValidation_Regex)(nil),
(*ParameterValidation_Values)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc,
NumEnums: 2,
NumMessages: 27,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes,
DependencyIndexes: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs,
EnumInfos: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_enumTypes,
MessageInfos: file_google_cloud_dataproc_v1beta2_workflow_templates_proto_msgTypes,
}.Build()
File_google_cloud_dataproc_v1beta2_workflow_templates_proto = out.File
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_rawDesc = nil
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_goTypes = nil
file_google_cloud_dataproc_v1beta2_workflow_templates_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// WorkflowTemplateServiceClient is the client API for WorkflowTemplateService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type WorkflowTemplateServiceClient interface {
// Creates new workflow template.
CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
// Retrieves the latest workflow template.
//
// Can retrieve previously instantiated template by specifying optional
// version parameter.
GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
// Instantiates a template and begins execution.
//
// The returned Operation can be used to track execution of
// workflow by polling
// [operations.get][google.longrunning.Operations.GetOperation].
// The Operation will complete when entire workflow is finished.
//
// The running workflow can be aborted via
// [operations.cancel][google.longrunning.Operations.CancelOperation].
// This will cause any inflight jobs to be cancelled and workflow-owned
// clusters to be deleted.
//
// The [Operation.metadata][google.longrunning.Operation.metadata] will be
// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata).
// Also see [Using
// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
//
// On successful completion,
// [Operation.response][google.longrunning.Operation.response] will be
// [Empty][google.protobuf.Empty].
InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Instantiates a template and begins execution.
//
// This method is equivalent to executing the sequence
// [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate], [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate],
// [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate].
//
// The returned Operation can be used to track execution of
// workflow by polling
// [operations.get][google.longrunning.Operations.GetOperation].
// The Operation will complete when entire workflow is finished.
//
// The running workflow can be aborted via
// [operations.cancel][google.longrunning.Operations.CancelOperation].
// This will cause any inflight jobs to be cancelled and workflow-owned
// clusters to be deleted.
//
// The [Operation.metadata][google.longrunning.Operation.metadata] will be
// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
// Also see [Using
// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
//
// On successful completion,
// [Operation.response][google.longrunning.Operation.response] will be
// [Empty][google.protobuf.Empty].
InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Updates (replaces) workflow template. The updated template
// must contain version that matches the current server version.
UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
// Lists workflows that match the specified filter in the request.
ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error)
// Deletes a workflow template. It does not cancel in-progress workflows.
DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
}
type workflowTemplateServiceClient struct {
cc grpc.ClientConnInterface
}
func NewWorkflowTemplateServiceClient(cc grpc.ClientConnInterface) WorkflowTemplateServiceClient {
return &workflowTemplateServiceClient{cc}
}
func (c *workflowTemplateServiceClient) CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
out := new(WorkflowTemplate)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) GetWorkflowTemplate(ctx context.Context, in *GetWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
out := new(WorkflowTemplate)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) InstantiateWorkflowTemplate(ctx context.Context, in *InstantiateWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) InstantiateInlineWorkflowTemplate(ctx context.Context, in *InstantiateInlineWorkflowTemplateRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) UpdateWorkflowTemplate(ctx context.Context, in *UpdateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error) {
out := new(WorkflowTemplate)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) ListWorkflowTemplates(ctx context.Context, in *ListWorkflowTemplatesRequest, opts ...grpc.CallOption) (*ListWorkflowTemplatesResponse, error) {
out := new(ListWorkflowTemplatesResponse)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowTemplateServiceClient) DeleteWorkflowTemplate(ctx context.Context, in *DeleteWorkflowTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// WorkflowTemplateServiceServer is the server API for WorkflowTemplateService service.
type WorkflowTemplateServiceServer interface {
// Creates new workflow template.
CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error)
// Retrieves the latest workflow template.
//
// Can retrieve previously instantiated template by specifying optional
// version parameter.
GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error)
// Instantiates a template and begins execution.
//
// The returned Operation can be used to track execution of
// workflow by polling
// [operations.get][google.longrunning.Operations.GetOperation].
// The Operation will complete when entire workflow is finished.
//
// The running workflow can be aborted via
// [operations.cancel][google.longrunning.Operations.CancelOperation].
// This will cause any inflight jobs to be cancelled and workflow-owned
// clusters to be deleted.
//
// The [Operation.metadata][google.longrunning.Operation.metadata] will be
// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata).
// Also see [Using
// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
//
// On successful completion,
// [Operation.response][google.longrunning.Operation.response] will be
// [Empty][google.protobuf.Empty].
InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error)
// Instantiates a template and begins execution.
//
// This method is equivalent to executing the sequence
// [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate], [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate],
// [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate].
//
// The returned Operation can be used to track execution of
// workflow by polling
// [operations.get][google.longrunning.Operations.GetOperation].
// The Operation will complete when entire workflow is finished.
//
// The running workflow can be aborted via
// [operations.cancel][google.longrunning.Operations.CancelOperation].
// This will cause any inflight jobs to be cancelled and workflow-owned
// clusters to be deleted.
//
// The [Operation.metadata][google.longrunning.Operation.metadata] will be
// [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata).
// Also see [Using
// WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).
//
// On successful completion,
// [Operation.response][google.longrunning.Operation.response] will be
// [Empty][google.protobuf.Empty].
InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error)
// Updates (replaces) workflow template. The updated template
// must contain version that matches the current server version.
UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error)
// Lists workflows that match the specified filter in the request.
ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error)
// Deletes a workflow template. It does not cancel in-progress workflows.
DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*empty.Empty, error)
}
// UnimplementedWorkflowTemplateServiceServer can be embedded to have forward compatible implementations.
type UnimplementedWorkflowTemplateServiceServer struct {
}
func (*UnimplementedWorkflowTemplateServiceServer) CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateWorkflowTemplate not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) GetWorkflowTemplate(context.Context, *GetWorkflowTemplateRequest) (*WorkflowTemplate, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetWorkflowTemplate not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) InstantiateWorkflowTemplate(context.Context, *InstantiateWorkflowTemplateRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method InstantiateWorkflowTemplate not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) InstantiateInlineWorkflowTemplate(context.Context, *InstantiateInlineWorkflowTemplateRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method InstantiateInlineWorkflowTemplate not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) UpdateWorkflowTemplate(context.Context, *UpdateWorkflowTemplateRequest) (*WorkflowTemplate, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkflowTemplate not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) ListWorkflowTemplates(context.Context, *ListWorkflowTemplatesRequest) (*ListWorkflowTemplatesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListWorkflowTemplates not implemented")
}
func (*UnimplementedWorkflowTemplateServiceServer) DeleteWorkflowTemplate(context.Context, *DeleteWorkflowTemplateRequest) (*empty.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteWorkflowTemplate not implemented")
}
func RegisterWorkflowTemplateServiceServer(s *grpc.Server, srv WorkflowTemplateServiceServer) {
s.RegisterService(&_WorkflowTemplateService_serviceDesc, srv)
}
func _WorkflowTemplateService_CreateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/CreateWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).CreateWorkflowTemplate(ctx, req.(*CreateWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_GetWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/GetWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).GetWorkflowTemplate(ctx, req.(*GetWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InstantiateWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).InstantiateWorkflowTemplate(ctx, req.(*InstantiateWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InstantiateInlineWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/InstantiateInlineWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).InstantiateInlineWorkflowTemplate(ctx, req.(*InstantiateInlineWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_UpdateWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/UpdateWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).UpdateWorkflowTemplate(ctx, req.(*UpdateWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_ListWorkflowTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListWorkflowTemplatesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/ListWorkflowTemplates",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).ListWorkflowTemplates(ctx, req.(*ListWorkflowTemplatesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowTemplateService_DeleteWorkflowTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteWorkflowTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.dataproc.v1beta2.WorkflowTemplateService/DeleteWorkflowTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowTemplateServiceServer).DeleteWorkflowTemplate(ctx, req.(*DeleteWorkflowTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
var _WorkflowTemplateService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.dataproc.v1beta2.WorkflowTemplateService",
HandlerType: (*WorkflowTemplateServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateWorkflowTemplate",
Handler: _WorkflowTemplateService_CreateWorkflowTemplate_Handler,
},
{
MethodName: "GetWorkflowTemplate",
Handler: _WorkflowTemplateService_GetWorkflowTemplate_Handler,
},
{
MethodName: "InstantiateWorkflowTemplate",
Handler: _WorkflowTemplateService_InstantiateWorkflowTemplate_Handler,
},
{
MethodName: "InstantiateInlineWorkflowTemplate",
Handler: _WorkflowTemplateService_InstantiateInlineWorkflowTemplate_Handler,
},
{
MethodName: "UpdateWorkflowTemplate",
Handler: _WorkflowTemplateService_UpdateWorkflowTemplate_Handler,
},
{
MethodName: "ListWorkflowTemplates",
Handler: _WorkflowTemplateService_ListWorkflowTemplates_Handler,
},
{
MethodName: "DeleteWorkflowTemplate",
Handler: _WorkflowTemplateService_DeleteWorkflowTemplate_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/dataproc/v1beta2/workflow_templates.proto",
}