Commit 76496a6
Zach Olinske
fix: address PR microsoft#2006 review feedback
Comprehensive rewrite of Generate-MultiCloudTestData.ps1:
Critical fixes:
- Fix Get-Random [int] overflow with 12-digit AWS account IDs (New-AwsAccountId)
- Eliminate Python dependency entirely (inline budget scaling via scale factor)
- Remove dead code from Python/Parquet block
Required by repo conventions:
- Add #Requires -Version 7.0
- Add .LINK to comment-based help
- Add [CmdletBinding(SupportsShouldProcess)] with WhatIf/Confirm support
- Add changelog entry
- Add test directory README.md
FOCUS specification compliance:
- Fix ~12 ServiceSubcategory values to match FOCUS closed enumeration
- Fix cost invariants: unit prices calculated AFTER all cost modifications
- Anomaly rows now set ChargeClass=Correction (exempt from invariant rules)
- Credits/Adjustments get null InvoiceId (per FOCUS spec)
- Version-aware column sets: v1.1+ gets CommitmentDiscountQuantity/Unit,
v1.2+ gets BillingAccountType/SubAccountType/InvoiceId,
v1.3+ gets HostProviderName/ServiceProviderName
- Document scope as Cost and Usage dataset only
Recommended improvements:
- Add -Seed parameter for reproducible test data
- Add -UseStorageKey switch, default to Azure AD auth (--auth-mode login)
- Fix Get-RandomDecimal to use [long] instead of [int] for large ranges1 parent b83b695 commit 76496a6
3 files changed
Lines changed: 744 additions & 568 deletions
File tree
- docs/_resources
- src/templates/finops-hub/test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
75 | 76 | | |
76 | 77 | | |
77 | 78 | | |
| |||
0 commit comments