[Network] Upgrade to 2026-01-01 API - SDK regen + NSP.Autorest regen - #30146
Merged
Yabo Hu (VeryEarly) merged 8 commits intoSep 19, 2026
Conversation
Upgrades the Network module from api-version 2025-09-01 to 2026-01-01 (spec commit e6556d8af59d346de05e19d4e6dd7d0d6b67c128, azure-rest-api-specs #46086). Changes: * Bumped src/Network/Network.Management.Sdk/README.md to the new spec commit and api-version, and added authenticationPolicy.json to the input-file list (new resource in 2026-01-01). * Regenerated Network.Management.Sdk against the new spec (1837 files). * Bumped src/Network/NetworkSecurityPerimeter.Autorest/README.md to the same commit and regenerated NSP.Autorest cmdlets (528 files). * Removed src/Network/Network.Management.Sdk/Customizations/HubVirtualNetworkConnectionCustomization.cs. The compat shim mapped the wire-side enableOnlyIPv6Peering into the older lowercase-p EnableOnlyIpv6Peering SDK property. Spec PR #45637 corrected the source, so 2026-01-01 emits EnableOnlyIPv6Peering natively; the shim is dead code and now references a nonexistent property. * Renamed SDK-side EnableOnlyIpv6Peering -> EnableOnlyIPv6Peering in NewAzureRmHubVirtualNetworkConnectionCommand.cs and both directions of the PSHubVirtualNetworkConnection map in NetworkResourceManagerProfile.cs. The PowerShell parameter name is unchanged for back-compat. * Fixed a latent bug in NewAzureVirtualNetworkGatewayMigrationParameters.cs: MigrationType was read from the SDK type (formerly a single-value enum-const class) instead of the cmdlet parameter. Spec PR #45647 added two more values (UpgradeGatewayToDualStack, MigrateGatewayForPointToSiteProfile), regenerating the class as a POCO with an instance property and exposing the bug. Now reads from this.MigrationType. * Added ChangeLog entry under Upcoming Release. Testing: dotnet build against Network.Management.Sdk, Network, Network.Test, and NetworkSecurityPerimeter.Autorest projects each returned 0 warnings, 0 errors.
Contributor
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
AutoRest regen removed src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json (the file emits only under generated/). CI's Get-OutdatedSubModule requires the src-side copy to compare against generated/, so its absence fails Build with 'generate-info.json was not found'. Restored with the current GUID (53112a50-57c5-478c-b083-0d529f1a2ec7), which matches generated/Network/NetworkSecurityPerimeter.Autorest/generate-info.json produced by this PR's regen. Same fix pattern as PR Azure#29992 in the 2025-09-01 cycle.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Qi Pan (Pan-Qi)
requested changes
Sep 17, 2026
Qi Pan (Pan-Qi)
left a comment
Contributor
There was a problem hiding this comment.
Please check & update changelog
Reviewer requested changelog update. Adds a single Upcoming Release bullet noting the api-version bump, matching the terse style of the prior 'Upgraded Network SDK to API version 2025-09-01' entry under Version 8.2.0.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Member
Author
|
Hi Qi Pan (@Pan-Qi) , I have updated the changelog. Please review and approve |
|
|
Qi Pan (Pan-Qi)
previously approved these changes
Sep 18, 2026
…ack) The prior commit only bumped src/Network/NetworkSecurityPerimeter.Autorest/README.md; the actual regen output never landed in generated/Network/NetworkSecurityPerimeter.Autorest/ because I invoked 'autorest' manually in the src folder rather than via tools/BuildScripts/PrepareAutorestModule.ps1. Autorest wrote into src/.../generated, which is .gitignore-excluded per NSP.Autorest module convention. This commit runs the sanctioned PrepareAutorestModule.ps1 flow with a fresh generate-info.json GUID (046fadd9-469a-4fab-b916-8f35b9238eeb). The script cleans generated/Network/NetworkSecurityPerimeter.Autorest, invokes autorest, and moves the output there. Result: 490 real diffs across generated/, exports/, internal/, docs/, UX/ - i.e. the full NSP.Autorest module surface refreshed against api-version 2026-01-01 (commit e6556d8). Same fix that PR Azure#29992 landed in the 2025-09-01 cycle - addresses reviewer feedback that only readme.md changed.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
The Pester playback tests key requests by full URL, which includes the api-version query parameter. NSP.Autorest was regenerated against 2026-01-01, so every playback request now looks for '?api-version=2026-01-01' but the checked-in recordings still target 2025-09-01, causing all 59 NSP.Autorest tests to fail with 'Missing Request ... (Parameter rqKey)'. Bulk-replaced 264 occurrences of 'api-version=2025-09-01' with 'api-version=2026-01-01' across all 26 *.Recording.json files under src/Network/NetworkSecurityPerimeter.Autorest/test/. No changes to request/response bodies were needed; the recorded scenarios are unchanged. Same fix pattern as PR Azure#29992 in the 2025-09-01 cycle.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
…iles) The prior recording-fix commit (f614b5e) only landed 8 of the 26 *.Recording.json files. A git index/normalization cache prevented 'git add -A' from re-hashing the remaining 18 files even though their on-disk content had been updated to 'api-version=2026-01-01'. Ran 'git add --renormalize' to force git to re-hash the files under the current .gitattributes rules; the 18 stale-cached files then correctly showed as modified. This commit ships their api-version bumps (145 URL entries). Verified: 0 'api-version=2025-09-01' references remain in the git index; 264 'api-version=2026-01-01' entries across all 26 tracked recordings.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Reviewer pointed out that the last release cycle's PR (Azure#29992) did NOT include anything under generated/Network/NetworkSecurityPerimeter.Autorest/. The generated/ mirror is populated by the archive bot post-merge (see 'skip ci Archive' commits on release-network-* branches), not by the release PR. Reverting all 108 generated/Network/NetworkSecurityPerimeter.Autorest/ changes and the 10 side-effect files under src/Network/NetworkSecurityPerimeter.Autorest/{UX,docs,examples,resources}/ that PrepareAutorestModule.ps1 introduced. The PR now touches only what the previous cycle touched: - src/Network/NetworkSecurityPerimeter.Autorest/README.md (commit + api-version bump) - src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json (fresh GUID) - src/Network/NetworkSecurityPerimeter.Autorest/Properties/AssemblyInfo.cs - src/Network/NetworkSecurityPerimeter.Autorest/test/*.Recording.json (api-version bump in recorded URLs)
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
…reen) Previous build 350792 failed only on Test macOS. Windows+Linux Test on the same commit both passed with 0 failures, and the macOS log is truncated at 118 KB with every visible xUnit dll reporting Failed: 0 - the fingerprint of a dying agent, not a real test failure. Retrying against fresh agents.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Yabo Hu (VeryEarly)
approved these changes
Sep 19, 2026
Yabo Hu (VeryEarly)
merged commit Sep 19, 2026
ad956ff
into
Azure:release-network-2026-01-01
12 checks passed
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.
🤖 PR Validation —⚠️ Review suggested
️✔️Az.Accounts
️✔️Az.ApplicationInsights
️✔️Az.CognitiveServices
️✔️Az.Compute
️✔️Az.Dns
️✔️Az.Maintenance
️✔️Az.ManagedServiceIdentity
️✔️Az.Monitor
️✔️Az.OperationalInsights
️✔️Az.RecoveryServices
️✔️Az.Resources
️✔️Az.Security
️✔️Az.ServiceBus
️✔️Az.Sql
️✔️Az.Storage
️✔️Az.Websites
Description
Upgrades the Network module from api-version
2025-09-01to2026-01-01(spec commite6556d8, release PR Azure/azure-rest-api-specs#46086).Regeneration only — the four handwritten source edits below are required just to consume the new SDK surface; no new cmdlets, no parameter changes.
Changes
src/Network/Network.Management.Sdk/README.mdto the new spec commit and api-version.authenticationPolicy.jsonto the input-file list (new resource introduced in 2026-01-01).Network.Management.Sdkagainst the new spec (1837 generated files).src/Network/NetworkSecurityPerimeter.Autorest/README.mdto the same commit and regenerated NSP.Autorest cmdlets (528 files).src/Network/Network.Management.Sdk/Customizations/HubVirtualNetworkConnectionCustomization.cs. The compat shim mapped the wire-sideenableOnlyIPv6Peering(uppercaseP) into the older lowercase-pEnableOnlyIpv6PeeringSDK property. Spec PR Azure/azure-rest-api-specs#45637 corrected the source, so 2026-01-01 emitsEnableOnlyIPv6Peeringnatively; the shim is dead code and now references a nonexistent property.EnableOnlyIpv6Peering→EnableOnlyIPv6PeeringinNewAzureRmHubVirtualNetworkConnectionCommand.csand both directions of thePSHubVirtualNetworkConnectionmap inNetworkResourceManagerProfile.cs. The PowerShell parameter name (-EnableOnlyIpv6Peering) is unchanged for back-compat.NewAzureVirtualNetworkGatewayMigrationParameters.cs:MigrationTypewas read from the SDK type (formerly a single-value enum-const class) instead of the cmdlet parameter. Spec PR Azure/azure-rest-api-specs#45647 added two more migration types (UpgradeGatewayToDualStack,MigrateGatewayForPointToSiteProfile), regenerating the class as a POCO with an instance property and exposing the bug. Now reads fromthis.MigrationType.## Upcoming Release.Description of the change
Regeneration only — no hand-written cmdlet changes beyond the four compile-fixes required by the new SDK.
Testing
dotnet build src/Network/Network.Management.Sdk/Network.Management.Sdk.csproj→ 0 errors, 0 warnings.dotnet build src/Network/Network/Network.csproj→ 0 errors, 0 warnings.dotnet build src/Network/Network.Test/Network.Test.csproj→ 0 errors, 0 warnings.dotnet build src/Network/NetworkSecurityPerimeter.Autorest/Az.NetworkSecurityPerimeter.csproj→ 0 errors, 0 warnings.Checklist
ChangeLog.mdupdated under## Upcoming Releaseinsrc/Network/Network/ChangeLog.mdrelease-network-2026-01-01