From 2cc171646921628a7e96abc8d4ddffb4cf9eb148 Mon Sep 17 00:00:00 2001 From: Awais Malik Date: Tue, 1 Oct 2024 15:36:43 -0700 Subject: [PATCH] feat: add toggle message for NIM (#2634) --- cli/Makefile | 2 +- cli/bpmetadata/bpmetadata_ui.pb.go | 480 ++++++++++++------ cli/bpmetadata/proto/bpmetadata_ui.proto | 22 + .../schema/gcp-blueprint-metadata.json | 25 + 4 files changed, 373 insertions(+), 156 deletions(-) diff --git a/cli/Makefile b/cli/Makefile index bfbe7a55aa1..ecd280434ac 100644 --- a/cli/Makefile +++ b/cli/Makefile @@ -1,7 +1,7 @@ SHELL := /bin/bash # Changing this value will trigger a new release -VERSION=v1.5.3 +VERSION=v1.5.4 BINARY=bin/cft GITHUB_REPO=github.com/GoogleCloudPlatform/cloud-foundation-toolkit PLATFORMS := linux windows darwin diff --git a/cli/bpmetadata/bpmetadata_ui.pb.go b/cli/bpmetadata/bpmetadata_ui.pb.go index 840edc3a541..982c8261628 100644 --- a/cli/bpmetadata/bpmetadata_ui.pb.go +++ b/cli/bpmetadata/bpmetadata_ui.pb.go @@ -74,6 +74,58 @@ func (DisplayVariable_AlternateDefault_AlternateType) EnumDescriptor() ([]byte, return file_bpmetadata_ui_proto_rawDescGZIP(), []int{1, 0, 0} } +type DisplayVariableToggle_ToggleType int32 + +const ( + // Default + DisplayVariableToggle_DISPLAY_VARIABLE_TOGGLE_TYPE_UNSPECIFIED DisplayVariableToggle_ToggleType = 0 + // Boolean + DisplayVariableToggle_DISPLAY_VARIABLE_TOGGLE_TYPE_BOOLEAN DisplayVariableToggle_ToggleType = 1 + // String + DisplayVariableToggle_DISPLAY_VARIABLE_TOGGLE_TYPE_STRING DisplayVariableToggle_ToggleType = 2 +) + +// Enum value maps for DisplayVariableToggle_ToggleType. +var ( + DisplayVariableToggle_ToggleType_name = map[int32]string{ + 0: "DISPLAY_VARIABLE_TOGGLE_TYPE_UNSPECIFIED", + 1: "DISPLAY_VARIABLE_TOGGLE_TYPE_BOOLEAN", + 2: "DISPLAY_VARIABLE_TOGGLE_TYPE_STRING", + } + DisplayVariableToggle_ToggleType_value = map[string]int32{ + "DISPLAY_VARIABLE_TOGGLE_TYPE_UNSPECIFIED": 0, + "DISPLAY_VARIABLE_TOGGLE_TYPE_BOOLEAN": 1, + "DISPLAY_VARIABLE_TOGGLE_TYPE_STRING": 2, + } +) + +func (x DisplayVariableToggle_ToggleType) Enum() *DisplayVariableToggle_ToggleType { + p := new(DisplayVariableToggle_ToggleType) + *p = x + return p +} + +func (x DisplayVariableToggle_ToggleType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DisplayVariableToggle_ToggleType) Descriptor() protoreflect.EnumDescriptor { + return file_bpmetadata_ui_proto_enumTypes[1].Descriptor() +} + +func (DisplayVariableToggle_ToggleType) Type() protoreflect.EnumType { + return &file_bpmetadata_ui_proto_enumTypes[1] +} + +func (x DisplayVariableToggle_ToggleType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DisplayVariableToggle_ToggleType.Descriptor instead. +func (DisplayVariableToggle_ToggleType) EnumDescriptor() ([]byte, []int) { + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{2, 0} +} + // Visibility defines how the output is exposed. // Gen: manually-authored. type DisplayOutput_Visibility int32 @@ -108,11 +160,11 @@ func (x DisplayOutput_Visibility) String() string { } func (DisplayOutput_Visibility) Descriptor() protoreflect.EnumDescriptor { - return file_bpmetadata_ui_proto_enumTypes[1].Descriptor() + return file_bpmetadata_ui_proto_enumTypes[2].Descriptor() } func (DisplayOutput_Visibility) Type() protoreflect.EnumType { - return &file_bpmetadata_ui_proto_enumTypes[1] + return &file_bpmetadata_ui_proto_enumTypes[2] } func (x DisplayOutput_Visibility) Number() protoreflect.EnumNumber { @@ -121,7 +173,7 @@ func (x DisplayOutput_Visibility) Number() protoreflect.EnumNumber { // Deprecated: Use DisplayOutput_Visibility.Descriptor instead. func (DisplayOutput_Visibility) EnumDescriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{7, 0} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{8, 0} } // BlueprintUIInput is the structure for holding Input and Input Section (i.e. groups) specific metadata. @@ -283,8 +335,9 @@ type DisplayVariable struct { // properties list and must belong to the same section (if any). // Optional. // Gen: manually-authored - BooleanGroup string `protobuf:"bytes,20,opt,name=boolean_group,json=booleanGroup,proto3" json:"booleanGroup,omitempty" yaml:"booleanGroup,omitempty"` // @gotags: json:"booleanGroup,omitempty" yaml:"booleanGroup,omitempty" - AltDefaults []*DisplayVariable_AlternateDefault `protobuf:"bytes,21,rep,name=alt_defaults,json=altDefaults,proto3" json:"altDefaults,omitempty" yaml:"altDefaults,omitempty"` // @gotags: json:"altDefaults,omitempty" yaml:"altDefaults,omitempty" + BooleanGroup string `protobuf:"bytes,20,opt,name=boolean_group,json=booleanGroup,proto3" json:"booleanGroup,omitempty" yaml:"booleanGroup,omitempty"` // @gotags: json:"booleanGroup,omitempty" yaml:"booleanGroup,omitempty" + AltDefaults []*DisplayVariable_AlternateDefault `protobuf:"bytes,21,rep,name=alt_defaults,json=altDefaults,proto3" json:"altDefaults,omitempty" yaml:"altDefaults,omitempty"` // @gotags: json:"altDefaults,omitempty" yaml:"altDefaults,omitempty" + ToggleUsingVariable *DisplayVariableToggle `protobuf:"bytes,22,opt,name=toggle_using_variable,json=toggleUsingVariable,proto3" json:"toggleUsingVariable,omitempty" yaml:"toggleUsingVariable,omitempty"` // @gotags: json:"toggleUsingVariable,omitempty" yaml:"toggleUsingVariable,omitempty" } func (x *DisplayVariable) Reset() { @@ -459,6 +512,79 @@ func (x *DisplayVariable) GetAltDefaults() []*DisplayVariable_AlternateDefault { return nil } +func (x *DisplayVariable) GetToggleUsingVariable() *DisplayVariableToggle { + if x != nil { + return x.ToggleUsingVariable + } + return nil +} + +type DisplayVariableToggle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the variable used to toggle the display of another variable. + VariableName string `protobuf:"bytes,1,opt,name=variable_name,json=variableName,proto3" json:"variableName,omitempty" yaml:"variableName,omitempty"` // @gotags: json:"variableName,omitempty" yaml:"variableName,omitempty" + // The value of the variable used to toggle the display of another variable. + VariableValue string `protobuf:"bytes,2,opt,name=variable_value,json=variableValue,proto3" json:"variableValue,omitempty" yaml:"variableValue,omitempty"` // @gotags: json:"variableValue,omitempty" yaml:"variableValue,omitempty" + // The type of the variable used to toggle the display of another variable. + Type DisplayVariableToggle_ToggleType `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.config.bpmetadata.DisplayVariableToggle_ToggleType" json:"type,omitempty" yaml:"type,omitempty"` // @gotags: json:"type,omitempty" yaml:"type,omitempty" +} + +func (x *DisplayVariableToggle) Reset() { + *x = DisplayVariableToggle{} + if protoimpl.UnsafeEnabled { + mi := &file_bpmetadata_ui_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayVariableToggle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayVariableToggle) ProtoMessage() {} + +func (x *DisplayVariableToggle) ProtoReflect() protoreflect.Message { + mi := &file_bpmetadata_ui_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 DisplayVariableToggle.ProtoReflect.Descriptor instead. +func (*DisplayVariableToggle) Descriptor() ([]byte, []int) { + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{2} +} + +func (x *DisplayVariableToggle) GetVariableName() string { + if x != nil { + return x.VariableName + } + return "" +} + +func (x *DisplayVariableToggle) GetVariableValue() string { + if x != nil { + return x.VariableValue + } + return "" +} + +func (x *DisplayVariableToggle) GetType() DisplayVariableToggle_ToggleType { + if x != nil { + return x.Type + } + return DisplayVariableToggle_DISPLAY_VARIABLE_TOGGLE_TYPE_UNSPECIFIED +} + type ValueLabel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -471,7 +597,7 @@ type ValueLabel struct { func (x *ValueLabel) Reset() { *x = ValueLabel{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[2] + mi := &file_bpmetadata_ui_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -484,7 +610,7 @@ func (x *ValueLabel) String() string { func (*ValueLabel) ProtoMessage() {} func (x *ValueLabel) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[2] + mi := &file_bpmetadata_ui_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -497,7 +623,7 @@ func (x *ValueLabel) ProtoReflect() protoreflect.Message { // Deprecated: Use ValueLabel.ProtoReflect.Descriptor instead. func (*ValueLabel) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{2} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{3} } func (x *ValueLabel) GetLabel() string { @@ -543,7 +669,7 @@ type DisplaySection struct { func (x *DisplaySection) Reset() { *x = DisplaySection{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[3] + mi := &file_bpmetadata_ui_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -556,7 +682,7 @@ func (x *DisplaySection) String() string { func (*DisplaySection) ProtoMessage() {} func (x *DisplaySection) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[3] + mi := &file_bpmetadata_ui_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -569,7 +695,7 @@ func (x *DisplaySection) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplaySection.ProtoReflect.Descriptor instead. func (*DisplaySection) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{3} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{4} } func (x *DisplaySection) GetName() string { @@ -641,7 +767,7 @@ type BooleanGroup struct { func (x *BooleanGroup) Reset() { *x = BooleanGroup{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[4] + mi := &file_bpmetadata_ui_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -654,7 +780,7 @@ func (x *BooleanGroup) String() string { func (*BooleanGroup) ProtoMessage() {} func (x *BooleanGroup) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[4] + mi := &file_bpmetadata_ui_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -667,7 +793,7 @@ func (x *BooleanGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use BooleanGroup.ProtoReflect.Descriptor instead. func (*BooleanGroup) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{4} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{5} } func (x *BooleanGroup) GetName() string { @@ -719,7 +845,7 @@ type BlueprintUIOutput struct { func (x *BlueprintUIOutput) Reset() { *x = BlueprintUIOutput{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[5] + mi := &file_bpmetadata_ui_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -732,7 +858,7 @@ func (x *BlueprintUIOutput) String() string { func (*BlueprintUIOutput) ProtoMessage() {} func (x *BlueprintUIOutput) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[5] + mi := &file_bpmetadata_ui_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -745,7 +871,7 @@ func (x *BlueprintUIOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use BlueprintUIOutput.ProtoReflect.Descriptor instead. func (*BlueprintUIOutput) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{5} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{6} } func (x *BlueprintUIOutput) GetOutputMessage() string { @@ -800,7 +926,7 @@ type UIActionItem struct { func (x *UIActionItem) Reset() { *x = UIActionItem{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[6] + mi := &file_bpmetadata_ui_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -813,7 +939,7 @@ func (x *UIActionItem) String() string { func (*UIActionItem) ProtoMessage() {} func (x *UIActionItem) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[6] + mi := &file_bpmetadata_ui_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -826,7 +952,7 @@ func (x *UIActionItem) ProtoReflect() protoreflect.Message { // Deprecated: Use UIActionItem.ProtoReflect.Descriptor instead. func (*UIActionItem) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{6} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{7} } func (x *UIActionItem) GetHeading() string { @@ -881,7 +1007,7 @@ type DisplayOutput struct { func (x *DisplayOutput) Reset() { *x = DisplayOutput{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[7] + mi := &file_bpmetadata_ui_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -894,7 +1020,7 @@ func (x *DisplayOutput) String() string { func (*DisplayOutput) ProtoMessage() {} func (x *DisplayOutput) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[7] + mi := &file_bpmetadata_ui_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -907,7 +1033,7 @@ func (x *DisplayOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayOutput.ProtoReflect.Descriptor instead. func (*DisplayOutput) Descriptor() ([]byte, []int) { - return file_bpmetadata_ui_proto_rawDescGZIP(), []int{7} + return file_bpmetadata_ui_proto_rawDescGZIP(), []int{8} } func (x *DisplayOutput) GetOpenInNewTab() bool { @@ -955,7 +1081,7 @@ type DisplayVariable_AlternateDefault struct { func (x *DisplayVariable_AlternateDefault) Reset() { *x = DisplayVariable_AlternateDefault{} if protoimpl.UnsafeEnabled { - mi := &file_bpmetadata_ui_proto_msgTypes[9] + mi := &file_bpmetadata_ui_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +1094,7 @@ func (x *DisplayVariable_AlternateDefault) String() string { func (*DisplayVariable_AlternateDefault) ProtoMessage() {} func (x *DisplayVariable_AlternateDefault) ProtoReflect() protoreflect.Message { - mi := &file_bpmetadata_ui_proto_msgTypes[9] + mi := &file_bpmetadata_ui_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1032,7 +1158,7 @@ var file_bpmetadata_ui_proto_rawDesc = []byte{ 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x9f, 0x08, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, + 0x22, 0x8a, 0x09, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, @@ -1081,95 +1207,123 @@ var file_bpmetadata_ui_proto_rawDesc = []byte{ 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x61, 0x6c, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x1a, 0x89, 0x02, 0x0a, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x62, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x12, 0x69, 0x0a, 0x15, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x52, 0x13, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x55, 0x73, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x10, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x12, 0x62, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x44, 0x43, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, 0xc9, 0x02, + 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x54, 0x6f, + 0x67, 0x67, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x44, 0x49, 0x53, 0x50, + 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x47, + 0x47, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, + 0x59, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x01, + 0x12, 0x27, 0x0a, 0x23, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x52, 0x49, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x0a, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x62, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6c, 0x0a, 0x0c, + 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x55, 0x49, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x73, 0x75, 0x67, 0x67, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x55, 0x49, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x10, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, - 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x43, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x13, - 0x10, 0x14, 0x22, 0x38, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x86, 0x01, 0x0a, - 0x0e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x6f, - 0x6c, 0x74, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, - 0x74, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6c, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, - 0x65, 0x78, 0x74, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x55, 0x49, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x59, 0x0a, 0x11, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x55, 0x49, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x69, 0x0a, 0x0c, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 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, 0x43, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x0c, 0x55, 0x49, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x17, 0x0a, + 0x07, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x68, 0x6f, 0x77, 0x49, 0x66, 0x22, 0x97, 0x02, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x12, + 0x30, 0x0a, 0x14, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, + 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x58, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x49, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x10, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x07, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x6c, - 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x55, 0x49, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x69, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 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, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x7d, 0x0a, 0x0c, 0x55, 0x49, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, - 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x6f, 0x77, 0x49, 0x66, 0x22, - 0x97, 0x02, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x65, 0x77, - 0x5f, 0x74, 0x61, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, - 0x49, 0x6e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68, 0x6f, 0x77, - 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x12, 0x58, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x3d, 0x0a, 0x0a, 0x56, 0x69, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x01, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x6f, 0x6f, - 0x6c, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x2e, 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x22, 0x3d, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x1a, 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x56, + 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x01, + 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x6f, 0x6f, 0x6c, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x6c, 0x69, 0x2f, + 0x62, 0x70, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1184,44 +1338,48 @@ func file_bpmetadata_ui_proto_rawDescGZIP() []byte { return file_bpmetadata_ui_proto_rawDescData } -var file_bpmetadata_ui_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_bpmetadata_ui_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_bpmetadata_ui_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_bpmetadata_ui_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_bpmetadata_ui_proto_goTypes = []interface{}{ (DisplayVariable_AlternateDefault_AlternateType)(0), // 0: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.AlternateType - (DisplayOutput_Visibility)(0), // 1: google.cloud.config.bpmetadata.DisplayOutput.Visibility - (*BlueprintUIInput)(nil), // 2: google.cloud.config.bpmetadata.BlueprintUIInput - (*DisplayVariable)(nil), // 3: google.cloud.config.bpmetadata.DisplayVariable - (*ValueLabel)(nil), // 4: google.cloud.config.bpmetadata.ValueLabel - (*DisplaySection)(nil), // 5: google.cloud.config.bpmetadata.DisplaySection - (*BooleanGroup)(nil), // 6: google.cloud.config.bpmetadata.BooleanGroup - (*BlueprintUIOutput)(nil), // 7: google.cloud.config.bpmetadata.BlueprintUIOutput - (*UIActionItem)(nil), // 8: google.cloud.config.bpmetadata.UIActionItem - (*DisplayOutput)(nil), // 9: google.cloud.config.bpmetadata.DisplayOutput - nil, // 10: google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry - (*DisplayVariable_AlternateDefault)(nil), // 11: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault - nil, // 12: google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry - (*GooglePropertyExtension)(nil), // 13: google.cloud.config.bpmetadata.GooglePropertyExtension - (*structpb.Value)(nil), // 14: google.protobuf.Value + (DisplayVariableToggle_ToggleType)(0), // 1: google.cloud.config.bpmetadata.DisplayVariableToggle.ToggleType + (DisplayOutput_Visibility)(0), // 2: google.cloud.config.bpmetadata.DisplayOutput.Visibility + (*BlueprintUIInput)(nil), // 3: google.cloud.config.bpmetadata.BlueprintUIInput + (*DisplayVariable)(nil), // 4: google.cloud.config.bpmetadata.DisplayVariable + (*DisplayVariableToggle)(nil), // 5: google.cloud.config.bpmetadata.DisplayVariableToggle + (*ValueLabel)(nil), // 6: google.cloud.config.bpmetadata.ValueLabel + (*DisplaySection)(nil), // 7: google.cloud.config.bpmetadata.DisplaySection + (*BooleanGroup)(nil), // 8: google.cloud.config.bpmetadata.BooleanGroup + (*BlueprintUIOutput)(nil), // 9: google.cloud.config.bpmetadata.BlueprintUIOutput + (*UIActionItem)(nil), // 10: google.cloud.config.bpmetadata.UIActionItem + (*DisplayOutput)(nil), // 11: google.cloud.config.bpmetadata.DisplayOutput + nil, // 12: google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry + (*DisplayVariable_AlternateDefault)(nil), // 13: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault + nil, // 14: google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry + (*GooglePropertyExtension)(nil), // 15: google.cloud.config.bpmetadata.GooglePropertyExtension + (*structpb.Value)(nil), // 16: google.protobuf.Value } var file_bpmetadata_ui_proto_depIdxs = []int32{ - 10, // 0: google.cloud.config.bpmetadata.BlueprintUIInput.variables:type_name -> google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry - 5, // 1: google.cloud.config.bpmetadata.BlueprintUIInput.sections:type_name -> google.cloud.config.bpmetadata.DisplaySection - 6, // 2: google.cloud.config.bpmetadata.BlueprintUIInput.boolean_groups:type_name -> google.cloud.config.bpmetadata.BooleanGroup - 13, // 3: google.cloud.config.bpmetadata.DisplayVariable.x_google_property:type_name -> google.cloud.config.bpmetadata.GooglePropertyExtension - 4, // 4: google.cloud.config.bpmetadata.DisplayVariable.enum_value_labels:type_name -> google.cloud.config.bpmetadata.ValueLabel - 11, // 5: google.cloud.config.bpmetadata.DisplayVariable.alt_defaults:type_name -> google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault - 8, // 6: google.cloud.config.bpmetadata.BlueprintUIOutput.suggested_actions:type_name -> google.cloud.config.bpmetadata.UIActionItem - 12, // 7: google.cloud.config.bpmetadata.BlueprintUIOutput.outputs:type_name -> google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry - 1, // 8: google.cloud.config.bpmetadata.DisplayOutput.visibility:type_name -> google.cloud.config.bpmetadata.DisplayOutput.Visibility - 3, // 9: google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry.value:type_name -> google.cloud.config.bpmetadata.DisplayVariable - 0, // 10: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.type:type_name -> google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.AlternateType - 14, // 11: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.value:type_name -> google.protobuf.Value - 9, // 12: google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry.value:type_name -> google.cloud.config.bpmetadata.DisplayOutput - 13, // [13:13] is the sub-list for method output_type - 13, // [13:13] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 12, // 0: google.cloud.config.bpmetadata.BlueprintUIInput.variables:type_name -> google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry + 7, // 1: google.cloud.config.bpmetadata.BlueprintUIInput.sections:type_name -> google.cloud.config.bpmetadata.DisplaySection + 8, // 2: google.cloud.config.bpmetadata.BlueprintUIInput.boolean_groups:type_name -> google.cloud.config.bpmetadata.BooleanGroup + 15, // 3: google.cloud.config.bpmetadata.DisplayVariable.x_google_property:type_name -> google.cloud.config.bpmetadata.GooglePropertyExtension + 6, // 4: google.cloud.config.bpmetadata.DisplayVariable.enum_value_labels:type_name -> google.cloud.config.bpmetadata.ValueLabel + 13, // 5: google.cloud.config.bpmetadata.DisplayVariable.alt_defaults:type_name -> google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault + 5, // 6: google.cloud.config.bpmetadata.DisplayVariable.toggle_using_variable:type_name -> google.cloud.config.bpmetadata.DisplayVariableToggle + 1, // 7: google.cloud.config.bpmetadata.DisplayVariableToggle.type:type_name -> google.cloud.config.bpmetadata.DisplayVariableToggle.ToggleType + 10, // 8: google.cloud.config.bpmetadata.BlueprintUIOutput.suggested_actions:type_name -> google.cloud.config.bpmetadata.UIActionItem + 14, // 9: google.cloud.config.bpmetadata.BlueprintUIOutput.outputs:type_name -> google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry + 2, // 10: google.cloud.config.bpmetadata.DisplayOutput.visibility:type_name -> google.cloud.config.bpmetadata.DisplayOutput.Visibility + 4, // 11: google.cloud.config.bpmetadata.BlueprintUIInput.VariablesEntry.value:type_name -> google.cloud.config.bpmetadata.DisplayVariable + 0, // 12: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.type:type_name -> google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.AlternateType + 16, // 13: google.cloud.config.bpmetadata.DisplayVariable.AlternateDefault.value:type_name -> google.protobuf.Value + 11, // 14: google.cloud.config.bpmetadata.BlueprintUIOutput.OutputsEntry.value:type_name -> google.cloud.config.bpmetadata.DisplayOutput + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_bpmetadata_ui_proto_init() } @@ -1256,7 +1414,7 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValueLabel); i { + switch v := v.(*DisplayVariableToggle); i { case 0: return &v.state case 1: @@ -1268,7 +1426,7 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplaySection); i { + switch v := v.(*ValueLabel); i { case 0: return &v.state case 1: @@ -1280,7 +1438,7 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BooleanGroup); i { + switch v := v.(*DisplaySection); i { case 0: return &v.state case 1: @@ -1292,7 +1450,7 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlueprintUIOutput); i { + switch v := v.(*BooleanGroup); i { case 0: return &v.state case 1: @@ -1304,7 +1462,7 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UIActionItem); i { + switch v := v.(*BlueprintUIOutput); i { case 0: return &v.state case 1: @@ -1316,6 +1474,18 @@ func file_bpmetadata_ui_proto_init() { } } file_bpmetadata_ui_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UIActionItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_bpmetadata_ui_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayOutput); i { case 0: return &v.state @@ -1327,7 +1497,7 @@ func file_bpmetadata_ui_proto_init() { return nil } } - file_bpmetadata_ui_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_bpmetadata_ui_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayVariable_AlternateDefault); i { case 0: return &v.state @@ -1345,8 +1515,8 @@ func file_bpmetadata_ui_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_bpmetadata_ui_proto_rawDesc, - NumEnums: 2, - NumMessages: 11, + NumEnums: 3, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/cli/bpmetadata/proto/bpmetadata_ui.proto b/cli/bpmetadata/proto/bpmetadata_ui.proto index a245a1344c0..79d5d54afe1 100644 --- a/cli/bpmetadata/proto/bpmetadata_ui.proto +++ b/cli/bpmetadata/proto/bpmetadata_ui.proto @@ -147,6 +147,28 @@ message DisplayVariable { google.protobuf.Value value = 2; // @gotags: json:"value,omitempty" yaml:"value,omitempty" } repeated AlternateDefault alt_defaults = 21; // @gotags: json:"altDefaults,omitempty" yaml:"altDefaults,omitempty" + + DisplayVariableToggle toggle_using_variable = 22; // @gotags: json:"toggleUsingVariable,omitempty" yaml:"toggleUsingVariable,omitempty" +} + +message DisplayVariableToggle { + // The name of the variable used to toggle the display of another variable. + string variable_name = 1; // @gotags: json:"variableName,omitempty" yaml:"variableName,omitempty" + + // The value of the variable used to toggle the display of another variable. + string variable_value = 2; // @gotags: json:"variableValue,omitempty" yaml:"variableValue,omitempty" + + // The type of the variable used to toggle the display of another variable. + ToggleType type = 3; // @gotags: json:"type,omitempty" yaml:"type,omitempty" + + enum ToggleType { + // Default + DISPLAY_VARIABLE_TOGGLE_TYPE_UNSPECIFIED = 0; + // Boolean + DISPLAY_VARIABLE_TOGGLE_TYPE_BOOLEAN = 1; + // String + DISPLAY_VARIABLE_TOGGLE_TYPE_STRING = 2; + } } message ValueLabel { diff --git a/cli/bpmetadata/schema/gcp-blueprint-metadata.json b/cli/bpmetadata/schema/gcp-blueprint-metadata.json index 768f2f86b21..979fcb0579e 100644 --- a/cli/bpmetadata/schema/gcp-blueprint-metadata.json +++ b/cli/bpmetadata/schema/gcp-blueprint-metadata.json @@ -810,6 +810,9 @@ "$ref": "#/$defs/DisplayVariable_AlternateDefault" }, "type": "array" + }, + "toggleUsingVariable": { + "$ref": "#/$defs/DisplayVariableToggle" } }, "additionalProperties": false, @@ -819,6 +822,28 @@ "title" ] }, + "DisplayVariableToggle": { + "properties": { + "variableName": { + "type": "string" + }, + "variableValue": { + "type": "string" + }, + "type": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + } + }, + "additionalProperties": false, + "type": "object" + }, "DisplayVariable_AlternateDefault": { "properties": { "type": {