github.com/terraform-linters/tflint@v0.51.2-0.20240520175844-3750771571b6/terraform/tfhcl/schema.go (about) 1 package tfhcl 2 3 import "github.com/hashicorp/hcl/v2" 4 5 var dynamicBlockHeaderSchema = hcl.BlockHeaderSchema{ 6 Type: "dynamic", 7 LabelNames: []string{"type"}, 8 } 9 10 var dynamicBlockBodySchemaLabels = &hcl.BodySchema{ 11 Attributes: []hcl.AttributeSchema{ 12 { 13 Name: "for_each", 14 Required: true, 15 }, 16 { 17 Name: "iterator", 18 Required: false, 19 }, 20 { 21 Name: "labels", 22 Required: true, 23 }, 24 }, 25 Blocks: []hcl.BlockHeaderSchema{ 26 { 27 Type: "content", 28 LabelNames: nil, 29 }, 30 }, 31 } 32 33 var dynamicBlockBodySchemaNoLabels = &hcl.BodySchema{ 34 Attributes: []hcl.AttributeSchema{ 35 { 36 Name: "for_each", 37 Required: true, 38 }, 39 { 40 Name: "iterator", 41 Required: false, 42 }, 43 }, 44 Blocks: []hcl.BlockHeaderSchema{ 45 { 46 Type: "content", 47 LabelNames: nil, 48 }, 49 }, 50 } 51 52 var expandableBlockBodySchema = &hcl.BodySchema{ 53 Attributes: []hcl.AttributeSchema{ 54 { 55 Name: "count", 56 Required: false, 57 }, 58 { 59 Name: "for_each", 60 Required: false, 61 }, 62 }, 63 }