fix: move Deny-Windows-Vm-HotPatch from Automation to Compute guardrails - #2194
Open
Pratyush Verma (pratyushverma63) wants to merge 4 commits into
Open
Pratyush Verma (pratyushverma63) wants to merge 4 commits into
Pratyush Verma (pratyushverma63) wants to merge 4 commits into
Conversation
Pratyush Verma (pratyushverma63)
had a problem deploying
to
csu-rw
September 8, 2026 19:20 — with
GitHub Actions
Error
…without VM hotpatch (#4176) Breaking change per ALZ convention: Deny-Windows-Vm-HotPatch belongs in Compute, not Automation. Deprecate Enforce-Guardrails-Automation (1.1.0-deprecated, supersededBy) retaining original content, add Enforce-Guardrails-Automation_20260910 without hotpatch, add hotpatch to Enforce-Guardrails-Compute (1.2.0), repoint assignment, regenerate initiatives.json.
Pratyush Verma (pratyushverma63)
had a problem deploying
to
csu-rw
September 10, 2026 06:23 — with
GitHub Actions
Error
…ves.json (#4176) CI Check Policy Build failed due to CRLF baked into initiatives.json for the new dated file. Convert source to LF per .gitattributes (*.json eol=lf) and regenerate.
Pratyush Verma (pratyushverma63)
had a problem deploying
to
csu-rw
September 10, 2026 08:07 — with
GitHub Actions
Error
…4176) Addresses @Zhangqi910 review: effect value referenced aaModifyLocalAUth; corrected to aaModifyLocalAuth in both the deprecated and successor Automation initiatives for naming consistency. Regenerated initiatives.json.
Pratyush Verma (pratyushverma63)
requested a deployment
to
csu-rw
September 15, 2026 05:32 — with
GitHub Actions
Waiting
Contributor
Author
|
Thanks Qi Zhang (@Zhangqi910) - fixed the |
Qi Zhang (Zhangqi910)
approved these changes
Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix #4176 Move
Deny-Windows-Vm-HotPatchout of the Automation guardrails initiativeDeny-Windows-Vm-HotPatch(built-in ID6d02d2f7-e38b-4bdc-96f3-adc0a8726abc) and itsautoHotPatchparameter were incorrectly placed in Enforce-Guardrails-Automation. This policy governs Windows VM automatic hotpatching and belongs in Enforce-Guardrails-Compute.Because removing a parameter/policy from an initiative is a breaking change, this follows the established ALZ deprecation convention (as used by
Enforce-EncryptTransit,Enforce-Guardrails-Network,Enforce-Guardrails-KeyVault): deprecate the old initiative and ship a new dated successor, rather than an in-place edit.Changes
Enforce-Guardrails-Automation.jsonversion: 1.1.0-deprecated,deprecated: true,supersededBy: Enforce-Guardrails-Automation_20260910,[Deprecated]:display name. Original content (incl. hotpatch) retained so existing assignments keep working.Enforce-Guardrails-Automation_20260910.jsonversion: 1.0.0,replacesPolicy: Enforce-Guardrails-Automation.Enforce-Guardrails-Compute.json1.2.0.initiatives.bicepENFORCE-GuardrailsAutomationPolicyAssignment.jsonEnforce-Guardrails-Automation_20260910.initiatives.jsonWhy deprecate instead of in-place bump
An existing assignment that passes
autoHotPatchwould break if the parameter were removed in place. Keeping the deprecated initiative unchanged means current assignments continue to work; new deployments use the dated successor via the updated assignment. The policy definition itself is unchanged (same built-in ID), and hotpatch coverage is preserved because Compute is also assigned.Testing proof
Static validation (all PASS):
Live deployment (subscription scope, verified):
Mirrors the CI checks in
Test-BuildPolicies.Tests.ps1(build parity) andTest-ModifiedPolicies.Tests.ps1(metadata/version + deprecated-metadata).Portal verification (deployed to a test subscription)
Reviewers can inspect the deployed initiatives via Policy -> Definitions (scope = test subscription, Definition type = Initiative):
Enforce-Guardrails-Compute- Parameters showsautoHotPatch; policy list includesDeny-Windows-Vm-HotPatch.[Deprecated]: Enforce-Guardrails-Automation- marked deprecated, still contains hotpatch (frozen for back-compat).Enforce-Guardrails-Automation_20260910- no hotpatch.Follow-up
Azure/Azure-Landing-Zones-Library.Related PRs
Enforce-Guardrails-Automationon the ALZ deprecation notices page.