Commit 20ff2cb
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 dd5c397 commit 20ff2cb
3 files changed
Lines changed: 744 additions & 568 deletions
File tree
- docs-mslearn/toolkit
- src/templates/finops-hub/test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
981 | 981 | | |
982 | 982 | | |
983 | 983 | | |
| 984 | + | |
984 | 985 | | |
985 | 986 | | |
986 | 987 | | |
| |||
0 commit comments