in rules/resource_block.go [122:146]
func (b *ResourceBlock) buildArgs(attributes hclsyntax.Attributes) {
resourceBlock := queryBlockSchema(b.ParentBlockNames)
for _, attr := range attributesByLines(attributes) {
attrName := attr.Name
arg := buildAttrArg(attr, b.File)
if IsHeadMeta(attrName) {
b.addHeadMetaArg(arg)
continue
}
if IsTailMeta(attrName) {
b.addTailMetaArg(arg)
continue
}
if resourceBlock == nil {
b.addOptionalAttr(arg)
continue
}
attrSchema, isAzAttr := resourceBlock.Attributes[attrName]
if isAzAttr && attrSchema.Required {
b.addRequiredAttr(arg)
} else {
b.addOptionalAttr(arg)
}
}
}