Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .github/workflows/opendata-instance-size-flexibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Update Instance Size Flexibility

on:
schedule:
- cron: '0 6 * * 1' # Every Monday at 06:00 UTC
workflow_dispatch:

# Unlike the other open data workflows, the Catalogs API is authenticated and requires
# Microsoft.Capacity/catalogs/read. This reuses the existing OIDC service principal from the
# aoe-prod environment (same one the AOE deployment workflows use) via federated credentials,
# so no client secret is stored. The principal's subscription must have the Microsoft.Capacity
# resource provider registered.
permissions:
contents: write
pull-requests: write
id-token: write

jobs:
update:
environment: aoe-prod
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
ref: dev

- name: Install Az.Accounts
shell: pwsh
run: |
Set-PSRepository PSGallery -InstallationPolicy Trusted
Install-Module -Name Az.Accounts -RequiredVersion 2.19.0 -Force

- name: Login via Az module
uses: azure/login@hf_447_release
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
enable-AzPSSession: true

- name: Fetch ISF ratios from Azure Catalogs API
shell: pwsh
run: src/scripts/Update-InstanceSizeFlexibility.ps1

- name: Create PR if data changed
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_BODY: |
## Summary

Weekly automated update of instance size flexibility (ISF) ratios from the
[Azure Reservations Catalogs API](https://learn.microsoft.com/azure/cost-management-billing/reservations/instance-size-flexibility#extract-instance-size-flexibility-ratios-using-azure-catalogs-api).

This file maps each ARM SKU to its instance size flexibility group and ratio,
replacing the deprecated `AutofitComboMeterData.csv` and `isfratioblob.csv` files
that were hosted on `ccmstorageprod.blob.core.windows.net` (retired 30 Aug 2026).

## Test plan

- [ ] Review the diff for unexpected changes (large drops in group/SKU count, etc.)
- [ ] Spot-check a few SKUs against the Azure Pricing Calculator

🤖 Generated by the **Update Instance Size Flexibility** workflow
run: |
# Check for changes (handles both new file and modified file)
if git diff --quiet --exit-code -- src/open-data/InstanceSizeFlexibility.csv 2>/dev/null && \
! git ls-files --others --exclude-standard | grep -q 'InstanceSizeFlexibility.csv'; then
echo "No changes detected"
exit 0
fi

BRANCH="opendata/instance-size-flexibility-$(date +%Y%m%d)"
git checkout -b "$BRANCH"
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add src/open-data/InstanceSizeFlexibility.csv
git commit -m "chore: Update instance size flexibility ratios"
git push origin "$BRANCH"

gh pr create \
--title "[Open Data] Update instance size flexibility ratios ($(date +'%B %Y'))" \
--base dev \
--body "$PR_BODY"
10 changes: 7 additions & 3 deletions docs-mslearn/toolkit/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: FinOps toolkit changelog
description: Review the latest features and enhancements in the FinOps toolkit, including updates to FinOps hubs, Power BI reports, and more.
author: MSBrett
ms.author: brettwil
ms.date: 06/19/2026
ms.date: 06/29/2026
ms.topic: reference
ms.service: finops
ms.subservice: finops-toolkit
Expand All @@ -18,14 +18,18 @@ ms.reviewer: brettwil

This article summarizes the features and enhancements in each release of the FinOps toolkit.

<!--
<br>

## Unreleased

The following section lists features and enhancements that are currently in development.

-->
### [Open data](open-data.md) updates

**[Instance size flexibility](open-data.md#instance-size-flexibility)**

- **Added**
- Added a new [Instance size flexibility](open-data.md#instance-size-flexibility) dataset that maps each ARM SKU to its instance size flexibility group and ratio, sourced from the Azure Reservations Catalogs API. It replaces the deprecated ISF ratio files hosted on `ccmstorageprod.blob.core.windows.net` ([#2090](https://github.com/microsoft/finops-toolkit/issues/2090)).

<br><a name="latest"></a>

Expand Down
27 changes: 26 additions & 1 deletion docs-mslearn/toolkit/open-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Use open data to normalize and enhance your FinOps reporting, ensur
ms.topic: concept-article
author: flanakin
ms.author: micflan
ms.date: 04/04/2026
ms.date: 06/29/2026
ms.service: finops
ms.subservice: finops-toolkit
ms.reviewer: micflan
Expand Down Expand Up @@ -179,6 +179,31 @@ A few important notes about the data:

<br>

## Instance size flexibility

Instance size flexibility (ISF) lets a reservation apply across multiple SKUs in the same flexibility group, weighted by a ratio. The instance size flexibility file maps each ARM SKU to its flexibility group and ratio, sourced from the [Azure Reservations Catalogs API](/azure/cost-management-billing/reservations/instance-size-flexibility#extract-instance-size-flexibility-ratios-using-azure-catalogs-api). It replaces the static ISF ratio files that were previously hosted on `ccmstorageprod.blob.core.windows.net`, which Microsoft is retiring.

Sample data:

| InstanceSizeFlexibilityGroup | ArmSkuName | Ratio |
| ---------------------------- | -------------- | ----- |
| Av2 Series | Standard_A1_v2 | 1 |
| Av2 Series | Standard_A2_v2 | 2.1 |
| Av2 Series | Standard_A4_v2 | 4.44 |

A few important notes about the data:

- It covers the reserved resource types that expose ISF ratios: Virtual Machines, Block Blob storage, Redis Cache, and Dedicated Host.
- Ratios are the raw Microsoft values within each group (the smallest SKU isn't always `1`).
- Data is updated weekly via a GitHub Actions workflow.

<!-- prettier-ignore-start -->
> [!div class="nextstepaction"]
> [Download](https://github.com/microsoft/finops-toolkit/releases/latest/download/InstanceSizeFlexibility.csv)
<!-- prettier-ignore-end -->

<br>

## Dataset examples

The following files are examples of what you see when you export data from Microsoft Cost Management. These files are provided to help you understand the data structure and format. They are from an Enterprise Agreement (EA) demo account and aren't intended to be used for ingestion or reporting.
Expand Down
6 changes: 6 additions & 0 deletions docs/open-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ FinOps toolkit open data is used to transform Cost Management actual and amortiz
## Download open data

<div class="ftk-gallery">
<div class="ftk-tile">
<div>📐 Instance size flexibility</div>
<a class="btn mb-4 mb-md-0 mr-4" href="https://github.com/microsoft/finops-toolkit/releases/latest/download/InstanceSizeFlexibility.csv">Download</a>
<a class="btn mb-4 mb-md-0 mr-4" href="" style="visibility:hidden; width:100px">&nbsp;</a>
<a class="btn mb-4 mb-md-0 mr-4" href="" style="visibility:hidden; width:100px">&nbsp;</a>
Comment thread
RolandKrummenacher marked this conversation as resolved.
</div>
<div class="ftk-tile">
<div>📏 Pricing units</div>
<a class="btn mb-4 mb-md-0 mr-4" href="https://github.com/microsoft/finops-toolkit/releases/latest/download/PricingUnits.csv">Download</a>
Expand Down
Loading