diff --git a/hclext/expression.go b/hclext/expression.go new file mode 100644 index 0000000..3636055 --- /dev/null +++ b/hclext/expression.go @@ -0,0 +1,34 @@ +package hclext + +import ( + "github.com/hashicorp/hcl/v2" + "github.com/zclconf/go-cty/cty" +) + +type BoundExpr struct { + Val cty.Value + + original hcl.Expression +} + +var _ hcl.Expression = (*BoundExpr)(nil) + +func BindValue(val cty.Value, expr hcl.Expression) hcl.Expression { + return &BoundExpr{original: expr, Val: val} +} + +func (e BoundExpr) Value(*hcl.EvalContext) (cty.Value, hcl.Diagnostics) { + return e.Val, nil +} + +func (e BoundExpr) Variables() []hcl.Traversal { + return e.original.Variables() +} + +func (e BoundExpr) Range() hcl.Range { + return e.original.Range() +} + +func (e BoundExpr) StartRange() hcl.Range { + return e.original.StartRange() +} diff --git a/plugin/fromproto/fromproto.go b/plugin/fromproto/fromproto.go index 5b749df..287a629 100644 --- a/plugin/fromproto/fromproto.go +++ b/plugin/fromproto/fromproto.go @@ -8,6 +8,8 @@ import ( "github.com/terraform-linters/tflint-plugin-sdk/hclext" "github.com/terraform-linters/tflint-plugin-sdk/plugin/proto" "github.com/terraform-linters/tflint-plugin-sdk/tflint" + "github.com/zclconf/go-cty/cty" + "github.com/zclconf/go-cty/cty/msgpack" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -62,7 +64,13 @@ func BodyContent(body *proto.BodyContent) (*hclext.BodyContent, hcl.Diagnostics) attributes := hclext.Attributes{} for key, attr := range body.Attributes { - expr, exprDiags := hclext.ParseExpression(attr.Expr, attr.ExprRange.Filename, Pos(attr.ExprRange.Start)) + var expr hcl.Expression + var exprDiags hcl.Diagnostics + if attr.Expression != nil { + expr, exprDiags = Expression(attr.Expression) + } else { + expr, exprDiags = hclext.ParseExpression(attr.Expr, attr.ExprRange.Filename, Pos(attr.ExprRange.Start)) + } diags = diags.Extend(exprDiags) attributes[key] = &hclext.Attribute{ @@ -146,6 +154,21 @@ func Rule(rule *proto.EmitIssue_Rule) *RuleObject { } } +func Expression(expr *proto.Expression) (hcl.Expression, hcl.Diagnostics) { + parsed, diags := hclext.ParseExpression(expr.Bytes, expr.Range.Filename, Pos(expr.Range.Start)) + if diags.HasErrors() { + return nil, diags + } + if expr.Value != nil { + val, err := msgpack.Unmarshal(expr.Value, cty.DynamicPseudoType) + if err != nil { + panic(fmt.Errorf("cannot unmarshal the bound expr: %w", err)) + } + parsed = hclext.BindValue(val, parsed) + } + return parsed, diags +} + // Severity converts proto.EmitIssue_Severity to severity func Severity(severity proto.EmitIssue_Severity) tflint.Severity { switch severity { diff --git a/plugin/plugin2host/client.go b/plugin/plugin2host/client.go index 3e0ed29..c0c6c6a 100644 --- a/plugin/plugin2host/client.go +++ b/plugin/plugin2host/client.go @@ -299,9 +299,8 @@ func (c *GRPCClient) EvaluateExpr(expr hcl.Expression, ret interface{}, opts *tf resp, err := c.Client.EvaluateExpr( context.Background(), &proto.EvaluateExpr_Request{ - Expr: expr.Range().SliceBytes(file.Bytes), - ExprRange: toproto.Range(expr.Range()), - Option: &proto.EvaluateExpr_Option{Type: tyby, ModuleCtx: toproto.ModuleCtxType(opts.ModuleCtx)}, + Expression: toproto.Expression(expr, file.Bytes), + Option: &proto.EvaluateExpr_Option{Type: tyby, ModuleCtx: toproto.ModuleCtxType(opts.ModuleCtx)}, }, ) if err != nil { diff --git a/plugin/plugin2host/server.go b/plugin/plugin2host/server.go index 0d067ce..413992f 100644 --- a/plugin/plugin2host/server.go +++ b/plugin/plugin2host/server.go @@ -112,17 +112,25 @@ func (s *GRPCServer) GetRuleConfigContent(ctx context.Context, req *proto.GetRul // EvaluateExpr evals the passed expression based on the type. func (s *GRPCServer) EvaluateExpr(ctx context.Context, req *proto.EvaluateExpr_Request) (*proto.EvaluateExpr_Response, error) { - if req.Expr == nil { - return nil, status.Error(codes.InvalidArgument, "expr should not be null") - } - if req.ExprRange == nil { - return nil, status.Error(codes.InvalidArgument, "expr_range should not be null") + if req.Expression == nil { + if req.Expr == nil { + return nil, status.Error(codes.InvalidArgument, "expr should not be null") + } + if req.ExprRange == nil { + return nil, status.Error(codes.InvalidArgument, "expr_range should not be null") + } } if req.Option == nil { return nil, status.Error(codes.InvalidArgument, "option should not be null") } - expr, diags := hclext.ParseExpression(req.Expr, req.ExprRange.Filename, fromproto.Pos(req.ExprRange.Start)) + var expr hcl.Expression + var diags hcl.Diagnostics + if req.Expression != nil { + expr, diags = fromproto.Expression(req.Expression) + } else { + expr, diags = hclext.ParseExpression(req.Expr, req.ExprRange.Filename, fromproto.Pos(req.ExprRange.Start)) + } if diags.HasErrors() { return nil, toproto.Error(codes.InvalidArgument, diags) } diff --git a/plugin/proto/tflint.pb.go b/plugin/proto/tflint.pb.go index 704f07f..400fe2e 100644 --- a/plugin/proto/tflint.pb.go +++ b/plugin/proto/tflint.pb.go @@ -951,6 +951,69 @@ func (x *BodyContent) GetBlocks() []*BodyContent_Block { return nil } +type Expression struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + Range *Range `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Expression) Reset() { + *x = Expression{} + if protoimpl.UnsafeEnabled { + mi := &file_tflint_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression) ProtoMessage() {} + +func (x *Expression) ProtoReflect() protoreflect.Message { + mi := &file_tflint_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression.ProtoReflect.Descriptor instead. +func (*Expression) Descriptor() ([]byte, []int) { + return file_tflint_proto_rawDescGZIP(), []int{18} +} + +func (x *Expression) GetBytes() []byte { + if x != nil { + return x.Bytes + } + return nil +} + +func (x *Expression) GetRange() *Range { + if x != nil { + return x.Range + } + return nil +} + +func (x *Expression) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + type Range struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -964,7 +1027,7 @@ type Range struct { func (x *Range) Reset() { *x = Range{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[18] + mi := &file_tflint_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -977,7 +1040,7 @@ func (x *Range) String() string { func (*Range) ProtoMessage() {} func (x *Range) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[18] + mi := &file_tflint_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -990,7 +1053,7 @@ func (x *Range) ProtoReflect() protoreflect.Message { // Deprecated: Use Range.ProtoReflect.Descriptor instead. func (*Range) Descriptor() ([]byte, []int) { - return file_tflint_proto_rawDescGZIP(), []int{18} + return file_tflint_proto_rawDescGZIP(), []int{19} } func (x *Range) GetFilename() string { @@ -1026,7 +1089,7 @@ type ErrorDetail struct { func (x *ErrorDetail) Reset() { *x = ErrorDetail{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[19] + mi := &file_tflint_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1039,7 +1102,7 @@ func (x *ErrorDetail) String() string { func (*ErrorDetail) ProtoMessage() {} func (x *ErrorDetail) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[19] + mi := &file_tflint_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1052,7 +1115,7 @@ func (x *ErrorDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use ErrorDetail.ProtoReflect.Descriptor instead. func (*ErrorDetail) Descriptor() ([]byte, []int) { - return file_tflint_proto_rawDescGZIP(), []int{19} + return file_tflint_proto_rawDescGZIP(), []int{20} } func (x *ErrorDetail) GetCode() ErrorCode { @@ -1078,7 +1141,7 @@ type GetName_Request struct { func (x *GetName_Request) Reset() { *x = GetName_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[20] + mi := &file_tflint_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1091,7 +1154,7 @@ func (x *GetName_Request) String() string { func (*GetName_Request) ProtoMessage() {} func (x *GetName_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[20] + mi := &file_tflint_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1118,7 +1181,7 @@ type GetName_Response struct { func (x *GetName_Response) Reset() { *x = GetName_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[21] + mi := &file_tflint_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1131,7 +1194,7 @@ func (x *GetName_Response) String() string { func (*GetName_Response) ProtoMessage() {} func (x *GetName_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[21] + mi := &file_tflint_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1163,7 +1226,7 @@ type GetVersion_Request struct { func (x *GetVersion_Request) Reset() { *x = GetVersion_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[22] + mi := &file_tflint_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1176,7 +1239,7 @@ func (x *GetVersion_Request) String() string { func (*GetVersion_Request) ProtoMessage() {} func (x *GetVersion_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[22] + mi := &file_tflint_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1203,7 +1266,7 @@ type GetVersion_Response struct { func (x *GetVersion_Response) Reset() { *x = GetVersion_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[23] + mi := &file_tflint_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1216,7 +1279,7 @@ func (x *GetVersion_Response) String() string { func (*GetVersion_Response) ProtoMessage() {} func (x *GetVersion_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[23] + mi := &file_tflint_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1248,7 +1311,7 @@ type GetVersionConstraint_Request struct { func (x *GetVersionConstraint_Request) Reset() { *x = GetVersionConstraint_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[24] + mi := &file_tflint_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1261,7 +1324,7 @@ func (x *GetVersionConstraint_Request) String() string { func (*GetVersionConstraint_Request) ProtoMessage() {} func (x *GetVersionConstraint_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[24] + mi := &file_tflint_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1288,7 +1351,7 @@ type GetVersionConstraint_Response struct { func (x *GetVersionConstraint_Response) Reset() { *x = GetVersionConstraint_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[25] + mi := &file_tflint_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1301,7 +1364,7 @@ func (x *GetVersionConstraint_Response) String() string { func (*GetVersionConstraint_Response) ProtoMessage() {} func (x *GetVersionConstraint_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[25] + mi := &file_tflint_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1333,7 +1396,7 @@ type GetSDKVersion_Request struct { func (x *GetSDKVersion_Request) Reset() { *x = GetSDKVersion_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[26] + mi := &file_tflint_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1346,7 +1409,7 @@ func (x *GetSDKVersion_Request) String() string { func (*GetSDKVersion_Request) ProtoMessage() {} func (x *GetSDKVersion_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[26] + mi := &file_tflint_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1373,7 +1436,7 @@ type GetSDKVersion_Response struct { func (x *GetSDKVersion_Response) Reset() { *x = GetSDKVersion_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[27] + mi := &file_tflint_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1386,7 +1449,7 @@ func (x *GetSDKVersion_Response) String() string { func (*GetSDKVersion_Response) ProtoMessage() {} func (x *GetSDKVersion_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[27] + mi := &file_tflint_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1418,7 +1481,7 @@ type GetRuleNames_Request struct { func (x *GetRuleNames_Request) Reset() { *x = GetRuleNames_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[28] + mi := &file_tflint_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1431,7 +1494,7 @@ func (x *GetRuleNames_Request) String() string { func (*GetRuleNames_Request) ProtoMessage() {} func (x *GetRuleNames_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[28] + mi := &file_tflint_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1458,7 +1521,7 @@ type GetRuleNames_Response struct { func (x *GetRuleNames_Response) Reset() { *x = GetRuleNames_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[29] + mi := &file_tflint_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1471,7 +1534,7 @@ func (x *GetRuleNames_Response) String() string { func (*GetRuleNames_Response) ProtoMessage() {} func (x *GetRuleNames_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[29] + mi := &file_tflint_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1503,7 +1566,7 @@ type GetConfigSchema_Request struct { func (x *GetConfigSchema_Request) Reset() { *x = GetConfigSchema_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[30] + mi := &file_tflint_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1516,7 +1579,7 @@ func (x *GetConfigSchema_Request) String() string { func (*GetConfigSchema_Request) ProtoMessage() {} func (x *GetConfigSchema_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[30] + mi := &file_tflint_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1543,7 +1606,7 @@ type GetConfigSchema_Response struct { func (x *GetConfigSchema_Response) Reset() { *x = GetConfigSchema_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[31] + mi := &file_tflint_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1556,7 +1619,7 @@ func (x *GetConfigSchema_Response) String() string { func (*GetConfigSchema_Response) ProtoMessage() {} func (x *GetConfigSchema_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[31] + mi := &file_tflint_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1592,7 +1655,7 @@ type ApplyGlobalConfig_Config struct { func (x *ApplyGlobalConfig_Config) Reset() { *x = ApplyGlobalConfig_Config{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[32] + mi := &file_tflint_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1605,7 +1668,7 @@ func (x *ApplyGlobalConfig_Config) String() string { func (*ApplyGlobalConfig_Config) ProtoMessage() {} func (x *ApplyGlobalConfig_Config) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[32] + mi := &file_tflint_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1654,7 +1717,7 @@ type ApplyGlobalConfig_RuleConfig struct { func (x *ApplyGlobalConfig_RuleConfig) Reset() { *x = ApplyGlobalConfig_RuleConfig{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[33] + mi := &file_tflint_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1667,7 +1730,7 @@ func (x *ApplyGlobalConfig_RuleConfig) String() string { func (*ApplyGlobalConfig_RuleConfig) ProtoMessage() {} func (x *ApplyGlobalConfig_RuleConfig) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[33] + mi := &file_tflint_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1708,7 +1771,7 @@ type ApplyGlobalConfig_Request struct { func (x *ApplyGlobalConfig_Request) Reset() { *x = ApplyGlobalConfig_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[34] + mi := &file_tflint_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1721,7 +1784,7 @@ func (x *ApplyGlobalConfig_Request) String() string { func (*ApplyGlobalConfig_Request) ProtoMessage() {} func (x *ApplyGlobalConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[34] + mi := &file_tflint_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1753,7 +1816,7 @@ type ApplyGlobalConfig_Response struct { func (x *ApplyGlobalConfig_Response) Reset() { *x = ApplyGlobalConfig_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[35] + mi := &file_tflint_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +1829,7 @@ func (x *ApplyGlobalConfig_Response) String() string { func (*ApplyGlobalConfig_Response) ProtoMessage() {} func (x *ApplyGlobalConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[35] + mi := &file_tflint_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1793,7 +1856,7 @@ type ApplyConfig_Request struct { func (x *ApplyConfig_Request) Reset() { *x = ApplyConfig_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[37] + mi := &file_tflint_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1806,7 +1869,7 @@ func (x *ApplyConfig_Request) String() string { func (*ApplyConfig_Request) ProtoMessage() {} func (x *ApplyConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[37] + mi := &file_tflint_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1838,7 +1901,7 @@ type ApplyConfig_Response struct { func (x *ApplyConfig_Response) Reset() { *x = ApplyConfig_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[38] + mi := &file_tflint_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1851,7 +1914,7 @@ func (x *ApplyConfig_Response) String() string { func (*ApplyConfig_Response) ProtoMessage() {} func (x *ApplyConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[38] + mi := &file_tflint_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1878,7 +1941,7 @@ type Check_Request struct { func (x *Check_Request) Reset() { *x = Check_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[39] + mi := &file_tflint_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1891,7 +1954,7 @@ func (x *Check_Request) String() string { func (*Check_Request) ProtoMessage() {} func (x *Check_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[39] + mi := &file_tflint_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1923,7 +1986,7 @@ type Check_Response struct { func (x *Check_Response) Reset() { *x = Check_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[40] + mi := &file_tflint_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1936,7 +1999,7 @@ func (x *Check_Response) String() string { func (*Check_Response) ProtoMessage() {} func (x *Check_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[40] + mi := &file_tflint_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1961,7 +2024,7 @@ type GetModulePath_Request struct { func (x *GetModulePath_Request) Reset() { *x = GetModulePath_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[41] + mi := &file_tflint_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1974,7 +2037,7 @@ func (x *GetModulePath_Request) String() string { func (*GetModulePath_Request) ProtoMessage() {} func (x *GetModulePath_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[41] + mi := &file_tflint_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2001,7 +2064,7 @@ type GetModulePath_Response struct { func (x *GetModulePath_Response) Reset() { *x = GetModulePath_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[42] + mi := &file_tflint_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2014,7 +2077,7 @@ func (x *GetModulePath_Response) String() string { func (*GetModulePath_Response) ProtoMessage() {} func (x *GetModulePath_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[42] + mi := &file_tflint_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2048,7 +2111,7 @@ type GetModuleContent_Hint struct { func (x *GetModuleContent_Hint) Reset() { *x = GetModuleContent_Hint{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[43] + mi := &file_tflint_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2061,7 +2124,7 @@ func (x *GetModuleContent_Hint) String() string { func (*GetModuleContent_Hint) ProtoMessage() {} func (x *GetModuleContent_Hint) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[43] + mi := &file_tflint_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2097,7 +2160,7 @@ type GetModuleContent_Option struct { func (x *GetModuleContent_Option) Reset() { *x = GetModuleContent_Option{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[44] + mi := &file_tflint_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2110,7 +2173,7 @@ func (x *GetModuleContent_Option) String() string { func (*GetModuleContent_Option) ProtoMessage() {} func (x *GetModuleContent_Option) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[44] + mi := &file_tflint_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2159,7 +2222,7 @@ type GetModuleContent_Request struct { func (x *GetModuleContent_Request) Reset() { *x = GetModuleContent_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[45] + mi := &file_tflint_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2172,7 +2235,7 @@ func (x *GetModuleContent_Request) String() string { func (*GetModuleContent_Request) ProtoMessage() {} func (x *GetModuleContent_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[45] + mi := &file_tflint_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2213,7 +2276,7 @@ type GetModuleContent_Response struct { func (x *GetModuleContent_Response) Reset() { *x = GetModuleContent_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[46] + mi := &file_tflint_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2226,7 +2289,7 @@ func (x *GetModuleContent_Response) String() string { func (*GetModuleContent_Response) ProtoMessage() {} func (x *GetModuleContent_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[46] + mi := &file_tflint_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2260,7 +2323,7 @@ type GetFile_Request struct { func (x *GetFile_Request) Reset() { *x = GetFile_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[47] + mi := &file_tflint_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2273,7 +2336,7 @@ func (x *GetFile_Request) String() string { func (*GetFile_Request) ProtoMessage() {} func (x *GetFile_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[47] + mi := &file_tflint_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2307,7 +2370,7 @@ type GetFile_Response struct { func (x *GetFile_Response) Reset() { *x = GetFile_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[48] + mi := &file_tflint_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2320,7 +2383,7 @@ func (x *GetFile_Response) String() string { func (*GetFile_Response) ProtoMessage() {} func (x *GetFile_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[48] + mi := &file_tflint_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2352,7 +2415,7 @@ type GetFiles_Request struct { func (x *GetFiles_Request) Reset() { *x = GetFiles_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[49] + mi := &file_tflint_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2365,7 +2428,7 @@ func (x *GetFiles_Request) String() string { func (*GetFiles_Request) ProtoMessage() {} func (x *GetFiles_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[49] + mi := &file_tflint_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2455,7 @@ type GetFiles_Response struct { func (x *GetFiles_Response) Reset() { *x = GetFiles_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[50] + mi := &file_tflint_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2405,7 +2468,7 @@ func (x *GetFiles_Response) String() string { func (*GetFiles_Response) ProtoMessage() {} func (x *GetFiles_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[50] + mi := &file_tflint_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2440,7 +2503,7 @@ type GetRuleConfigContent_Request struct { func (x *GetRuleConfigContent_Request) Reset() { *x = GetRuleConfigContent_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[52] + mi := &file_tflint_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2453,7 +2516,7 @@ func (x *GetRuleConfigContent_Request) String() string { func (*GetRuleConfigContent_Request) ProtoMessage() {} func (x *GetRuleConfigContent_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[52] + mi := &file_tflint_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2494,7 +2557,7 @@ type GetRuleConfigContent_Response struct { func (x *GetRuleConfigContent_Response) Reset() { *x = GetRuleConfigContent_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[53] + mi := &file_tflint_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2507,7 +2570,7 @@ func (x *GetRuleConfigContent_Response) String() string { func (*GetRuleConfigContent_Response) ProtoMessage() {} func (x *GetRuleConfigContent_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[53] + mi := &file_tflint_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2542,7 +2605,7 @@ type EvaluateExpr_Option struct { func (x *EvaluateExpr_Option) Reset() { *x = EvaluateExpr_Option{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[54] + mi := &file_tflint_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2555,7 +2618,7 @@ func (x *EvaluateExpr_Option) String() string { func (*EvaluateExpr_Option) ProtoMessage() {} func (x *EvaluateExpr_Option) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[54] + mi := &file_tflint_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2590,15 +2653,18 @@ type EvaluateExpr_Request struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Expr []byte `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` - ExprRange *Range `protobuf:"bytes,2,opt,name=expr_range,json=exprRange,proto3" json:"expr_range,omitempty"` - Option *EvaluateExpr_Option `protobuf:"bytes,3,opt,name=option,proto3" json:"option,omitempty"` + // Deprecated: Do not use. + Expr []byte `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + // Deprecated: Do not use. + ExprRange *Range `protobuf:"bytes,2,opt,name=expr_range,json=exprRange,proto3" json:"expr_range,omitempty"` + Option *EvaluateExpr_Option `protobuf:"bytes,3,opt,name=option,proto3" json:"option,omitempty"` + Expression *Expression `protobuf:"bytes,4,opt,name=expression,proto3" json:"expression,omitempty"` } func (x *EvaluateExpr_Request) Reset() { *x = EvaluateExpr_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[55] + mi := &file_tflint_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2611,7 +2677,7 @@ func (x *EvaluateExpr_Request) String() string { func (*EvaluateExpr_Request) ProtoMessage() {} func (x *EvaluateExpr_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[55] + mi := &file_tflint_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2627,6 +2693,7 @@ func (*EvaluateExpr_Request) Descriptor() ([]byte, []int) { return file_tflint_proto_rawDescGZIP(), []int{14, 1} } +// Deprecated: Do not use. func (x *EvaluateExpr_Request) GetExpr() []byte { if x != nil { return x.Expr @@ -2634,6 +2701,7 @@ func (x *EvaluateExpr_Request) GetExpr() []byte { return nil } +// Deprecated: Do not use. func (x *EvaluateExpr_Request) GetExprRange() *Range { if x != nil { return x.ExprRange @@ -2648,6 +2716,13 @@ func (x *EvaluateExpr_Request) GetOption() *EvaluateExpr_Option { return nil } +func (x *EvaluateExpr_Request) GetExpression() *Expression { + if x != nil { + return x.Expression + } + return nil +} + type EvaluateExpr_Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2659,7 +2734,7 @@ type EvaluateExpr_Response struct { func (x *EvaluateExpr_Response) Reset() { *x = EvaluateExpr_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[56] + mi := &file_tflint_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2672,7 +2747,7 @@ func (x *EvaluateExpr_Response) String() string { func (*EvaluateExpr_Response) ProtoMessage() {} func (x *EvaluateExpr_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[56] + mi := &file_tflint_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2709,7 +2784,7 @@ type EmitIssue_Rule struct { func (x *EmitIssue_Rule) Reset() { *x = EmitIssue_Rule{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[57] + mi := &file_tflint_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2722,7 +2797,7 @@ func (x *EmitIssue_Rule) String() string { func (*EmitIssue_Rule) ProtoMessage() {} func (x *EmitIssue_Rule) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[57] + mi := &file_tflint_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2779,7 +2854,7 @@ type EmitIssue_Request struct { func (x *EmitIssue_Request) Reset() { *x = EmitIssue_Request{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[58] + mi := &file_tflint_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2792,7 +2867,7 @@ func (x *EmitIssue_Request) String() string { func (*EmitIssue_Request) ProtoMessage() {} func (x *EmitIssue_Request) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[58] + mi := &file_tflint_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2838,7 +2913,7 @@ type EmitIssue_Response struct { func (x *EmitIssue_Response) Reset() { *x = EmitIssue_Response{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[59] + mi := &file_tflint_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2851,7 +2926,7 @@ func (x *EmitIssue_Response) String() string { func (*EmitIssue_Response) ProtoMessage() {} func (x *EmitIssue_Response) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[59] + mi := &file_tflint_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2879,7 +2954,7 @@ type BodySchema_Attribute struct { func (x *BodySchema_Attribute) Reset() { *x = BodySchema_Attribute{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[60] + mi := &file_tflint_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2892,7 +2967,7 @@ func (x *BodySchema_Attribute) String() string { func (*BodySchema_Attribute) ProtoMessage() {} func (x *BodySchema_Attribute) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[60] + mi := &file_tflint_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2935,7 +3010,7 @@ type BodySchema_Block struct { func (x *BodySchema_Block) Reset() { *x = BodySchema_Block{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[61] + mi := &file_tflint_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2948,7 +3023,7 @@ func (x *BodySchema_Block) String() string { func (*BodySchema_Block) ProtoMessage() {} func (x *BodySchema_Block) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[61] + mi := &file_tflint_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2990,17 +3065,20 @@ type BodyContent_Attribute struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr []byte `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - ExprRange *Range `protobuf:"bytes,3,opt,name=expr_range,json=exprRange,proto3" json:"expr_range,omitempty"` - Range *Range `protobuf:"bytes,4,opt,name=range,proto3" json:"range,omitempty"` - NameRange *Range `protobuf:"bytes,5,opt,name=name_range,json=nameRange,proto3" json:"name_range,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated: Do not use. + Expr []byte `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + // Deprecated: Do not use. + ExprRange *Range `protobuf:"bytes,3,opt,name=expr_range,json=exprRange,proto3" json:"expr_range,omitempty"` + Range *Range `protobuf:"bytes,4,opt,name=range,proto3" json:"range,omitempty"` + NameRange *Range `protobuf:"bytes,5,opt,name=name_range,json=nameRange,proto3" json:"name_range,omitempty"` + Expression *Expression `protobuf:"bytes,6,opt,name=expression,proto3" json:"expression,omitempty"` } func (x *BodyContent_Attribute) Reset() { *x = BodyContent_Attribute{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[62] + mi := &file_tflint_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3013,7 +3091,7 @@ func (x *BodyContent_Attribute) String() string { func (*BodyContent_Attribute) ProtoMessage() {} func (x *BodyContent_Attribute) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[62] + mi := &file_tflint_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3036,6 +3114,7 @@ func (x *BodyContent_Attribute) GetName() string { return "" } +// Deprecated: Do not use. func (x *BodyContent_Attribute) GetExpr() []byte { if x != nil { return x.Expr @@ -3043,6 +3122,7 @@ func (x *BodyContent_Attribute) GetExpr() []byte { return nil } +// Deprecated: Do not use. func (x *BodyContent_Attribute) GetExprRange() *Range { if x != nil { return x.ExprRange @@ -3064,6 +3144,13 @@ func (x *BodyContent_Attribute) GetNameRange() *Range { return nil } +func (x *BodyContent_Attribute) GetExpression() *Expression { + if x != nil { + return x.Expression + } + return nil +} + type BodyContent_Block struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3080,7 +3167,7 @@ type BodyContent_Block struct { func (x *BodyContent_Block) Reset() { *x = BodyContent_Block{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[63] + mi := &file_tflint_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3093,7 +3180,7 @@ func (x *BodyContent_Block) String() string { func (*BodyContent_Block) ProtoMessage() {} func (x *BodyContent_Block) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[63] + mi := &file_tflint_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3164,7 +3251,7 @@ type Range_Pos struct { func (x *Range_Pos) Reset() { *x = Range_Pos{} if protoimpl.UnsafeEnabled { - mi := &file_tflint_proto_msgTypes[65] + mi := &file_tflint_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3177,7 +3264,7 @@ func (x *Range_Pos) String() string { func (*Range_Pos) ProtoMessage() {} func (x *Range_Pos) ProtoReflect() protoreflect.Message { - mi := &file_tflint_proto_msgTypes[65] + mi := &file_tflint_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3190,7 +3277,7 @@ func (x *Range_Pos) ProtoReflect() protoreflect.Message { // Deprecated: Use Range_Pos.ProtoReflect.Descriptor instead. func (*Range_Pos) Descriptor() ([]byte, []int) { - return file_tflint_proto_rawDescGZIP(), []int{18, 0} + return file_tflint_proto_rawDescGZIP(), []int{19, 0} } func (x *Range_Pos) GetLine() int64 { @@ -3330,227 +3417,240 @@ var file_tflint_proto_rawDesc = []byte{ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x22, 0x83, 0x02, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x65, 0x6e, 0x74, 0x22, 0xbf, 0x02, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x51, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x74, 0x78, 0x1a, 0x7e, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x65, 0x78, 0x70, 0x72, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x20, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf1, 0x02, 0x0a, 0x09, 0x45, 0x6d, - 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x1a, 0x7f, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, - 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x1a, 0x72, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x0a, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0e, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x57, - 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x45, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x03, 0x22, 0xc3, 0x02, - 0x0a, 0x0a, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x0a, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 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, 0x2f, 0x0a, 0x06, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x4d, 0x6f, - 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x4d, 0x6f, 0x64, - 0x65, 0x1a, 0x3b, 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, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0x63, - 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04, - 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x22, 0xfb, 0x04, 0x0a, 0x0b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0xb1, 0x01, 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, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, - 0x2b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x64, 0x75, 0x6c, 0x65, 0x43, 0x74, 0x78, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2f, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x09, 0x65, 0x78, 0x70, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x06, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, + 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x31, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x1a, 0x20, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf1, 0x02, 0x0a, 0x09, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x1a, 0x7f, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x53, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6c, 0x69, 0x6e, 0x6b, 0x1a, 0x72, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x29, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x0a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, + 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x03, 0x22, 0xc3, 0x02, 0x0a, 0x0a, 0x42, 0x6f, + 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 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, 0x2f, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, + 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x1a, 0x3b, 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, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0x63, 0x0a, 0x05, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, + 0x6f, 0x64, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, + 0xb6, 0x05, 0x0a, 0x0b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x42, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0xec, 0x01, 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, 0x16, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, + 0x2f, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x09, 0x65, 0x78, 0x70, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, + 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x65, 0x78, 0x70, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x22, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xe4, 0x01, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x12, 0x29, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, + 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x09, 0x74, 0x79, 0x70, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x0c, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x0f, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5c, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x05, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x2b, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xe4, 0x01, - 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x29, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x64, 0x65, - 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, - 0x22, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x52, 0x03, - 0x65, 0x6e, 0x64, 0x1a, 0x45, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x22, 0x4d, 0x0a, 0x0b, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x64, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, - 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x54, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4d, - 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x54, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, - 0x43, 0x54, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x02, 0x2a, - 0x63, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, - 0x17, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, - 0x45, 0x53, 0x10, 0x02, 0x2a, 0x96, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, - 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, - 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x32, 0xb2, 0x05, - 0x0a, 0x07, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x47, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2e, + 0x50, 0x6f, 0x73, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, 0x45, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x22, + 0x4d, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x64, + 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x54, 0x58, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x54, 0x58, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, + 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x54, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, + 0x4f, 0x54, 0x10, 0x02, 0x2a, 0x63, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x17, 0x0a, 0x13, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, + 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x2a, 0x96, 0x01, 0x0a, 0x09, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x45, 0x56, 0x41, + 0x4c, 0x55, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x04, 0x32, 0xb2, 0x05, 0x0a, 0x07, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3a, + 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x53, 0x44, 0x4b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x44, 0x4b, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x44, 0x4b, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x32, 0x98, 0x04, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x4c, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x72, 0x6f, + 0x61, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x44, 0x4b, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x44, 0x4b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x44, 0x4b, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x49, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x58, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x34, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x14, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x98, 0x04, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x49, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, - 0x12, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, - 0x70, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x45, - 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, - 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x65, 0x72, 0x72, - 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x74, 0x66, - 0x6c, 0x69, 0x6e, 0x74, 0x2d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x40, 0x0a, 0x09, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x18, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x45, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x6c, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x74, 0x66, 0x6c, 0x69, 0x6e, 0x74, 0x2d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3566,7 +3666,7 @@ func file_tflint_proto_rawDescGZIP() []byte { } var file_tflint_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_tflint_proto_msgTypes = make([]protoimpl.MessageInfo, 66) +var file_tflint_proto_msgTypes = make([]protoimpl.MessageInfo, 67) var file_tflint_proto_goTypes = []interface{}{ (ModuleCtxType)(0), // 0: proto.ModuleCtxType (SchemaMode)(0), // 1: proto.SchemaMode @@ -3590,129 +3690,133 @@ var file_tflint_proto_goTypes = []interface{}{ (*EmitIssue)(nil), // 19: proto.EmitIssue (*BodySchema)(nil), // 20: proto.BodySchema (*BodyContent)(nil), // 21: proto.BodyContent - (*Range)(nil), // 22: proto.Range - (*ErrorDetail)(nil), // 23: proto.ErrorDetail - (*GetName_Request)(nil), // 24: proto.GetName.Request - (*GetName_Response)(nil), // 25: proto.GetName.Response - (*GetVersion_Request)(nil), // 26: proto.GetVersion.Request - (*GetVersion_Response)(nil), // 27: proto.GetVersion.Response - (*GetVersionConstraint_Request)(nil), // 28: proto.GetVersionConstraint.Request - (*GetVersionConstraint_Response)(nil), // 29: proto.GetVersionConstraint.Response - (*GetSDKVersion_Request)(nil), // 30: proto.GetSDKVersion.Request - (*GetSDKVersion_Response)(nil), // 31: proto.GetSDKVersion.Response - (*GetRuleNames_Request)(nil), // 32: proto.GetRuleNames.Request - (*GetRuleNames_Response)(nil), // 33: proto.GetRuleNames.Response - (*GetConfigSchema_Request)(nil), // 34: proto.GetConfigSchema.Request - (*GetConfigSchema_Response)(nil), // 35: proto.GetConfigSchema.Response - (*ApplyGlobalConfig_Config)(nil), // 36: proto.ApplyGlobalConfig.Config - (*ApplyGlobalConfig_RuleConfig)(nil), // 37: proto.ApplyGlobalConfig.RuleConfig - (*ApplyGlobalConfig_Request)(nil), // 38: proto.ApplyGlobalConfig.Request - (*ApplyGlobalConfig_Response)(nil), // 39: proto.ApplyGlobalConfig.Response - nil, // 40: proto.ApplyGlobalConfig.Config.RulesEntry - (*ApplyConfig_Request)(nil), // 41: proto.ApplyConfig.Request - (*ApplyConfig_Response)(nil), // 42: proto.ApplyConfig.Response - (*Check_Request)(nil), // 43: proto.Check.Request - (*Check_Response)(nil), // 44: proto.Check.Response - (*GetModulePath_Request)(nil), // 45: proto.GetModulePath.Request - (*GetModulePath_Response)(nil), // 46: proto.GetModulePath.Response - (*GetModuleContent_Hint)(nil), // 47: proto.GetModuleContent.Hint - (*GetModuleContent_Option)(nil), // 48: proto.GetModuleContent.Option - (*GetModuleContent_Request)(nil), // 49: proto.GetModuleContent.Request - (*GetModuleContent_Response)(nil), // 50: proto.GetModuleContent.Response - (*GetFile_Request)(nil), // 51: proto.GetFile.Request - (*GetFile_Response)(nil), // 52: proto.GetFile.Response - (*GetFiles_Request)(nil), // 53: proto.GetFiles.Request - (*GetFiles_Response)(nil), // 54: proto.GetFiles.Response - nil, // 55: proto.GetFiles.Response.FilesEntry - (*GetRuleConfigContent_Request)(nil), // 56: proto.GetRuleConfigContent.Request - (*GetRuleConfigContent_Response)(nil), // 57: proto.GetRuleConfigContent.Response - (*EvaluateExpr_Option)(nil), // 58: proto.EvaluateExpr.Option - (*EvaluateExpr_Request)(nil), // 59: proto.EvaluateExpr.Request - (*EvaluateExpr_Response)(nil), // 60: proto.EvaluateExpr.Response - (*EmitIssue_Rule)(nil), // 61: proto.EmitIssue.Rule - (*EmitIssue_Request)(nil), // 62: proto.EmitIssue.Request - (*EmitIssue_Response)(nil), // 63: proto.EmitIssue.Response - (*BodySchema_Attribute)(nil), // 64: proto.BodySchema.Attribute - (*BodySchema_Block)(nil), // 65: proto.BodySchema.Block - (*BodyContent_Attribute)(nil), // 66: proto.BodyContent.Attribute - (*BodyContent_Block)(nil), // 67: proto.BodyContent.Block - nil, // 68: proto.BodyContent.AttributesEntry - (*Range_Pos)(nil), // 69: proto.Range.Pos + (*Expression)(nil), // 22: proto.Expression + (*Range)(nil), // 23: proto.Range + (*ErrorDetail)(nil), // 24: proto.ErrorDetail + (*GetName_Request)(nil), // 25: proto.GetName.Request + (*GetName_Response)(nil), // 26: proto.GetName.Response + (*GetVersion_Request)(nil), // 27: proto.GetVersion.Request + (*GetVersion_Response)(nil), // 28: proto.GetVersion.Response + (*GetVersionConstraint_Request)(nil), // 29: proto.GetVersionConstraint.Request + (*GetVersionConstraint_Response)(nil), // 30: proto.GetVersionConstraint.Response + (*GetSDKVersion_Request)(nil), // 31: proto.GetSDKVersion.Request + (*GetSDKVersion_Response)(nil), // 32: proto.GetSDKVersion.Response + (*GetRuleNames_Request)(nil), // 33: proto.GetRuleNames.Request + (*GetRuleNames_Response)(nil), // 34: proto.GetRuleNames.Response + (*GetConfigSchema_Request)(nil), // 35: proto.GetConfigSchema.Request + (*GetConfigSchema_Response)(nil), // 36: proto.GetConfigSchema.Response + (*ApplyGlobalConfig_Config)(nil), // 37: proto.ApplyGlobalConfig.Config + (*ApplyGlobalConfig_RuleConfig)(nil), // 38: proto.ApplyGlobalConfig.RuleConfig + (*ApplyGlobalConfig_Request)(nil), // 39: proto.ApplyGlobalConfig.Request + (*ApplyGlobalConfig_Response)(nil), // 40: proto.ApplyGlobalConfig.Response + nil, // 41: proto.ApplyGlobalConfig.Config.RulesEntry + (*ApplyConfig_Request)(nil), // 42: proto.ApplyConfig.Request + (*ApplyConfig_Response)(nil), // 43: proto.ApplyConfig.Response + (*Check_Request)(nil), // 44: proto.Check.Request + (*Check_Response)(nil), // 45: proto.Check.Response + (*GetModulePath_Request)(nil), // 46: proto.GetModulePath.Request + (*GetModulePath_Response)(nil), // 47: proto.GetModulePath.Response + (*GetModuleContent_Hint)(nil), // 48: proto.GetModuleContent.Hint + (*GetModuleContent_Option)(nil), // 49: proto.GetModuleContent.Option + (*GetModuleContent_Request)(nil), // 50: proto.GetModuleContent.Request + (*GetModuleContent_Response)(nil), // 51: proto.GetModuleContent.Response + (*GetFile_Request)(nil), // 52: proto.GetFile.Request + (*GetFile_Response)(nil), // 53: proto.GetFile.Response + (*GetFiles_Request)(nil), // 54: proto.GetFiles.Request + (*GetFiles_Response)(nil), // 55: proto.GetFiles.Response + nil, // 56: proto.GetFiles.Response.FilesEntry + (*GetRuleConfigContent_Request)(nil), // 57: proto.GetRuleConfigContent.Request + (*GetRuleConfigContent_Response)(nil), // 58: proto.GetRuleConfigContent.Response + (*EvaluateExpr_Option)(nil), // 59: proto.EvaluateExpr.Option + (*EvaluateExpr_Request)(nil), // 60: proto.EvaluateExpr.Request + (*EvaluateExpr_Response)(nil), // 61: proto.EvaluateExpr.Response + (*EmitIssue_Rule)(nil), // 62: proto.EmitIssue.Rule + (*EmitIssue_Request)(nil), // 63: proto.EmitIssue.Request + (*EmitIssue_Response)(nil), // 64: proto.EmitIssue.Response + (*BodySchema_Attribute)(nil), // 65: proto.BodySchema.Attribute + (*BodySchema_Block)(nil), // 66: proto.BodySchema.Block + (*BodyContent_Attribute)(nil), // 67: proto.BodyContent.Attribute + (*BodyContent_Block)(nil), // 68: proto.BodyContent.Block + nil, // 69: proto.BodyContent.AttributesEntry + (*Range_Pos)(nil), // 70: proto.Range.Pos } var file_tflint_proto_depIdxs = []int32{ - 64, // 0: proto.BodySchema.attributes:type_name -> proto.BodySchema.Attribute - 65, // 1: proto.BodySchema.blocks:type_name -> proto.BodySchema.Block + 65, // 0: proto.BodySchema.attributes:type_name -> proto.BodySchema.Attribute + 66, // 1: proto.BodySchema.blocks:type_name -> proto.BodySchema.Block 1, // 2: proto.BodySchema.Mode:type_name -> proto.SchemaMode - 68, // 3: proto.BodyContent.attributes:type_name -> proto.BodyContent.AttributesEntry - 67, // 4: proto.BodyContent.blocks:type_name -> proto.BodyContent.Block - 69, // 5: proto.Range.start:type_name -> proto.Range.Pos - 69, // 6: proto.Range.end:type_name -> proto.Range.Pos - 2, // 7: proto.ErrorDetail.code:type_name -> proto.ErrorCode - 20, // 8: proto.GetConfigSchema.Response.schema:type_name -> proto.BodySchema - 40, // 9: proto.ApplyGlobalConfig.Config.rules:type_name -> proto.ApplyGlobalConfig.Config.RulesEntry - 36, // 10: proto.ApplyGlobalConfig.Request.config:type_name -> proto.ApplyGlobalConfig.Config - 37, // 11: proto.ApplyGlobalConfig.Config.RulesEntry.value:type_name -> proto.ApplyGlobalConfig.RuleConfig - 21, // 12: proto.ApplyConfig.Request.content:type_name -> proto.BodyContent - 0, // 13: proto.GetModuleContent.Option.module_ctx:type_name -> proto.ModuleCtxType - 47, // 14: proto.GetModuleContent.Option.hint:type_name -> proto.GetModuleContent.Hint - 20, // 15: proto.GetModuleContent.Request.schema:type_name -> proto.BodySchema - 48, // 16: proto.GetModuleContent.Request.option:type_name -> proto.GetModuleContent.Option - 21, // 17: proto.GetModuleContent.Response.content:type_name -> proto.BodyContent - 55, // 18: proto.GetFiles.Response.files:type_name -> proto.GetFiles.Response.FilesEntry - 20, // 19: proto.GetRuleConfigContent.Request.schema:type_name -> proto.BodySchema - 21, // 20: proto.GetRuleConfigContent.Response.content:type_name -> proto.BodyContent - 0, // 21: proto.EvaluateExpr.Option.module_ctx:type_name -> proto.ModuleCtxType - 22, // 22: proto.EvaluateExpr.Request.expr_range:type_name -> proto.Range - 58, // 23: proto.EvaluateExpr.Request.option:type_name -> proto.EvaluateExpr.Option - 3, // 24: proto.EmitIssue.Rule.severity:type_name -> proto.EmitIssue.Severity - 61, // 25: proto.EmitIssue.Request.rule:type_name -> proto.EmitIssue.Rule - 22, // 26: proto.EmitIssue.Request.range:type_name -> proto.Range - 20, // 27: proto.BodySchema.Block.body:type_name -> proto.BodySchema - 22, // 28: proto.BodyContent.Attribute.expr_range:type_name -> proto.Range - 22, // 29: proto.BodyContent.Attribute.range:type_name -> proto.Range - 22, // 30: proto.BodyContent.Attribute.name_range:type_name -> proto.Range - 21, // 31: proto.BodyContent.Block.body:type_name -> proto.BodyContent - 22, // 32: proto.BodyContent.Block.def_range:type_name -> proto.Range - 22, // 33: proto.BodyContent.Block.type_range:type_name -> proto.Range - 22, // 34: proto.BodyContent.Block.label_ranges:type_name -> proto.Range - 66, // 35: proto.BodyContent.AttributesEntry.value:type_name -> proto.BodyContent.Attribute - 24, // 36: proto.RuleSet.GetName:input_type -> proto.GetName.Request - 26, // 37: proto.RuleSet.GetVersion:input_type -> proto.GetVersion.Request - 28, // 38: proto.RuleSet.GetVersionConstraint:input_type -> proto.GetVersionConstraint.Request - 30, // 39: proto.RuleSet.GetSDKVersion:input_type -> proto.GetSDKVersion.Request - 32, // 40: proto.RuleSet.GetRuleNames:input_type -> proto.GetRuleNames.Request - 34, // 41: proto.RuleSet.GetConfigSchema:input_type -> proto.GetConfigSchema.Request - 38, // 42: proto.RuleSet.ApplyGlobalConfig:input_type -> proto.ApplyGlobalConfig.Request - 41, // 43: proto.RuleSet.ApplyConfig:input_type -> proto.ApplyConfig.Request - 43, // 44: proto.RuleSet.Check:input_type -> proto.Check.Request - 45, // 45: proto.Runner.GetModulePath:input_type -> proto.GetModulePath.Request - 49, // 46: proto.Runner.GetModuleContent:input_type -> proto.GetModuleContent.Request - 51, // 47: proto.Runner.GetFile:input_type -> proto.GetFile.Request - 53, // 48: proto.Runner.GetFiles:input_type -> proto.GetFiles.Request - 56, // 49: proto.Runner.GetRuleConfigContent:input_type -> proto.GetRuleConfigContent.Request - 59, // 50: proto.Runner.EvaluateExpr:input_type -> proto.EvaluateExpr.Request - 62, // 51: proto.Runner.EmitIssue:input_type -> proto.EmitIssue.Request - 25, // 52: proto.RuleSet.GetName:output_type -> proto.GetName.Response - 27, // 53: proto.RuleSet.GetVersion:output_type -> proto.GetVersion.Response - 29, // 54: proto.RuleSet.GetVersionConstraint:output_type -> proto.GetVersionConstraint.Response - 31, // 55: proto.RuleSet.GetSDKVersion:output_type -> proto.GetSDKVersion.Response - 33, // 56: proto.RuleSet.GetRuleNames:output_type -> proto.GetRuleNames.Response - 35, // 57: proto.RuleSet.GetConfigSchema:output_type -> proto.GetConfigSchema.Response - 39, // 58: proto.RuleSet.ApplyGlobalConfig:output_type -> proto.ApplyGlobalConfig.Response - 42, // 59: proto.RuleSet.ApplyConfig:output_type -> proto.ApplyConfig.Response - 44, // 60: proto.RuleSet.Check:output_type -> proto.Check.Response - 46, // 61: proto.Runner.GetModulePath:output_type -> proto.GetModulePath.Response - 50, // 62: proto.Runner.GetModuleContent:output_type -> proto.GetModuleContent.Response - 52, // 63: proto.Runner.GetFile:output_type -> proto.GetFile.Response - 54, // 64: proto.Runner.GetFiles:output_type -> proto.GetFiles.Response - 57, // 65: proto.Runner.GetRuleConfigContent:output_type -> proto.GetRuleConfigContent.Response - 60, // 66: proto.Runner.EvaluateExpr:output_type -> proto.EvaluateExpr.Response - 63, // 67: proto.Runner.EmitIssue:output_type -> proto.EmitIssue.Response - 52, // [52:68] is the sub-list for method output_type - 36, // [36:52] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 69, // 3: proto.BodyContent.attributes:type_name -> proto.BodyContent.AttributesEntry + 68, // 4: proto.BodyContent.blocks:type_name -> proto.BodyContent.Block + 23, // 5: proto.Expression.range:type_name -> proto.Range + 70, // 6: proto.Range.start:type_name -> proto.Range.Pos + 70, // 7: proto.Range.end:type_name -> proto.Range.Pos + 2, // 8: proto.ErrorDetail.code:type_name -> proto.ErrorCode + 20, // 9: proto.GetConfigSchema.Response.schema:type_name -> proto.BodySchema + 41, // 10: proto.ApplyGlobalConfig.Config.rules:type_name -> proto.ApplyGlobalConfig.Config.RulesEntry + 37, // 11: proto.ApplyGlobalConfig.Request.config:type_name -> proto.ApplyGlobalConfig.Config + 38, // 12: proto.ApplyGlobalConfig.Config.RulesEntry.value:type_name -> proto.ApplyGlobalConfig.RuleConfig + 21, // 13: proto.ApplyConfig.Request.content:type_name -> proto.BodyContent + 0, // 14: proto.GetModuleContent.Option.module_ctx:type_name -> proto.ModuleCtxType + 48, // 15: proto.GetModuleContent.Option.hint:type_name -> proto.GetModuleContent.Hint + 20, // 16: proto.GetModuleContent.Request.schema:type_name -> proto.BodySchema + 49, // 17: proto.GetModuleContent.Request.option:type_name -> proto.GetModuleContent.Option + 21, // 18: proto.GetModuleContent.Response.content:type_name -> proto.BodyContent + 56, // 19: proto.GetFiles.Response.files:type_name -> proto.GetFiles.Response.FilesEntry + 20, // 20: proto.GetRuleConfigContent.Request.schema:type_name -> proto.BodySchema + 21, // 21: proto.GetRuleConfigContent.Response.content:type_name -> proto.BodyContent + 0, // 22: proto.EvaluateExpr.Option.module_ctx:type_name -> proto.ModuleCtxType + 23, // 23: proto.EvaluateExpr.Request.expr_range:type_name -> proto.Range + 59, // 24: proto.EvaluateExpr.Request.option:type_name -> proto.EvaluateExpr.Option + 22, // 25: proto.EvaluateExpr.Request.expression:type_name -> proto.Expression + 3, // 26: proto.EmitIssue.Rule.severity:type_name -> proto.EmitIssue.Severity + 62, // 27: proto.EmitIssue.Request.rule:type_name -> proto.EmitIssue.Rule + 23, // 28: proto.EmitIssue.Request.range:type_name -> proto.Range + 20, // 29: proto.BodySchema.Block.body:type_name -> proto.BodySchema + 23, // 30: proto.BodyContent.Attribute.expr_range:type_name -> proto.Range + 23, // 31: proto.BodyContent.Attribute.range:type_name -> proto.Range + 23, // 32: proto.BodyContent.Attribute.name_range:type_name -> proto.Range + 22, // 33: proto.BodyContent.Attribute.expression:type_name -> proto.Expression + 21, // 34: proto.BodyContent.Block.body:type_name -> proto.BodyContent + 23, // 35: proto.BodyContent.Block.def_range:type_name -> proto.Range + 23, // 36: proto.BodyContent.Block.type_range:type_name -> proto.Range + 23, // 37: proto.BodyContent.Block.label_ranges:type_name -> proto.Range + 67, // 38: proto.BodyContent.AttributesEntry.value:type_name -> proto.BodyContent.Attribute + 25, // 39: proto.RuleSet.GetName:input_type -> proto.GetName.Request + 27, // 40: proto.RuleSet.GetVersion:input_type -> proto.GetVersion.Request + 29, // 41: proto.RuleSet.GetVersionConstraint:input_type -> proto.GetVersionConstraint.Request + 31, // 42: proto.RuleSet.GetSDKVersion:input_type -> proto.GetSDKVersion.Request + 33, // 43: proto.RuleSet.GetRuleNames:input_type -> proto.GetRuleNames.Request + 35, // 44: proto.RuleSet.GetConfigSchema:input_type -> proto.GetConfigSchema.Request + 39, // 45: proto.RuleSet.ApplyGlobalConfig:input_type -> proto.ApplyGlobalConfig.Request + 42, // 46: proto.RuleSet.ApplyConfig:input_type -> proto.ApplyConfig.Request + 44, // 47: proto.RuleSet.Check:input_type -> proto.Check.Request + 46, // 48: proto.Runner.GetModulePath:input_type -> proto.GetModulePath.Request + 50, // 49: proto.Runner.GetModuleContent:input_type -> proto.GetModuleContent.Request + 52, // 50: proto.Runner.GetFile:input_type -> proto.GetFile.Request + 54, // 51: proto.Runner.GetFiles:input_type -> proto.GetFiles.Request + 57, // 52: proto.Runner.GetRuleConfigContent:input_type -> proto.GetRuleConfigContent.Request + 60, // 53: proto.Runner.EvaluateExpr:input_type -> proto.EvaluateExpr.Request + 63, // 54: proto.Runner.EmitIssue:input_type -> proto.EmitIssue.Request + 26, // 55: proto.RuleSet.GetName:output_type -> proto.GetName.Response + 28, // 56: proto.RuleSet.GetVersion:output_type -> proto.GetVersion.Response + 30, // 57: proto.RuleSet.GetVersionConstraint:output_type -> proto.GetVersionConstraint.Response + 32, // 58: proto.RuleSet.GetSDKVersion:output_type -> proto.GetSDKVersion.Response + 34, // 59: proto.RuleSet.GetRuleNames:output_type -> proto.GetRuleNames.Response + 36, // 60: proto.RuleSet.GetConfigSchema:output_type -> proto.GetConfigSchema.Response + 40, // 61: proto.RuleSet.ApplyGlobalConfig:output_type -> proto.ApplyGlobalConfig.Response + 43, // 62: proto.RuleSet.ApplyConfig:output_type -> proto.ApplyConfig.Response + 45, // 63: proto.RuleSet.Check:output_type -> proto.Check.Response + 47, // 64: proto.Runner.GetModulePath:output_type -> proto.GetModulePath.Response + 51, // 65: proto.Runner.GetModuleContent:output_type -> proto.GetModuleContent.Response + 53, // 66: proto.Runner.GetFile:output_type -> proto.GetFile.Response + 55, // 67: proto.Runner.GetFiles:output_type -> proto.GetFiles.Response + 58, // 68: proto.Runner.GetRuleConfigContent:output_type -> proto.GetRuleConfigContent.Response + 61, // 69: proto.Runner.EvaluateExpr:output_type -> proto.EvaluateExpr.Response + 64, // 70: proto.Runner.EmitIssue:output_type -> proto.EmitIssue.Response + 55, // [55:71] is the sub-list for method output_type + 39, // [39:55] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_tflint_proto_init() } @@ -3938,7 +4042,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Range); i { + switch v := v.(*Expression); i { case 0: return &v.state case 1: @@ -3950,7 +4054,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorDetail); i { + switch v := v.(*Range); i { case 0: return &v.state case 1: @@ -3962,7 +4066,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetName_Request); i { + switch v := v.(*ErrorDetail); i { case 0: return &v.state case 1: @@ -3974,7 +4078,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetName_Response); i { + switch v := v.(*GetName_Request); i { case 0: return &v.state case 1: @@ -3986,7 +4090,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersion_Request); i { + switch v := v.(*GetName_Response); i { case 0: return &v.state case 1: @@ -3998,7 +4102,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersion_Response); i { + switch v := v.(*GetVersion_Request); i { case 0: return &v.state case 1: @@ -4010,7 +4114,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionConstraint_Request); i { + switch v := v.(*GetVersion_Response); i { case 0: return &v.state case 1: @@ -4022,7 +4126,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionConstraint_Response); i { + switch v := v.(*GetVersionConstraint_Request); i { case 0: return &v.state case 1: @@ -4034,7 +4138,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSDKVersion_Request); i { + switch v := v.(*GetVersionConstraint_Response); i { case 0: return &v.state case 1: @@ -4046,7 +4150,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSDKVersion_Response); i { + switch v := v.(*GetSDKVersion_Request); i { case 0: return &v.state case 1: @@ -4058,7 +4162,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRuleNames_Request); i { + switch v := v.(*GetSDKVersion_Response); i { case 0: return &v.state case 1: @@ -4070,7 +4174,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRuleNames_Response); i { + switch v := v.(*GetRuleNames_Request); i { case 0: return &v.state case 1: @@ -4082,7 +4186,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigSchema_Request); i { + switch v := v.(*GetRuleNames_Response); i { case 0: return &v.state case 1: @@ -4094,7 +4198,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigSchema_Response); i { + switch v := v.(*GetConfigSchema_Request); i { case 0: return &v.state case 1: @@ -4106,7 +4210,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyGlobalConfig_Config); i { + switch v := v.(*GetConfigSchema_Response); i { case 0: return &v.state case 1: @@ -4118,7 +4222,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyGlobalConfig_RuleConfig); i { + switch v := v.(*ApplyGlobalConfig_Config); i { case 0: return &v.state case 1: @@ -4130,7 +4234,7 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyGlobalConfig_Request); i { + switch v := v.(*ApplyGlobalConfig_RuleConfig); i { case 0: return &v.state case 1: @@ -4142,6 +4246,18 @@ func file_tflint_proto_init() { } } file_tflint_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyGlobalConfig_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tflint_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyGlobalConfig_Response); i { case 0: return &v.state @@ -4153,7 +4269,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyConfig_Request); i { case 0: return &v.state @@ -4165,7 +4281,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyConfig_Response); i { case 0: return &v.state @@ -4177,7 +4293,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Check_Request); i { case 0: return &v.state @@ -4189,7 +4305,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Check_Response); i { case 0: return &v.state @@ -4201,7 +4317,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModulePath_Request); i { case 0: return &v.state @@ -4213,7 +4329,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModulePath_Response); i { case 0: return &v.state @@ -4225,7 +4341,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModuleContent_Hint); i { case 0: return &v.state @@ -4237,7 +4353,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModuleContent_Option); i { case 0: return &v.state @@ -4249,7 +4365,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModuleContent_Request); i { case 0: return &v.state @@ -4261,7 +4377,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetModuleContent_Response); i { case 0: return &v.state @@ -4273,7 +4389,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFile_Request); i { case 0: return &v.state @@ -4285,7 +4401,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFile_Response); i { case 0: return &v.state @@ -4297,7 +4413,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFiles_Request); i { case 0: return &v.state @@ -4309,7 +4425,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFiles_Response); i { case 0: return &v.state @@ -4321,7 +4437,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleConfigContent_Request); i { case 0: return &v.state @@ -4333,7 +4449,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleConfigContent_Response); i { case 0: return &v.state @@ -4345,7 +4461,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EvaluateExpr_Option); i { case 0: return &v.state @@ -4357,7 +4473,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EvaluateExpr_Request); i { case 0: return &v.state @@ -4369,7 +4485,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EvaluateExpr_Response); i { case 0: return &v.state @@ -4381,7 +4497,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EmitIssue_Rule); i { case 0: return &v.state @@ -4393,7 +4509,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EmitIssue_Request); i { case 0: return &v.state @@ -4405,7 +4521,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EmitIssue_Response); i { case 0: return &v.state @@ -4417,7 +4533,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodySchema_Attribute); i { case 0: return &v.state @@ -4429,7 +4545,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodySchema_Block); i { case 0: return &v.state @@ -4441,7 +4557,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodyContent_Attribute); i { case 0: return &v.state @@ -4453,7 +4569,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodyContent_Block); i { case 0: return &v.state @@ -4465,7 +4581,7 @@ func file_tflint_proto_init() { return nil } } - file_tflint_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_tflint_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Range_Pos); i { case 0: return &v.state @@ -4484,7 +4600,7 @@ func file_tflint_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tflint_proto_rawDesc, NumEnums: 4, - NumMessages: 66, + NumMessages: 67, NumExtensions: 0, NumServices: 2, }, diff --git a/plugin/proto/tflint.proto b/plugin/proto/tflint.proto index f6d6fd2..01e2247 100644 --- a/plugin/proto/tflint.proto +++ b/plugin/proto/tflint.proto @@ -164,9 +164,10 @@ message EvaluateExpr { } message Request { - bytes expr = 1; - Range expr_range = 2; + bytes expr = 1 [deprecated = true]; + Range expr_range = 2 [deprecated = true]; Option option = 3; + Expression expression = 4; } message Response { bytes value = 1; @@ -220,10 +221,11 @@ message BodySchema { message BodyContent { message Attribute { string name = 1; - bytes expr = 2; - Range expr_range = 3; + bytes expr = 2 [deprecated = true]; + Range expr_range = 3 [deprecated = true]; Range range = 4; Range name_range = 5; + Expression expression = 6; } message Block { string type = 1; @@ -238,6 +240,12 @@ message BodyContent { repeated Block blocks = 2; } +message Expression { + bytes bytes = 1; + Range range = 2; + bytes value = 3; +} + message Range { message Pos { int64 line = 1; diff --git a/plugin/toproto/toproto.go b/plugin/toproto/toproto.go index 718f896..d08d88e 100644 --- a/plugin/toproto/toproto.go +++ b/plugin/toproto/toproto.go @@ -8,6 +8,8 @@ import ( "github.com/terraform-linters/tflint-plugin-sdk/hclext" "github.com/terraform-linters/tflint-plugin-sdk/plugin/proto" "github.com/terraform-linters/tflint-plugin-sdk/tflint" + "github.com/zclconf/go-cty/cty" + "github.com/zclconf/go-cty/cty/msgpack" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -65,11 +67,10 @@ func BodyContent(body *hclext.BodyContent, sources map[string][]byte) *proto.Bod } attributes[idx] = &proto.BodyContent_Attribute{ - Name: attr.Name, - Expr: attr.Expr.Range().SliceBytes(bytes), - Range: Range(attr.Range), - NameRange: Range(attr.NameRange), - ExprRange: Range(attr.Expr.Range()), + Name: attr.Name, + Expression: Expression(attr.Expr, bytes), + Range: Range(attr.Range), + NameRange: Range(attr.NameRange), } } @@ -109,6 +110,26 @@ func Rule(rule tflint.Rule) *proto.EmitIssue_Rule { } } +func Expression(expr hcl.Expression, source []byte) *proto.Expression { + out := &proto.Expression{ + Bytes: expr.Range().SliceBytes(source), + Range: Range(expr.Range()), + } + + if boundExpr, ok := expr.(*hclext.BoundExpr); ok { + val, err := msgpack.Marshal(boundExpr.Val, cty.DynamicPseudoType) + if err != nil { + panic(fmt.Errorf("cannot marshal the bound expr: %w", err)) + } + out.Value = val + } + + return &proto.Expression{ + Bytes: expr.Range().SliceBytes(source), + Range: Range(expr.Range()), + } +} + // Severity converts severity to proto.EmitIssue_Severity func Severity(severity tflint.Severity) proto.EmitIssue_Severity { switch severity {