AzStackHci.ManageUpdates
0.6.5
PowerShell module to manage Azure Local (Azure Stack HCI) cluster updates using Azure Update Manager APIs. Provides functions to start updates, check update status, list available updates, and monitor update runs.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) Microsoft. All rights reserved.
Package Details
Author(s)
- Neil Bird Microsoft
Tags
Azure AzureLocal AzureStackHCI Updates UpdateManager HCI Automation CICD
Functions
Connect-AzureLocalServicePrincipal Start-AzureLocalClusterUpdate Get-AzureLocalClusterUpdateReadiness Get-AzureLocalClusterInventory Get-AzureLocalClusterInfo Get-AzureLocalUpdateSummary Get-AzureLocalAvailableUpdates Get-AzureLocalUpdateRuns Set-AzureLocalClusterUpdateRingTag Invoke-AzureLocalFleetOperation Get-AzureLocalFleetProgress Test-AzureLocalFleetHealthGate Export-AzureLocalFleetState Resume-AzureLocalFleetUpdate Stop-AzureLocalFleetUpdate Test-AzureLocalClusterHealth Get-AzureLocalFleetStatusData New-AzureLocalFleetStatusHtmlReport Test-AzureLocalUpdateScheduleAllowed
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## Version 0.6.5 - Fix Set-AzureLocalClusterUpdateRingTag to actually set UpdateWindow / UpdateExclusions tags
### Fixed
- FIXED (HIGH): Set-AzureLocalClusterUpdateRingTag silently ignored the UpdateWindow and UpdateExclusions columns from a CSV produced by Get-AzureLocalClusterInventory. Inside the processing loop, four references used an undefined variable ($cluster) instead of the actual loop variable ($clusterEntry), so:
- Clusters with an existing UpdateRing tag were skipped even when the CSV changed UpdateWindow/UpdateExclusions (the "has new schedule tags" detection always evaluated to false).
- On new or forced writes the PATCH body only contained UpdateRing; UpdateWindow/UpdateExclusions columns from the CSV were never sent to Azure.
- Because Set-StrictMode is not enforced at module scope, the typo silently returned $null instead of throwing.
### Added
- NEW: -UpdateWindowValue and -UpdateExclusionsValue optional parameters on Set-AzureLocalClusterUpdateRingTag -ClusterResourceIds. Direct-invocation mode is now symmetrical with CSV mode and can set all three tags (UpdateRing, UpdateWindow, UpdateExclusions) in a single PATCH operation. Both parameters are also written into the CSV operations log.
- NEW: Set-StrictMode -Version 1.0 is now enforced at module scope. Catches references to uninitialized variables (the class of bug above) at runtime instead of silently returning $null. All 239 Pester tests pass unchanged. Latest was deliberately not selected because ARM REST responses legitimately omit optional properties.
### Notes
- No API or JSON schema changes. No breaking changes.
- Round-trip Get-AzureLocalClusterInventory -> edit CSV -> Set-AzureLocalClusterUpdateRingTag now correctly preserves all three tag columns.
For release notes on previous versions (0.6.4 and earlier), see:
https://github.com/NeilBird/Azure-Local/blob/main/AzStackHci.ManageUpdates/CHANGELOG.md
FileList
- AzStackHci.ManageUpdates.nuspec
- AzStackHci.ManageUpdates.psm1
- example-update-request.json
- Automation-Pipeline-Examples\README.md
- Automation-Pipeline-Examples\azure-devops\fleet-update-status.yml
- Automation-Pipeline-Examples\azure-devops\inventory-clusters.yml
- Automation-Pipeline-Examples\azure-devops\manage-updatering-tags.yml
- Automation-Pipeline-Examples\github-actions\apply-updates.yml
- Automation-Pipeline-Examples\github-actions\fleet-update-status.yml
- Automation-Pipeline-Examples\github-actions\inventory-clusters.yml
- Automation-Pipeline-Examples\github-actions\manage-updatering-tags.yml
- Images\azurelocal-instance.svg
- CHANGELOG.md
- README.md
- Automation-Pipeline-Examples\azure-devops\apply-updates.yml
- AzStackHci.ManageUpdates.psd1