microsoft / microsoft/finops-toolkit
Add support for MCA price sheet schema version 2024-08-01
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 603
- Forks
- 248
- Avg merge
- 7d 11h
- Merged PRs (30d)
- 11
Description
🤖 [AI] Filed from findings raised in discussion #2068.
⚠️ Problem
FinOps hubs only supports the 2023-05-01 Microsoft Customer Agreement (MCA) price sheet export schema. Microsoft's current/default MCA price sheet schema is now 2024-08-01 (see price sheet schema reference and the schema index). An MCA customer exporting the current default price sheet version gets an export hubs doesn't correctly ingest, and had to manually select the older 2023-05-01 dataset version to get working reservation/savings-plan price data (see discussion #2068).
EA price sheet stays on 2023-05-01 (unchanged) — this only affects MCA.
🛠️ Solution
Add ingestion support for the 2024-08-01 MCA price sheet schema alongside the existing 2023-05-01 support. Schema diff between the two versions (per Microsoft Learn):
- Removed in 2024-08-01:
discount,includedQuantity - Added in 2024-08-01:
productOrderName
Everything else is unchanged. Update the price sheet ingestion transform(s) to handle both versions, and check whether productOrderName should map to x_SkuOrderName (already used for EA reservation price lookups) for consistency.
Also add a non-blocking test that checks the CM schema-index page's latest listed price sheet versions against what hubs currently supports, so a future schema bump gets flagged in CI rather than discovered by a customer. This test should warn, not fail, the pipeline.
ℹ️ Additional context
- Latest schema: https://learn.microsoft.com/en-us/azure/cost-management-billing/dataset-schema/price-sheet-mca
- Version index: https://learn.microsoft.com/en-us/azure/cost-management-billing/dataset-schema/schema-index
Related: #2068 (discussion)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the existing MCA 2023-05-01 price-sheet ingestion transforms and their tests, then compare those paths with the documented 2024-08-01 schema. Verify both versions ingest correctly, including the productOrderName and x_SkuOrderName relationship, and add the requested non-blocking check against the Microsoft schema index that warns when supported versions are outdated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, powershell
- Domain
- ci-cd, cloud, data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100