in internal/langserver/handlers/tfschema/body_candidates.go [43:69]
func BodyDefinitionFromBlock(block *hclsyntax.Block) types.TypeBase {
typeValue := parser.ExtractAzureResourceType(block)
if typeValue == nil {
return nil
}
var bodyDef types.TypeBase
def, err := azure.GetResourceDefinitionByResourceType(*typeValue)
if err != nil || def == nil {
return nil
}
bodyDef = def
if len(block.Labels) >= 2 && block.Labels[0] == "azapi_resource_action" {
parts := strings.Split(*typeValue, "@")
if len(parts) != 2 {
return nil
}
actionName := parser.ExtractAction(block)
if actionName != nil && len(*actionName) != 0 {
resourceFuncDef, err := azure.GetResourceFunction(parts[0], parts[1], *actionName)
if err != nil || resourceFuncDef == nil {
return nil
}
bodyDef = resourceFuncDef
}
}
return bodyDef
}