Skip to content
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
3 changes: 2 additions & 1 deletion 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: 04/04/2026
ms.date: 04/22/2026
ms.topic: reference
ms.service: finops
ms.subservice: finops-toolkit
Expand Down Expand Up @@ -59,6 +59,7 @@ _Released April 2026_
- **Fixed**
- Fixed Init-DataFactory deployment script failing when an Event Grid subscription is already provisioning by checking subscription status before attempting subscribe/unsubscribe and polling separately for completion ([#1996](https://github.com/microsoft/finops-toolkit/issues/1996)).
- Added row count check in `msexports_ExecuteETL` pipeline to fix error when export files have no rows ([#1535](https://github.com/microsoft/finops-toolkit/issues/1535)).
- Fixed hub deployment failure in US Government cloud regions caused by missing region-to-time-zone mappings and an invalid default value for Data Factory schedule triggers ([#2087](https://github.com/microsoft/finops-toolkit/issues/2087)).

### [FinOps workbooks](workbooks/finops-workbooks-overview.md) v14

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
@description('Optional. The location to use for the managed identity and deployment script to auto-start triggers. Default = (resource group location).')
param location string = resourceGroup().location

// Maps Azure region names to Windows time zone IDs accepted by Data Factory schedule triggers.
// The timeZone field requires a Windows time zone ID (e.g. 'UTC'), not the display name
// (e.g. 'Universal Coordinated Time'). An invalid value causes trigger activation to fail with:
// ErrorCode=InvalidWorkflowTriggerRecurrence, ErrorMessage=The recurrence of trigger has an invalid time zone '...'.
// See: https://learn.microsoft.com/azure/data-factory/how-to-create-schedule-trigger#time-zone-option
param timezoneobject object = {
australiaeast: 'AUS Eastern Standard Time'
australiacentral: 'AUS Eastern Standard Time'
Expand Down Expand Up @@ -32,6 +37,13 @@ param timezoneobject object = {
switzerlandwest: 'W. Europe Standard Time'
uksouth: 'GMT Standard Time'
ukwest: 'GMT Standard Time'
// US Government cloud regions. USGov Arizona does not observe DST — use 'US Mountain Standard Time'.
usdodcentral: 'Central Standard Time'
usdodeast: 'Eastern Standard Time'
usgovvirginia: 'Eastern Standard Time'
usgovtexas: 'Central Standard Time'
usgovarizona: 'US Mountain Standard Time'
usgoviowa: 'Central Standard Time'
westcentralus: 'Central Standard Time'
westeurope: 'W. Europe Standard Time'
westindia: 'India Standard Time'
Expand All @@ -45,7 +57,10 @@ param utcsecs string = utcNow('ss')

var loc = toLower(replace(location, ' ', ''))

var timezone = timezoneobject[?loc] ?? 'Universal Coordinated Time'
// Fallback to 'UTC' — the valid Windows time zone ID. The display name 'Universal Coordinated Time'
// is rejected by Data Factory trigger validation.
// See: https://learn.microsoft.com/azure/data-factory/how-to-create-schedule-trigger#time-zone-option
var timezone = timezoneobject[?loc] ?? 'UTC'

output AzureRegion string = location

Expand Down
Loading