in internal/resourceset/azure_resource_set_hack.go [82:106]
func populateManagedResourcesByPath(res AzureResource, paths ...string) ([]AzureResource, error) {
b, err := json.Marshal(res.Properties)
if err != nil {
return nil, fmt.Errorf("marshaling %v: %v", res.Properties, err)
}
var resources []AzureResource
for _, path := range paths {
result := gjson.GetBytes(b, path)
if !result.Exists() {
continue
}
for _, exprResult := range result.Array() {
mid := exprResult.String()
id, err := armid.ParseResourceId(mid)
if err != nil {
return nil, fmt.Errorf("parsing managed resource id %s: %v", mid, err)
}
resources = append(resources, AzureResource{
Id: id,
})
}
}
return resources, nil
}