From 701ab1480ed12d12fb86509727b2e96c2a3d4fa7 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Mon, 18 Sep 2023 17:28:08 -0700 Subject: [PATCH] rpcapi: Stacks.ApplyStackChanges initial schema There is not yet any real implementation of this new function. The implementation will follow in future commits. --- internal/rpcapi/dynrpcserver/stacks.go | 8 + internal/rpcapi/terraform1/terraform1.pb.go | 2817 ++++++++++++------- internal/rpcapi/terraform1/terraform1.proto | 127 + 3 files changed, 1982 insertions(+), 970 deletions(-) diff --git a/internal/rpcapi/dynrpcserver/stacks.go b/internal/rpcapi/dynrpcserver/stacks.go index 20594d6ae1..72fe28932e 100644 --- a/internal/rpcapi/dynrpcserver/stacks.go +++ b/internal/rpcapi/dynrpcserver/stacks.go @@ -18,6 +18,14 @@ func NewStacksStub() *Stacks { return &Stacks{} } +func (s *Stacks) ApplyStackChanges(a0 *tf1.ApplyStackChanges_Request, a1 tf1.Stacks_ApplyStackChangesServer) error { + impl, err := s.realRPCServer() + if err != nil { + return err + } + return impl.ApplyStackChanges(a0, a1) +} + func (s *Stacks) CloseStackConfiguration(a0 context.Context, a1 *tf1.CloseStackConfiguration_Request) (*tf1.CloseStackConfiguration_Response, error) { impl, err := s.realRPCServer() if err != nil { diff --git a/internal/rpcapi/terraform1/terraform1.pb.go b/internal/rpcapi/terraform1/terraform1.pb.go index ead9af05ff..061a9a5064 100644 --- a/internal/rpcapi/terraform1/terraform1.pb.go +++ b/internal/rpcapi/terraform1/terraform1.pb.go @@ -331,7 +331,7 @@ func (x Diagnostic_Severity) Number() protoreflect.EnumNumber { // Deprecated: Use Diagnostic_Severity.Descriptor instead. func (Diagnostic_Severity) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{30, 0} + return file_terraform1_proto_rawDescGZIP(), []int{32, 0} } type Schema_NestedBlock_NestingMode int32 @@ -389,7 +389,7 @@ func (x Schema_NestedBlock_NestingMode) Number() protoreflect.EnumNumber { // Deprecated: Use Schema_NestedBlock_NestingMode.Descriptor instead. func (Schema_NestedBlock_NestingMode) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 2, 0} + return file_terraform1_proto_rawDescGZIP(), []int{35, 2, 0} } type Schema_Object_NestingMode int32 @@ -444,7 +444,7 @@ func (x Schema_Object_NestingMode) Number() protoreflect.EnumNumber { // Deprecated: Use Schema_Object_NestingMode.Descriptor instead. func (Schema_Object_NestingMode) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 3, 0} + return file_terraform1_proto_rawDescGZIP(), []int{35, 3, 0} } type Schema_DocString_Format int32 @@ -490,7 +490,7 @@ func (x Schema_DocString_Format) Number() protoreflect.EnumNumber { // Deprecated: Use Schema_DocString_Format.Descriptor instead. func (Schema_DocString_Format) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 4, 0} + return file_terraform1_proto_rawDescGZIP(), []int{35, 4, 0} } type ComponentInstanceStatus_Status int32 @@ -551,7 +551,7 @@ func (x ComponentInstanceStatus_Status) Number() protoreflect.EnumNumber { // Deprecated: Use ComponentInstanceStatus_Status.Descriptor instead. func (ComponentInstanceStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{34, 0} + return file_terraform1_proto_rawDescGZIP(), []int{36, 0} } type ResourceInstanceStatus_Status int32 @@ -618,7 +618,7 @@ func (x ResourceInstanceStatus_Status) Number() protoreflect.EnumNumber { // Deprecated: Use ResourceInstanceStatus_Status.Descriptor instead. func (ResourceInstanceStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{35, 0} + return file_terraform1_proto_rawDescGZIP(), []int{37, 0} } type ProvisionerStatus_Status int32 @@ -670,7 +670,7 @@ func (x ProvisionerStatus_Status) Number() protoreflect.EnumNumber { // Deprecated: Use ProvisionerStatus_Status.Descriptor instead. func (ProvisionerStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{37, 0} + return file_terraform1_proto_rawDescGZIP(), []int{39, 0} } type Handshake struct { @@ -1594,6 +1594,44 @@ func (*PlanStackChanges) Descriptor() ([]byte, []int) { return file_terraform1_proto_rawDescGZIP(), []int{21} } +type ApplyStackChanges struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ApplyStackChanges) Reset() { + *x = ApplyStackChanges{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyStackChanges) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyStackChanges) ProtoMessage() {} + +func (x *ApplyStackChanges) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[22] + 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 ApplyStackChanges.ProtoReflect.Descriptor instead. +func (*ApplyStackChanges) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{22} +} + // Represents dynamically-typed data from within the Terraform language. // Typically only one of the available serialization formats will be populated, // depending on what serializations are appropriate for a particular context @@ -1610,7 +1648,7 @@ type DynamicValue struct { func (x *DynamicValue) Reset() { *x = DynamicValue{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[22] + mi := &file_terraform1_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1623,7 +1661,7 @@ func (x *DynamicValue) String() string { func (*DynamicValue) ProtoMessage() {} func (x *DynamicValue) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[22] + mi := &file_terraform1_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1636,7 +1674,7 @@ func (x *DynamicValue) ProtoReflect() protoreflect.Message { // Deprecated: Use DynamicValue.ProtoReflect.Descriptor instead. func (*DynamicValue) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{22} + return file_terraform1_proto_rawDescGZIP(), []int{23} } func (x *DynamicValue) GetMsgpack() []byte { @@ -1666,7 +1704,7 @@ type DynamicValueChange struct { func (x *DynamicValueChange) Reset() { *x = DynamicValueChange{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[23] + mi := &file_terraform1_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1679,7 +1717,7 @@ func (x *DynamicValueChange) String() string { func (*DynamicValueChange) ProtoMessage() {} func (x *DynamicValueChange) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[23] + mi := &file_terraform1_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1692,7 +1730,7 @@ func (x *DynamicValueChange) ProtoReflect() protoreflect.Message { // Deprecated: Use DynamicValueChange.ProtoReflect.Descriptor instead. func (*DynamicValueChange) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{23} + return file_terraform1_proto_rawDescGZIP(), []int{24} } func (x *DynamicValueChange) GetOld() *DynamicValue { @@ -1724,7 +1762,7 @@ type DynamicValueWithSource struct { func (x *DynamicValueWithSource) Reset() { *x = DynamicValueWithSource{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[24] + mi := &file_terraform1_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1737,7 +1775,7 @@ func (x *DynamicValueWithSource) String() string { func (*DynamicValueWithSource) ProtoMessage() {} func (x *DynamicValueWithSource) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[24] + mi := &file_terraform1_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1750,7 +1788,7 @@ func (x *DynamicValueWithSource) ProtoReflect() protoreflect.Message { // Deprecated: Use DynamicValueWithSource.ProtoReflect.Descriptor instead. func (*DynamicValueWithSource) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{24} + return file_terraform1_proto_rawDescGZIP(), []int{25} } func (x *DynamicValueWithSource) GetValue() *DynamicValue { @@ -1778,7 +1816,7 @@ type AttributePath struct { func (x *AttributePath) Reset() { *x = AttributePath{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[25] + mi := &file_terraform1_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1791,7 +1829,7 @@ func (x *AttributePath) String() string { func (*AttributePath) ProtoMessage() {} func (x *AttributePath) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[25] + mi := &file_terraform1_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1804,7 +1842,7 @@ func (x *AttributePath) ProtoReflect() protoreflect.Message { // Deprecated: Use AttributePath.ProtoReflect.Descriptor instead. func (*AttributePath) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{25} + return file_terraform1_proto_rawDescGZIP(), []int{26} } func (x *AttributePath) GetSteps() []*AttributePath_Step { @@ -1832,7 +1870,7 @@ type ComponentInstanceInStackAddr struct { func (x *ComponentInstanceInStackAddr) Reset() { *x = ComponentInstanceInStackAddr{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[26] + mi := &file_terraform1_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1845,7 +1883,7 @@ func (x *ComponentInstanceInStackAddr) String() string { func (*ComponentInstanceInStackAddr) ProtoMessage() {} func (x *ComponentInstanceInStackAddr) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[26] + mi := &file_terraform1_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1858,7 +1896,7 @@ func (x *ComponentInstanceInStackAddr) ProtoReflect() protoreflect.Message { // Deprecated: Use ComponentInstanceInStackAddr.ProtoReflect.Descriptor instead. func (*ComponentInstanceInStackAddr) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{26} + return file_terraform1_proto_rawDescGZIP(), []int{27} } func (x *ComponentInstanceInStackAddr) GetComponentAddr() string { @@ -1895,7 +1933,7 @@ type ResourceInstanceInStackAddr struct { func (x *ResourceInstanceInStackAddr) Reset() { *x = ResourceInstanceInStackAddr{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[27] + mi := &file_terraform1_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1908,7 +1946,7 @@ func (x *ResourceInstanceInStackAddr) String() string { func (*ResourceInstanceInStackAddr) ProtoMessage() {} func (x *ResourceInstanceInStackAddr) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[27] + mi := &file_terraform1_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1921,7 +1959,7 @@ func (x *ResourceInstanceInStackAddr) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceInstanceInStackAddr.ProtoReflect.Descriptor instead. func (*ResourceInstanceInStackAddr) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{27} + return file_terraform1_proto_rawDescGZIP(), []int{28} } func (x *ResourceInstanceInStackAddr) GetComponentInstanceAddr() string { @@ -1957,7 +1995,7 @@ type SourceAddress struct { func (x *SourceAddress) Reset() { *x = SourceAddress{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[28] + mi := &file_terraform1_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1970,7 +2008,7 @@ func (x *SourceAddress) String() string { func (*SourceAddress) ProtoMessage() {} func (x *SourceAddress) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[28] + mi := &file_terraform1_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1983,7 +2021,7 @@ func (x *SourceAddress) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceAddress.ProtoReflect.Descriptor instead. func (*SourceAddress) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{28} + return file_terraform1_proto_rawDescGZIP(), []int{29} } func (x *SourceAddress) GetSource() string { @@ -2052,7 +2090,7 @@ type PlannedChange struct { func (x *PlannedChange) Reset() { *x = PlannedChange{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[29] + mi := &file_terraform1_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2065,7 +2103,7 @@ func (x *PlannedChange) String() string { func (*PlannedChange) ProtoMessage() {} func (x *PlannedChange) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[29] + mi := &file_terraform1_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2078,7 +2116,7 @@ func (x *PlannedChange) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedChange.ProtoReflect.Descriptor instead. func (*PlannedChange) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29} + return file_terraform1_proto_rawDescGZIP(), []int{30} } func (x *PlannedChange) GetRaw() []*anypb.Any { @@ -2164,6 +2202,123 @@ func (*PlannedChange_OutputValuePlanned) isPlannedChange_Description() {} func (*PlannedChange_PlanApplyable) isPlannedChange_Description() {} +// Describes a change made during a Stacks.ApplyStackChanges call. +// +// All of the events of this type taken together represent a sort of "patch" +// modifying the two data structures that the caller must maintain: the +// raw state map, and the description map. Callers must apply these changes +// in the order of the emission of the messages and then retain the entirety +// of both data structures to populate fields in the next PlanStackChanges call. +type AppliedChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Terraform Core's internal representation of the change, presented as + // a sequence of modifications to the raw state data structure. + // + // For each element, in order: + // - If both key and value are set and the key matches an element + // already in the raw state map, the new value replaces the existing one. + // - If both key and value are set but the key does not match an + // element in the raw state map, this represents inserting a new element + // into the map. + // - If key is set and value is not, this represents removing any existing + // element from the raw state map which has the given key, or a no-op + // if no such element exists. + // - No other situation is legal. + // + // This sequence can potentially be zero-length if a particular event only + // has a external-facing "description" component and no raw equivalent. In + // that case the raw state map is unmodified. + Raw []*AppliedChange_RawChange `protobuf:"bytes,1,rep,name=raw,proto3" json:"raw,omitempty"` + // Caller-facing description of this change, to use for presenting + // information to end-users in the UI and for other subsystems such as + // billing. + // + // Callers are expected to maintain a map of description objects that + // gets updated piecemeal by messages in this field. Callers must treat + // the keys as entirely opaque and thus treat the resulting data structure + // as if it were an unsorted set of ChangeDescription objects; the keys + // exist only to allow patching the data structure over time. + // + // For each element, in order: + // - If both key and description are set and the key matches an element + // from the previous apply's description map, the new value replaces + // the existing one. + // - If both key and value are set but the key does not match an + // element in the previous apply's description map, this represents + // inserting a new element into the map. + // - If key is set and description is not, this represents removing any + // existing element from the previous apply's description map which has + // the given key, or a no-op if no such element exists. + // - If a description field is set that the caller doesn't understand, + // the caller should still write it to the updated description map + // but ignore it in further processing. + // - No other situation is legal. + // + // Callers MUST preserve the verbatim description message in the + // description map, even if it contains fields that are not present in + // the caller's current protobuf stubs. In other words, callers must use + // a protocol buffers implementation that is able to preserve unknown + // fields and store them so that future versions of the caller might + // use an updated set of stubs to interact with the previously-stored + // description. + // + // DO NOT attempt to use this to surgically filter particular raw state + // updates from a larger plan. Although external descriptions often match + // with the raw representations in field "raw", that is not guaranteed and + // Terraform Core assumes that it will always be provided with the full + // raw state map during the next plan step. + Descriptions []*AppliedChange_ChangeDescription `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"` +} + +func (x *AppliedChange) Reset() { + *x = AppliedChange{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedChange) ProtoMessage() {} + +func (x *AppliedChange) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[31] + 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 AppliedChange.ProtoReflect.Descriptor instead. +func (*AppliedChange) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{31} +} + +func (x *AppliedChange) GetRaw() []*AppliedChange_RawChange { + if x != nil { + return x.Raw + } + return nil +} + +func (x *AppliedChange) GetDescriptions() []*AppliedChange_ChangeDescription { + if x != nil { + return x.Descriptions + } + return nil +} + type Diagnostic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2179,7 +2334,7 @@ type Diagnostic struct { func (x *Diagnostic) Reset() { *x = Diagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[30] + mi := &file_terraform1_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2192,7 +2347,7 @@ func (x *Diagnostic) String() string { func (*Diagnostic) ProtoMessage() {} func (x *Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[30] + mi := &file_terraform1_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2205,7 +2360,7 @@ func (x *Diagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use Diagnostic.ProtoReflect.Descriptor instead. func (*Diagnostic) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{30} + return file_terraform1_proto_rawDescGZIP(), []int{32} } func (x *Diagnostic) GetSeverity() Diagnostic_Severity { @@ -2256,7 +2411,7 @@ type SourceRange struct { func (x *SourceRange) Reset() { *x = SourceRange{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[31] + mi := &file_terraform1_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2269,7 +2424,7 @@ func (x *SourceRange) String() string { func (*SourceRange) ProtoMessage() {} func (x *SourceRange) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[31] + mi := &file_terraform1_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2282,7 +2437,7 @@ func (x *SourceRange) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceRange.ProtoReflect.Descriptor instead. func (*SourceRange) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{31} + return file_terraform1_proto_rawDescGZIP(), []int{33} } func (x *SourceRange) GetSourceAddr() string { @@ -2319,7 +2474,7 @@ type SourcePos struct { func (x *SourcePos) Reset() { *x = SourcePos{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[32] + mi := &file_terraform1_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2332,7 +2487,7 @@ func (x *SourcePos) String() string { func (*SourcePos) ProtoMessage() {} func (x *SourcePos) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[32] + mi := &file_terraform1_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2345,7 +2500,7 @@ func (x *SourcePos) ProtoReflect() protoreflect.Message { // Deprecated: Use SourcePos.ProtoReflect.Descriptor instead. func (*SourcePos) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{32} + return file_terraform1_proto_rawDescGZIP(), []int{34} } func (x *SourcePos) GetByte() int64 { @@ -2383,7 +2538,7 @@ type Schema struct { func (x *Schema) Reset() { *x = Schema{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[33] + mi := &file_terraform1_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2396,7 +2551,7 @@ func (x *Schema) String() string { func (*Schema) ProtoMessage() {} func (x *Schema) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[33] + mi := &file_terraform1_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2409,7 +2564,7 @@ func (x *Schema) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema.ProtoReflect.Descriptor instead. func (*Schema) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33} + return file_terraform1_proto_rawDescGZIP(), []int{35} } func (x *Schema) GetBlock() *Schema_Block { @@ -2433,7 +2588,7 @@ type ComponentInstanceStatus struct { func (x *ComponentInstanceStatus) Reset() { *x = ComponentInstanceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[34] + mi := &file_terraform1_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2446,7 +2601,7 @@ func (x *ComponentInstanceStatus) String() string { func (*ComponentInstanceStatus) ProtoMessage() {} func (x *ComponentInstanceStatus) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[34] + mi := &file_terraform1_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2459,7 +2614,7 @@ func (x *ComponentInstanceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ComponentInstanceStatus.ProtoReflect.Descriptor instead. func (*ComponentInstanceStatus) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{34} + return file_terraform1_proto_rawDescGZIP(), []int{36} } func (x *ComponentInstanceStatus) GetAddr() *ComponentInstanceInStackAddr { @@ -2490,7 +2645,7 @@ type ResourceInstanceStatus struct { func (x *ResourceInstanceStatus) Reset() { *x = ResourceInstanceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[35] + mi := &file_terraform1_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2503,7 +2658,7 @@ func (x *ResourceInstanceStatus) String() string { func (*ResourceInstanceStatus) ProtoMessage() {} func (x *ResourceInstanceStatus) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[35] + mi := &file_terraform1_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2516,7 +2671,7 @@ func (x *ResourceInstanceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceInstanceStatus.ProtoReflect.Descriptor instead. func (*ResourceInstanceStatus) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{35} + return file_terraform1_proto_rawDescGZIP(), []int{37} } func (x *ResourceInstanceStatus) GetAddr() *ResourceInstanceInStackAddr { @@ -2552,7 +2707,7 @@ type ResourceInstancePlannedChange struct { func (x *ResourceInstancePlannedChange) Reset() { *x = ResourceInstancePlannedChange{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[36] + mi := &file_terraform1_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2565,7 +2720,7 @@ func (x *ResourceInstancePlannedChange) String() string { func (*ResourceInstancePlannedChange) ProtoMessage() {} func (x *ResourceInstancePlannedChange) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[36] + mi := &file_terraform1_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2578,7 +2733,7 @@ func (x *ResourceInstancePlannedChange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceInstancePlannedChange.ProtoReflect.Descriptor instead. func (*ResourceInstancePlannedChange) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{36} + return file_terraform1_proto_rawDescGZIP(), []int{38} } func (x *ResourceInstancePlannedChange) GetAddr() *ResourceInstanceInStackAddr { @@ -2624,7 +2779,7 @@ type ProvisionerStatus struct { func (x *ProvisionerStatus) Reset() { *x = ProvisionerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[37] + mi := &file_terraform1_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2637,7 +2792,7 @@ func (x *ProvisionerStatus) String() string { func (*ProvisionerStatus) ProtoMessage() {} func (x *ProvisionerStatus) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[37] + mi := &file_terraform1_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2650,7 +2805,7 @@ func (x *ProvisionerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerStatus.ProtoReflect.Descriptor instead. func (*ProvisionerStatus) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{37} + return file_terraform1_proto_rawDescGZIP(), []int{39} } func (x *ProvisionerStatus) GetAddr() *ResourceInstanceInStackAddr { @@ -2689,7 +2844,7 @@ type ProvisionerOutput struct { func (x *ProvisionerOutput) Reset() { *x = ProvisionerOutput{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[38] + mi := &file_terraform1_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2702,7 +2857,7 @@ func (x *ProvisionerOutput) String() string { func (*ProvisionerOutput) ProtoMessage() {} func (x *ProvisionerOutput) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[38] + mi := &file_terraform1_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2715,7 +2870,7 @@ func (x *ProvisionerOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerOutput.ProtoReflect.Descriptor instead. func (*ProvisionerOutput) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{38} + return file_terraform1_proto_rawDescGZIP(), []int{40} } func (x *ProvisionerOutput) GetAddr() *ResourceInstanceInStackAddr { @@ -2750,7 +2905,7 @@ type Handshake_Request struct { func (x *Handshake_Request) Reset() { *x = Handshake_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[39] + mi := &file_terraform1_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2763,7 +2918,7 @@ func (x *Handshake_Request) String() string { func (*Handshake_Request) ProtoMessage() {} func (x *Handshake_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[39] + mi := &file_terraform1_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2797,7 +2952,7 @@ type Handshake_Response struct { func (x *Handshake_Response) Reset() { *x = Handshake_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[40] + mi := &file_terraform1_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2810,7 +2965,7 @@ func (x *Handshake_Response) String() string { func (*Handshake_Response) ProtoMessage() {} func (x *Handshake_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[40] + mi := &file_terraform1_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2844,7 +2999,7 @@ type OpenSourceBundle_Request struct { func (x *OpenSourceBundle_Request) Reset() { *x = OpenSourceBundle_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[41] + mi := &file_terraform1_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2857,7 +3012,7 @@ func (x *OpenSourceBundle_Request) String() string { func (*OpenSourceBundle_Request) ProtoMessage() {} func (x *OpenSourceBundle_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[41] + mi := &file_terraform1_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2891,7 +3046,7 @@ type OpenSourceBundle_Response struct { func (x *OpenSourceBundle_Response) Reset() { *x = OpenSourceBundle_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[42] + mi := &file_terraform1_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2904,7 +3059,7 @@ func (x *OpenSourceBundle_Response) String() string { func (*OpenSourceBundle_Response) ProtoMessage() {} func (x *OpenSourceBundle_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[42] + mi := &file_terraform1_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2938,7 +3093,7 @@ type CloseSourceBundle_Request struct { func (x *CloseSourceBundle_Request) Reset() { *x = CloseSourceBundle_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[43] + mi := &file_terraform1_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2951,7 +3106,7 @@ func (x *CloseSourceBundle_Request) String() string { func (*CloseSourceBundle_Request) ProtoMessage() {} func (x *CloseSourceBundle_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[43] + mi := &file_terraform1_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2983,7 +3138,7 @@ type CloseSourceBundle_Response struct { func (x *CloseSourceBundle_Response) Reset() { *x = CloseSourceBundle_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[44] + mi := &file_terraform1_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2996,7 +3151,7 @@ func (x *CloseSourceBundle_Response) String() string { func (*CloseSourceBundle_Response) ProtoMessage() {} func (x *CloseSourceBundle_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[44] + mi := &file_terraform1_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3024,7 +3179,7 @@ type OpenDependencyLockFile_Request struct { func (x *OpenDependencyLockFile_Request) Reset() { *x = OpenDependencyLockFile_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[45] + mi := &file_terraform1_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3037,7 +3192,7 @@ func (x *OpenDependencyLockFile_Request) String() string { func (*OpenDependencyLockFile_Request) ProtoMessage() {} func (x *OpenDependencyLockFile_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[45] + mi := &file_terraform1_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3079,7 +3234,7 @@ type OpenDependencyLockFile_Response struct { func (x *OpenDependencyLockFile_Response) Reset() { *x = OpenDependencyLockFile_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[46] + mi := &file_terraform1_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3092,7 +3247,7 @@ func (x *OpenDependencyLockFile_Response) String() string { func (*OpenDependencyLockFile_Response) ProtoMessage() {} func (x *OpenDependencyLockFile_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[46] + mi := &file_terraform1_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3139,7 +3294,7 @@ type CreateDependencyLocks_Request struct { func (x *CreateDependencyLocks_Request) Reset() { *x = CreateDependencyLocks_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[47] + mi := &file_terraform1_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3152,7 +3307,7 @@ func (x *CreateDependencyLocks_Request) String() string { func (*CreateDependencyLocks_Request) ProtoMessage() {} func (x *CreateDependencyLocks_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[47] + mi := &file_terraform1_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3186,7 +3341,7 @@ type CreateDependencyLocks_Response struct { func (x *CreateDependencyLocks_Response) Reset() { *x = CreateDependencyLocks_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[48] + mi := &file_terraform1_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3199,7 +3354,7 @@ func (x *CreateDependencyLocks_Response) String() string { func (*CreateDependencyLocks_Response) ProtoMessage() {} func (x *CreateDependencyLocks_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[48] + mi := &file_terraform1_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3233,7 +3388,7 @@ type CloseDependencyLocks_Request struct { func (x *CloseDependencyLocks_Request) Reset() { *x = CloseDependencyLocks_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[49] + mi := &file_terraform1_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3246,7 +3401,7 @@ func (x *CloseDependencyLocks_Request) String() string { func (*CloseDependencyLocks_Request) ProtoMessage() {} func (x *CloseDependencyLocks_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[49] + mi := &file_terraform1_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3278,7 +3433,7 @@ type CloseDependencyLocks_Response struct { func (x *CloseDependencyLocks_Response) Reset() { *x = CloseDependencyLocks_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[50] + mi := &file_terraform1_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3291,7 +3446,7 @@ func (x *CloseDependencyLocks_Response) String() string { func (*CloseDependencyLocks_Response) ProtoMessage() {} func (x *CloseDependencyLocks_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[50] + mi := &file_terraform1_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3318,7 +3473,7 @@ type GetLockedProviderDependencies_Request struct { func (x *GetLockedProviderDependencies_Request) Reset() { *x = GetLockedProviderDependencies_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[51] + mi := &file_terraform1_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3331,7 +3486,7 @@ func (x *GetLockedProviderDependencies_Request) String() string { func (*GetLockedProviderDependencies_Request) ProtoMessage() {} func (x *GetLockedProviderDependencies_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[51] + mi := &file_terraform1_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3365,7 +3520,7 @@ type GetLockedProviderDependencies_Response struct { func (x *GetLockedProviderDependencies_Response) Reset() { *x = GetLockedProviderDependencies_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[52] + mi := &file_terraform1_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3378,7 +3533,7 @@ func (x *GetLockedProviderDependencies_Response) String() string { func (*GetLockedProviderDependencies_Response) ProtoMessage() {} func (x *GetLockedProviderDependencies_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[52] + mi := &file_terraform1_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3423,7 +3578,7 @@ type BuildProviderPluginCache_Request struct { func (x *BuildProviderPluginCache_Request) Reset() { *x = BuildProviderPluginCache_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[53] + mi := &file_terraform1_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3436,7 +3591,7 @@ func (x *BuildProviderPluginCache_Request) String() string { func (*BuildProviderPluginCache_Request) ProtoMessage() {} func (x *BuildProviderPluginCache_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[53] + mi := &file_terraform1_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3502,7 +3657,7 @@ type BuildProviderPluginCache_Event struct { func (x *BuildProviderPluginCache_Event) Reset() { *x = BuildProviderPluginCache_Event{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[54] + mi := &file_terraform1_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3515,7 +3670,7 @@ func (x *BuildProviderPluginCache_Event) String() string { func (*BuildProviderPluginCache_Event) ProtoMessage() {} func (x *BuildProviderPluginCache_Event) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[54] + mi := &file_terraform1_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3677,7 +3832,7 @@ type BuildProviderPluginCache_Request_InstallMethod struct { func (x *BuildProviderPluginCache_Request_InstallMethod) Reset() { *x = BuildProviderPluginCache_Request_InstallMethod{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[55] + mi := &file_terraform1_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3690,7 +3845,7 @@ func (x *BuildProviderPluginCache_Request_InstallMethod) String() string { func (*BuildProviderPluginCache_Request_InstallMethod) ProtoMessage() {} func (x *BuildProviderPluginCache_Request_InstallMethod) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[55] + mi := &file_terraform1_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3784,7 +3939,7 @@ type BuildProviderPluginCache_Event_Pending struct { func (x *BuildProviderPluginCache_Event_Pending) Reset() { *x = BuildProviderPluginCache_Event_Pending{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[56] + mi := &file_terraform1_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3797,7 +3952,7 @@ func (x *BuildProviderPluginCache_Event_Pending) String() string { func (*BuildProviderPluginCache_Event_Pending) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_Pending) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[56] + mi := &file_terraform1_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3832,7 +3987,7 @@ type BuildProviderPluginCache_Event_ProviderConstraints struct { func (x *BuildProviderPluginCache_Event_ProviderConstraints) Reset() { *x = BuildProviderPluginCache_Event_ProviderConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[57] + mi := &file_terraform1_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3845,7 +4000,7 @@ func (x *BuildProviderPluginCache_Event_ProviderConstraints) String() string { func (*BuildProviderPluginCache_Event_ProviderConstraints) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_ProviderConstraints) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[57] + mi := &file_terraform1_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3887,7 +4042,7 @@ type BuildProviderPluginCache_Event_ProviderVersion struct { func (x *BuildProviderPluginCache_Event_ProviderVersion) Reset() { *x = BuildProviderPluginCache_Event_ProviderVersion{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[58] + mi := &file_terraform1_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3900,7 +4055,7 @@ func (x *BuildProviderPluginCache_Event_ProviderVersion) String() string { func (*BuildProviderPluginCache_Event_ProviderVersion) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_ProviderVersion) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[58] + mi := &file_terraform1_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3942,7 +4097,7 @@ type BuildProviderPluginCache_Event_ProviderWarnings struct { func (x *BuildProviderPluginCache_Event_ProviderWarnings) Reset() { *x = BuildProviderPluginCache_Event_ProviderWarnings{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[59] + mi := &file_terraform1_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3955,7 +4110,7 @@ func (x *BuildProviderPluginCache_Event_ProviderWarnings) String() string { func (*BuildProviderPluginCache_Event_ProviderWarnings) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_ProviderWarnings) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[59] + mi := &file_terraform1_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3997,7 +4152,7 @@ type BuildProviderPluginCache_Event_FetchBegin struct { func (x *BuildProviderPluginCache_Event_FetchBegin) Reset() { *x = BuildProviderPluginCache_Event_FetchBegin{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[60] + mi := &file_terraform1_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4010,7 +4165,7 @@ func (x *BuildProviderPluginCache_Event_FetchBegin) String() string { func (*BuildProviderPluginCache_Event_FetchBegin) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_FetchBegin) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[60] + mi := &file_terraform1_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4058,7 +4213,7 @@ type BuildProviderPluginCache_Event_FetchComplete struct { func (x *BuildProviderPluginCache_Event_FetchComplete) Reset() { *x = BuildProviderPluginCache_Event_FetchComplete{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[61] + mi := &file_terraform1_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4071,7 +4226,7 @@ func (x *BuildProviderPluginCache_Event_FetchComplete) String() string { func (*BuildProviderPluginCache_Event_FetchComplete) ProtoMessage() {} func (x *BuildProviderPluginCache_Event_FetchComplete) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[61] + mi := &file_terraform1_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4128,7 +4283,7 @@ type OpenProviderPluginCache_Request struct { func (x *OpenProviderPluginCache_Request) Reset() { *x = OpenProviderPluginCache_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[62] + mi := &file_terraform1_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4141,7 +4296,7 @@ func (x *OpenProviderPluginCache_Request) String() string { func (*OpenProviderPluginCache_Request) ProtoMessage() {} func (x *OpenProviderPluginCache_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[62] + mi := &file_terraform1_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4182,7 +4337,7 @@ type OpenProviderPluginCache_Response struct { func (x *OpenProviderPluginCache_Response) Reset() { *x = OpenProviderPluginCache_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[63] + mi := &file_terraform1_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4195,7 +4350,7 @@ func (x *OpenProviderPluginCache_Response) String() string { func (*OpenProviderPluginCache_Response) ProtoMessage() {} func (x *OpenProviderPluginCache_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[63] + mi := &file_terraform1_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4229,7 +4384,7 @@ type CloseProviderPluginCache_Request struct { func (x *CloseProviderPluginCache_Request) Reset() { *x = CloseProviderPluginCache_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[64] + mi := &file_terraform1_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4242,7 +4397,7 @@ func (x *CloseProviderPluginCache_Request) String() string { func (*CloseProviderPluginCache_Request) ProtoMessage() {} func (x *CloseProviderPluginCache_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[64] + mi := &file_terraform1_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4274,7 +4429,7 @@ type CloseProviderPluginCache_Response struct { func (x *CloseProviderPluginCache_Response) Reset() { *x = CloseProviderPluginCache_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[65] + mi := &file_terraform1_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4287,7 +4442,7 @@ func (x *CloseProviderPluginCache_Response) String() string { func (*CloseProviderPluginCache_Response) ProtoMessage() {} func (x *CloseProviderPluginCache_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[65] + mi := &file_terraform1_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4314,7 +4469,7 @@ type GetCachedProviders_Request struct { func (x *GetCachedProviders_Request) Reset() { *x = GetCachedProviders_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[66] + mi := &file_terraform1_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4327,7 +4482,7 @@ func (x *GetCachedProviders_Request) String() string { func (*GetCachedProviders_Request) ProtoMessage() {} func (x *GetCachedProviders_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[66] + mi := &file_terraform1_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4361,7 +4516,7 @@ type GetCachedProviders_Response struct { func (x *GetCachedProviders_Response) Reset() { *x = GetCachedProviders_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[67] + mi := &file_terraform1_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4374,7 +4529,7 @@ func (x *GetCachedProviders_Response) String() string { func (*GetCachedProviders_Response) ProtoMessage() {} func (x *GetCachedProviders_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[67] + mi := &file_terraform1_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4406,7 +4561,7 @@ type GetBuiltInProviders_Request struct { func (x *GetBuiltInProviders_Request) Reset() { *x = GetBuiltInProviders_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[68] + mi := &file_terraform1_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4419,7 +4574,7 @@ func (x *GetBuiltInProviders_Request) String() string { func (*GetBuiltInProviders_Request) ProtoMessage() {} func (x *GetBuiltInProviders_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[68] + mi := &file_terraform1_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4453,7 +4608,7 @@ type GetBuiltInProviders_Response struct { func (x *GetBuiltInProviders_Response) Reset() { *x = GetBuiltInProviders_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[69] + mi := &file_terraform1_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4466,7 +4621,7 @@ func (x *GetBuiltInProviders_Response) String() string { func (*GetBuiltInProviders_Response) ProtoMessage() {} func (x *GetBuiltInProviders_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[69] + mi := &file_terraform1_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4523,7 +4678,7 @@ type GetProviderSchema_Request struct { func (x *GetProviderSchema_Request) Reset() { *x = GetProviderSchema_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[70] + mi := &file_terraform1_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4536,7 +4691,7 @@ func (x *GetProviderSchema_Request) String() string { func (*GetProviderSchema_Request) ProtoMessage() {} func (x *GetProviderSchema_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[70] + mi := &file_terraform1_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4584,7 +4739,7 @@ type GetProviderSchema_Response struct { func (x *GetProviderSchema_Response) Reset() { *x = GetProviderSchema_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[71] + mi := &file_terraform1_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4597,7 +4752,7 @@ func (x *GetProviderSchema_Response) String() string { func (*GetProviderSchema_Response) ProtoMessage() {} func (x *GetProviderSchema_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[71] + mi := &file_terraform1_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4632,7 +4787,7 @@ type OpenStackConfiguration_Request struct { func (x *OpenStackConfiguration_Request) Reset() { *x = OpenStackConfiguration_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[74] + mi := &file_terraform1_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4645,7 +4800,7 @@ func (x *OpenStackConfiguration_Request) String() string { func (*OpenStackConfiguration_Request) ProtoMessage() {} func (x *OpenStackConfiguration_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[74] + mi := &file_terraform1_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4687,7 +4842,7 @@ type OpenStackConfiguration_Response struct { func (x *OpenStackConfiguration_Response) Reset() { *x = OpenStackConfiguration_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[75] + mi := &file_terraform1_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4700,7 +4855,7 @@ func (x *OpenStackConfiguration_Response) String() string { func (*OpenStackConfiguration_Response) ProtoMessage() {} func (x *OpenStackConfiguration_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[75] + mi := &file_terraform1_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4741,7 +4896,7 @@ type CloseStackConfiguration_Request struct { func (x *CloseStackConfiguration_Request) Reset() { *x = CloseStackConfiguration_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[76] + mi := &file_terraform1_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4754,7 +4909,7 @@ func (x *CloseStackConfiguration_Request) String() string { func (*CloseStackConfiguration_Request) ProtoMessage() {} func (x *CloseStackConfiguration_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[76] + mi := &file_terraform1_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4786,7 +4941,7 @@ type CloseStackConfiguration_Response struct { func (x *CloseStackConfiguration_Response) Reset() { *x = CloseStackConfiguration_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[77] + mi := &file_terraform1_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4799,7 +4954,7 @@ func (x *CloseStackConfiguration_Response) String() string { func (*CloseStackConfiguration_Response) ProtoMessage() {} func (x *CloseStackConfiguration_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[77] + mi := &file_terraform1_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4826,7 +4981,7 @@ type FindStackConfigurationComponents_Request struct { func (x *FindStackConfigurationComponents_Request) Reset() { *x = FindStackConfigurationComponents_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[78] + mi := &file_terraform1_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4839,7 +4994,7 @@ func (x *FindStackConfigurationComponents_Request) String() string { func (*FindStackConfigurationComponents_Request) ProtoMessage() {} func (x *FindStackConfigurationComponents_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[78] + mi := &file_terraform1_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4873,7 +5028,7 @@ type FindStackConfigurationComponents_Response struct { func (x *FindStackConfigurationComponents_Response) Reset() { *x = FindStackConfigurationComponents_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[79] + mi := &file_terraform1_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4886,7 +5041,7 @@ func (x *FindStackConfigurationComponents_Response) String() string { func (*FindStackConfigurationComponents_Response) ProtoMessage() {} func (x *FindStackConfigurationComponents_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[79] + mi := &file_terraform1_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4921,7 +5076,7 @@ type FindStackConfigurationComponents_StackConfig struct { func (x *FindStackConfigurationComponents_StackConfig) Reset() { *x = FindStackConfigurationComponents_StackConfig{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[80] + mi := &file_terraform1_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4934,7 +5089,7 @@ func (x *FindStackConfigurationComponents_StackConfig) String() string { func (*FindStackConfigurationComponents_StackConfig) ProtoMessage() {} func (x *FindStackConfigurationComponents_StackConfig) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[80] + mi := &file_terraform1_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4977,7 +5132,7 @@ type FindStackConfigurationComponents_EmbeddedStack struct { func (x *FindStackConfigurationComponents_EmbeddedStack) Reset() { *x = FindStackConfigurationComponents_EmbeddedStack{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[81] + mi := &file_terraform1_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4990,7 +5145,7 @@ func (x *FindStackConfigurationComponents_EmbeddedStack) String() string { func (*FindStackConfigurationComponents_EmbeddedStack) ProtoMessage() {} func (x *FindStackConfigurationComponents_EmbeddedStack) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[81] + mi := &file_terraform1_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5039,7 +5194,7 @@ type FindStackConfigurationComponents_Component struct { func (x *FindStackConfigurationComponents_Component) Reset() { *x = FindStackConfigurationComponents_Component{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[82] + mi := &file_terraform1_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5052,7 +5207,7 @@ func (x *FindStackConfigurationComponents_Component) String() string { func (*FindStackConfigurationComponents_Component) ProtoMessage() {} func (x *FindStackConfigurationComponents_Component) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[82] + mi := &file_terraform1_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5093,7 +5248,7 @@ type FindStackConfigurationProviders_Request struct { func (x *FindStackConfigurationProviders_Request) Reset() { *x = FindStackConfigurationProviders_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[85] + mi := &file_terraform1_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5106,7 +5261,7 @@ func (x *FindStackConfigurationProviders_Request) String() string { func (*FindStackConfigurationProviders_Request) ProtoMessage() {} func (x *FindStackConfigurationProviders_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[85] + mi := &file_terraform1_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5138,7 +5293,7 @@ type FindStackConfigurationProviders_Response struct { func (x *FindStackConfigurationProviders_Response) Reset() { *x = FindStackConfigurationProviders_Response{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[86] + mi := &file_terraform1_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5151,7 +5306,7 @@ func (x *FindStackConfigurationProviders_Response) String() string { func (*FindStackConfigurationProviders_Response) ProtoMessage() {} func (x *FindStackConfigurationProviders_Response) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[86] + mi := &file_terraform1_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5183,7 +5338,7 @@ type PlanStackChanges_Request struct { func (x *PlanStackChanges_Request) Reset() { *x = PlanStackChanges_Request{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[87] + mi := &file_terraform1_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5196,7 +5351,7 @@ func (x *PlanStackChanges_Request) String() string { func (*PlanStackChanges_Request) ProtoMessage() {} func (x *PlanStackChanges_Request) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[87] + mi := &file_terraform1_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5274,7 +5429,7 @@ type PlanStackChanges_Event struct { func (x *PlanStackChanges_Event) Reset() { *x = PlanStackChanges_Event{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[88] + mi := &file_terraform1_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5287,7 +5442,7 @@ func (x *PlanStackChanges_Event) String() string { func (*PlanStackChanges_Event) ProtoMessage() {} func (x *PlanStackChanges_Event) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[88] + mi := &file_terraform1_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5405,6 +5560,192 @@ func (*PlanStackChanges_Event_ProvisionerStatus) isPlanStackChanges_Event_Event( func (*PlanStackChanges_Event_ProvisionerOutput) isPlanStackChanges_Event_Event() {} +type ApplyStackChanges_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // This must refer to exactly the same configuration that was + // passed to PlanStackChanges when creating this plan, or the + // results will be unpredictable. + StackConfigHandle int64 `protobuf:"varint,1,opt,name=stack_config_handle,json=stackConfigHandle,proto3" json:"stack_config_handle,omitempty"` + // This must be exactly the same as the previous_state that + // was passed to PlanStackChanges when creating this plan. + PreviousState map[string]*anypb.Any `protobuf:"bytes,2,rep,name=previous_state,json=previousState,proto3" json:"previous_state,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The caller should send all of the keys present in the previous + // apply's description map. Terraform Core will use this for + // situations such as updating existing descriptions to newer + // formats even if no change is being made to the corresponding + // real objects. + KnownDescriptionKeys []string `protobuf:"bytes,3,rep,name=known_description_keys,json=knownDescriptionKeys,proto3" json:"known_description_keys,omitempty"` + // This must include all of the "raw" values emitted through + // PlannedChange events during the PlanStackChanges operation + // that created this plan, concatenated together in the same + // order they were written to the PlanStackChanges event stream. + PlannedChanges []*anypb.Any `protobuf:"bytes,4,rep,name=planned_changes,json=plannedChanges,proto3" json:"planned_changes,omitempty"` + // This must be equivalent to the argument of the same name + // passed to PlanStackChanges when creating this plan. + DependencyLocksHandle int64 `protobuf:"varint,5,opt,name=dependency_locks_handle,json=dependencyLocksHandle,proto3" json:"dependency_locks_handle,omitempty"` + // This must be equivalent to the argument of the same name + // passed to PlanStackChanges when creating this plan. + ProviderCacheHandle int64 `protobuf:"varint,6,opt,name=provider_cache_handle,json=providerCacheHandle,proto3" json:"provider_cache_handle,omitempty"` +} + +func (x *ApplyStackChanges_Request) Reset() { + *x = ApplyStackChanges_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyStackChanges_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyStackChanges_Request) ProtoMessage() {} + +func (x *ApplyStackChanges_Request) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[93] + 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 ApplyStackChanges_Request.ProtoReflect.Descriptor instead. +func (*ApplyStackChanges_Request) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{22, 0} +} + +func (x *ApplyStackChanges_Request) GetStackConfigHandle() int64 { + if x != nil { + return x.StackConfigHandle + } + return 0 +} + +func (x *ApplyStackChanges_Request) GetPreviousState() map[string]*anypb.Any { + if x != nil { + return x.PreviousState + } + return nil +} + +func (x *ApplyStackChanges_Request) GetKnownDescriptionKeys() []string { + if x != nil { + return x.KnownDescriptionKeys + } + return nil +} + +func (x *ApplyStackChanges_Request) GetPlannedChanges() []*anypb.Any { + if x != nil { + return x.PlannedChanges + } + return nil +} + +func (x *ApplyStackChanges_Request) GetDependencyLocksHandle() int64 { + if x != nil { + return x.DependencyLocksHandle + } + return 0 +} + +func (x *ApplyStackChanges_Request) GetProviderCacheHandle() int64 { + if x != nil { + return x.ProviderCacheHandle + } + return 0 +} + +type ApplyStackChanges_Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Event: + // + // *ApplyStackChanges_Event_AppliedChange + // *ApplyStackChanges_Event_Diagnostic + Event isApplyStackChanges_Event_Event `protobuf_oneof:"event"` +} + +func (x *ApplyStackChanges_Event) Reset() { + *x = ApplyStackChanges_Event{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyStackChanges_Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyStackChanges_Event) ProtoMessage() {} + +func (x *ApplyStackChanges_Event) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[94] + 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 ApplyStackChanges_Event.ProtoReflect.Descriptor instead. +func (*ApplyStackChanges_Event) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{22, 1} +} + +func (m *ApplyStackChanges_Event) GetEvent() isApplyStackChanges_Event_Event { + if m != nil { + return m.Event + } + return nil +} + +func (x *ApplyStackChanges_Event) GetAppliedChange() *AppliedChange { + if x, ok := x.GetEvent().(*ApplyStackChanges_Event_AppliedChange); ok { + return x.AppliedChange + } + return nil +} + +func (x *ApplyStackChanges_Event) GetDiagnostic() *Diagnostic { + if x, ok := x.GetEvent().(*ApplyStackChanges_Event_Diagnostic); ok { + return x.Diagnostic + } + return nil +} + +type isApplyStackChanges_Event_Event interface { + isApplyStackChanges_Event_Event() +} + +type ApplyStackChanges_Event_AppliedChange struct { + AppliedChange *AppliedChange `protobuf:"bytes,1,opt,name=applied_change,json=appliedChange,proto3,oneof"` +} + +type ApplyStackChanges_Event_Diagnostic struct { + Diagnostic *Diagnostic `protobuf:"bytes,2,opt,name=diagnostic,proto3,oneof"` // TODO: progress events intended for updating the UI +} + +func (*ApplyStackChanges_Event_AppliedChange) isApplyStackChanges_Event_Event() {} + +func (*ApplyStackChanges_Event_Diagnostic) isApplyStackChanges_Event_Event() {} + type AttributePath_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5421,7 +5762,7 @@ type AttributePath_Step struct { func (x *AttributePath_Step) Reset() { *x = AttributePath_Step{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[91] + mi := &file_terraform1_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5434,7 +5775,7 @@ func (x *AttributePath_Step) String() string { func (*AttributePath_Step) ProtoMessage() {} func (x *AttributePath_Step) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[91] + mi := &file_terraform1_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5447,7 +5788,7 @@ func (x *AttributePath_Step) ProtoReflect() protoreflect.Message { // Deprecated: Use AttributePath_Step.ProtoReflect.Descriptor instead. func (*AttributePath_Step) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{25, 0} + return file_terraform1_proto_rawDescGZIP(), []int{26, 0} } func (m *AttributePath_Step) GetSelector() isAttributePath_Step_Selector { @@ -5523,7 +5864,7 @@ type PlannedChange_ComponentInstance struct { func (x *PlannedChange_ComponentInstance) Reset() { *x = PlannedChange_ComponentInstance{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[92] + mi := &file_terraform1_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5536,7 +5877,7 @@ func (x *PlannedChange_ComponentInstance) String() string { func (*PlannedChange_ComponentInstance) ProtoMessage() {} func (x *PlannedChange_ComponentInstance) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[92] + mi := &file_terraform1_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5549,7 +5890,7 @@ func (x *PlannedChange_ComponentInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedChange_ComponentInstance.ProtoReflect.Descriptor instead. func (*PlannedChange_ComponentInstance) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29, 0} + return file_terraform1_proto_rawDescGZIP(), []int{30, 0} } func (x *PlannedChange_ComponentInstance) GetAddr() *ComponentInstanceInStackAddr { @@ -5584,7 +5925,7 @@ type PlannedChange_ResourceInstance struct { func (x *PlannedChange_ResourceInstance) Reset() { *x = PlannedChange_ResourceInstance{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[93] + mi := &file_terraform1_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5597,7 +5938,7 @@ func (x *PlannedChange_ResourceInstance) String() string { func (*PlannedChange_ResourceInstance) ProtoMessage() {} func (x *PlannedChange_ResourceInstance) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[93] + mi := &file_terraform1_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5610,7 +5951,7 @@ func (x *PlannedChange_ResourceInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedChange_ResourceInstance.ProtoReflect.Descriptor instead. func (*PlannedChange_ResourceInstance) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29, 1} + return file_terraform1_proto_rawDescGZIP(), []int{30, 1} } func (x *PlannedChange_ResourceInstance) GetAddr() *ResourceInstanceInStackAddr { @@ -5685,7 +6026,7 @@ type PlannedChange_OutputValue struct { func (x *PlannedChange_OutputValue) Reset() { *x = PlannedChange_OutputValue{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[94] + mi := &file_terraform1_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5698,7 +6039,7 @@ func (x *PlannedChange_OutputValue) String() string { func (*PlannedChange_OutputValue) ProtoMessage() {} func (x *PlannedChange_OutputValue) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[94] + mi := &file_terraform1_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5711,7 +6052,7 @@ func (x *PlannedChange_OutputValue) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedChange_OutputValue.ProtoReflect.Descriptor instead. func (*PlannedChange_OutputValue) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29, 2} + return file_terraform1_proto_rawDescGZIP(), []int{30, 2} } func (x *PlannedChange_OutputValue) GetName() string { @@ -5746,7 +6087,7 @@ type PlannedChange_ResourceInstance_Moved struct { func (x *PlannedChange_ResourceInstance_Moved) Reset() { *x = PlannedChange_ResourceInstance_Moved{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[95] + mi := &file_terraform1_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5759,7 +6100,7 @@ func (x *PlannedChange_ResourceInstance_Moved) String() string { func (*PlannedChange_ResourceInstance_Moved) ProtoMessage() {} func (x *PlannedChange_ResourceInstance_Moved) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[95] + mi := &file_terraform1_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5772,7 +6113,7 @@ func (x *PlannedChange_ResourceInstance_Moved) ProtoReflect() protoreflect.Messa // Deprecated: Use PlannedChange_ResourceInstance_Moved.ProtoReflect.Descriptor instead. func (*PlannedChange_ResourceInstance_Moved) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29, 1, 0} + return file_terraform1_proto_rawDescGZIP(), []int{30, 1, 0} } func (x *PlannedChange_ResourceInstance_Moved) GetPrevAddr() *ResourceInstanceInStackAddr { @@ -5793,7 +6134,7 @@ type PlannedChange_ResourceInstance_Imported struct { func (x *PlannedChange_ResourceInstance_Imported) Reset() { *x = PlannedChange_ResourceInstance_Imported{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[96] + mi := &file_terraform1_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5806,7 +6147,7 @@ func (x *PlannedChange_ResourceInstance_Imported) String() string { func (*PlannedChange_ResourceInstance_Imported) ProtoMessage() {} func (x *PlannedChange_ResourceInstance_Imported) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[96] + mi := &file_terraform1_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5819,7 +6160,7 @@ func (x *PlannedChange_ResourceInstance_Imported) ProtoReflect() protoreflect.Me // Deprecated: Use PlannedChange_ResourceInstance_Imported.ProtoReflect.Descriptor instead. func (*PlannedChange_ResourceInstance_Imported) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{29, 1, 1} + return file_terraform1_proto_rawDescGZIP(), []int{30, 1, 1} } func (x *PlannedChange_ResourceInstance_Imported) GetImportId() string { @@ -5829,34 +6170,32 @@ func (x *PlannedChange_ResourceInstance_Imported) GetImportId() string { return "" } -type Schema_Block struct { +type AppliedChange_RawChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Attributes []*Schema_Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"` - BlockTypes []*Schema_NestedBlock `protobuf:"bytes,2,rep,name=block_types,json=blockTypes,proto3" json:"block_types,omitempty"` - Description *Schema_DocString `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Deprecated bool `protobuf:"varint,4,opt,name=deprecated,proto3" json:"deprecated,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *anypb.Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (x *Schema_Block) Reset() { - *x = Schema_Block{} +func (x *AppliedChange_RawChange) Reset() { + *x = AppliedChange_RawChange{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[97] + mi := &file_terraform1_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Schema_Block) String() string { +func (x *AppliedChange_RawChange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Schema_Block) ProtoMessage() {} +func (*AppliedChange_RawChange) ProtoMessage() {} -func (x *Schema_Block) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[97] +func (x *AppliedChange_RawChange) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5867,26 +6206,283 @@ func (x *Schema_Block) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Schema_Block.ProtoReflect.Descriptor instead. -func (*Schema_Block) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 0} +// Deprecated: Use AppliedChange_RawChange.ProtoReflect.Descriptor instead. +func (*AppliedChange_RawChange) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{31, 0} } -func (x *Schema_Block) GetAttributes() []*Schema_Attribute { +func (x *AppliedChange_RawChange) GetKey() string { if x != nil { - return x.Attributes + return x.Key } - return nil + return "" } -func (x *Schema_Block) GetBlockTypes() []*Schema_NestedBlock { +func (x *AppliedChange_RawChange) GetValue() *anypb.Any { if x != nil { - return x.BlockTypes + return x.Value } return nil } -func (x *Schema_Block) GetDescription() *Schema_DocString { +type AppliedChange_ChangeDescription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Types that are assignable to Description: + // + // *AppliedChange_ChangeDescription_ResourceInstance + // *AppliedChange_ChangeDescription_OutputValue + Description isAppliedChange_ChangeDescription_Description `protobuf_oneof:"description"` +} + +func (x *AppliedChange_ChangeDescription) Reset() { + *x = AppliedChange_ChangeDescription{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedChange_ChangeDescription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedChange_ChangeDescription) ProtoMessage() {} + +func (x *AppliedChange_ChangeDescription) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[103] + 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 AppliedChange_ChangeDescription.ProtoReflect.Descriptor instead. +func (*AppliedChange_ChangeDescription) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{31, 1} +} + +func (x *AppliedChange_ChangeDescription) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (m *AppliedChange_ChangeDescription) GetDescription() isAppliedChange_ChangeDescription_Description { + if m != nil { + return m.Description + } + return nil +} + +func (x *AppliedChange_ChangeDescription) GetResourceInstance() *AppliedChange_ResourceInstance { + if x, ok := x.GetDescription().(*AppliedChange_ChangeDescription_ResourceInstance); ok { + return x.ResourceInstance + } + return nil +} + +func (x *AppliedChange_ChangeDescription) GetOutputValue() *AppliedChange_OutputValue { + if x, ok := x.GetDescription().(*AppliedChange_ChangeDescription_OutputValue); ok { + return x.OutputValue + } + return nil +} + +type isAppliedChange_ChangeDescription_Description interface { + isAppliedChange_ChangeDescription_Description() +} + +type AppliedChange_ChangeDescription_ResourceInstance struct { + ResourceInstance *AppliedChange_ResourceInstance `protobuf:"bytes,2,opt,name=resource_instance,json=resourceInstance,proto3,oneof"` +} + +type AppliedChange_ChangeDescription_OutputValue struct { + OutputValue *AppliedChange_OutputValue `protobuf:"bytes,3,opt,name=output_value,json=outputValue,proto3,oneof"` +} + +func (*AppliedChange_ChangeDescription_ResourceInstance) isAppliedChange_ChangeDescription_Description() { +} + +func (*AppliedChange_ChangeDescription_OutputValue) isAppliedChange_ChangeDescription_Description() {} + +type AppliedChange_ResourceInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addr *ResourceInstanceInStackAddr `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + NewValue *DynamicValue `protobuf:"bytes,2,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (x *AppliedChange_ResourceInstance) Reset() { + *x = AppliedChange_ResourceInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedChange_ResourceInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedChange_ResourceInstance) ProtoMessage() {} + +func (x *AppliedChange_ResourceInstance) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[104] + 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 AppliedChange_ResourceInstance.ProtoReflect.Descriptor instead. +func (*AppliedChange_ResourceInstance) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{31, 2} +} + +func (x *AppliedChange_ResourceInstance) GetAddr() *ResourceInstanceInStackAddr { + if x != nil { + return x.Addr + } + return nil +} + +func (x *AppliedChange_ResourceInstance) GetNewValue() *DynamicValue { + if x != nil { + return x.NewValue + } + return nil +} + +type AppliedChange_OutputValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + NewValue *DynamicValue `protobuf:"bytes,2,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (x *AppliedChange_OutputValue) Reset() { + *x = AppliedChange_OutputValue{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedChange_OutputValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedChange_OutputValue) ProtoMessage() {} + +func (x *AppliedChange_OutputValue) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[105] + 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 AppliedChange_OutputValue.ProtoReflect.Descriptor instead. +func (*AppliedChange_OutputValue) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{31, 3} +} + +func (x *AppliedChange_OutputValue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AppliedChange_OutputValue) GetNewValue() *DynamicValue { + if x != nil { + return x.NewValue + } + return nil +} + +type Schema_Block struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attributes []*Schema_Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"` + BlockTypes []*Schema_NestedBlock `protobuf:"bytes,2,rep,name=block_types,json=blockTypes,proto3" json:"block_types,omitempty"` + Description *Schema_DocString `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Deprecated bool `protobuf:"varint,4,opt,name=deprecated,proto3" json:"deprecated,omitempty"` +} + +func (x *Schema_Block) Reset() { + *x = Schema_Block{} + if protoimpl.UnsafeEnabled { + mi := &file_terraform1_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Schema_Block) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schema_Block) ProtoMessage() {} + +func (x *Schema_Block) ProtoReflect() protoreflect.Message { + mi := &file_terraform1_proto_msgTypes[106] + 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 Schema_Block.ProtoReflect.Descriptor instead. +func (*Schema_Block) Descriptor() ([]byte, []int) { + return file_terraform1_proto_rawDescGZIP(), []int{35, 0} +} + +func (x *Schema_Block) GetAttributes() []*Schema_Attribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Schema_Block) GetBlockTypes() []*Schema_NestedBlock { + if x != nil { + return x.BlockTypes + } + return nil +} + +func (x *Schema_Block) GetDescription() *Schema_DocString { if x != nil { return x.Description } @@ -5919,7 +6515,7 @@ type Schema_Attribute struct { func (x *Schema_Attribute) Reset() { *x = Schema_Attribute{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[98] + mi := &file_terraform1_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5932,7 +6528,7 @@ func (x *Schema_Attribute) String() string { func (*Schema_Attribute) ProtoMessage() {} func (x *Schema_Attribute) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[98] + mi := &file_terraform1_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5945,7 +6541,7 @@ func (x *Schema_Attribute) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema_Attribute.ProtoReflect.Descriptor instead. func (*Schema_Attribute) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 1} + return file_terraform1_proto_rawDescGZIP(), []int{35, 1} } func (x *Schema_Attribute) GetName() string { @@ -6024,7 +6620,7 @@ type Schema_NestedBlock struct { func (x *Schema_NestedBlock) Reset() { *x = Schema_NestedBlock{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[99] + mi := &file_terraform1_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6037,7 +6633,7 @@ func (x *Schema_NestedBlock) String() string { func (*Schema_NestedBlock) ProtoMessage() {} func (x *Schema_NestedBlock) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[99] + mi := &file_terraform1_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6050,7 +6646,7 @@ func (x *Schema_NestedBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema_NestedBlock.ProtoReflect.Descriptor instead. func (*Schema_NestedBlock) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 2} + return file_terraform1_proto_rawDescGZIP(), []int{35, 2} } func (x *Schema_NestedBlock) GetTypeName() string { @@ -6086,7 +6682,7 @@ type Schema_Object struct { func (x *Schema_Object) Reset() { *x = Schema_Object{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[100] + mi := &file_terraform1_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6099,7 +6695,7 @@ func (x *Schema_Object) String() string { func (*Schema_Object) ProtoMessage() {} func (x *Schema_Object) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[100] + mi := &file_terraform1_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6112,7 +6708,7 @@ func (x *Schema_Object) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema_Object.ProtoReflect.Descriptor instead. func (*Schema_Object) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 3} + return file_terraform1_proto_rawDescGZIP(), []int{35, 3} } func (x *Schema_Object) GetAttributes() []*Schema_Attribute { @@ -6141,7 +6737,7 @@ type Schema_DocString struct { func (x *Schema_DocString) Reset() { *x = Schema_DocString{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[101] + mi := &file_terraform1_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6154,7 +6750,7 @@ func (x *Schema_DocString) String() string { func (*Schema_DocString) ProtoMessage() {} func (x *Schema_DocString) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[101] + mi := &file_terraform1_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6167,7 +6763,7 @@ func (x *Schema_DocString) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema_DocString.ProtoReflect.Descriptor instead. func (*Schema_DocString) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{33, 4} + return file_terraform1_proto_rawDescGZIP(), []int{35, 4} } func (x *Schema_DocString) GetDescription() string { @@ -6195,7 +6791,7 @@ type ResourceInstancePlannedChange_Moved struct { func (x *ResourceInstancePlannedChange_Moved) Reset() { *x = ResourceInstancePlannedChange_Moved{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[102] + mi := &file_terraform1_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6208,7 +6804,7 @@ func (x *ResourceInstancePlannedChange_Moved) String() string { func (*ResourceInstancePlannedChange_Moved) ProtoMessage() {} func (x *ResourceInstancePlannedChange_Moved) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[102] + mi := &file_terraform1_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6221,7 +6817,7 @@ func (x *ResourceInstancePlannedChange_Moved) ProtoReflect() protoreflect.Messag // Deprecated: Use ResourceInstancePlannedChange_Moved.ProtoReflect.Descriptor instead. func (*ResourceInstancePlannedChange_Moved) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{36, 0} + return file_terraform1_proto_rawDescGZIP(), []int{38, 0} } func (x *ResourceInstancePlannedChange_Moved) GetPrevAddr() *ResourceInstanceInStackAddr { @@ -6242,7 +6838,7 @@ type ResourceInstancePlannedChange_Imported struct { func (x *ResourceInstancePlannedChange_Imported) Reset() { *x = ResourceInstancePlannedChange_Imported{} if protoimpl.UnsafeEnabled { - mi := &file_terraform1_proto_msgTypes[103] + mi := &file_terraform1_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6255,7 +6851,7 @@ func (x *ResourceInstancePlannedChange_Imported) String() string { func (*ResourceInstancePlannedChange_Imported) ProtoMessage() {} func (x *ResourceInstancePlannedChange_Imported) ProtoReflect() protoreflect.Message { - mi := &file_terraform1_proto_msgTypes[103] + mi := &file_terraform1_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6268,7 +6864,7 @@ func (x *ResourceInstancePlannedChange_Imported) ProtoReflect() protoreflect.Mes // Deprecated: Use ResourceInstancePlannedChange_Imported.ProtoReflect.Descriptor instead. func (*ResourceInstancePlannedChange_Imported) Descriptor() ([]byte, []int) { - return file_terraform1_proto_rawDescGZIP(), []int{36, 1} + return file_terraform1_proto_rawDescGZIP(), []int{38, 1} } func (x *ResourceInstancePlannedChange_Imported) GetImportId() string { @@ -6756,481 +7352,569 @@ var file_terraform1_proto_rawDesc = []byte{ 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x07, 0x0a, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x61, 0x0a, 0x0c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, - 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x70, 0x61, 0x63, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x70, 0x61, 0x63, 0x6b, - 0x12, 0x37, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, - 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x09, - 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x6c, 0x0a, 0x12, 0x44, 0x79, 0x6e, - 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x2a, 0x0a, 0x03, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, - 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, - 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6f, 0x6c, 0x64, 0x12, 0x2a, 0x0a, 0x03, 0x6e, - 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x03, 0x6e, 0x65, 0x77, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, - 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x57, 0x69, 0x74, 0x68, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xdd, - 0x01, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, - 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x95, 0x01, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, - 0x27, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, - 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x49, - 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x7d, - 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x8b, 0x01, - 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x36, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0xf5, 0x0a, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x18, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x72, 0x69, - 0x66, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x65, - 0x64, 0x12, 0x68, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x14, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x48, 0x00, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, - 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x61, - 0x70, 0x70, 0x6c, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x1a, - 0x83, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, - 0x64, 0x64, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xd3, 0x04, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, - 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, - 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xfa, 0x04, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xd3, 0x03, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x3d, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, + 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x36, + 0x0a, 0x17, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x15, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0x56, 0x0a, 0x12, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x8e, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0e, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, + 0x00, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x38, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x31, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x0a, + 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x22, 0x61, 0x0a, 0x0c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x70, 0x61, 0x63, 0x6b, 0x12, 0x37, 0x0a, + 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x09, 0x73, 0x65, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x6c, 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x03, + 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x46, 0x0a, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x76, - 0x65, 0x64, 0x52, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x65, + 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6f, 0x6c, 0x64, 0x12, 0x2a, 0x0a, 0x03, 0x6e, 0x65, 0x77, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x03, 0x6e, 0x65, 0x77, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x57, 0x69, 0x74, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x3a, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x0d, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, + 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05, 0x73, 0x74, + 0x65, 0x70, 0x73, 0x1a, 0x95, 0x01, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x27, 0x0a, 0x0e, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, + 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x74, 0x42, + 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x7d, 0x0a, 0x1c, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x8b, 0x01, 0x0a, 0x1b, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf5, 0x0a, + 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x26, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x1a, 0x4d, 0x0a, 0x05, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x09, - 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x41, 0x64, - 0x64, 0x72, 0x1a, 0x27, 0x0a, 0x08, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x1a, 0x8b, 0x01, 0x0a, 0x0b, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x31, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x12, 0x68, + 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, + 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, + 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x6c, 0x61, 0x6e, + 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x70, + 0x6c, 0x61, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x83, 0x01, 0x0a, + 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, + 0x12, 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0xd3, 0x04, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, + 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x46, + 0x0a, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x52, + 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x08, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, + 0x1a, 0x4d, 0x0a, 0x05, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x65, + 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x1a, + 0x27, 0x0a, 0x08, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x1a, 0x8b, 0x01, 0x0a, 0x0b, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x07, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x05, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, + 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x4f, + 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x49, 0x0a, 0x09, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xdb, 0x01, 0x0a, 0x11, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x59, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4a, 0x0a, + 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x86, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, + 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, + 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, + 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x35, 0x0a, 0x09, 0x6e, 0x65, + 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x1a, 0x58, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x0a, + 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x31, 0x0a, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2f, 0x0a, 0x08, - 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, - 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x84, 0x01, - 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2b, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x6e, 0x67, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x65, - 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x52, - 0x03, 0x65, 0x6e, 0x64, 0x22, 0x4b, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x62, 0x79, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x22, 0xb5, 0x09, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x0a, 0x05, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, - 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0xe6, 0x01, 0x0a, - 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4e, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x44, - 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xc1, 0x02, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x6e, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, 0x6e, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, + 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x2f, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, + 0x22, 0x84, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x27, + 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x65, + 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x73, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x4b, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0xb5, 0x09, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x2e, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, + 0xe6, 0x01, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x44, 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xef, 0x01, 0x0a, 0x0b, 0x4e, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x44, 0x0a, 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x4d, 0x0a, 0x0b, - 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, - 0x4c, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x07, - 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x50, 0x10, 0x04, - 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x05, 0x1a, 0xcb, 0x01, 0x0a, 0x06, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x42, 0x0a, 0x0b, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x03, - 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x50, 0x10, 0x04, 0x1a, 0x8d, 0x01, 0x0a, 0x09, 0x44, 0x6f, - 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x44, 0x6f, - 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x21, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4d, - 0x41, 0x52, 0x4b, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x82, 0x02, 0x0a, 0x17, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, - 0x64, 0x64, 0x72, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x65, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, - 0x4c, 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, - 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, - 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, - 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x06, 0x22, 0x9f, - 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x44, 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xc1, 0x02, 0x0a, 0x09, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3a, + 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x2e, 0x44, 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xef, 0x01, 0x0a, + 0x0b, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x44, 0x0a, 0x07, 0x6e, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, + 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, + 0x4d, 0x0a, 0x0b, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, + 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, + 0x50, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x05, 0x1a, 0xcb, + 0x01, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x42, 0x0a, 0x0b, 0x4e, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, + 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x50, 0x10, 0x04, 0x1a, 0x8d, 0x01, 0x0a, + 0x09, 0x44, 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x2e, 0x44, 0x6f, 0x63, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x21, 0x0a, 0x06, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x4d, 0x41, 0x52, 0x4b, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x82, 0x02, 0x0a, + 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, + 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, - 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, - 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x53, 0x74, + 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, + 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x65, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0d, - 0x0a, 0x09, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, - 0x08, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x50, - 0x4c, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x4c, - 0x59, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, - 0x44, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x08, - 0x22, 0x9d, 0x03, 0x0a, 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, - 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4d, 0x6f, 0x76, 0x65, - 0x64, 0x52, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x65, 0x72, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, + 0x0a, 0x08, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, + 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, + 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, + 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, 0x10, + 0x06, 0x22, 0x9f, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, + 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x72, 0x72, + 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x84, 0x01, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0b, + 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x41, + 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, + 0x4c, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, + 0x44, 0x10, 0x08, 0x22, 0x9d, 0x03, 0x0a, 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x08, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x4d, 0x0a, 0x05, 0x4d, 0x6f, 0x76, 0x65, - 0x64, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x08, 0x70, - 0x72, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x1a, 0x27, 0x0a, 0x08, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, - 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, - 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x45, - 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, - 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, - 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x7c, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, - 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, - 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x2a, 0x32, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x35, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0x02, 0x2a, 0x44, - 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, - 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0x04, 0x32, 0x53, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x4a, 0x0a, - 0x09, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc8, 0x0a, 0x0a, 0x0c, 0x44, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x4f, 0x70, - 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x24, - 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x11, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x12, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x29, 0x2e, 0x74, 0x65, - 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, - 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, + 0x64, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4d, + 0x6f, 0x76, 0x65, 0x64, 0x52, 0x05, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x4d, 0x0a, 0x05, 0x4d, + 0x6f, 0x76, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x1a, 0x27, 0x0a, 0x08, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, + 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x72, + 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x45, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, + 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, + 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x7c, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3b, 0x0a, + 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, + 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, + 0x41, 0x64, 0x64, 0x72, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2a, 0x32, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x35, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x4f, 0x4e, + 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, + 0x02, 0x2a, 0x44, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, + 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, + 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x32, 0x53, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x75, 0x70, + 0x12, 0x4a, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, + 0x68, 0x61, 0x6b, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, + 0x61, 0x6b, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc8, 0x0a, 0x0a, + 0x0c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5f, 0x0a, + 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x72, + 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x29, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, + 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, + 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x28, 0x2e, + 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x28, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x79, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x86, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x31, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x18, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, - 0x12, 0x74, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2b, 0x2e, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x18, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, + 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2b, + 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x18, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, - 0x6c, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, - 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, - 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, - 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf2, 0x04, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x12, - 0x71, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x18, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, + 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x27, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x72, 0x72, + 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, + 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x05, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x73, 0x12, 0x71, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x74, + 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x61, - 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x1f, 0x46, 0x69, 0x6e, + 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x1f, + 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x33, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x74, - 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x46, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, + 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x74, - 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x10, 0x50, 0x6c, 0x61, - 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x34, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, + 0x6d, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x10, + 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x12, 0x24, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, + 0x72, 0x6d, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x11, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x72, 0x72, 0x61, + 0x66, 0x6f, 0x72, 0x6d, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x63, 0x6b, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7246,7 +7930,7 @@ func file_terraform1_proto_rawDescGZIP() []byte { } var file_terraform1_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_terraform1_proto_msgTypes = make([]protoimpl.MessageInfo, 104) +var file_terraform1_proto_msgTypes = make([]protoimpl.MessageInfo, 113) var file_terraform1_proto_goTypes = []interface{}{ (ResourceMode)(0), // 0: terraform1.ResourceMode (PlanMode)(0), // 1: terraform1.PlanMode @@ -7282,232 +7966,256 @@ var file_terraform1_proto_goTypes = []interface{}{ (*FindStackConfigurationComponents)(nil), // 31: terraform1.FindStackConfigurationComponents (*FindStackConfigurationProviders)(nil), // 32: terraform1.FindStackConfigurationProviders (*PlanStackChanges)(nil), // 33: terraform1.PlanStackChanges - (*DynamicValue)(nil), // 34: terraform1.DynamicValue - (*DynamicValueChange)(nil), // 35: terraform1.DynamicValueChange - (*DynamicValueWithSource)(nil), // 36: terraform1.DynamicValueWithSource - (*AttributePath)(nil), // 37: terraform1.AttributePath - (*ComponentInstanceInStackAddr)(nil), // 38: terraform1.ComponentInstanceInStackAddr - (*ResourceInstanceInStackAddr)(nil), // 39: terraform1.ResourceInstanceInStackAddr - (*SourceAddress)(nil), // 40: terraform1.SourceAddress - (*PlannedChange)(nil), // 41: terraform1.PlannedChange - (*Diagnostic)(nil), // 42: terraform1.Diagnostic - (*SourceRange)(nil), // 43: terraform1.SourceRange - (*SourcePos)(nil), // 44: terraform1.SourcePos - (*Schema)(nil), // 45: terraform1.Schema - (*ComponentInstanceStatus)(nil), // 46: terraform1.ComponentInstanceStatus - (*ResourceInstanceStatus)(nil), // 47: terraform1.ResourceInstanceStatus - (*ResourceInstancePlannedChange)(nil), // 48: terraform1.ResourceInstancePlannedChange - (*ProvisionerStatus)(nil), // 49: terraform1.ProvisionerStatus - (*ProvisionerOutput)(nil), // 50: terraform1.ProvisionerOutput - (*Handshake_Request)(nil), // 51: terraform1.Handshake.Request - (*Handshake_Response)(nil), // 52: terraform1.Handshake.Response - (*OpenSourceBundle_Request)(nil), // 53: terraform1.OpenSourceBundle.Request - (*OpenSourceBundle_Response)(nil), // 54: terraform1.OpenSourceBundle.Response - (*CloseSourceBundle_Request)(nil), // 55: terraform1.CloseSourceBundle.Request - (*CloseSourceBundle_Response)(nil), // 56: terraform1.CloseSourceBundle.Response - (*OpenDependencyLockFile_Request)(nil), // 57: terraform1.OpenDependencyLockFile.Request - (*OpenDependencyLockFile_Response)(nil), // 58: terraform1.OpenDependencyLockFile.Response - (*CreateDependencyLocks_Request)(nil), // 59: terraform1.CreateDependencyLocks.Request - (*CreateDependencyLocks_Response)(nil), // 60: terraform1.CreateDependencyLocks.Response - (*CloseDependencyLocks_Request)(nil), // 61: terraform1.CloseDependencyLocks.Request - (*CloseDependencyLocks_Response)(nil), // 62: terraform1.CloseDependencyLocks.Response - (*GetLockedProviderDependencies_Request)(nil), // 63: terraform1.GetLockedProviderDependencies.Request - (*GetLockedProviderDependencies_Response)(nil), // 64: terraform1.GetLockedProviderDependencies.Response - (*BuildProviderPluginCache_Request)(nil), // 65: terraform1.BuildProviderPluginCache.Request - (*BuildProviderPluginCache_Event)(nil), // 66: terraform1.BuildProviderPluginCache.Event - (*BuildProviderPluginCache_Request_InstallMethod)(nil), // 67: terraform1.BuildProviderPluginCache.Request.InstallMethod - (*BuildProviderPluginCache_Event_Pending)(nil), // 68: terraform1.BuildProviderPluginCache.Event.Pending - (*BuildProviderPluginCache_Event_ProviderConstraints)(nil), // 69: terraform1.BuildProviderPluginCache.Event.ProviderConstraints - (*BuildProviderPluginCache_Event_ProviderVersion)(nil), // 70: terraform1.BuildProviderPluginCache.Event.ProviderVersion - (*BuildProviderPluginCache_Event_ProviderWarnings)(nil), // 71: terraform1.BuildProviderPluginCache.Event.ProviderWarnings - (*BuildProviderPluginCache_Event_FetchBegin)(nil), // 72: terraform1.BuildProviderPluginCache.Event.FetchBegin - (*BuildProviderPluginCache_Event_FetchComplete)(nil), // 73: terraform1.BuildProviderPluginCache.Event.FetchComplete - (*OpenProviderPluginCache_Request)(nil), // 74: terraform1.OpenProviderPluginCache.Request - (*OpenProviderPluginCache_Response)(nil), // 75: terraform1.OpenProviderPluginCache.Response - (*CloseProviderPluginCache_Request)(nil), // 76: terraform1.CloseProviderPluginCache.Request - (*CloseProviderPluginCache_Response)(nil), // 77: terraform1.CloseProviderPluginCache.Response - (*GetCachedProviders_Request)(nil), // 78: terraform1.GetCachedProviders.Request - (*GetCachedProviders_Response)(nil), // 79: terraform1.GetCachedProviders.Response - (*GetBuiltInProviders_Request)(nil), // 80: terraform1.GetBuiltInProviders.Request - (*GetBuiltInProviders_Response)(nil), // 81: terraform1.GetBuiltInProviders.Response - (*GetProviderSchema_Request)(nil), // 82: terraform1.GetProviderSchema.Request - (*GetProviderSchema_Response)(nil), // 83: terraform1.GetProviderSchema.Response - nil, // 84: terraform1.ProviderSchema.ManagedResourceTypesEntry - nil, // 85: terraform1.ProviderSchema.DataResourceTypesEntry - (*OpenStackConfiguration_Request)(nil), // 86: terraform1.OpenStackConfiguration.Request - (*OpenStackConfiguration_Response)(nil), // 87: terraform1.OpenStackConfiguration.Response - (*CloseStackConfiguration_Request)(nil), // 88: terraform1.CloseStackConfiguration.Request - (*CloseStackConfiguration_Response)(nil), // 89: terraform1.CloseStackConfiguration.Response - (*FindStackConfigurationComponents_Request)(nil), // 90: terraform1.FindStackConfigurationComponents.Request - (*FindStackConfigurationComponents_Response)(nil), // 91: terraform1.FindStackConfigurationComponents.Response - (*FindStackConfigurationComponents_StackConfig)(nil), // 92: terraform1.FindStackConfigurationComponents.StackConfig - (*FindStackConfigurationComponents_EmbeddedStack)(nil), // 93: terraform1.FindStackConfigurationComponents.EmbeddedStack - (*FindStackConfigurationComponents_Component)(nil), // 94: terraform1.FindStackConfigurationComponents.Component - nil, // 95: terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry - nil, // 96: terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry - (*FindStackConfigurationProviders_Request)(nil), // 97: terraform1.FindStackConfigurationProviders.Request - (*FindStackConfigurationProviders_Response)(nil), // 98: terraform1.FindStackConfigurationProviders.Response - (*PlanStackChanges_Request)(nil), // 99: terraform1.PlanStackChanges.Request - (*PlanStackChanges_Event)(nil), // 100: terraform1.PlanStackChanges.Event - nil, // 101: terraform1.PlanStackChanges.Request.PreviousStateEntry - nil, // 102: terraform1.PlanStackChanges.Request.InputValuesEntry - (*AttributePath_Step)(nil), // 103: terraform1.AttributePath.Step - (*PlannedChange_ComponentInstance)(nil), // 104: terraform1.PlannedChange.ComponentInstance - (*PlannedChange_ResourceInstance)(nil), // 105: terraform1.PlannedChange.ResourceInstance - (*PlannedChange_OutputValue)(nil), // 106: terraform1.PlannedChange.OutputValue - (*PlannedChange_ResourceInstance_Moved)(nil), // 107: terraform1.PlannedChange.ResourceInstance.Moved - (*PlannedChange_ResourceInstance_Imported)(nil), // 108: terraform1.PlannedChange.ResourceInstance.Imported - (*Schema_Block)(nil), // 109: terraform1.Schema.Block - (*Schema_Attribute)(nil), // 110: terraform1.Schema.Attribute - (*Schema_NestedBlock)(nil), // 111: terraform1.Schema.NestedBlock - (*Schema_Object)(nil), // 112: terraform1.Schema.Object - (*Schema_DocString)(nil), // 113: terraform1.Schema.DocString - (*ResourceInstancePlannedChange_Moved)(nil), // 114: terraform1.ResourceInstancePlannedChange.Moved - (*ResourceInstancePlannedChange_Imported)(nil), // 115: terraform1.ResourceInstancePlannedChange.Imported - (*anypb.Any)(nil), // 116: google.protobuf.Any + (*ApplyStackChanges)(nil), // 34: terraform1.ApplyStackChanges + (*DynamicValue)(nil), // 35: terraform1.DynamicValue + (*DynamicValueChange)(nil), // 36: terraform1.DynamicValueChange + (*DynamicValueWithSource)(nil), // 37: terraform1.DynamicValueWithSource + (*AttributePath)(nil), // 38: terraform1.AttributePath + (*ComponentInstanceInStackAddr)(nil), // 39: terraform1.ComponentInstanceInStackAddr + (*ResourceInstanceInStackAddr)(nil), // 40: terraform1.ResourceInstanceInStackAddr + (*SourceAddress)(nil), // 41: terraform1.SourceAddress + (*PlannedChange)(nil), // 42: terraform1.PlannedChange + (*AppliedChange)(nil), // 43: terraform1.AppliedChange + (*Diagnostic)(nil), // 44: terraform1.Diagnostic + (*SourceRange)(nil), // 45: terraform1.SourceRange + (*SourcePos)(nil), // 46: terraform1.SourcePos + (*Schema)(nil), // 47: terraform1.Schema + (*ComponentInstanceStatus)(nil), // 48: terraform1.ComponentInstanceStatus + (*ResourceInstanceStatus)(nil), // 49: terraform1.ResourceInstanceStatus + (*ResourceInstancePlannedChange)(nil), // 50: terraform1.ResourceInstancePlannedChange + (*ProvisionerStatus)(nil), // 51: terraform1.ProvisionerStatus + (*ProvisionerOutput)(nil), // 52: terraform1.ProvisionerOutput + (*Handshake_Request)(nil), // 53: terraform1.Handshake.Request + (*Handshake_Response)(nil), // 54: terraform1.Handshake.Response + (*OpenSourceBundle_Request)(nil), // 55: terraform1.OpenSourceBundle.Request + (*OpenSourceBundle_Response)(nil), // 56: terraform1.OpenSourceBundle.Response + (*CloseSourceBundle_Request)(nil), // 57: terraform1.CloseSourceBundle.Request + (*CloseSourceBundle_Response)(nil), // 58: terraform1.CloseSourceBundle.Response + (*OpenDependencyLockFile_Request)(nil), // 59: terraform1.OpenDependencyLockFile.Request + (*OpenDependencyLockFile_Response)(nil), // 60: terraform1.OpenDependencyLockFile.Response + (*CreateDependencyLocks_Request)(nil), // 61: terraform1.CreateDependencyLocks.Request + (*CreateDependencyLocks_Response)(nil), // 62: terraform1.CreateDependencyLocks.Response + (*CloseDependencyLocks_Request)(nil), // 63: terraform1.CloseDependencyLocks.Request + (*CloseDependencyLocks_Response)(nil), // 64: terraform1.CloseDependencyLocks.Response + (*GetLockedProviderDependencies_Request)(nil), // 65: terraform1.GetLockedProviderDependencies.Request + (*GetLockedProviderDependencies_Response)(nil), // 66: terraform1.GetLockedProviderDependencies.Response + (*BuildProviderPluginCache_Request)(nil), // 67: terraform1.BuildProviderPluginCache.Request + (*BuildProviderPluginCache_Event)(nil), // 68: terraform1.BuildProviderPluginCache.Event + (*BuildProviderPluginCache_Request_InstallMethod)(nil), // 69: terraform1.BuildProviderPluginCache.Request.InstallMethod + (*BuildProviderPluginCache_Event_Pending)(nil), // 70: terraform1.BuildProviderPluginCache.Event.Pending + (*BuildProviderPluginCache_Event_ProviderConstraints)(nil), // 71: terraform1.BuildProviderPluginCache.Event.ProviderConstraints + (*BuildProviderPluginCache_Event_ProviderVersion)(nil), // 72: terraform1.BuildProviderPluginCache.Event.ProviderVersion + (*BuildProviderPluginCache_Event_ProviderWarnings)(nil), // 73: terraform1.BuildProviderPluginCache.Event.ProviderWarnings + (*BuildProviderPluginCache_Event_FetchBegin)(nil), // 74: terraform1.BuildProviderPluginCache.Event.FetchBegin + (*BuildProviderPluginCache_Event_FetchComplete)(nil), // 75: terraform1.BuildProviderPluginCache.Event.FetchComplete + (*OpenProviderPluginCache_Request)(nil), // 76: terraform1.OpenProviderPluginCache.Request + (*OpenProviderPluginCache_Response)(nil), // 77: terraform1.OpenProviderPluginCache.Response + (*CloseProviderPluginCache_Request)(nil), // 78: terraform1.CloseProviderPluginCache.Request + (*CloseProviderPluginCache_Response)(nil), // 79: terraform1.CloseProviderPluginCache.Response + (*GetCachedProviders_Request)(nil), // 80: terraform1.GetCachedProviders.Request + (*GetCachedProviders_Response)(nil), // 81: terraform1.GetCachedProviders.Response + (*GetBuiltInProviders_Request)(nil), // 82: terraform1.GetBuiltInProviders.Request + (*GetBuiltInProviders_Response)(nil), // 83: terraform1.GetBuiltInProviders.Response + (*GetProviderSchema_Request)(nil), // 84: terraform1.GetProviderSchema.Request + (*GetProviderSchema_Response)(nil), // 85: terraform1.GetProviderSchema.Response + nil, // 86: terraform1.ProviderSchema.ManagedResourceTypesEntry + nil, // 87: terraform1.ProviderSchema.DataResourceTypesEntry + (*OpenStackConfiguration_Request)(nil), // 88: terraform1.OpenStackConfiguration.Request + (*OpenStackConfiguration_Response)(nil), // 89: terraform1.OpenStackConfiguration.Response + (*CloseStackConfiguration_Request)(nil), // 90: terraform1.CloseStackConfiguration.Request + (*CloseStackConfiguration_Response)(nil), // 91: terraform1.CloseStackConfiguration.Response + (*FindStackConfigurationComponents_Request)(nil), // 92: terraform1.FindStackConfigurationComponents.Request + (*FindStackConfigurationComponents_Response)(nil), // 93: terraform1.FindStackConfigurationComponents.Response + (*FindStackConfigurationComponents_StackConfig)(nil), // 94: terraform1.FindStackConfigurationComponents.StackConfig + (*FindStackConfigurationComponents_EmbeddedStack)(nil), // 95: terraform1.FindStackConfigurationComponents.EmbeddedStack + (*FindStackConfigurationComponents_Component)(nil), // 96: terraform1.FindStackConfigurationComponents.Component + nil, // 97: terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry + nil, // 98: terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry + (*FindStackConfigurationProviders_Request)(nil), // 99: terraform1.FindStackConfigurationProviders.Request + (*FindStackConfigurationProviders_Response)(nil), // 100: terraform1.FindStackConfigurationProviders.Response + (*PlanStackChanges_Request)(nil), // 101: terraform1.PlanStackChanges.Request + (*PlanStackChanges_Event)(nil), // 102: terraform1.PlanStackChanges.Event + nil, // 103: terraform1.PlanStackChanges.Request.PreviousStateEntry + nil, // 104: terraform1.PlanStackChanges.Request.InputValuesEntry + (*ApplyStackChanges_Request)(nil), // 105: terraform1.ApplyStackChanges.Request + (*ApplyStackChanges_Event)(nil), // 106: terraform1.ApplyStackChanges.Event + nil, // 107: terraform1.ApplyStackChanges.Request.PreviousStateEntry + (*AttributePath_Step)(nil), // 108: terraform1.AttributePath.Step + (*PlannedChange_ComponentInstance)(nil), // 109: terraform1.PlannedChange.ComponentInstance + (*PlannedChange_ResourceInstance)(nil), // 110: terraform1.PlannedChange.ResourceInstance + (*PlannedChange_OutputValue)(nil), // 111: terraform1.PlannedChange.OutputValue + (*PlannedChange_ResourceInstance_Moved)(nil), // 112: terraform1.PlannedChange.ResourceInstance.Moved + (*PlannedChange_ResourceInstance_Imported)(nil), // 113: terraform1.PlannedChange.ResourceInstance.Imported + (*AppliedChange_RawChange)(nil), // 114: terraform1.AppliedChange.RawChange + (*AppliedChange_ChangeDescription)(nil), // 115: terraform1.AppliedChange.ChangeDescription + (*AppliedChange_ResourceInstance)(nil), // 116: terraform1.AppliedChange.ResourceInstance + (*AppliedChange_OutputValue)(nil), // 117: terraform1.AppliedChange.OutputValue + (*Schema_Block)(nil), // 118: terraform1.Schema.Block + (*Schema_Attribute)(nil), // 119: terraform1.Schema.Attribute + (*Schema_NestedBlock)(nil), // 120: terraform1.Schema.NestedBlock + (*Schema_Object)(nil), // 121: terraform1.Schema.Object + (*Schema_DocString)(nil), // 122: terraform1.Schema.DocString + (*ResourceInstancePlannedChange_Moved)(nil), // 123: terraform1.ResourceInstancePlannedChange.Moved + (*ResourceInstancePlannedChange_Imported)(nil), // 124: terraform1.ResourceInstancePlannedChange.Imported + (*anypb.Any)(nil), // 125: google.protobuf.Any } var file_terraform1_proto_depIdxs = []int32{ - 45, // 0: terraform1.ProviderSchema.provider_config:type_name -> terraform1.Schema - 84, // 1: terraform1.ProviderSchema.managed_resource_types:type_name -> terraform1.ProviderSchema.ManagedResourceTypesEntry - 85, // 2: terraform1.ProviderSchema.data_resource_types:type_name -> terraform1.ProviderSchema.DataResourceTypesEntry - 37, // 3: terraform1.DynamicValue.sensitive:type_name -> terraform1.AttributePath - 34, // 4: terraform1.DynamicValueChange.old:type_name -> terraform1.DynamicValue - 34, // 5: terraform1.DynamicValueChange.new:type_name -> terraform1.DynamicValue - 34, // 6: terraform1.DynamicValueWithSource.value:type_name -> terraform1.DynamicValue - 43, // 7: terraform1.DynamicValueWithSource.source_range:type_name -> terraform1.SourceRange - 103, // 8: terraform1.AttributePath.steps:type_name -> terraform1.AttributePath.Step - 116, // 9: terraform1.PlannedChange.raw:type_name -> google.protobuf.Any - 104, // 10: terraform1.PlannedChange.component_instance_planned:type_name -> terraform1.PlannedChange.ComponentInstance - 105, // 11: terraform1.PlannedChange.resource_instance_drifted:type_name -> terraform1.PlannedChange.ResourceInstance - 105, // 12: terraform1.PlannedChange.resource_instance_planned:type_name -> terraform1.PlannedChange.ResourceInstance - 106, // 13: terraform1.PlannedChange.output_value_planned:type_name -> terraform1.PlannedChange.OutputValue - 5, // 14: terraform1.Diagnostic.severity:type_name -> terraform1.Diagnostic.Severity - 43, // 15: terraform1.Diagnostic.subject:type_name -> terraform1.SourceRange - 43, // 16: terraform1.Diagnostic.context:type_name -> terraform1.SourceRange - 44, // 17: terraform1.SourceRange.start:type_name -> terraform1.SourcePos - 44, // 18: terraform1.SourceRange.end:type_name -> terraform1.SourcePos - 109, // 19: terraform1.Schema.block:type_name -> terraform1.Schema.Block - 38, // 20: terraform1.ComponentInstanceStatus.addr:type_name -> terraform1.ComponentInstanceInStackAddr - 9, // 21: terraform1.ComponentInstanceStatus.status:type_name -> terraform1.ComponentInstanceStatus.Status - 39, // 22: terraform1.ResourceInstanceStatus.addr:type_name -> terraform1.ResourceInstanceInStackAddr - 10, // 23: terraform1.ResourceInstanceStatus.status:type_name -> terraform1.ResourceInstanceStatus.Status - 39, // 24: terraform1.ResourceInstancePlannedChange.addr:type_name -> terraform1.ResourceInstanceInStackAddr - 2, // 25: terraform1.ResourceInstancePlannedChange.actions:type_name -> terraform1.ChangeType - 114, // 26: terraform1.ResourceInstancePlannedChange.moved:type_name -> terraform1.ResourceInstancePlannedChange.Moved - 115, // 27: terraform1.ResourceInstancePlannedChange.imported:type_name -> terraform1.ResourceInstancePlannedChange.Imported - 39, // 28: terraform1.ProvisionerStatus.addr:type_name -> terraform1.ResourceInstanceInStackAddr - 49, // 29: terraform1.ProvisionerStatus.status:type_name -> terraform1.ProvisionerStatus - 39, // 30: terraform1.ProvisionerOutput.addr:type_name -> terraform1.ResourceInstanceInStackAddr - 13, // 31: terraform1.Handshake.Request.capabilities:type_name -> terraform1.ClientCapabilities - 14, // 32: terraform1.Handshake.Response.capabilities:type_name -> terraform1.ServerCapabilities - 40, // 33: terraform1.OpenDependencyLockFile.Request.source_address:type_name -> terraform1.SourceAddress - 42, // 34: terraform1.OpenDependencyLockFile.Response.diagnostics:type_name -> terraform1.Diagnostic - 27, // 35: terraform1.CreateDependencyLocks.Request.provider_selections:type_name -> terraform1.ProviderPackage - 27, // 36: terraform1.GetLockedProviderDependencies.Response.selected_providers:type_name -> terraform1.ProviderPackage - 67, // 37: terraform1.BuildProviderPluginCache.Request.installation_methods:type_name -> terraform1.BuildProviderPluginCache.Request.InstallMethod - 68, // 38: terraform1.BuildProviderPluginCache.Event.pending:type_name -> terraform1.BuildProviderPluginCache.Event.Pending - 70, // 39: terraform1.BuildProviderPluginCache.Event.already_installed:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion - 70, // 40: terraform1.BuildProviderPluginCache.Event.built_in:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion - 69, // 41: terraform1.BuildProviderPluginCache.Event.query_begin:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderConstraints - 70, // 42: terraform1.BuildProviderPluginCache.Event.query_success:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion - 71, // 43: terraform1.BuildProviderPluginCache.Event.query_warnings:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderWarnings - 72, // 44: terraform1.BuildProviderPluginCache.Event.fetch_begin:type_name -> terraform1.BuildProviderPluginCache.Event.FetchBegin - 73, // 45: terraform1.BuildProviderPluginCache.Event.fetch_complete:type_name -> terraform1.BuildProviderPluginCache.Event.FetchComplete - 42, // 46: terraform1.BuildProviderPluginCache.Event.diagnostic:type_name -> terraform1.Diagnostic - 69, // 47: terraform1.BuildProviderPluginCache.Event.Pending.expected:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderConstraints - 70, // 48: terraform1.BuildProviderPluginCache.Event.FetchBegin.provider_version:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion - 70, // 49: terraform1.BuildProviderPluginCache.Event.FetchComplete.provider_version:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion - 3, // 50: terraform1.BuildProviderPluginCache.Event.FetchComplete.auth_result:type_name -> terraform1.BuildProviderPluginCache.Event.FetchComplete.AuthResult - 27, // 51: terraform1.GetCachedProviders.Response.available_providers:type_name -> terraform1.ProviderPackage - 27, // 52: terraform1.GetBuiltInProviders.Response.available_providers:type_name -> terraform1.ProviderPackage - 28, // 53: terraform1.GetProviderSchema.Response.schema:type_name -> terraform1.ProviderSchema - 45, // 54: terraform1.ProviderSchema.ManagedResourceTypesEntry.value:type_name -> terraform1.Schema - 45, // 55: terraform1.ProviderSchema.DataResourceTypesEntry.value:type_name -> terraform1.Schema - 40, // 56: terraform1.OpenStackConfiguration.Request.source_address:type_name -> terraform1.SourceAddress - 42, // 57: terraform1.OpenStackConfiguration.Response.diagnostics:type_name -> terraform1.Diagnostic - 92, // 58: terraform1.FindStackConfigurationComponents.Response.config:type_name -> terraform1.FindStackConfigurationComponents.StackConfig - 95, // 59: terraform1.FindStackConfigurationComponents.StackConfig.components:type_name -> terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry - 96, // 60: terraform1.FindStackConfigurationComponents.StackConfig.embedded_stacks:type_name -> terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry - 4, // 61: terraform1.FindStackConfigurationComponents.EmbeddedStack.instances:type_name -> terraform1.FindStackConfigurationComponents.Instances - 92, // 62: terraform1.FindStackConfigurationComponents.EmbeddedStack.config:type_name -> terraform1.FindStackConfigurationComponents.StackConfig - 4, // 63: terraform1.FindStackConfigurationComponents.Component.instances:type_name -> terraform1.FindStackConfigurationComponents.Instances - 94, // 64: terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry.value:type_name -> terraform1.FindStackConfigurationComponents.Component - 93, // 65: terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry.value:type_name -> terraform1.FindStackConfigurationComponents.EmbeddedStack - 1, // 66: terraform1.PlanStackChanges.Request.plan_mode:type_name -> terraform1.PlanMode - 101, // 67: terraform1.PlanStackChanges.Request.previous_state:type_name -> terraform1.PlanStackChanges.Request.PreviousStateEntry - 102, // 68: terraform1.PlanStackChanges.Request.input_values:type_name -> terraform1.PlanStackChanges.Request.InputValuesEntry - 41, // 69: terraform1.PlanStackChanges.Event.planned_change:type_name -> terraform1.PlannedChange - 42, // 70: terraform1.PlanStackChanges.Event.diagnostic:type_name -> terraform1.Diagnostic - 46, // 71: terraform1.PlanStackChanges.Event.component_instance_status:type_name -> terraform1.ComponentInstanceStatus - 47, // 72: terraform1.PlanStackChanges.Event.resource_instance_status:type_name -> terraform1.ResourceInstanceStatus - 48, // 73: terraform1.PlanStackChanges.Event.resource_instance_planned_change:type_name -> terraform1.ResourceInstancePlannedChange - 49, // 74: terraform1.PlanStackChanges.Event.provisioner_status:type_name -> terraform1.ProvisionerStatus - 50, // 75: terraform1.PlanStackChanges.Event.provisioner_output:type_name -> terraform1.ProvisionerOutput - 116, // 76: terraform1.PlanStackChanges.Request.PreviousStateEntry.value:type_name -> google.protobuf.Any - 36, // 77: terraform1.PlanStackChanges.Request.InputValuesEntry.value:type_name -> terraform1.DynamicValueWithSource - 38, // 78: terraform1.PlannedChange.ComponentInstance.addr:type_name -> terraform1.ComponentInstanceInStackAddr - 2, // 79: terraform1.PlannedChange.ComponentInstance.actions:type_name -> terraform1.ChangeType - 39, // 80: terraform1.PlannedChange.ResourceInstance.addr:type_name -> terraform1.ResourceInstanceInStackAddr - 2, // 81: terraform1.PlannedChange.ResourceInstance.actions:type_name -> terraform1.ChangeType - 35, // 82: terraform1.PlannedChange.ResourceInstance.values:type_name -> terraform1.DynamicValueChange - 107, // 83: terraform1.PlannedChange.ResourceInstance.moved:type_name -> terraform1.PlannedChange.ResourceInstance.Moved - 108, // 84: terraform1.PlannedChange.ResourceInstance.imported:type_name -> terraform1.PlannedChange.ResourceInstance.Imported - 0, // 85: terraform1.PlannedChange.ResourceInstance.resource_mode:type_name -> terraform1.ResourceMode - 2, // 86: terraform1.PlannedChange.OutputValue.actions:type_name -> terraform1.ChangeType - 35, // 87: terraform1.PlannedChange.OutputValue.values:type_name -> terraform1.DynamicValueChange - 39, // 88: terraform1.PlannedChange.ResourceInstance.Moved.prev_addr:type_name -> terraform1.ResourceInstanceInStackAddr - 110, // 89: terraform1.Schema.Block.attributes:type_name -> terraform1.Schema.Attribute - 111, // 90: terraform1.Schema.Block.block_types:type_name -> terraform1.Schema.NestedBlock - 113, // 91: terraform1.Schema.Block.description:type_name -> terraform1.Schema.DocString - 112, // 92: terraform1.Schema.Attribute.nested_type:type_name -> terraform1.Schema.Object - 113, // 93: terraform1.Schema.Attribute.description:type_name -> terraform1.Schema.DocString - 109, // 94: terraform1.Schema.NestedBlock.block:type_name -> terraform1.Schema.Block - 6, // 95: terraform1.Schema.NestedBlock.nesting:type_name -> terraform1.Schema.NestedBlock.NestingMode - 110, // 96: terraform1.Schema.Object.attributes:type_name -> terraform1.Schema.Attribute - 7, // 97: terraform1.Schema.Object.nesting:type_name -> terraform1.Schema.Object.NestingMode - 8, // 98: terraform1.Schema.DocString.format:type_name -> terraform1.Schema.DocString.Format - 39, // 99: terraform1.ResourceInstancePlannedChange.Moved.prev_addr:type_name -> terraform1.ResourceInstanceInStackAddr - 51, // 100: terraform1.Setup.Handshake:input_type -> terraform1.Handshake.Request - 53, // 101: terraform1.Dependencies.OpenSourceBundle:input_type -> terraform1.OpenSourceBundle.Request - 55, // 102: terraform1.Dependencies.CloseSourceBundle:input_type -> terraform1.CloseSourceBundle.Request - 57, // 103: terraform1.Dependencies.OpenDependencyLockFile:input_type -> terraform1.OpenDependencyLockFile.Request - 59, // 104: terraform1.Dependencies.CreateDependencyLocks:input_type -> terraform1.CreateDependencyLocks.Request - 61, // 105: terraform1.Dependencies.CloseDependencyLocks:input_type -> terraform1.CloseDependencyLocks.Request - 63, // 106: terraform1.Dependencies.GetLockedProviderDependencies:input_type -> terraform1.GetLockedProviderDependencies.Request - 65, // 107: terraform1.Dependencies.BuildProviderPluginCache:input_type -> terraform1.BuildProviderPluginCache.Request - 74, // 108: terraform1.Dependencies.OpenProviderPluginCache:input_type -> terraform1.OpenProviderPluginCache.Request - 76, // 109: terraform1.Dependencies.CloseProviderPluginCache:input_type -> terraform1.CloseProviderPluginCache.Request - 78, // 110: terraform1.Dependencies.GetCachedProviders:input_type -> terraform1.GetCachedProviders.Request - 80, // 111: terraform1.Dependencies.GetBuiltInProviders:input_type -> terraform1.GetBuiltInProviders.Request - 82, // 112: terraform1.Dependencies.GetProviderSchema:input_type -> terraform1.GetProviderSchema.Request - 86, // 113: terraform1.Stacks.OpenStackConfiguration:input_type -> terraform1.OpenStackConfiguration.Request - 88, // 114: terraform1.Stacks.CloseStackConfiguration:input_type -> terraform1.CloseStackConfiguration.Request - 97, // 115: terraform1.Stacks.FindStackConfigurationProviders:input_type -> terraform1.FindStackConfigurationProviders.Request - 90, // 116: terraform1.Stacks.FindStackConfigurationComponents:input_type -> terraform1.FindStackConfigurationComponents.Request - 99, // 117: terraform1.Stacks.PlanStackChanges:input_type -> terraform1.PlanStackChanges.Request - 52, // 118: terraform1.Setup.Handshake:output_type -> terraform1.Handshake.Response - 54, // 119: terraform1.Dependencies.OpenSourceBundle:output_type -> terraform1.OpenSourceBundle.Response - 56, // 120: terraform1.Dependencies.CloseSourceBundle:output_type -> terraform1.CloseSourceBundle.Response - 58, // 121: terraform1.Dependencies.OpenDependencyLockFile:output_type -> terraform1.OpenDependencyLockFile.Response - 60, // 122: terraform1.Dependencies.CreateDependencyLocks:output_type -> terraform1.CreateDependencyLocks.Response - 62, // 123: terraform1.Dependencies.CloseDependencyLocks:output_type -> terraform1.CloseDependencyLocks.Response - 64, // 124: terraform1.Dependencies.GetLockedProviderDependencies:output_type -> terraform1.GetLockedProviderDependencies.Response - 66, // 125: terraform1.Dependencies.BuildProviderPluginCache:output_type -> terraform1.BuildProviderPluginCache.Event - 75, // 126: terraform1.Dependencies.OpenProviderPluginCache:output_type -> terraform1.OpenProviderPluginCache.Response - 77, // 127: terraform1.Dependencies.CloseProviderPluginCache:output_type -> terraform1.CloseProviderPluginCache.Response - 79, // 128: terraform1.Dependencies.GetCachedProviders:output_type -> terraform1.GetCachedProviders.Response - 81, // 129: terraform1.Dependencies.GetBuiltInProviders:output_type -> terraform1.GetBuiltInProviders.Response - 83, // 130: terraform1.Dependencies.GetProviderSchema:output_type -> terraform1.GetProviderSchema.Response - 87, // 131: terraform1.Stacks.OpenStackConfiguration:output_type -> terraform1.OpenStackConfiguration.Response - 89, // 132: terraform1.Stacks.CloseStackConfiguration:output_type -> terraform1.CloseStackConfiguration.Response - 98, // 133: terraform1.Stacks.FindStackConfigurationProviders:output_type -> terraform1.FindStackConfigurationProviders.Response - 91, // 134: terraform1.Stacks.FindStackConfigurationComponents:output_type -> terraform1.FindStackConfigurationComponents.Response - 100, // 135: terraform1.Stacks.PlanStackChanges:output_type -> terraform1.PlanStackChanges.Event - 118, // [118:136] is the sub-list for method output_type - 100, // [100:118] is the sub-list for method input_type - 100, // [100:100] is the sub-list for extension type_name - 100, // [100:100] is the sub-list for extension extendee - 0, // [0:100] is the sub-list for field type_name + 47, // 0: terraform1.ProviderSchema.provider_config:type_name -> terraform1.Schema + 86, // 1: terraform1.ProviderSchema.managed_resource_types:type_name -> terraform1.ProviderSchema.ManagedResourceTypesEntry + 87, // 2: terraform1.ProviderSchema.data_resource_types:type_name -> terraform1.ProviderSchema.DataResourceTypesEntry + 38, // 3: terraform1.DynamicValue.sensitive:type_name -> terraform1.AttributePath + 35, // 4: terraform1.DynamicValueChange.old:type_name -> terraform1.DynamicValue + 35, // 5: terraform1.DynamicValueChange.new:type_name -> terraform1.DynamicValue + 35, // 6: terraform1.DynamicValueWithSource.value:type_name -> terraform1.DynamicValue + 45, // 7: terraform1.DynamicValueWithSource.source_range:type_name -> terraform1.SourceRange + 108, // 8: terraform1.AttributePath.steps:type_name -> terraform1.AttributePath.Step + 125, // 9: terraform1.PlannedChange.raw:type_name -> google.protobuf.Any + 109, // 10: terraform1.PlannedChange.component_instance_planned:type_name -> terraform1.PlannedChange.ComponentInstance + 110, // 11: terraform1.PlannedChange.resource_instance_drifted:type_name -> terraform1.PlannedChange.ResourceInstance + 110, // 12: terraform1.PlannedChange.resource_instance_planned:type_name -> terraform1.PlannedChange.ResourceInstance + 111, // 13: terraform1.PlannedChange.output_value_planned:type_name -> terraform1.PlannedChange.OutputValue + 114, // 14: terraform1.AppliedChange.raw:type_name -> terraform1.AppliedChange.RawChange + 115, // 15: terraform1.AppliedChange.descriptions:type_name -> terraform1.AppliedChange.ChangeDescription + 5, // 16: terraform1.Diagnostic.severity:type_name -> terraform1.Diagnostic.Severity + 45, // 17: terraform1.Diagnostic.subject:type_name -> terraform1.SourceRange + 45, // 18: terraform1.Diagnostic.context:type_name -> terraform1.SourceRange + 46, // 19: terraform1.SourceRange.start:type_name -> terraform1.SourcePos + 46, // 20: terraform1.SourceRange.end:type_name -> terraform1.SourcePos + 118, // 21: terraform1.Schema.block:type_name -> terraform1.Schema.Block + 39, // 22: terraform1.ComponentInstanceStatus.addr:type_name -> terraform1.ComponentInstanceInStackAddr + 9, // 23: terraform1.ComponentInstanceStatus.status:type_name -> terraform1.ComponentInstanceStatus.Status + 40, // 24: terraform1.ResourceInstanceStatus.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 10, // 25: terraform1.ResourceInstanceStatus.status:type_name -> terraform1.ResourceInstanceStatus.Status + 40, // 26: terraform1.ResourceInstancePlannedChange.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 2, // 27: terraform1.ResourceInstancePlannedChange.actions:type_name -> terraform1.ChangeType + 123, // 28: terraform1.ResourceInstancePlannedChange.moved:type_name -> terraform1.ResourceInstancePlannedChange.Moved + 124, // 29: terraform1.ResourceInstancePlannedChange.imported:type_name -> terraform1.ResourceInstancePlannedChange.Imported + 40, // 30: terraform1.ProvisionerStatus.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 51, // 31: terraform1.ProvisionerStatus.status:type_name -> terraform1.ProvisionerStatus + 40, // 32: terraform1.ProvisionerOutput.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 13, // 33: terraform1.Handshake.Request.capabilities:type_name -> terraform1.ClientCapabilities + 14, // 34: terraform1.Handshake.Response.capabilities:type_name -> terraform1.ServerCapabilities + 41, // 35: terraform1.OpenDependencyLockFile.Request.source_address:type_name -> terraform1.SourceAddress + 44, // 36: terraform1.OpenDependencyLockFile.Response.diagnostics:type_name -> terraform1.Diagnostic + 27, // 37: terraform1.CreateDependencyLocks.Request.provider_selections:type_name -> terraform1.ProviderPackage + 27, // 38: terraform1.GetLockedProviderDependencies.Response.selected_providers:type_name -> terraform1.ProviderPackage + 69, // 39: terraform1.BuildProviderPluginCache.Request.installation_methods:type_name -> terraform1.BuildProviderPluginCache.Request.InstallMethod + 70, // 40: terraform1.BuildProviderPluginCache.Event.pending:type_name -> terraform1.BuildProviderPluginCache.Event.Pending + 72, // 41: terraform1.BuildProviderPluginCache.Event.already_installed:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion + 72, // 42: terraform1.BuildProviderPluginCache.Event.built_in:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion + 71, // 43: terraform1.BuildProviderPluginCache.Event.query_begin:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderConstraints + 72, // 44: terraform1.BuildProviderPluginCache.Event.query_success:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion + 73, // 45: terraform1.BuildProviderPluginCache.Event.query_warnings:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderWarnings + 74, // 46: terraform1.BuildProviderPluginCache.Event.fetch_begin:type_name -> terraform1.BuildProviderPluginCache.Event.FetchBegin + 75, // 47: terraform1.BuildProviderPluginCache.Event.fetch_complete:type_name -> terraform1.BuildProviderPluginCache.Event.FetchComplete + 44, // 48: terraform1.BuildProviderPluginCache.Event.diagnostic:type_name -> terraform1.Diagnostic + 71, // 49: terraform1.BuildProviderPluginCache.Event.Pending.expected:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderConstraints + 72, // 50: terraform1.BuildProviderPluginCache.Event.FetchBegin.provider_version:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion + 72, // 51: terraform1.BuildProviderPluginCache.Event.FetchComplete.provider_version:type_name -> terraform1.BuildProviderPluginCache.Event.ProviderVersion + 3, // 52: terraform1.BuildProviderPluginCache.Event.FetchComplete.auth_result:type_name -> terraform1.BuildProviderPluginCache.Event.FetchComplete.AuthResult + 27, // 53: terraform1.GetCachedProviders.Response.available_providers:type_name -> terraform1.ProviderPackage + 27, // 54: terraform1.GetBuiltInProviders.Response.available_providers:type_name -> terraform1.ProviderPackage + 28, // 55: terraform1.GetProviderSchema.Response.schema:type_name -> terraform1.ProviderSchema + 47, // 56: terraform1.ProviderSchema.ManagedResourceTypesEntry.value:type_name -> terraform1.Schema + 47, // 57: terraform1.ProviderSchema.DataResourceTypesEntry.value:type_name -> terraform1.Schema + 41, // 58: terraform1.OpenStackConfiguration.Request.source_address:type_name -> terraform1.SourceAddress + 44, // 59: terraform1.OpenStackConfiguration.Response.diagnostics:type_name -> terraform1.Diagnostic + 94, // 60: terraform1.FindStackConfigurationComponents.Response.config:type_name -> terraform1.FindStackConfigurationComponents.StackConfig + 97, // 61: terraform1.FindStackConfigurationComponents.StackConfig.components:type_name -> terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry + 98, // 62: terraform1.FindStackConfigurationComponents.StackConfig.embedded_stacks:type_name -> terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry + 4, // 63: terraform1.FindStackConfigurationComponents.EmbeddedStack.instances:type_name -> terraform1.FindStackConfigurationComponents.Instances + 94, // 64: terraform1.FindStackConfigurationComponents.EmbeddedStack.config:type_name -> terraform1.FindStackConfigurationComponents.StackConfig + 4, // 65: terraform1.FindStackConfigurationComponents.Component.instances:type_name -> terraform1.FindStackConfigurationComponents.Instances + 96, // 66: terraform1.FindStackConfigurationComponents.StackConfig.ComponentsEntry.value:type_name -> terraform1.FindStackConfigurationComponents.Component + 95, // 67: terraform1.FindStackConfigurationComponents.StackConfig.EmbeddedStacksEntry.value:type_name -> terraform1.FindStackConfigurationComponents.EmbeddedStack + 1, // 68: terraform1.PlanStackChanges.Request.plan_mode:type_name -> terraform1.PlanMode + 103, // 69: terraform1.PlanStackChanges.Request.previous_state:type_name -> terraform1.PlanStackChanges.Request.PreviousStateEntry + 104, // 70: terraform1.PlanStackChanges.Request.input_values:type_name -> terraform1.PlanStackChanges.Request.InputValuesEntry + 42, // 71: terraform1.PlanStackChanges.Event.planned_change:type_name -> terraform1.PlannedChange + 44, // 72: terraform1.PlanStackChanges.Event.diagnostic:type_name -> terraform1.Diagnostic + 48, // 73: terraform1.PlanStackChanges.Event.component_instance_status:type_name -> terraform1.ComponentInstanceStatus + 49, // 74: terraform1.PlanStackChanges.Event.resource_instance_status:type_name -> terraform1.ResourceInstanceStatus + 50, // 75: terraform1.PlanStackChanges.Event.resource_instance_planned_change:type_name -> terraform1.ResourceInstancePlannedChange + 51, // 76: terraform1.PlanStackChanges.Event.provisioner_status:type_name -> terraform1.ProvisionerStatus + 52, // 77: terraform1.PlanStackChanges.Event.provisioner_output:type_name -> terraform1.ProvisionerOutput + 125, // 78: terraform1.PlanStackChanges.Request.PreviousStateEntry.value:type_name -> google.protobuf.Any + 37, // 79: terraform1.PlanStackChanges.Request.InputValuesEntry.value:type_name -> terraform1.DynamicValueWithSource + 107, // 80: terraform1.ApplyStackChanges.Request.previous_state:type_name -> terraform1.ApplyStackChanges.Request.PreviousStateEntry + 125, // 81: terraform1.ApplyStackChanges.Request.planned_changes:type_name -> google.protobuf.Any + 43, // 82: terraform1.ApplyStackChanges.Event.applied_change:type_name -> terraform1.AppliedChange + 44, // 83: terraform1.ApplyStackChanges.Event.diagnostic:type_name -> terraform1.Diagnostic + 125, // 84: terraform1.ApplyStackChanges.Request.PreviousStateEntry.value:type_name -> google.protobuf.Any + 39, // 85: terraform1.PlannedChange.ComponentInstance.addr:type_name -> terraform1.ComponentInstanceInStackAddr + 2, // 86: terraform1.PlannedChange.ComponentInstance.actions:type_name -> terraform1.ChangeType + 40, // 87: terraform1.PlannedChange.ResourceInstance.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 2, // 88: terraform1.PlannedChange.ResourceInstance.actions:type_name -> terraform1.ChangeType + 36, // 89: terraform1.PlannedChange.ResourceInstance.values:type_name -> terraform1.DynamicValueChange + 112, // 90: terraform1.PlannedChange.ResourceInstance.moved:type_name -> terraform1.PlannedChange.ResourceInstance.Moved + 113, // 91: terraform1.PlannedChange.ResourceInstance.imported:type_name -> terraform1.PlannedChange.ResourceInstance.Imported + 0, // 92: terraform1.PlannedChange.ResourceInstance.resource_mode:type_name -> terraform1.ResourceMode + 2, // 93: terraform1.PlannedChange.OutputValue.actions:type_name -> terraform1.ChangeType + 36, // 94: terraform1.PlannedChange.OutputValue.values:type_name -> terraform1.DynamicValueChange + 40, // 95: terraform1.PlannedChange.ResourceInstance.Moved.prev_addr:type_name -> terraform1.ResourceInstanceInStackAddr + 125, // 96: terraform1.AppliedChange.RawChange.value:type_name -> google.protobuf.Any + 116, // 97: terraform1.AppliedChange.ChangeDescription.resource_instance:type_name -> terraform1.AppliedChange.ResourceInstance + 117, // 98: terraform1.AppliedChange.ChangeDescription.output_value:type_name -> terraform1.AppliedChange.OutputValue + 40, // 99: terraform1.AppliedChange.ResourceInstance.addr:type_name -> terraform1.ResourceInstanceInStackAddr + 35, // 100: terraform1.AppliedChange.ResourceInstance.new_value:type_name -> terraform1.DynamicValue + 35, // 101: terraform1.AppliedChange.OutputValue.new_value:type_name -> terraform1.DynamicValue + 119, // 102: terraform1.Schema.Block.attributes:type_name -> terraform1.Schema.Attribute + 120, // 103: terraform1.Schema.Block.block_types:type_name -> terraform1.Schema.NestedBlock + 122, // 104: terraform1.Schema.Block.description:type_name -> terraform1.Schema.DocString + 121, // 105: terraform1.Schema.Attribute.nested_type:type_name -> terraform1.Schema.Object + 122, // 106: terraform1.Schema.Attribute.description:type_name -> terraform1.Schema.DocString + 118, // 107: terraform1.Schema.NestedBlock.block:type_name -> terraform1.Schema.Block + 6, // 108: terraform1.Schema.NestedBlock.nesting:type_name -> terraform1.Schema.NestedBlock.NestingMode + 119, // 109: terraform1.Schema.Object.attributes:type_name -> terraform1.Schema.Attribute + 7, // 110: terraform1.Schema.Object.nesting:type_name -> terraform1.Schema.Object.NestingMode + 8, // 111: terraform1.Schema.DocString.format:type_name -> terraform1.Schema.DocString.Format + 40, // 112: terraform1.ResourceInstancePlannedChange.Moved.prev_addr:type_name -> terraform1.ResourceInstanceInStackAddr + 53, // 113: terraform1.Setup.Handshake:input_type -> terraform1.Handshake.Request + 55, // 114: terraform1.Dependencies.OpenSourceBundle:input_type -> terraform1.OpenSourceBundle.Request + 57, // 115: terraform1.Dependencies.CloseSourceBundle:input_type -> terraform1.CloseSourceBundle.Request + 59, // 116: terraform1.Dependencies.OpenDependencyLockFile:input_type -> terraform1.OpenDependencyLockFile.Request + 61, // 117: terraform1.Dependencies.CreateDependencyLocks:input_type -> terraform1.CreateDependencyLocks.Request + 63, // 118: terraform1.Dependencies.CloseDependencyLocks:input_type -> terraform1.CloseDependencyLocks.Request + 65, // 119: terraform1.Dependencies.GetLockedProviderDependencies:input_type -> terraform1.GetLockedProviderDependencies.Request + 67, // 120: terraform1.Dependencies.BuildProviderPluginCache:input_type -> terraform1.BuildProviderPluginCache.Request + 76, // 121: terraform1.Dependencies.OpenProviderPluginCache:input_type -> terraform1.OpenProviderPluginCache.Request + 78, // 122: terraform1.Dependencies.CloseProviderPluginCache:input_type -> terraform1.CloseProviderPluginCache.Request + 80, // 123: terraform1.Dependencies.GetCachedProviders:input_type -> terraform1.GetCachedProviders.Request + 82, // 124: terraform1.Dependencies.GetBuiltInProviders:input_type -> terraform1.GetBuiltInProviders.Request + 84, // 125: terraform1.Dependencies.GetProviderSchema:input_type -> terraform1.GetProviderSchema.Request + 88, // 126: terraform1.Stacks.OpenStackConfiguration:input_type -> terraform1.OpenStackConfiguration.Request + 90, // 127: terraform1.Stacks.CloseStackConfiguration:input_type -> terraform1.CloseStackConfiguration.Request + 99, // 128: terraform1.Stacks.FindStackConfigurationProviders:input_type -> terraform1.FindStackConfigurationProviders.Request + 92, // 129: terraform1.Stacks.FindStackConfigurationComponents:input_type -> terraform1.FindStackConfigurationComponents.Request + 101, // 130: terraform1.Stacks.PlanStackChanges:input_type -> terraform1.PlanStackChanges.Request + 105, // 131: terraform1.Stacks.ApplyStackChanges:input_type -> terraform1.ApplyStackChanges.Request + 54, // 132: terraform1.Setup.Handshake:output_type -> terraform1.Handshake.Response + 56, // 133: terraform1.Dependencies.OpenSourceBundle:output_type -> terraform1.OpenSourceBundle.Response + 58, // 134: terraform1.Dependencies.CloseSourceBundle:output_type -> terraform1.CloseSourceBundle.Response + 60, // 135: terraform1.Dependencies.OpenDependencyLockFile:output_type -> terraform1.OpenDependencyLockFile.Response + 62, // 136: terraform1.Dependencies.CreateDependencyLocks:output_type -> terraform1.CreateDependencyLocks.Response + 64, // 137: terraform1.Dependencies.CloseDependencyLocks:output_type -> terraform1.CloseDependencyLocks.Response + 66, // 138: terraform1.Dependencies.GetLockedProviderDependencies:output_type -> terraform1.GetLockedProviderDependencies.Response + 68, // 139: terraform1.Dependencies.BuildProviderPluginCache:output_type -> terraform1.BuildProviderPluginCache.Event + 77, // 140: terraform1.Dependencies.OpenProviderPluginCache:output_type -> terraform1.OpenProviderPluginCache.Response + 79, // 141: terraform1.Dependencies.CloseProviderPluginCache:output_type -> terraform1.CloseProviderPluginCache.Response + 81, // 142: terraform1.Dependencies.GetCachedProviders:output_type -> terraform1.GetCachedProviders.Response + 83, // 143: terraform1.Dependencies.GetBuiltInProviders:output_type -> terraform1.GetBuiltInProviders.Response + 85, // 144: terraform1.Dependencies.GetProviderSchema:output_type -> terraform1.GetProviderSchema.Response + 89, // 145: terraform1.Stacks.OpenStackConfiguration:output_type -> terraform1.OpenStackConfiguration.Response + 91, // 146: terraform1.Stacks.CloseStackConfiguration:output_type -> terraform1.CloseStackConfiguration.Response + 100, // 147: terraform1.Stacks.FindStackConfigurationProviders:output_type -> terraform1.FindStackConfigurationProviders.Response + 93, // 148: terraform1.Stacks.FindStackConfigurationComponents:output_type -> terraform1.FindStackConfigurationComponents.Response + 102, // 149: terraform1.Stacks.PlanStackChanges:output_type -> terraform1.PlanStackChanges.Event + 106, // 150: terraform1.Stacks.ApplyStackChanges:output_type -> terraform1.ApplyStackChanges.Event + 132, // [132:151] is the sub-list for method output_type + 113, // [113:132] is the sub-list for method input_type + 113, // [113:113] is the sub-list for extension type_name + 113, // [113:113] is the sub-list for extension extendee + 0, // [0:113] is the sub-list for field type_name } func init() { file_terraform1_proto_init() } @@ -7781,7 +8489,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DynamicValue); i { + switch v := v.(*ApplyStackChanges); i { case 0: return &v.state case 1: @@ -7793,7 +8501,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DynamicValueChange); i { + switch v := v.(*DynamicValue); i { case 0: return &v.state case 1: @@ -7805,7 +8513,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DynamicValueWithSource); i { + switch v := v.(*DynamicValueChange); i { case 0: return &v.state case 1: @@ -7817,7 +8525,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttributePath); i { + switch v := v.(*DynamicValueWithSource); i { case 0: return &v.state case 1: @@ -7829,7 +8537,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComponentInstanceInStackAddr); i { + switch v := v.(*AttributePath); i { case 0: return &v.state case 1: @@ -7841,7 +8549,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceInstanceInStackAddr); i { + switch v := v.(*ComponentInstanceInStackAddr); i { case 0: return &v.state case 1: @@ -7853,7 +8561,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceAddress); i { + switch v := v.(*ResourceInstanceInStackAddr); i { case 0: return &v.state case 1: @@ -7865,7 +8573,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlannedChange); i { + switch v := v.(*SourceAddress); i { case 0: return &v.state case 1: @@ -7877,7 +8585,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Diagnostic); i { + switch v := v.(*PlannedChange); i { case 0: return &v.state case 1: @@ -7889,7 +8597,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceRange); i { + switch v := v.(*AppliedChange); i { case 0: return &v.state case 1: @@ -7901,7 +8609,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourcePos); i { + switch v := v.(*Diagnostic); i { case 0: return &v.state case 1: @@ -7913,7 +8621,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Schema); i { + switch v := v.(*SourceRange); i { case 0: return &v.state case 1: @@ -7925,7 +8633,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComponentInstanceStatus); i { + switch v := v.(*SourcePos); i { case 0: return &v.state case 1: @@ -7937,7 +8645,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceInstanceStatus); i { + switch v := v.(*Schema); i { case 0: return &v.state case 1: @@ -7949,7 +8657,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceInstancePlannedChange); i { + switch v := v.(*ComponentInstanceStatus); i { case 0: return &v.state case 1: @@ -7961,7 +8669,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProvisionerStatus); i { + switch v := v.(*ResourceInstanceStatus); i { case 0: return &v.state case 1: @@ -7973,7 +8681,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProvisionerOutput); i { + switch v := v.(*ResourceInstancePlannedChange); i { case 0: return &v.state case 1: @@ -7985,7 +8693,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Handshake_Request); i { + switch v := v.(*ProvisionerStatus); i { case 0: return &v.state case 1: @@ -7997,7 +8705,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Handshake_Response); i { + switch v := v.(*ProvisionerOutput); i { case 0: return &v.state case 1: @@ -8009,7 +8717,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenSourceBundle_Request); i { + switch v := v.(*Handshake_Request); i { case 0: return &v.state case 1: @@ -8021,7 +8729,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenSourceBundle_Response); i { + switch v := v.(*Handshake_Response); i { case 0: return &v.state case 1: @@ -8033,7 +8741,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseSourceBundle_Request); i { + switch v := v.(*OpenSourceBundle_Request); i { case 0: return &v.state case 1: @@ -8045,7 +8753,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseSourceBundle_Response); i { + switch v := v.(*OpenSourceBundle_Response); i { case 0: return &v.state case 1: @@ -8057,7 +8765,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenDependencyLockFile_Request); i { + switch v := v.(*CloseSourceBundle_Request); i { case 0: return &v.state case 1: @@ -8069,7 +8777,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenDependencyLockFile_Response); i { + switch v := v.(*CloseSourceBundle_Response); i { case 0: return &v.state case 1: @@ -8081,7 +8789,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDependencyLocks_Request); i { + switch v := v.(*OpenDependencyLockFile_Request); i { case 0: return &v.state case 1: @@ -8093,7 +8801,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDependencyLocks_Response); i { + switch v := v.(*OpenDependencyLockFile_Response); i { case 0: return &v.state case 1: @@ -8105,7 +8813,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseDependencyLocks_Request); i { + switch v := v.(*CreateDependencyLocks_Request); i { case 0: return &v.state case 1: @@ -8117,7 +8825,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseDependencyLocks_Response); i { + switch v := v.(*CreateDependencyLocks_Response); i { case 0: return &v.state case 1: @@ -8129,7 +8837,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLockedProviderDependencies_Request); i { + switch v := v.(*CloseDependencyLocks_Request); i { case 0: return &v.state case 1: @@ -8141,7 +8849,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLockedProviderDependencies_Response); i { + switch v := v.(*CloseDependencyLocks_Response); i { case 0: return &v.state case 1: @@ -8153,7 +8861,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Request); i { + switch v := v.(*GetLockedProviderDependencies_Request); i { case 0: return &v.state case 1: @@ -8165,7 +8873,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event); i { + switch v := v.(*GetLockedProviderDependencies_Response); i { case 0: return &v.state case 1: @@ -8177,7 +8885,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Request_InstallMethod); i { + switch v := v.(*BuildProviderPluginCache_Request); i { case 0: return &v.state case 1: @@ -8189,7 +8897,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_Pending); i { + switch v := v.(*BuildProviderPluginCache_Event); i { case 0: return &v.state case 1: @@ -8201,7 +8909,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_ProviderConstraints); i { + switch v := v.(*BuildProviderPluginCache_Request_InstallMethod); i { case 0: return &v.state case 1: @@ -8213,7 +8921,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_ProviderVersion); i { + switch v := v.(*BuildProviderPluginCache_Event_Pending); i { case 0: return &v.state case 1: @@ -8225,7 +8933,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_ProviderWarnings); i { + switch v := v.(*BuildProviderPluginCache_Event_ProviderConstraints); i { case 0: return &v.state case 1: @@ -8237,7 +8945,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_FetchBegin); i { + switch v := v.(*BuildProviderPluginCache_Event_ProviderVersion); i { case 0: return &v.state case 1: @@ -8249,7 +8957,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildProviderPluginCache_Event_FetchComplete); i { + switch v := v.(*BuildProviderPluginCache_Event_ProviderWarnings); i { case 0: return &v.state case 1: @@ -8261,7 +8969,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenProviderPluginCache_Request); i { + switch v := v.(*BuildProviderPluginCache_Event_FetchBegin); i { case 0: return &v.state case 1: @@ -8273,7 +8981,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenProviderPluginCache_Response); i { + switch v := v.(*BuildProviderPluginCache_Event_FetchComplete); i { case 0: return &v.state case 1: @@ -8285,7 +8993,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseProviderPluginCache_Request); i { + switch v := v.(*OpenProviderPluginCache_Request); i { case 0: return &v.state case 1: @@ -8297,7 +9005,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseProviderPluginCache_Response); i { + switch v := v.(*OpenProviderPluginCache_Response); i { case 0: return &v.state case 1: @@ -8309,7 +9017,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCachedProviders_Request); i { + switch v := v.(*CloseProviderPluginCache_Request); i { case 0: return &v.state case 1: @@ -8321,7 +9029,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCachedProviders_Response); i { + switch v := v.(*CloseProviderPluginCache_Response); i { case 0: return &v.state case 1: @@ -8333,7 +9041,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuiltInProviders_Request); i { + switch v := v.(*GetCachedProviders_Request); i { case 0: return &v.state case 1: @@ -8345,7 +9053,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuiltInProviders_Response); i { + switch v := v.(*GetCachedProviders_Response); i { case 0: return &v.state case 1: @@ -8357,7 +9065,7 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProviderSchema_Request); i { + switch v := v.(*GetBuiltInProviders_Request); i { case 0: return &v.state case 1: @@ -8369,6 +9077,30 @@ func file_terraform1_proto_init() { } } file_terraform1_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuiltInProviders_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProviderSchema_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProviderSchema_Response); i { case 0: return &v.state @@ -8380,7 +9112,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenStackConfiguration_Request); i { case 0: return &v.state @@ -8392,7 +9124,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenStackConfiguration_Response); i { case 0: return &v.state @@ -8404,7 +9136,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseStackConfiguration_Request); i { case 0: return &v.state @@ -8416,7 +9148,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseStackConfiguration_Response); i { case 0: return &v.state @@ -8428,7 +9160,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationComponents_Request); i { case 0: return &v.state @@ -8440,7 +9172,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationComponents_Response); i { case 0: return &v.state @@ -8452,7 +9184,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationComponents_StackConfig); i { case 0: return &v.state @@ -8464,7 +9196,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationComponents_EmbeddedStack); i { case 0: return &v.state @@ -8476,7 +9208,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationComponents_Component); i { case 0: return &v.state @@ -8488,7 +9220,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationProviders_Request); i { case 0: return &v.state @@ -8500,7 +9232,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindStackConfigurationProviders_Response); i { case 0: return &v.state @@ -8512,7 +9244,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlanStackChanges_Request); i { case 0: return &v.state @@ -8524,7 +9256,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlanStackChanges_Event); i { case 0: return &v.state @@ -8536,7 +9268,31 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyStackChanges_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyStackChanges_Event); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributePath_Step); i { case 0: return &v.state @@ -8548,7 +9304,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedChange_ComponentInstance); i { case 0: return &v.state @@ -8560,7 +9316,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedChange_ResourceInstance); i { case 0: return &v.state @@ -8572,7 +9328,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedChange_OutputValue); i { case 0: return &v.state @@ -8584,7 +9340,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedChange_ResourceInstance_Moved); i { case 0: return &v.state @@ -8596,7 +9352,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedChange_ResourceInstance_Imported); i { case 0: return &v.state @@ -8608,7 +9364,55 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedChange_RawChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedChange_ChangeDescription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedChange_ResourceInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedChange_OutputValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_terraform1_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schema_Block); i { case 0: return &v.state @@ -8620,7 +9424,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schema_Attribute); i { case 0: return &v.state @@ -8632,7 +9436,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schema_NestedBlock); i { case 0: return &v.state @@ -8644,7 +9448,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schema_Object); i { case 0: return &v.state @@ -8656,7 +9460,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schema_DocString); i { case 0: return &v.state @@ -8668,7 +9472,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceInstancePlannedChange_Moved); i { case 0: return &v.state @@ -8680,7 +9484,7 @@ func file_terraform1_proto_init() { return nil } } - file_terraform1_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_terraform1_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceInstancePlannedChange_Imported); i { case 0: return &v.state @@ -8693,14 +9497,14 @@ func file_terraform1_proto_init() { } } } - file_terraform1_proto_msgTypes[29].OneofWrappers = []interface{}{ + file_terraform1_proto_msgTypes[30].OneofWrappers = []interface{}{ (*PlannedChange_ComponentInstancePlanned)(nil), (*PlannedChange_ResourceInstanceDrifted)(nil), (*PlannedChange_ResourceInstancePlanned)(nil), (*PlannedChange_OutputValuePlanned)(nil), (*PlannedChange_PlanApplyable)(nil), } - file_terraform1_proto_msgTypes[54].OneofWrappers = []interface{}{ + file_terraform1_proto_msgTypes[56].OneofWrappers = []interface{}{ (*BuildProviderPluginCache_Event_Pending_)(nil), (*BuildProviderPluginCache_Event_AlreadyInstalled)(nil), (*BuildProviderPluginCache_Event_BuiltIn)(nil), @@ -8711,12 +9515,12 @@ func file_terraform1_proto_init() { (*BuildProviderPluginCache_Event_FetchComplete_)(nil), (*BuildProviderPluginCache_Event_Diagnostic)(nil), } - file_terraform1_proto_msgTypes[55].OneofWrappers = []interface{}{ + file_terraform1_proto_msgTypes[57].OneofWrappers = []interface{}{ (*BuildProviderPluginCache_Request_InstallMethod_Direct)(nil), (*BuildProviderPluginCache_Request_InstallMethod_LocalMirrorDir)(nil), (*BuildProviderPluginCache_Request_InstallMethod_NetworkMirrorUrl)(nil), } - file_terraform1_proto_msgTypes[88].OneofWrappers = []interface{}{ + file_terraform1_proto_msgTypes[90].OneofWrappers = []interface{}{ (*PlanStackChanges_Event_PlannedChange)(nil), (*PlanStackChanges_Event_Diagnostic)(nil), (*PlanStackChanges_Event_ComponentInstanceStatus)(nil), @@ -8725,18 +9529,26 @@ func file_terraform1_proto_init() { (*PlanStackChanges_Event_ProvisionerStatus)(nil), (*PlanStackChanges_Event_ProvisionerOutput)(nil), } - file_terraform1_proto_msgTypes[91].OneofWrappers = []interface{}{ + file_terraform1_proto_msgTypes[94].OneofWrappers = []interface{}{ + (*ApplyStackChanges_Event_AppliedChange)(nil), + (*ApplyStackChanges_Event_Diagnostic)(nil), + } + file_terraform1_proto_msgTypes[96].OneofWrappers = []interface{}{ (*AttributePath_Step_AttributeName)(nil), (*AttributePath_Step_ElementKeyString)(nil), (*AttributePath_Step_ElementKeyInt)(nil), } + file_terraform1_proto_msgTypes[103].OneofWrappers = []interface{}{ + (*AppliedChange_ChangeDescription_ResourceInstance)(nil), + (*AppliedChange_ChangeDescription_OutputValue)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_terraform1_proto_rawDesc, NumEnums: 12, - NumMessages: 104, + NumMessages: 113, NumExtensions: 0, NumServices: 3, }, @@ -9452,6 +10264,8 @@ type StacksClient interface { // with the current state to propose a set of changes to converge the // current state with the desired state, at least in part. PlanStackChanges(ctx context.Context, in *PlanStackChanges_Request, opts ...grpc.CallOption) (Stacks_PlanStackChangesClient, error) + // Execute the changes proposed by an earlier call to PlanStackChanges. + ApplyStackChanges(ctx context.Context, in *ApplyStackChanges_Request, opts ...grpc.CallOption) (Stacks_ApplyStackChangesClient, error) } type stacksClient struct { @@ -9530,6 +10344,38 @@ func (x *stacksPlanStackChangesClient) Recv() (*PlanStackChanges_Event, error) { return m, nil } +func (c *stacksClient) ApplyStackChanges(ctx context.Context, in *ApplyStackChanges_Request, opts ...grpc.CallOption) (Stacks_ApplyStackChangesClient, error) { + stream, err := c.cc.NewStream(ctx, &_Stacks_serviceDesc.Streams[1], "/terraform1.Stacks/ApplyStackChanges", opts...) + if err != nil { + return nil, err + } + x := &stacksApplyStackChangesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Stacks_ApplyStackChangesClient interface { + Recv() (*ApplyStackChanges_Event, error) + grpc.ClientStream +} + +type stacksApplyStackChangesClient struct { + grpc.ClientStream +} + +func (x *stacksApplyStackChangesClient) Recv() (*ApplyStackChanges_Event, error) { + m := new(ApplyStackChanges_Event) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // StacksServer is the server API for Stacks service. type StacksServer interface { // Load and perform initial static validation of a stack configuration @@ -9549,6 +10395,8 @@ type StacksServer interface { // with the current state to propose a set of changes to converge the // current state with the desired state, at least in part. PlanStackChanges(*PlanStackChanges_Request, Stacks_PlanStackChangesServer) error + // Execute the changes proposed by an earlier call to PlanStackChanges. + ApplyStackChanges(*ApplyStackChanges_Request, Stacks_ApplyStackChangesServer) error } // UnimplementedStacksServer can be embedded to have forward compatible implementations. @@ -9570,6 +10418,9 @@ func (*UnimplementedStacksServer) FindStackConfigurationComponents(context.Conte func (*UnimplementedStacksServer) PlanStackChanges(*PlanStackChanges_Request, Stacks_PlanStackChangesServer) error { return status.Errorf(codes.Unimplemented, "method PlanStackChanges not implemented") } +func (*UnimplementedStacksServer) ApplyStackChanges(*ApplyStackChanges_Request, Stacks_ApplyStackChangesServer) error { + return status.Errorf(codes.Unimplemented, "method ApplyStackChanges not implemented") +} func RegisterStacksServer(s *grpc.Server, srv StacksServer) { s.RegisterService(&_Stacks_serviceDesc, srv) @@ -9668,6 +10519,27 @@ func (x *stacksPlanStackChangesServer) Send(m *PlanStackChanges_Event) error { return x.ServerStream.SendMsg(m) } +func _Stacks_ApplyStackChanges_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ApplyStackChanges_Request) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(StacksServer).ApplyStackChanges(m, &stacksApplyStackChangesServer{stream}) +} + +type Stacks_ApplyStackChangesServer interface { + Send(*ApplyStackChanges_Event) error + grpc.ServerStream +} + +type stacksApplyStackChangesServer struct { + grpc.ServerStream +} + +func (x *stacksApplyStackChangesServer) Send(m *ApplyStackChanges_Event) error { + return x.ServerStream.SendMsg(m) +} + var _Stacks_serviceDesc = grpc.ServiceDesc{ ServiceName: "terraform1.Stacks", HandlerType: (*StacksServer)(nil), @@ -9695,6 +10567,11 @@ var _Stacks_serviceDesc = grpc.ServiceDesc{ Handler: _Stacks_PlanStackChanges_Handler, ServerStreams: true, }, + { + StreamName: "ApplyStackChanges", + Handler: _Stacks_ApplyStackChanges_Handler, + ServerStreams: true, + }, }, Metadata: "terraform1.proto", } diff --git a/internal/rpcapi/terraform1/terraform1.proto b/internal/rpcapi/terraform1/terraform1.proto index 6d2b42d0e1..74d9553a31 100644 --- a/internal/rpcapi/terraform1/terraform1.proto +++ b/internal/rpcapi/terraform1/terraform1.proto @@ -404,6 +404,9 @@ service Stacks { // current state with the desired state, at least in part. rpc PlanStackChanges(PlanStackChanges.Request) returns (stream PlanStackChanges.Event); + // Execute the changes proposed by an earlier call to PlanStackChanges. + rpc ApplyStackChanges(ApplyStackChanges.Request) + returns (stream ApplyStackChanges.Event); } message OpenStackConfiguration { @@ -486,6 +489,42 @@ message PlanStackChanges { } } +message ApplyStackChanges { + message Request { + // This must refer to exactly the same configuration that was + // passed to PlanStackChanges when creating this plan, or the + // results will be unpredictable. + int64 stack_config_handle = 1; + // This must be exactly the same as the previous_state that + // was passed to PlanStackChanges when creating this plan. + map previous_state = 2; + // The caller should send all of the keys present in the previous + // apply's description map. Terraform Core will use this for + // situations such as updating existing descriptions to newer + // formats even if no change is being made to the corresponding + // real objects. + repeated string known_description_keys = 3; + // This must include all of the "raw" values emitted through + // PlannedChange events during the PlanStackChanges operation + // that created this plan, concatenated together in the same + // order they were written to the PlanStackChanges event stream. + repeated google.protobuf.Any planned_changes = 4; + // This must be equivalent to the argument of the same name + // passed to PlanStackChanges when creating this plan. + int64 dependency_locks_handle = 5; + // This must be equivalent to the argument of the same name + // passed to PlanStackChanges when creating this plan. + int64 provider_cache_handle = 6; + } + message Event { + oneof event { + AppliedChange applied_change = 1; + Diagnostic diagnostic = 2; + // TODO: progress events intended for updating the UI + } + } +} + // Represents dynamically-typed data from within the Terraform language. // Typically only one of the available serialization formats will be populated, // depending on what serializations are appropriate for a particular context @@ -669,6 +708,94 @@ message PlannedChange { } } +// Describes a change made during a Stacks.ApplyStackChanges call. +// +// All of the events of this type taken together represent a sort of "patch" +// modifying the two data structures that the caller must maintain: the +// raw state map, and the description map. Callers must apply these changes +// in the order of the emission of the messages and then retain the entirety +// of both data structures to populate fields in the next PlanStackChanges call. +message AppliedChange { + // Terraform Core's internal representation of the change, presented as + // a sequence of modifications to the raw state data structure. + // + // For each element, in order: + // - If both key and value are set and the key matches an element + // already in the raw state map, the new value replaces the existing one. + // - If both key and value are set but the key does not match an + // element in the raw state map, this represents inserting a new element + // into the map. + // - If key is set and value is not, this represents removing any existing + // element from the raw state map which has the given key, or a no-op + // if no such element exists. + // - No other situation is legal. + // + // This sequence can potentially be zero-length if a particular event only + // has a external-facing "description" component and no raw equivalent. In + // that case the raw state map is unmodified. + repeated RawChange raw = 1; + + // Caller-facing description of this change, to use for presenting + // information to end-users in the UI and for other subsystems such as + // billing. + // + // Callers are expected to maintain a map of description objects that + // gets updated piecemeal by messages in this field. Callers must treat + // the keys as entirely opaque and thus treat the resulting data structure + // as if it were an unsorted set of ChangeDescription objects; the keys + // exist only to allow patching the data structure over time. + // + // For each element, in order: + // - If both key and description are set and the key matches an element + // from the previous apply's description map, the new value replaces + // the existing one. + // - If both key and value are set but the key does not match an + // element in the previous apply's description map, this represents + // inserting a new element into the map. + // - If key is set and description is not, this represents removing any + // existing element from the previous apply's description map which has + // the given key, or a no-op if no such element exists. + // - If a description field is set that the caller doesn't understand, + // the caller should still write it to the updated description map + // but ignore it in further processing. + // - No other situation is legal. + // + // Callers MUST preserve the verbatim description message in the + // description map, even if it contains fields that are not present in + // the caller's current protobuf stubs. In other words, callers must use + // a protocol buffers implementation that is able to preserve unknown + // fields and store them so that future versions of the caller might + // use an updated set of stubs to interact with the previously-stored + // description. + // + // DO NOT attempt to use this to surgically filter particular raw state + // updates from a larger plan. Although external descriptions often match + // with the raw representations in field "raw", that is not guaranteed and + // Terraform Core assumes that it will always be provided with the full + // raw state map during the next plan step. + repeated ChangeDescription descriptions = 2; + + message RawChange { + string key = 1; + google.protobuf.Any value = 2; + } + message ChangeDescription { + string key = 1; + oneof description { + ResourceInstance resource_instance = 2; + OutputValue output_value = 3; + } + } + message ResourceInstance { + ResourceInstanceInStackAddr addr = 1; + DynamicValue new_value = 2; + } + message OutputValue { + string name = 1; + DynamicValue new_value = 2; + } +} + message Diagnostic { enum Severity { INVALID = 0;