Skip to content

[Draft] Release Network 2025-07-01#42717

Open
santoshgh317 wants to merge 21 commits intomainfrom
Vslokar/release-network-2025-07-01-updated
Open

[Draft] Release Network 2025-07-01#42717
santoshgh317 wants to merge 21 commits intomainfrom
Vslokar/release-network-2025-07-01-updated

Conversation

@santoshgh317
Copy link
Copy Markdown
Contributor

@santoshgh317 santoshgh317 commented Apr 28, 2026

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:

This PR is combination of Multiple Networking Partner PR, which is already approved by ARM reviewer beforehand.

#42075
#42054
#42070
#42312
#42049
#42176
#42137
#42058
#42053
#42056
#42245
#42403
#42409
#42106
#42616
#42560

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

santoshgh317 and others added 19 commits April 2, 2026 18:24
* Add API version 2025-07-01 for Microsoft.Network

* Add stable/2025-07-01 OpenAPI specs and examples

* Fix tsp format indentation in main.tsp

* Add cspell suppressions for stable/2025-07-01 spell check errors

* Fixed some issues based on suggestions from Reviewer

* Fixed some values in the examples folder

---------

Co-authored-by: Santosh Lokarapu <[email protected]>
* [Network] Add ILPIP DCP in 2025-07-01 TypeSpec/Swagger

* Update DCP references and regenerate 2025-07-01 network swagger

* Add version gates for DCP properties in 2025-07-01

* Revert "Add version gates for DCP properties in 2025-07-01"

This reverts commit 8ffec04.

* Fix: Reorder decorators to match file formatting standard

- Move #suppress decorators before @visibility decorators
- Fixes TypeSpec format validation (tsp format --check)
- Both properties have camelCase naming from REST spec, suppress documents this

* Update 2025-05-01 virtualNetwork.json

* Regenerate vmssNetwork swagger for DDoS custom policy updates

* Scope DCP changes to 2025-07 and revert non-target generated files

* Add back-compat gates for DCP properties across Network and Vmss

* Apply TypeSpec format updates for Network DCP compatibility

* Fix shared/vmss compatibility gates for DCP compile

---------

Co-authored-by: Venkata M <[email protected]>
* Replace Network/Common NameSpace (#42225)

* update

* update

* update

* update client.tsp

* format

* replace

* update client.tsp

* add versions in common

* compile
…lso all list command for DdosCustomPolicy resource (#42054)

* Add tsp changes

* Add swagger changes

* Add examples

* remove supress for casing

* remove missing example

* address comments

* fix avaocado MULTIPLE_API_VERSION rule

* Supress Avacado MULTIPLE_API_VERSION

* Revert "fix avaocado MULTIPLE_API_VERSION rule"

This reverts commit c84ca6f.

* Revert "Supress Avacado MULTIPLE_API_VERSION"

This reverts commit f1f769f.

* addall files generated

* Add missing file

* update examples folder

* fix version

* reset older changes

* remove remaining

* Add version check

* add version check on DCP list and listAll too

* fix tsp validation because of version check on common resource.Moved the check upstream

* use new way

* Update with checks after release rebase

---------

Co-authored-by: Giri Bhatnagar <[email protected]>
* Add New Resource Network Manager Commit

Port changes from PR #40919 to release-microsoft-network-2025-07-01 branch.

Co-authored-by: Copilot <[email protected]>

* Fix  references in networkManagerCommit.json

Replace broken ./network.json refs with correct paths:
- SubscriptionIdParameter/ApiVersionParameter -> common-types/v5
- CloudError/ChildResource/ProvisioningState -> ./common.json
- SystemData -> common-types/v5/systemData
- ConfigurationType -> ./common.json

Co-authored-by: Copilot <[email protected]>

* Merge networkManagerCommit.json into networkManager.json

- Moved commit paths, definitions, and parameters into networkManager.json
- Inlined parameters to match networkManager.json conventions
- Added pattern validation on networkManagerName parameter
- Removed separate networkManagerCommit.json file
- Removed networkManagerCommit.json suppressions from readme.md
- Removed networkManagerCommit.json from readme.md input-file list

Co-authored-by: Copilot <[email protected]>

* Add Commits tag to networkManager.json tags list

Co-authored-by: Copilot <[email protected]>

* Fix Avocado and TypeSpec Validation failures

- Revert networkManagerCommit.json merge into networkManager.json
  (networkManager.json is TypeSpec-generated, cannot be manually edited)
- Keep networkManagerCommit.json as a separate swagger file
- Add MULTIPLE_API_VERSION avocado suppression for vmssNetwork.json
- Restore ResourceNameRestriction and SystemDataDefinitionsCommonTypes
  suppressions for networkManagerCommit.json

Co-authored-by: Copilot <[email protected]>

* Add Commit resource via TypeSpec instead of separate swagger

- Created Commit.tsp defining Commit as a child resource of NetworkManager
  with GET, PUT (async), DELETE (async), and List operations
- Added @added(Versions.v2025_07_01) to scope Commit to 2025-07-01 only
- Regenerated networkManager.json with tsp compile (includes Commit CRUD)
- Removed separate networkManagerCommit.json (now generated via TypeSpec)
- Removed networkManagerCommit.json suppressions from readme.md

Co-authored-by: Copilot <[email protected]>

* Remove MULTIPLE_API_VERSION suppression from readme.md

Co-authored-by: Copilot <[email protected]>

* Update suppression reasons in Commit.tsp with explicit justifications

Replace generic FIXME placeholders with specific reasons documenting
why ChildResource pattern is used (consistency with all existing
Network Manager child resources like ScopeConnection, AdminRuleCollection,
ConnectivityConfiguration, etc.) rather than ProxyResource<T>.

Co-authored-by: Copilot <[email protected]>

* Address ravimeda's review feedback on Commit resource

- Fix example resource IDs: add leading / to all id fields (EX-RESOURCE-ID)
- Fix nextLink URL: managedNetworks -> networkManagers (EX-PAGINATION)
- Add operationId to all example files for autorest emitter discovery
- Copy examples to TypeSpec examples/2025-07-01/ folder
- Regenerated swagger now includes x-ms-examples for all Commit ops
- Fix forceUpdateTag description to clarify force-update semantics
- Fix list operation description: 'Lists all commits for the specified
  network manager' instead of 'Lists the specified commit'

Co-authored-by: Copilot <[email protected]>

* Document rationale for omitting PATCH operation on Commits

Commits are immutable deployment records where partial updates are not
semantically meaningful, consistent with other Network Manager child
resources (ScopeConnection, ConnectivityConfiguration, etc.).

Co-authored-by: Copilot <[email protected]>

* Fix ModelValidation: add 200 response to Commits_Delete example

The generated swagger includes a 200 response code for the delete
operation but the example file only had 202/204. Added 200: {} to
match, consistent with other Network Manager delete examples.

Co-authored-by: Copilot <[email protected]>

* Fix Avocado, ModelValidation and LintDiff failures

Avocado: Re-add MULTIPLE_API_VERSION suppression for vmssNetwork.json

ModelValidation:
- Fix nextLink URL: replace {baseurl} with https://management.azure.com
- Fix PUT example: rename body param 'parameters' to 'resource'

LintDiff:
- Add @pattern to commitName parameter (ResourceNameRestriction)
- Remove 200 from delete responses (DeleteResponseCodes: LRO delete
  must only have 202, 204 and default)

Co-authored-by: Copilot <[email protected]>

* Fix nextLink: use relative path instead of absolute URL

Co-authored-by: Copilot <[email protected]>

* Fix ModelValidation: use full URI for nextLink, remove 200 from delete example

- nextLink must be a valid URI (relative path fails format validation)
- Delete example had stale 200 response not in swagger

Co-authored-by: Copilot <[email protected]>

* Run tsp format on Commit.tsp to fix TypeSpec Validation

Co-authored-by: Copilot <[email protected]>

* Fix Avocado MULTIPLE_API_VERSION suppression format

Move suppression from 'suppressions' section (LintDiff format) to
'directive' section with 'suppress:' keyword (Avocado format).

Co-authored-by: Copilot <[email protected]>

* Fix LintDiff: suppress ProvisioningStateMustBeReadOnly for Commit

Add targeted suppressions for 3 new Commit-specific violations only.
provisioningState IS readOnly in CommitProperties definition but the
linter does not follow \ chains to verify in response schemas.
Same pattern exists for all other NM resources (pre-existing).

Co-authored-by: Copilot <[email protected]>

* Fix broken $ref pointers in networkManager.json (2025-07-01)

Fix 5 unresolvable references in networkManager.json:
- 4x CloudError -> Common.CloudError
- 1x ProvisioningState -> Common.ProvisioningState

These broken refs caused SemanticValidation, LintDiff, and SDK Validation CI failures.

Co-authored-by: Copilot <[email protected]>

* Add missing Common import to Commit.tsp

Add import '../Common/main.tsp' and 'using Common' to resolve
unknown identifier errors for ProvisioningState, Features, and CloudError.

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
* Update VNA and VNet properties: add PrivateIPAddressVersion and SummarizedGatewayPrefixes

- bandwidthInGbps: string to float64
- Add privateIPAddressVersion property with VirtualNetworkApplianceIpVersionType enum (IPv4, DualStack)
- Add summarizedGatewayPrefixes on VirtualNetworkPropertiesFormat
- Add versioning decorators for v2025_07_01 API version changes
- Update all VNA example files with new properties

* Update swagger: add privateIPAddressVersion, VirtualNetworkApplianceIpVersionType, summarizedGatewayPrefixes, and fix bandwidthInGbps type

* Fix TypeSpec compilation errors: suppress casing-style and remove Versions ref from Common

* Add @@added versioning for summarizedGatewayPrefixes via augment decorator

Use augment syntax from Network/models.tsp since Versions is not available in Common/main.tsp (shared with Vmss which only has v2018_10_01).

* Align swagger with TypeSpec compiler output

Accept tsp compile generated swagger: move VirtualNetworkApplianceIpVersionType to common.json, add format:double, fix ref path, revert example changes to match generated output.

* Regenerate vmssNetwork swagger from TypeSpec

* Fix lint: update enum descriptions to not match node names

* Fix examples: bandwidthInGbps must be number not string

* Fix source examples: bandwidthInGbps must be number not string

* Address ARM review feedback for VNA VNet changes 2025-07-01

- Fix bandwidthInGbps type versioning: use @typeChangedFrom to keep string
  type in 2025-05-01 and change to float64 only in 2025-07-01
- Revert 2025-05-01 examples to use string value for bandwidthInGbps
- Remove summarizedGatewayPrefixes from 2018-10-01 vmssNetwork.json
  (violates API version immutability)
- Update summarizedGatewayPrefixes description to clarify it is configurable
- Fix FIXME suppression placeholder for privateIPAddressVersion casing

* Fix summarizedGatewayPrefixes leaking into 2018-10-01 Vmss output

Add @@removed decorator in Vmss/back-compatible.tsp to prevent
summarizedGatewayPrefixes from appearing in the 2018-10-01 vmssNetwork.json.
The property is defined in Common/main.tsp (shared across projects) but
should only appear in 2025-07-01+. The @@added gate in the Network project
does not apply during Vmss compilation.

* Fix ambiguous Versions reference in Vmss back-compatible.tsp

Fully qualify as Microsoft.Compute.Versions.v2018_10_01 to resolve
ambiguity between Microsoft.Compute.Versions and Microsoft.Network.Versions.

* Add MULTIPLE_API_VERSION suppression for default tag

The default tag includes 2018-10-01/vmssNetwork.json alongside 2025-07-01
files. This is expected since the Vmss APIs are a separate TypeSpec project
(Microsoft.Compute) with only a 2018-10-01 version.

* Fix MULTIPLE_API_VERSION suppression: use directive/suppress format

The suppressions/code format doesn't work for this rule. Use the
directive/suppress format as done in AlertsManagement Legacy readme.

* undo suppression

* Regenerate swagger JSON files from TypeSpec

* Move @added decorator to Common/main.tsp and remove @@removed from Vmss/back-compatible.tsp per PR #42054 pattern

* remove whitespace
* Nat64 Changes

* Auto generated code

* Changed file

* Description Fix

* NIT Fix

* Auto generate code

* TypeSpec Validation

* Add description

* Description updated
* Add Managed HSM support to Application Gateway for 2025-07-01

Add ApplicationGatewayManagedHsm type definition and hsm property
to ApplicationGatewaySslCertificatePropertiesFormat in both TypeSpec
source (models.tsp) and generated JSON (applicationGateway.json).

Original PR: Azure/azure-rest-api-specs-pr#23831

Co-authored-by: Copilot <[email protected]>

* Add @added(Versions.v2025_07_01) decorators to HSM model and property

Mark ApplicationGatewayManagedHsm model and hsm property with version
decorator to properly indicate they are new in the 2025-07-01 API version,
following the same pattern as PR #42054.

Co-authored-by: Copilot <[email protected]>

* Fix TypeSpec validation: replace @Format with url scalar type

Remove @Format("uri") decorator (forbidden by no-format rule) and use
the built-in url scalar type instead. Also replace boilerplate suppression
justification with a real one.

Co-authored-by: Copilot <[email protected]>

* Regenerate applicationGateway.json from tsp compile

Run tsp compile to regenerate JSON output matching the TypeSpec source.
Fixes TypeSpec Validation CI check.

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Srijani Sen <[email protected]>
Co-authored-by: Copilot <[email protected]>
…on 2025-07-01 (#42058)

* Add DisablePeeringRoute property to RouteTable TypeSpec (2025-07-01)

* Remove unnecessary TypeSpec.Versioning import from models.tsp

* Retrigger CI checks

* Fix Vmss compilation: use augment decorators for versioning and regenerate vmssNetwork swagger

* Regenerate swagger after merging prerequisite PR #42312

---------

Co-authored-by: Sonal Singh (from Dev Box) <[email protected]>
…42053)

* NRP ECMP support.

* Adding Examples and AVNM updates.

* Resolved review comments from ravimeda.

* Revert changes to 2018-10-01/vmssNetwork.json to fix lint/breaking-change checks

* Revert "Revert changes to 2018-10-01/vmssNetwork.json to fix lint/breaking-change checks"

This reverts commit 3f0ca7a.

* Fix DescriptionMustNotBeNodeName lint error for None enum values

* Adding Examples and AVNM updates.

* Trigger CI

* Fix duplicate ECMP example reference in virtualNetwork.json

---------

Co-authored-by: nsiddabasapp <[email protected]>
Co-authored-by: Sonal Singh (from Dev Box) <[email protected]>
* Added work necessary for detailLevelParameter

Added work necessary for detailLevel parameter in Get LB call.

* Prettier

* Sku name fix on Scope examples

* Add suppression

* TSP changes

* Suppression and examples

* Compile tsp

* Fix readme.md: remove duplicate tag section and correct suppression placement

* Add MULTIPLE_API_VERSION suppression for pre-existing vmssNetwork.json in default tag

* Address comments

* Remove instructions file

* Readme

* fix: remove where clause from ParametersInPointGet suppression in readme.md

The where clause used single-quoted JSONPath which is non-standard.
Removing the where clause to use a simpler, proven suppression pattern
(similar to DevTestLabs and other services).

Co-authored-by: Copilot <[email protected]>

* fix: restore where clause to ParametersInPointGet suppression with correct JSONPath

Two bugs in the original where clause:
1. Single quotes in JSONPath brackets (non-standard, evaluates to nothing)
2. Path ended at .get instead of .get.parameters (rule reports at parameters level)

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
* Swagger changes for afc control plane

* Add afcControlPlaneConfiguration to Azure Firewall TypeSpec and generated swagger for 2025-07-01

* Renamed the response

* Swap parameter order
* [NSP] ResourceAssociable API - release swagger update

* Resolving Comments

* Remving Custom Name for Enum for SDK

* Removing Custom Property

* Adding Custom Property

* Add new properties to PerimeterAssociableResourceProperties via TypeSpec and regenerate swagger

* TypeSpec Related Changes

* Updating Descriptions

* Updating TSP file to have correct description

---------

Co-authored-by: Chenjie Shi <[email protected]>
…workGatewayConnection (#42409)

* Add RoutingConfiguration support for VirtualNetworkGatewayConnection and HubBgpConnection

* push generated swagger files

---------

Co-authored-by: Ira Ramtirth <[email protected]>
* update the captcha expiration property

* Regenerate Network swagger from TypeSpec
…42560)

* swagger changes for vwan express route gateway apis

* fixed errros

* fixed errros

* fixed errros

* fixed errros

* add suppression

* Delete specification/network/resource-manager/Microsoft.Network/Network/sdk-suppressions.yaml

* reverted back compatible.tsp

---------

Co-authored-by: Shubhika Jain <[email protected]>
Co-authored-by: judy <[email protected]>
Co-authored-by: Chenjie Shi <[email protected]>
Co-authored-by: Venu Sivanadham <[email protected]>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 28, 2026

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR is not ready for ARM review (label: NotReadyForARMReview). This PR will not be reviewed by ARM until relevant problems are fixed. Consult the rest of this Next Steps to Merge comment for details.
    Once the blocking problems are addressed, add to the PR a comment with contents /azp run. Automation will re-evaluate this PR and if everything looks good, it will add WaitForARMFeedback label which will put this PR on the ARM review queue.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review
  • ❌ This PR is NotReadyForARMReview because it has the BreakingChangeReviewRequired label.
  • ❌ This PR has at least one breaking change (label: BreakingChangeReviewRequired).
    To unblock this PR, follow the process at aka.ms/brch.
  • ❌ The required check named Swagger Avocado has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide


Comment generated by summarize-checks workflow run.

@github-actions github-actions Bot added ARMReview new-api-version resource-manager SuppressionReviewRequired TypeSpec Authored with TypeSpec WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Apr 28, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 28, 2026

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
TypeSpec Microsoft.Network
TypeSpec Microsoft.Compute
Swagger Microsoft.Network-Network
Go sdk/resourcemanager/network/armnetwork
Java com.azure.resourcemanager:azure-resourcemanager-network

Comment generated by After APIView workflow run.

rchepala and others added 2 commits April 29, 2026 11:40
Co-authored-by: Rajkumar Chepala <[email protected]>
* link fialover swagger

* fixed errors

* added in readme

* add suppression

* update suppression

* updated doc

* reverted back-compatible changes

* Merging Circuit link failover final cp 2 branch with latest pull (#42690)

* Make propagateStaticRoutes read/write (#42616)



* Swagger changes for Vwan Express Route Gateway Failover and Insights (#42560)

* swagger changes for vwan express route gateway apis

* fixed errros

* fixed errros

* fixed errros

* fixed errros

* add suppression

* Delete specification/network/resource-manager/Microsoft.Network/Network/sdk-suppressions.yaml

* reverted back compatible.tsp

---------






---------








* resolved merged conflicts:1 (#42715)



---------

Co-authored-by: Shubhika Jain <[email protected]>
Co-authored-by: judy <[email protected]>
Co-authored-by: Venu Sivanadham <[email protected]>
Co-authored-by: Rajkumar Chepala <[email protected]>
Co-authored-by: Rajkumar Chepala <[email protected]>
Co-authored-by: Chenjie Shi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.