Skip to content

Commit 20ff2cb

Browse files
author
Zach Olinske
committed
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 ranges
1 parent dd5c397 commit 20ff2cb

3 files changed

Lines changed: 744 additions & 568 deletions

File tree

docs-mslearn/toolkit/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,7 @@ _**Breaking change**_
981981
- Added param to disable external access to Azure Data Lake and Azure Data Explorer.
982982
- Added param to specify subnet range of virtual network - minimum size = /26
983983
- Support for storage account infrastructure encryption.
984+
- Multi-cloud test data generator – Added `Generate-MultiCloudTestData.ps1` to create synthetic FOCUS-compliant cost data for Azure, AWS, GCP, and on-premises providers. Supports FOCUS versions 1.0-1.3 with version-specific column sets, commitment discounts, Azure Hybrid Benefit, tag variation, and inline budget scaling. Includes `-Seed` for reproducibility and Azure AD auth for uploads.
984985
- Published a [schema file](https://aka.ms/finops/hubs/settings-schema) for the hub settings.json file.
985986
- **Changed**
986987
- Changed dataset names in the ingestion container to facilitate Azure Data Explorer ingestion.

0 commit comments

Comments
 (0)