in internal/resourceset/azure_resource_set_hack.go [39:65]
func (rset *AzureResourceSet) reduceForKeyVaultCertificate() error {
newResoruces := []AzureResource{}
pending := map[string]AzureResource{}
for _, res := range rset.Resources {
if !strings.EqualFold(res.Id.RouteScopeString(), "/Microsoft.KeyVault/vaults/keys") && !strings.EqualFold(res.Id.RouteScopeString(), "/Microsoft.KeyVault/vaults/secrets") {
newResoruces = append(newResoruces, res)
continue
}
names := res.Id.Names()
certName := names[len(names)-1]
if _, ok := pending[certName]; !ok {
pending[certName] = res
continue
}
delete(pending, certName)
certId := res.Id.Clone().(*armid.ScopedResourceId)
certId.AttrTypes[len(certId.AttrTypes)-1] = "certificates"
newResoruces = append(newResoruces, AzureResource{
Id: certId,
})
}
for _, res := range pending {
newResoruces = append(newResoruces, res)
}
rset.Resources = newResoruces
return nil
}