Loading...

Azure Virtual Network now supports updates without subnet property

Azure Virtual Network now supports updates without subnet property

 

Azure API supports the HTTP methods PUT, GET, DELETE for the CRUD (Create/Retrieve/Update/Delete) operations on your resources. The PUT operation is used for both Create and Update. For existing resources, using a PUT with the existing resources preserves them and adds any new resources supplied in the JSON. If any of the existing resources are omitted from the JSON for the PUT operation, those resources are removed from the Azure deployment.

Based on customer support cases and feedback, we observed that this behavior causes problems for customers while performing updates to existing deployments. This is a challenge in the case of subnets in the VNet where any updates to the virtual network, or addition of resources (e.g. adding a routing table), to a virtual network require you to supply the entire virtual network configuration in addition to the subnets. To make it easier for customers, we have implemented a change in the PUT API behavior for virtual network updates. This change allows you to skip the subnet specification in a PUT call without deleting the existing subnets. This capability is now available in a Limited Preview in all the EUAP regions, US West Central and US North with API version 2023-09-01.

 

Previous behavior

The existing behavior has been to expect a subnet property in the PUT virtual network call. If a subnet property isn't included, the subnets are deleted. This might not be the intention.

 

New PUT VNet behavior

Assuming your existing configuration is as follows:

"subnets": [

        {

            "name": "SubnetA",

            "properties": {...}

        },

        {

            "name": "SubnetB",

            "properties": {...}

        },

        {

            "name": "SubnetC",

            "properties": {...}

        },

        {

            "name": "SubnetD",

            "properties": {...}

        }

 

]

 

 

The updated behavior is as follows:

 

  • If a PUT virtual network doesn't include a subnet property, no changes to the existing set of subnets is made.
  • If subnet property is explicitly marked as empty, we will treat this as a request to delete all the existing subnets. For example:

 

"subnets": []

 

OR

 

"subnets": null

 

  • If a subnet property is supplied with specific values as follows:

 

"subnets": [

        {

            "name": "SubnetA",

            "properties": {...}

        },

        {

            "name": "Subnet-B",

            "properties": {...}

        },

        {

            "name": "Subnet-X",

            "properties": {...}

        }

]

 

 

In this case, the following changes are made to the virtual network:

    • SubnetA is unchanged. Assuming the supplied configuration is the same as existing.
    • SubnetB, SubnetC and SubnetD are deleted.
    • Two new subnets Subnet-B and Subnet-X are created with the new configuration.

   This behavior remains unchanged from what Azure currently has today.

 

Next Steps

Test the new behavior in the regions listed above and share your feedback.

 

Published on:

Learn more
Azure Networking Blog articles
Azure Networking Blog articles

Azure Networking Blog articles

Share post:

Related posts

Azure Data Factory and Databricks Lakeflow: An Architectural Evolution in Modern Data Platforms

As data platforms evolve, the role of orchestration is being quietly reexamined. This article explores how Azure Data Factory and Databricks L...

2 hours ago

Part 2: Building a Python CRUD API with Azure Functions and Azure Cosmos DB

Series: Building Serverless Applications with Azure Functions and Azure Cosmos DB In the first post of this series, we focused on establishing...

15 hours ago

Azure Cosmos DB Data Explorer now supports Dark Mode

If you spend time in the Azure Portal’s using Azure Cosmos DB Data Explorer, you know it’s a “lots of screens, lots of tabs, lots of work happ...

1 day ago

Microsoft Entra ID Governance: Azure subscription required to continue using guest governance features

Starting January 30, 2026, Microsoft Entra ID Governance requires tenants to link an Azure subscription to use guest governance features. With...

3 days ago

Azure Developer CLI (azd) – January 2026: Configuration & Performance

This post announces the January 2026 release of the Azure Developer CLI (`azd`). The post Azure Developer CLI (azd) – January 2026: Conf...

4 days ago

Azure SDK Release (January 2026)

Azure SDK releases every month. In this post, you'll find this month's highlights and release notes. The post Azure SDK Release (January 2026)...

5 days ago

Azure Cosmos DB TV Recap – From Burger to Bots – Agentic Apps with Cosmos DB and LangChain.js | Ep. 111

In Episode 111 of Azure Cosmos DB TV, host Mark Brown is joined by Yohan Lasorsa to explore how developers can build agent-powered application...

5 days ago

Accelerate Your Cosmos DB Infrastructure with GitHub Copilot CLI and Azure Cosmos DB Agent Kit

Modern infrastructure work is increasingly agent driven, but only if your AI actually understands the platform you’re deploying. This guide sh...

6 days ago

Accelerate Your Cosmos DB Infrastructure with GitHub Copilot CLI and Azure Cosmos DB Agent Kit

Modern infrastructure work is increasingly agent driven, but only if your AI actually understands the platform you’re deploying. This guide sh...

6 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy