Development repo for adding Azure NetApp Files (ANF) reporting to the AsBuiltReport.Microsoft.Azure module. The code here will be contributed upstream via PR.
Single consolidated function Get-AbrAzNetAppFiles covering ANF Accounts, Capacity Pools, Volumes, Snapshots, Snapshot Policies, and Backup Policies with three InfoLevel tiers:
| InfoLevel | Content |
|---|---|
| 1 | Summary tables for NetApp Accounts, Capacity Pools, and Volumes |
| 2 | Per-account detail (Active Directory joins, encryption config); per-pool detail (service level, QoS, size, utilization); volumes grouped by pool |
| 3 | Per-volume vertical detail (protocols, mount targets, quota, snapshot/backup policy, export policy rules, throughput), plus snapshot & backup policy summary tables |
| 4 | Per-volume snapshots list, volume quota rules |
| Check | Condition | Style |
|---|---|---|
| Pool Near Capacity | Utilized > 85% of pool size | Warning |
| Volume Near Quota | Usage > 85% of usage threshold | Warning |
| AD Join Unhealthy | Account has AD config with Status != "InUse" | Warning |
| No Snapshot Policy | Volume has no snapshot policy attached | Info |
| Platform-Managed Key | Account encrypted with Microsoft.NetApp key (not customer-managed) | Info |
| No Backup Protection | Volume has no backup policy attached | Info |
Get-AzNetAppFilesAccount,Get-AzNetAppFilesActiveDirectoryGet-AzNetAppFilesPoolGet-AzNetAppFilesVolumeGet-AzNetAppFilesSnapshot,Get-AzNetAppFilesSnapshotPolicyGet-AzNetAppFilesBackupPolicyGet-AzNetAppFilesVolumeQuotaRule
- Volume Groups (SAP HANA)
- Subvolumes
- Backup Vaults (new feature)
- Cross-region replication (CRR) relationships
This module supports the AsBuiltReport internationalization framework (v1.5.0+). Language strings are externalized in Language/<culture>/MicrosoftAzure.psd1.
Supported languages:
| Culture | Language |
|---|---|
| en-US | English (US) |
| en-GB | English (UK) |
| es-ES | Spanish (Spain) |
| fr-FR | French (France) |
| de-DE | German (Germany) |
Non-English cultures ship with English placeholder strings pending native translation. Translations welcome via PR. Regional variants (e.g., es-MX, fr-CA) will automatically fall back to their base language.
When contributing to the upstream module, merge the GetAbrAzNetAppFiles section from each language file into the parent module's corresponding Language/<culture>/MicrosoftAzure.psd1.
To integrate into the installed AsBuiltReport.Microsoft.Azure module:
- Copy
Src/Private/Get-AbrAzNetAppFiles.ps1to module'sSrc/Private/ - Merge language strings from each
Language/<culture>/MicrosoftAzure.psd1into parent module's corresponding language files - Add
"NetAppFiles" = "Get-AbrAzNetAppFiles"to$SectionFunctionMapin the orchestrator - Add
"NetAppFiles"to$DefaultSectionOrderin the orchestrator - Add
NetAppFilesentries to module JSON:SectionOrder,InfoLevel,HealthCheck
- PowerShell 7+ (
pwsh) Az.NetAppFilesmodule (>= 1.0.0)AsBuiltReport.Microsoft.Azurev0.2.0+