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  }