in internal/resources/fetching/fetchers/azure/assets_enricher_storage_account.go [180:217]
func (e storageAccountEnricher) appendExtensionAssets(extensionField string, extensions []inventory.AzureAsset, assets []inventory.AzureAsset) error {
if len(extensions) == 0 {
return nil
}
// map per storage account id
perStorageAccountID := map[string]inventory.AzureAsset{}
for _, d := range extensions {
perStorageAccountID[strings.FromMap(d.Extension, inventory.ExtensionStorageAccountID)] = d
}
var errs []error
for i, a := range assets {
if a.Type != inventory.StorageAccountAssetType {
continue
}
ext, exist := perStorageAccountID[a.Id]
if !exist {
continue
}
extMap, err := maps.AsMapStringAny(ext)
if err != nil {
errs = append(errs, err)
}
a.AddExtension(extensionField, extMap)
assets[i] = a
}
if len(errs) > 0 {
return errors.Join(errs...)
}
return nil
}