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

Routing options for VMs from Private Subnets

Virtual Machines deployed in Azure used to have Default Outbound Internet Access. Until today, this allows virtual machines to connect to...

1 year ago

Secure, High-Performance Networking for Data-Intensive Kubernetes Workloads

The intersection of Generative AI and cloud computing has been transforming how organizations build and manage their infrastructure. The deman...

1 year ago

Network Connectivity for RISE with SAP S/4HANA Cloud Private Edition on Azure

In this article, we will explore different ways to connect to RISE with SAP S/4HANA Cloud Private Edition deployment on Azure, guiding yo...

1 year ago

Optimize Azure Landing Zone with Azure Virtual Network Manager IP Address Management

Optimize Azure Landing Zone with Azure Virtual Network Manager IP Address Management What you will learn from this blog This blog explores how...

1 year ago

ExpressRoute Metro is now generally available!!

We are excited to announce general availability of ExpressRoute Metro, a new private connectivity architecture designed to enhance network res...

1 year ago

ExpressRoute guided configuration of multi-site circuits and connections is generally available

ExpressRoute guided experience for configuring multi-site resiliency circuits and connections is generally available in Azure public cloud. Th...

1 year ago

Manage NSG association on Subnets via Azure Policy

  In this blog article, we will cover how to deny the creation of a subnet in a Virtual Network if the subnet does not have a Network Sec...

1 year ago

Effortless Private Endpoint Management in Azure Landing Zones: A Streamlined and Compliant Approach

1. Challenge In Azure Landing Zones, the network infrastructure, including components like VNET Gateways and ExpressRoute circuits, is part of...

1 year ago

Unlocking Secure VM Connectivity with Azure Bastion

In today’s digital landscape, where security breaches are an unfortunate reality, safeguarding sensitive data and infrastructure has become mo...

1 year ago

Use cases of Advanced Network Observability for your Azure Kubernetes Service clusters

Introduction  Advanced Network Observability is the inaugural feature of the Advanced Container Networking Services (ACNS) suite bringing...

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