in rules/resource_block.go [184:203]
func (b *ResourceBlock) buildNestedBlocks(nestedBlocks hclsyntax.Blocks) {
blockSchema := queryBlockSchema(b.ParentBlockNames)
for _, nestedBlock := range nestedBlocks {
nb := b.buildNestedBlock(nestedBlock)
if IsTailMeta(nb.Name) {
b.addTailMetaNestedBlock(nb)
continue
}
if metaArgOrUnknownBlock(blockSchema) {
b.addOptionalNestedBlock(nb)
continue
}
blockSchema, isAzNestedBlock := blockSchema.NestedBlocks[nb.Name]
if isAzNestedBlock && blockSchema.MinItems > 0 {
b.addRequiredNestedBlock(nb)
} else {
b.addOptionalNestedBlock(nb)
}
}
}