Sunday 24 October 2021

listing the azure locations that support virtual network

I'd like to create virtual networks in every location in Azure that can support them, using Azure python SDK. In the code below I'm limiting only to location germanynorth, but that is just to help reproduce the issue.

from azure.common.client_factory import get_client_from_auth_file
from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.subscription import SubscriptionClient
from azure.mgmt.network import NetworkManagementClient

get_client_from_auth_file(ComputeManagementClient)
for location in get_client_from_auth_file(SubscriptionClient).subscriptions.list_locations(get_subscription_id()):
    if location.name == 'germanynorth':
        get_client_from_auth_file(NetworkManagementClient).virtual_networks.create_or_update(
            resource_group_name=RESOURCE_GROUP_NAME,
            virtual_network_name='test-network',
            parameters={'location': location.name, 'address_space': {'address_prefixes': ['10.0.0.0/16']}, }
        )

When running this I get the error:

msrestazure.azure_exceptions.CloudError: Azure Error: LocationNotAvailableForResourceType
Message: The provided location 'germanynorth' is not available for resource type 'Microsoft.Network/virtualNetworks'. List of available regions for the resource type is 'westus,eastus,northeurope,westeurope,eastasia,southeastasia,northcentralus,southcentralus,centralus,eastus2,japaneast,japanwest,brazilsouth,australiaeast,australiasoutheast,centralindia,southindia,westindia,canadacentral,canadaeast,westcentralus,westus2,ukwest,uksouth,koreacentral,koreasouth,francecentral,australiacentral,southafricanorth,uaenorth,switzerlandnorth,germanywestcentral,norwayeast'.

Very helpfully, the error includes a list of all the regions where virtualNetworks could be created, but of course this list will change over time.

What API in Azure can I use to figure out what locations (regions?) support virtual networks?

Thanks!



from listing the azure locations that support virtual network

No comments:

Post a Comment