Skip to content

[AOE] Reservations Usage workbook uses the most recent reservation display name #1520

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 21, 2025
Merged
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
19 changes: 10 additions & 9 deletions docs-mslearn/toolkit/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ The following section lists features and enhancements that are currently in deve

- Cost Management export modules for subscriptions and resource groups.

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

## v0.10

_Released April 2025_

### [FinOps hubs](hubs/finops-hubs-overview.md) pending updates

- **Added**
Expand All @@ -38,25 +44,20 @@ The following section lists features and enhancements that are currently in deve
- The **hub-event-trigger** module creates a trigger in the hub Data Factory instance.
- The **hub-vault** module adds secrets to the hub vault.

**Fixed**
- **Fixed**
- Workaround subnets reordering and bicep limitation

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

## v0.10

_Released April 2025_

### [FinOps alerts](alerts/finops-alerts-overview.md) pending updates
### [FinOps alerts](alerts/finops-alerts-overview.md) v0.10

- **Fixed**
- Update the 'id' property for the managedApi to a valid scope
- This caused a deployment error because the path could not be deserialized.

### [Optimization engine](optimization-engine/overview.md)
### [Optimization engine](optimization-engine/overview.md) v0.10

- **Fixed**
- Fixed issue with `Remediate-LongDeallocatedVMsFiltered` runbook that was skipping the remediation of eligible VMs due to `Az.Compute` module breaking changes ([#1456](https://github.com/microsoft/finops-toolkit/issues/1456)).
- Fixed issue with the Reservations Usage workbook that was listing multiple display names for the same reservation in case its name changed over the course of the lookback period ([#1455](https://github.com/microsoft/finops-toolkit/issues/1455)).

> [!div class="nextstepaction"]
> [Download](https://github.com/microsoft/finops-toolkit/releases/tag/v0.10)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"multiSelect": true,
"quote": "'",
"delimiter": ",",
"query": "AzureOptimizationReservationsUsageV1_CL\r\n| where TimeGenerated > todatetime('{LookbackPeriod:startISO}') and TimeGenerated < todatetime('{LookbackPeriod:endISO}') and ProvisioningState_s in ('Succeeded','Expiring')\r\n| distinct ResourceType\r\n| order by ResourceType asc",
"query": "AzureOptimizationReservationsUsageV1_CL\r\n| where TimeGenerated > todatetime('{LookbackPeriod:startISO}') and TimeGenerated < todatetime('{LookbackPeriod:endISO}') and ProvisioningState_s in ('Succeeded','Expiring') and todatetime(ExpiryDate_s) > now()\r\n| distinct ResourceType\r\n| order by ResourceType asc",
"typeSettings": {
"additionalResourceOptions": [
"value::all"
Expand All @@ -76,7 +76,7 @@
"multiSelect": true,
"quote": "'",
"delimiter": ",",
"query": "AzureOptimizationReservationsUsageV1_CL\r\n| where TimeGenerated > todatetime('{LookbackPeriod:startISO}') and TimeGenerated < todatetime('{LookbackPeriod:endISO}') and ProvisioningState_s in ('Succeeded','Expiring') and ResourceType in ({ResourceType:value})\r\n| distinct ReservationId_g, DisplayName_s\r\n| order by DisplayName_s asc",
"query": "AzureOptimizationReservationsUsageV1_CL\r\n| where TimeGenerated > todatetime('{LookbackPeriod:startISO}') and TimeGenerated < todatetime('{LookbackPeriod:endISO}') and ProvisioningState_s in ('Succeeded','Expiring') and ResourceType in ({ResourceType:value}) and todatetime(ExpiryDate_s) > now()\r\n| summarize arg_max(TimeGenerated, DisplayName_s) by ReservationId_g\r\n| project-away TimeGenerated\r\n| order by DisplayName_s asc",
"typeSettings": {
"additionalResourceOptions": [
"value::all"
Expand Down