microsoft / microsoft/finops-toolkit

Add support for MCA price sheet schema version 2024-08-01

Open
#2,311 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Tool: FinOps hubs
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

Related: #2068 (discussion)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.