Skip to content

AzureRM Provider

AzureRM Provider Version v3.0

The last major release for the AzureRM provider was in February 2020. Since then we've added support for nearly 400 Resources and 100 Data Sources, bringing the total supported features to 761 Resources and 238 Data Sources at the time of writing this guide.

Considerations

Version 3.0 of the AzureRM Provider is a major release and as such includes some larger-scale changes which are outlined in this document.

When upgrading to v3.0 of the AzureRM Provider, we recommend upgrading to the latest version of Terraform Core (which can be found here) - the next major release of the AzureRM Provider (v4.0) will require Terraform 1.0 or later.

If you're using the AzureRM Backend you should also be aware that:

  • Version 1.1 of Terraform Core introduces support for Microsoft Graph (MSAL) authentication - although this is disabled by default and needs to be enabled using a feature flag (useMicrosoftGraph =True), otherwise Azure Active Directory (ADAL) authentication is used.
  • In the future version 1.2 of Terraform Core will switch to using Microsoft Graph (MSAL) authentication by default (changing the default value of the feature flag useMicrosoftGraph from false to true) - however note that this feature-flag will be removed in a future release of Terraform Core.

Pinning your Provider Version

We recommend pinning the version of each Provider you use in Terraform - you can do this using the version attribute within the requiredProviders block, either to a specific version of the AzureRM Provider, like so:

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: hashicorp/azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.provider.AzurermProvider(this, "azurerm", {
  features: [{}],
});

.. or to any 2.x release:

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: hashicorp/azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.provider.AzurermProvider(this, "azurerm", {
  features: [{}],
});

More information on how to pin the version of a Terraform Provider being used can be found on the Terraform Website.


What's available in Version 3.0 of the AzureRM Provider?

-> Note: Version 2970-2990 of the Azure Provider allow you to opt-into the Beta of these features - see the Beta guide for more information

At a high level, version 3.0 includes the following changes:

Each of these topics is covered in more detail below.

New Resources and Data Sources for App Service

While it’s possible to provision App Services and Function Apps in Terraform today, the design and behaviour of the App Service platform has evolved over the years. These resources require some refinement.

Similar to the changes for Virtual Machines in v2.0 of the Azure Provider, we've introduced more granular resources for App Service to better represent the functionality available in Azure. This is most noticeable in the separation of some resources into Linux and Windows variants. This separation is intended to facilitate improved validation and more intuitive configuration for their differing requirements and capabilities, which could previously be unclear or confusing in the respective singular resources.

The following new Data Sources will be available:

The following new Resources will be available:

Migrating to New & Renamed Resources

When migrating to the new version of deprecated resources the schema may be different than what currently exists in state. Therefore, it is recommended to first update your terraform configuration with the new resource, use terraformStateRm, and then terraformImport.

A guide on how to do this can be found in the Migrating from Deprecated Resources Guide and a tutorial for terraformImport can be found here

Soft Delete for Key Vault

Previously, soft delete has only been available for a Key Vault resource as a whole. Now, you’ll be able to soft delete the nested items within a Key Vault: certificates, keys, and secrets.

This can be configured in the features block like so:

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.provider.AzurermProvider(this, "azurerm", {
  features: [
    {
      key_vault: [
        {
          purge_soft_delete_on_destroy: true,
          purge_soft_deleted_certificates_on_destroy: true,
          purge_soft_deleted_keys_on_destroy: true,
          purge_soft_deleted_secrets_on_destroy: true,
          recover_soft_deleted_certificates: true,
          recover_soft_deleted_key_vaults: true,
          recover_soft_deleted_keys: true,
          recover_soft_deleted_secrets: true,
        },
      ],
    },
  ],
});

The default value is true for each of the above feature flags, and they can be toggled off by explicitly setting them to false. For more information, please refer to the Features Block documentation.

Switching to MSAL

Authentication to APIs such as Resource Manager was previously performed using the ADAL library which yielded legacy v1 authentication tokens. In version 3.0 of the provider we've moved to use v2 tokens. In practice this change will not yield any noticeable behavioral differences.

Behavioural updates

All Resources: The Resource ID will now be validated at import time to ensure the correct resource is being imported, and return the expected format upon a mismatch. This ensures that, for example, a Virtual Machine ID is specified rather than the VM Extension ID (which is nested under a Virtual Machine ID).

Resources with a minTlsVersion field: The default minimum TLS version will be 12.

Resources supporting Availability Zones (containing a zones field):

Zones will be made behaviourally consistent across the Provider, that means:

  • Where a resource has to be provisioned within a single Zone, the field will be renamed zone (to indicate that only a single Zone can be specified).
  • Where a resource can be provisioned across multiple Zones, the field will be named zones.
  • Zones are no longer Computed - this means that if you wish Azure to assign an Availability Zone for this resource automatically, you must use ignoreChanges on the zone/zones field.

When the resource can be provisioned across multiple Zones, the following behaviours apply:

  • To provision the resource without any Zones (zoneless) - omit the zones field.
  • To provision the resource in a single Zone, specify one zone for the zones field (e.g. zones = ["1"])
  • To provision the resource across multiple Zones (Zone Redundant), specify all of Availability Zones for the zones field (e.g. zones = ["1", "2", "3"])

Resources with a (Managed) identity block: The presence of an identity block means a Managed Identity should be assigned to this Resource - and the omission of an identity block (or a null value) means that no Managed Identity should be assigned to this Resource.

Application Gateway: The behavior of the nested items will be changed to Sets instead of Lists where required, meaning that the order of these items no longer matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

API Management: Terraform will now remove the Default API and Products for API Management when creating a new API Management instance, which is consistent with the behavior for other Terraform Providers.

Firewall: The behavior of the nested items will be changed to List instead of Sets where required, meaning that the order of these items now matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

Log Analytics: The tags field has been removed from various resources.

Resource Groups: Terraform will now check for Resources nested within a Resource Group prior to deletion of the resource group. If any items are found, an error will be raised. This behavior is configurable in the features block, but was previously disabled by default. In 3.0, this behavior will be enabled by default.

Recovery Services: The tags field has been removed from various resources.

Storage: The field allowBlobPublicAccess will be renamed to allowNestedItemsToBePublic to resolve confusion about what this field does. This field specifies whether items within the Storage Account (such as Containers and Blobs) can opt-in to being made public (for example at the Container or Blob level) - and not that all resources within this Storage Account are public by default.

Other Individual Resources:

  • azurermDatabaseMigrationService - The provider will now delete this resource even if it still contains running tasks.
  • azurermIothub - When creating a new azurermIothub resource, a Fallback Route will be enabled by default.
  • azurermMssqlDatabase - The new field transparentDataEncryptionEnabled will be set to true and can not be disabled on servers with SKUs other than ones starting with dw.
  • azurermStorageShare - The quota property is now required instead of defaulting to 5120 GB.

Removal of Deprecated Fields, Data Sources and Resources

Since version 3.0 is a major version - we intend to take this opportunity to remove deprecated Fields, Resources, and Data Sources.

Below we'll cover each of the Data Sources and Resources which will be affected by the 3.0 upgrade.

Data Source: azurermAppService

The azurermAppService data source has been superseded by the azurermLinuxWebApp and azurermWindowsWebApp data sources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Data Source: azurermAppServicePlan

The azurermAppServicePlan data source has been superseded by the azurermServicePlan data source. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Data Source: azurermBackupPolicyFileShare

The field tags will be removed since the API no longer supports these on this resource.

Data Source: azurermBackupPolicyVm

The field tags will be removed since the API no longer supports these on this resource.

Data Source: azurermBatchPool

The deprecated field startTaskEnvironment will be removed in favour of the startTaskCommonEnvironmentProperties properties.

The deprecated field startTaskMaxTaskRetryCount will be removed in favour of the startTaskTaskRetryMaximum property.

Data Source: azurermContainerRegistry

The deprecated field storageAccountId has been removed as it is no longer recognized by the API nor functional.

Data Source: azurermCosmosdbAccount

The field capabilities will no longer accept the value enableAnalyticalStorage.

The deprecated field primaryMasterKey will be removed in favour of the primaryKey property.

The deprecated field secondaryMasterKey will be removed in favour of the secondaryKey property.

The deprecated field primaryReadonlyMasterKey will be removed in favour of the primaryReadonlyKey property.

The deprecated field secondaryReadonlyMasterKey will be removed in favour of the secondaryReadonlyKey property.

Data Source: azurermDataLakeStore

Data Lake Gen1 is deprecated and new accounts can no longer be provisioned - as such this deprecated Data Source has been removed from the Azure Provider.

Data Source: azurermDataShareDatasetDataLakeGen1

Data Lake Gen1 is deprecated and new accounts can no longer be provisioned - as such this deprecated Data Source has been removed from the Azure Provider.

Data Source: azurermFunctionApp

The azurermFunctionApp data source has been superseded by the azurermLinuxFunctionApp and azurermWindowsFunctionApp data sources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Data Source: azurermFunctionAppHostKeys

The deprecated field masterKey will be removed in favour of the primaryKey property.

Data Source: azurermKeyVault

The deprecated field softDeleteEnabled will be removed since the Azure API always returns true.

Data Source: azurermKubernetesCluster

The deprecated block addonProfile will be removed in favour of the azurePolicyEnabled, httpApplicationRoutingEnabled and openServiceMeshEnabled properties and the ingressApplicationGateway, keyVaultSecretsProvider and omsAgent blocks.

The field availabilityZones will be removed in favour of zones to be consistent across the Provider.

The field userAssignedIdentityIds within the identity block will be renamed to identityIds to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The deprecated block roleBasedAccessControl will be removed in favour of the roleBasedAccessControlEnabled property and the azureActiveDirectoryRoleBasedAccessControl block.

Data Source: azurermKubernetesClusterNodePool

The field availabilityZones will be removed in favour of zones to be consistent across the Provider.

Data Source: azurermLbRule

The deprecated field resourceGroupName will be removed since it can be inferred from the loadbalancerId.

Data Source: azurermLogAnalyticsWorkspace

The deprecated field portalUrl will be removed since it no longer exists in the Azure API.

Data Source: azurermManagementGroup

The deprecated field groupId will be removed in favour of the name property.

Data Source: azurermMssqlServer

The field userAssignedIdentityIds within the identity block will be renamed to identityIds to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

Data Source: azurermNetappVolume

The deprecated field dataProtectionReplicationReplicationSchedule will be removed as it no longer exists in the Azure API. The property dataProtectionReplicationReplicationFrequency can be used instead.

Data Source: azurermPublicIps

The deprecated field attached will be removed in favour of the attachmentStatus property.

Data Source: azurermPolicyDefinition

The deprecated field managementGroupId will be removed in favour of the managementGroupName property.

Data Source: azurermPostgresqlFlexibleServer

The deprecated field cmkEnabled will be removed since it no longer exists in the Azure API.


-> NOTE: This guide is a Work In Progress and as such Fields, Resources and Data Sources may be added to this guide until version 3.0 of the AzureRM Provider is released.

Resource: azurermApiManagementCustomDomain

The deprecated proxy block will be removed in favour of the gateway block.

Resource: azurermApiManagementDiagnostic

The deprecated field enabled will be removed since it no longer exists in the Azure API.

Resource: azurermApiManagementApiOperation

The deprecated field responseRepresentationSample will be removed in favour of the property responseRepresentationExample.

The deprecated field requestRepresentationSample will be removed in favour of the property requestRepresentationExample.

Resource: azurermApiManagementProperty

The azurermApiManagementProperty resource will be removed in favour of the azurermApiManagementNamedValue resource.

Resource: azurermApiManagement

The deprecated field securityEnabledTripleDesCiphers will be removed in favour of the securityTripleDesCiphersEnabled property.

Resource: azurermApplicationGateway

The field probeMatchStatusCode will become Required.

Resource: azurermAppService

The azurermAppService resource has been superseded by the azurermLinuxWebApp and azurermWindowsWebApp resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The field siteConfigRemoteDebuggingVersion will no longer accept the values vs2012, vs2013 and vs2015.

Resource: azurermAppServiceActiveSlot

The azurermAppServiceActiveSlot resource has been superseded by the azurermWebAppActiveSlot and azurermFunctionAppActiveSlot resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider."

Resource: azurermAppServiceCertificate

The deprecated field hostingEnvironmentProfileId will be removed in favour of the appServicePlanId property.

Resource: azurermAppServiceEnvironment

The deprecated field userWhitelistedIpRanges will be removed in favour of the allowedUserIpCidrs property.

Resource: azurermAppServicePlan

The azurermAppServicePlan resource has been superseded by the azurermServicePlan resource. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Resource: azurermAppServiceHybridConnection

The azurermAppServiceHybridConnection resource has been superseded by the azurermFunctionAppHybridConnection and azurermWebAppHybridConnection resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Resource: azurermAppServiceSlot

The azurermAppServiceSlot resource has been superseded by the azurermLinuxWebAppSlot and azurermWindowsWebAppSlot resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The field siteConfigRemoteDebuggingVersion will no longer accept the values vs2012, vs2013 and vs2015.

Resource: azurermAppServiceSourceControlToken

The azurermAppServiceSourceControlToken resource has been superseded by the azurermSourceControlToken resource. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Resource: azurermAutomationSchedule

The default value for the field timezone will be changed from utc to etc/utc.

Resource: azurermBackupPolicyFileShare

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermBackupPolicyVm

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermBackupProtectedVm

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermBatchPool

The deprecated field environment will be removed in favour of the commonEnvironmentProperties properties.

The deprecated field maxTaskRetryCount will be removed in favour of the taskRetryMaximum property.

Resource: azurermCdnEndpoint

The hostName field is being renamed to fqdn to better reflect the information held in that field.

Resource: azurermCognitiveAccount

The deprecated field networkAclsVirtualNetworkSubnetIds will be removed in favour of the networkAclsVirtualNetworkRules property.

The deprecated field outboundNetworkAccessRestrited will be removed in favour of the outboundNetworkAccessRestricted property.

Resource: azurermContainerRegistry

The field sku is now Required and no longer defaults to classic.

The field sku can no longer be set to classic as Classic Container Registries are no longer supported by Azure.

The deprecated field georeplicationLocations will be removed in favour of the georeplications property.

The deprecated field storageAccountId will be removed since it is no longer recognized by the Azure API.

Resource: azurermConsumptionBudgetSubscription

The field subscriptionId will only accept subscription resource IDs instead of subscription IDs.

Resource: azurermCostManagementExportResourceGroup

The azurermCostManagementExportResourceGroup resource will be removed in favour of the azurermResourceGroupCostManagementExport resource.

Resource: azurermCosmosdbAccount

The field capabilities will no longer accept the value enableAnalyticalStorage.

The deprecated field geolocationPrefix will be removed since it is no longer supported by the Azure API.

The deprecated field primaryMasterKey will be removed in favour of the primaryKey property.

The deprecated field secondaryMasterKey will be removed in favour of the secondaryKey property.

The deprecated field primaryReadonlyMasterKey will be removed in favour of the primaryReadonlyKey property.

The deprecated field secondaryReadonlyMasterKey will be removed in favour of the secondaryReadonlyKey property.

Resource: azurermDataFactoryDatasetAzureBlob

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDashboard

This resource is now deprecated and has been replaced by the azurermPortalDashboard resource - the azurermDashboard resource will be removed in v4.0 of the AzureRM Provider.

Resource: azurermDataFactoryDatasetBinary

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetCosmosdpSqlapi

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetDelimitedText

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetHttp

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetJson

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetMysql

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetParquet

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetPostgresql

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryDatasetSnowflake

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

The block structureColumn has been deprecated in favour of the schemaColumn property.

Resource: azurermDataFactoryDatasetSqlServerTable

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryIntegrationRuntimeAzure

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryIntegrationRuntimeAzureSsis

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryIntegrationRuntimeSelfHosted

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

The field authKey1 will be removed in favour of the primaryAuthorizationKey property

The field authKey2 will be removed in favour of the secondaryAuthorizationKey property

Resource: azurermDataFactoryLinkedServiceAzureBlobStorage

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceAzureDatabricks

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceFileStorage

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceAzureFunction

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceAzureSqlDatabase

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceAzureTableStorage

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceCosmosdbMongoapi

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceCosmosdb

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceDataLakeStorageGen2

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceKeyVault

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceMysql

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceOdata

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServicePostgresql

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceSftp

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceSnowflake

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceSqlServer

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceSynapse

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryLinkedServiceWeb

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryPipeline

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactoryTriggerSchedule

The deprecated field dataFactoryName will be removed in favour of the dataFactoryId property.

The field resourceGroupName will be removed since it can be inferred from the dataFactoryId property.

Resource: azurermDataFactory

The field customerManagedKeyIdentityId must be supplied if customerManagedKeyId is set.

Resource: azurermDataLakeAnalyticsAccount

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource: azurermDataLakeAnalyticsFirewallRule

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource azurermDataLakeStoreFile

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource azurermDataLakeStoreFirewallRule

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource azurermDataLakeStore

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource azurermDataLakeStoreVirtualNetworkRule

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource: azurermDataShareDatasetDataLakeGen1

Azure Data Lake Storage (Gen1) is deprecated and will be retired on 2024-02-29 - as new Data Lake Storage (Gen1) Accounts can no longer be provisioned - this resource is deprecated and will be removed in v3.0 of the Azure Provider. Support for DataLake Storage (Gen2) is available in the 'azurerm_storage_data_lake_gen2_filesystem' resource and Microsoft's migration documentation can be found here: https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-migrate-gen1-to-gen2.

Resource: azurermDevspaceController

The azurermDevspaceController resource will be removed since DevSpace Controllers are deprecated and new Controllers cannot be provisioned.

Resource: azurermEventgridEventSubscription

The deprecated field topicName will be removed since it is a read-only field in the Azure API.

The deprecated block eventhubEndpoint will be removed in favour of the eventhubEndpointId property.

The deprecated block hybridConnectionEndpoint will be removed in favour of the hybridConnectionEndpointId property.

Resource: azurermEventhubNamespace

The behavior of networkRulesetsXVirtualNetworkRule will be changed to Sets instead of Lists where required, meaning that the order of these items no longer matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

Resource: azurermEventhubNamespaceCustomerManagedKey

Destroying this resource will become a noop (non-operation) rather than deleting and recreating the parent EventHub Namespace - instead to remove the Customer Managed Key the parent EventHub Namespace must be tainted and recreated.

This is intentional to highlight that the EventHub Namespace - including all of it's sub-resources and any data stored within them - will need to be destroyed and recreated to remove the Customer Managed Key, due to the design of the Service.

Resource: azurermEventhubNamespaceDisasterRecoveryConfig

The deprecated field alternateName will be removed since any DRC created with an alternate cannot be deleted.

Resource: azurermFirewall

The field skuName will become Required.

The field skuTier will become Required.

The default value for the field threatIntelMode will change from "Alert" to null and will not accept "" as a valid value.

Resource: azurermFirewallPolicy

The deprecated field dnsNetworkRuleFqdnEnabled will be removed since it is no longer supported by the Azure API.

The field userAssignedIdentityIds within the identity block will be renamed to identityIds to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The computed field principalId within the identity block will be removed as this isn't applicable for this resource.

The computed field tenantId within the identity block will be removed as this isn't applicable for this resource.

Resource: azurermFrontdoor

The deprecated field backendPoolsSendReceiveTimeoutSeconds will be removed in favour of the backendPoolSettingsBackendPoolsSendReceiveTimeoutSeconds property.

The deprecated field enforceBackendPoolsCertificateNameCheck will be removed in favour of the backendPoolSettingsEnforceBackendPoolsCertificateNameCheck property.

The deprecated field location will be removed since it must always be set to global for new resources.

Resource: azurermFrontdoorRulesEngine

The default value for the field negateCondition will change from true to false.

Resource: azurermFunctionApp

The azurermFunctionApp resource has been superseded by the azurermLinuxFunctionApp and azurermWindowsFunctionApp resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The deprecated field clientAffinityEnabled will be removed since it is no longer configurable.

The deprecated field storageConnectionString will be removed in favour of the storageAccountName and storageAccountAccessKey properties.

The field storageAccountName will become required.

The field storageAccountAccessKey will become required.

Resource: azurermFunctionAppHostKeys

The deprecated field masterKey will be removed in favour of the primaryKey property.

Resource: azurermFunctionAppSlot

The azurermFunctionAppSlot resource has been superseded by the azurermLinuxFunctionAppSlot and azurermWindowsFunctionAppSlot resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The deprecated field clientAffinityEnabled will be removed since it is no longer configurable.

Resource: azurermHdinsightHadoopCluster

The deprecated field gatewayEnabled will be removed since HDInsight does not support disabling gateways.

The deprecated field headNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field workerNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field zookeeperWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

Resource: azurermHdinsightHbaseCluster

The deprecated field gatewayEnabled will be removed since HDInsight does not support disabling gateways.

The deprecated field headNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field workerNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field zookeeperWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

Resource: azurermHdinsightInteractiveQueryCluster

The deprecated field gatewayEnabled will be removed since HDInsight does not support disabling gateways.

The deprecated field headNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field workerNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field zookeeperWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

Resource: azurermHdinsightKafkaCluster

The deprecated field gatewayEnabled will be removed since HDInsight does not support disabling gateways.

The deprecated field headNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field workerNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field zookeeperWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field kafkaManagementWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

The field securityGroupName will become Required.

Resource: azurermHdinsightMlServicesCluster

The azurermHdinsightMlServicesCluster resource will be removed since MLServices will not be supported in HDInsight 4.0 (more information can be found here).

Resource: azurermHdinsightRserverCluster

The azurermHdinsightRserverCluster resource will be removed since R Server will not be supported in HDInsight 4.0 (more information can be found here).

Resource: azurermHdinsightSparkCluster

The deprecated field gatewayEnabled will be removed since HDInsight does not support disabling gateways.

The deprecated field headNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field workerNodeMinInstanceCount will be removed since it is no longer supported by the Azure API.

The deprecated field zookeeperWorkerMinInstanceCount will be removed since it is no longer supported by the Azure API.

Resource: azurermHdinsightStormCluster

The azurermHdinsightStormCluster resource will be removed since Apache Storm will not be supported in HDInsight 4.0 (more information can be found here).

Resource: azurermHpcCache

The deprecated field accessRuleRootSquashEnabled will be removed in favour of defaultAccessPolicyAccessRuleRootSquashEnabled.

Resource: azurermIothub

The deprecated ipFilterRule block will be removed in favour of the networkRuleSet block.

Resource: azurermIothubDps

The default value for the field allocationWeight within the linkedHub block will change from 0 to 1.

Resource: azurermIothubEndpointEventhub

The deprecated field iothubName will be removed in favour of iothubId.

Resource: azurermIothubEndpointServicebusQueue

The deprecated field iothubName will be removed in favour of iothubId.

Resource: azurermIothubEndpointServicebusTopic

The deprecated field iothubName will be removed in favour of iothubId.

Resource: azurermIothubEndpointStorageContainer

The deprecated field iothubName will be removed in favour of iothubId.

Resource: azurermIotSecurityDeviceGroup

The deprecated field connectionToIpNotAllowed will be removed in favour of the connectionToIpsNotAllowed property.

The deprecated field localUserNotAllowed will be removed in favour of the localUsersNotAllowed property.

The deprecated field processNotAllowed will be removed in favour of the processesNotAllowed property.

Resource: azurermKeyVault

The deprecated field softDeleteEnabled will be removed since it is no longer possible to disable this.

The casing on the values for the certificatePermissions field have been updated to use TitleCase (e.g. setissuers -> setIssuers).

The casing on the values for the keyPermissions field have been updated to use TitleCase (e.g. unwrapKey -> unwrapKey).

The casing on the values for the secretPermissions field have been updated to use TitleCase (e.g. purge -> purge).

The casing on the values for the storagePermissions field have been updated to use TitleCase (e.g. regenerateKey -> regenerateKey).

Resource: azurermKeyVaultAccessPolicy

The casing on the values for the certificatePermissions field have been updated to use TitleCase (e.g. setissuers -> setIssuers).

The casing on the values for the keyPermissions field have been updated to use TitleCase (e.g. unwrapKey -> unwrapKey).

The casing on the values for the secretPermissions field have been updated to use TitleCase (e.g. purge -> purge).

The casing on the values for the storagePermissions field have been updated to use TitleCase (e.g. regenerateKey -> regenerateKey).

Resource: azurermKeyVaultCertificate

The field x509CertificateProperties0KeyUsage will be moved from a List to a Set, meaning that the order of these items no longer matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

Resource: azurermKeyVaultKey

The field curve will no longer accept the value secp256K1 since it was renamed to p256K.

Resource: azurermKubernetesCluster

The deprecated field privateLinkEnabled will be removed in favour of the privateClusterEnabled property.

The deprecated block addonProfile will be removed and all properties within the block will be moved or replaced at the top level, exact details on this change are outlined below.

The deprecated block addonProfileAzurePolicy will be removed in favour of the azurePolicyEnabled boolean property.

The deprecated block addonProfileHttpApplicationRouting will be removed in favour of the httpApplicationRoutingEnabled boolean property.

The deprecated field addonProfileHttpApplicationRoutingZoneName will be removed in favour of the httpApplicationRoutingZoneName property.

The deprecated block addonProfileOpenServiceMesh will be removed in favour of the openServiceMeshEnabled boolean property.

The deprecated block addonProfileKubeDashboard will be removed since Kube Dashboard is not supported for Kubernetes versions above 1.19.

The deprecated block addonProfileAciConnectorLinux will be removed in favour of the aciConnectorLinux block.

The deprecated field addonProfileAciConnectorLinuxEnabled will be removed and the enablement/disablement of the addon will be determined by the presence or absence of the aciConnectorLinux block.

The deprecated field addonProfileAciConnectorLinuxSubnetName will be removed in favour of the aciConnectorLinuxSubnetName property and will become Required.

The deprecated block addonProfileOmsAgent will be removed in favour of the omsAgent block.

The deprecated field addonProfileOmsAgentEnabled will be removed and the enablement/disablement of the addon will be determined by the presence or absence of the omsAgent block.

The deprecated field addonProfileOmsAgentLogAnalyticsWorkspaceId will be removed in favour of the omsAgentLogAnalyticsWorkspaceId property and will become Required.

The deprecated block addonProfileIngressApplicationGateway will be removed in favour of the ingressApplicationGateway block.

The deprecated field addonProfileIngressApplicationGatewayEnabled will be removed and the enablement/disablement of the addon will be determined by the presence or absence of the ingressApplicationGateway block.

The deprecated block addonProfileAzureKeyvaultSecretsProvider will be removed in favour of the keyVaultSecretsProvider block.

The deprecated field addonProfileAzureKeyvaultSecretsProviderEnabled will be removed and the enablement/disablement of the addon will be determined by the presence or absence of the keyVaultSecretsProvider block.

The field defaultNodePoolAvailabilityZones will be removed in favour of defaultNodePoolZones to be consistent across the Provider.

The deprecated field privateLinkEnabled will be removed in favour of the privateClusterEnabled property.

The deprecated block roleBasedAccessControl will be removed in favour of the property roleBasedAccessControlEnabled and the block azureActiveDirectoryRoleBasedAccessControl.

The field userAssignedIdentityIds within the identity block will be renamed to identityIds to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

Resource: azurermKubernetesClusterNodePool

The field availabilityZones will be removed in favour of zones to be consistent across the Provider.

Resource: azurermKustoCluster

The deprecated field enableAutoStop will be removed in favour of the autoStopEnabled property.

The deprecated field enableDiskEncryption will be removed in favour of the diskEncryptionEnabled property.

The deprecated field enableStreamingIngest will be removed in favour of the streamingIngestionEnabled property.

The field trustedExternalTenants will no longer accept myTenantOnly as a valid value.

Resource: azurermKustoDatabasePrincipal

The azurermKustoDatabasePrincipal resource will be removed in favour of the azurermKustoDatabasePrincipalAssignment resource.

Resource: azurermLbBackendAddressPool

The deprecated field resourceGroupName will be removed since it will be inferred from the loadbalancerId.

The deprecated field backendAddress will be removed since it is no longer functional, the azurermLbBackendAddressPoolAddress resource can be used instead.

Resource: azurermLb

The fields availabilityZone and zones will be consolidated into zones.

Resource: azurermLbOutboundRule

The deprecated field resourceGroupName will be removed since it can be inferred from the loadbalancerId.

Resource: azurermLbProbe

The deprecated field resourceGroupName will be removed since it can be inferred from the loadbalancerId.

Resource: azurermLbRule

The deprecated field backendAddressPoolId will be removed in favour of backendAddressPoolIds.

The deprecated field resourceGroupName will be removed since it can be inferred from the loadbalancerId.

Resource: azurermLinuxVirtualMachineScaleSet

The deprecated field dataDiskDiskIopsReadWrite will be removed in favour of the dataDiskUltraSsdDiskIopsReadWrite property.

The deprecated field dataDiskDiskMbpsReadWrite will be removed in favour of the dataDiskUltraSsdDiskMbpsReadWrite property.

Resource: azurermLogAnalyticsLinkedService

The deprecated field workspaceName will be removed in favour of workspaceId.

The deprecated field linkedServiceName will be removed.

The deprecated field resourceId will be removed in favour of readAccessId.

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermLogAnalyticsStorageInsights

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermLogAnalyticsWorkspace

The deprecated field reservationCapcityInGbPerDay will be removed in favour of reservationCapacityInGbPerDay.

The deprecated field portalUrl will be removed since it is no longer supported by the Azure API.

Resource: azurermManagedDisk

The field zones has been renamed zone (as this only accepts a single value) to be consistent across the Provider.

Resource: azurermMachineLearning

The field skuName no longer accepts the value enterprise (more information on this here).

Resource azurermMachineLearningComputeCluster

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The type field within the identity block now requires that the value systemAssigned,userAssigned is systemAssigned,UserAssigned to be consistent with other identity blocks.

Resource azurermMachineLearningComputeInstance

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The type field within the identity block now requires that the value systemAssigned,userAssigned is systemAssigned,UserAssigned to be consistent with other identity blocks.

Resource azurermMachineLearningInferenceCluster

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The type field within the identity block now requires that the value systemAssigned,userAssigned is systemAssigned,UserAssigned to be consistent with other identity blocks.

Resource azurermMachineLearningSynapseSpark

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The type field within the identity block now requires that the value systemAssigned,userAssigned is systemAssigned,UserAssigned to be consistent with other identity blocks.

Resource azurermMachineLearningWorkspace

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

Resource: azurermManagementGroup

The deprecated field groupId will be removed in favour of name.

Resource: azurermMariadb

The field autoGrowEnabled will default to true.

The deprecated field sslEnforcement will be removed in favour of the sslEnforcementEnabled boolean property.

The block storageProfile will be removed and all properties within the block will be moved to the top level.

The deprecated field storageProfileAutoGrow will be removed in favour of the autoGrowEnabled property.

The deprecated field storageProfileGeoRedundantBackup will be removed in favour of the geoRedundantBackupEnabled property.

Resource: azurermMonitorScheduledQueryRulesAlert

The field customWebhookPayload will not longer be computed and populated with the default value "{}".

Resource: azurermMssqlDatabase

The deprecated block extendedAuditingPolicy will be removed and replaced by the azurermMssqlDatabaseExtendedAuditingPolicy resource.

The deprecated field useServerDefault within the threatDetectionPolicy block will be removed since it is now non-functional.

Resource: azurermMssqlServer

The deprecated block extendedAuditingPolicy will be removed and replaced by the azurermMssqlServerExtendedAuditingPolicy resource.

The default value of the field minimumTlsVersion will be set to 12.

The field userAssignedIdentityIds within the identity block will be renamed to identityIds to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

Resource: azurermMysqlServer

The field autoGrowEnabled will default to true.

The deprecated field sslEnforcement will be removed in favour of the sslEnforcementEnabled boolean property.

The default value of the field sslMinimalTlsVersionEnforced will change from tlsEnforcementDisabled to tls12.

The block storageProfile will be removed and all properties within the block will be moved to the top level.

The deprecated field storageProfileAutoGrow will be removed in favour of the autoGrowEnabled property.

The deprecated field storageProfileGeoRedundantBackup will be removed in favour of the geoRedundantBackupEnabled property.

Resource: azurermNetappSnapshot

The deprecated field tags will be removed since it is no longer supported by the Azure API.

Resource: azurermNetappVolume

The deprecated fields cifsEnabled, nfsv3Enabled and nfsv4Enabled will be removed in favour of the protocolsEnabled property.

Resource: azurermNatGateway

The deprecated field publicIpAddressIds will be removed in favour of the azurermNatGatewayPublicIpAssociation resource.

The deprecated field publicIpPrefixIds will be removed in favour of the azurermNatGatewayPublicIpPrefixAssociation resource.

Resource: azurermNetworkConnectionMonitor

The deprecated blocks destination and source will be removed since they belong to the v1 network connection monitor API which is now deprecated and replaced by v2.

The deprecated fields autoStart, intervalInSeconds will be removed since they belong to the v1 network connection monitor API which is now deprecated and replaced by v2.

The deprecated field virtualMachineId within the endpoint block will be removed in favour of the targetResourceId property (also within the endpoint block).

Resource: azurermNetworkWatcherFlowLog

The field name will become Required.

Resource: azurermOrchestratedVirtualMachineScaleSet

The deprecated field dataDiskDiskIopsReadWrite will be removed in favour of the dataDiskUltraSsdDiskIopsReadWrite property.

The deprecated field dataDiskDiskMbpsReadWrite will be removed in favour of the dataDiskUltraSsdDiskMbpsReadWrite property.

Resource: azurermPacketCapture

The azurermPacketCapture resource will be removed in favour of the renamed azurermNetworkPacketCapture resource.

Resource: azurermPolicyAssignment

The azurermPolicyAssignment resource will be removed in favour of the azurermManagementGroupPolicyAssignment, azurermResourcePolicyAssignment, azurermResourceGroupPolicyAssignment and azurermSubscriptionPolicyAssignment resources.

Resource: azurermPolicyDefinition

The deprecated field managementGroupName will be removed in favour of the managementGroupId property.

Resource: azurermPolicyRemediation

The azurermPolicyRemediation resource will be removed in favour of the azurermManagementGroupPolicyRemediation, azurermResourcePolicyRemediation, azurermResourceGroupPolicyRemediation and azurermSubscriptionPolicyRemediation resources.

Resource: azurermPolicySetDefinition

The deprecated field managementGroupName will be removed in favour of the managementGroupId property.

The deprecated field policyDefinitionReferenceParameters will be removed in favour of the policyDefinitionReferenceParameterValues property.

The deprecated field policyDefinitions will be removed in favour of the policyDefinitionReference block.

Resource: azurermPolicyVirtualMachineConfigurationAssignment

The deprecated field name within the configuration block will be removed since it is no longer used.

Resource: azurermPostgresqlFlexibleServer

The deprecated field cmkEnabled will be removed since it is no longer supported by the Azure API.

Resource: azurermPostgresqlServer

The field autoGrowEnabled will default to true.

The default value of the field sslMinimalTlsVersionEnforced will change from tlsEnforcementDisabled to tls12.

The block storageProfile will be removed and all properties within the block will be moved to the top level.

The deprecated field storageProfileStorageMb has been moved to the top level.

The deprecated field storageProfileBackupRetentionDays has been moved to the top level.

The deprecated field storageProfileAutoGrow has been moved to the top level.

The deprecated field storageProfileGeoRedundantBackup has been moved to the top level.

The deprecated field sslEnforcement will be removed in favour of the sslEnforcementEnabled boolean property.

The field version will become case-sensitive.

Resource: azurermPublicIpPrefix

The fields availabilityZone and zones will be consolidated into zones.

Resource: azurermPublicIp

The fields availabilityZone and zones will be consolidated into zones.

Resource: azurermPurviewAccount

The deprecated field skuName will be removed since this property can no longer be specified on create/update.

The identity block is now required to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information. You will need to add:

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.purviewAccount.PurviewAccount(this, "example", {
  identity: [
    {
      type: "SystemAssigned",
    },
  ],
});

Resource: azurermRedisCache

The default value for the field minimumTlsVersion will change from 10 to 12.

Resource: azurermRedisEnterpriseCluster

The deprecated field version will be removed since it is not returned by the Azure API.

Resource: azurermRedisLinkedServer

The field serverRole will become case-sensitive.

Resource: azurermRouteTable

The field route will be moved from a List to a Set, meaning that the order of these items no longer matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

Resource: azurermTemplateDeployment

The resource azurermTemplateDeployment will be deprecated in favour of the azurermTenantTemplateDeployment, azurermSubscriptionTemplateDeployment, azurermManagementGroupTemplateDeployment and azurermResourceGroupTemplateDeployment resources.

Resource: azurermSecurityCenterAssessmentMetadata

The azurermSecurityCenterAssessmentMetadata resource will be removed in favour of the renamed azurermSecurityCenterAssessmentPolicy resource.

Resource: azurermSecurityCenterServerVulnerabilityAssessment

This resource is now deprecated and will be removed in v4.0 of the AzureRM Provider - use the azurermSecurityCenterServerVulnerabilityAssessmentVirtualMachine resource instead.

Resource: azurermSentinelAlertRuleMsSecurityIncident

The deprecated field textWhitelist will be removed in favour of the displayNameFilter property.

Resource: azurermSentinelAlertRuleScheduled

The field entityMatchingMethod can no longer be set to the legacy values all, custom or none - use anyAlert, selected and allEntities instead.

The field groupBy will be renamed to groupByEntities.

Resource: azurermServicebusQueue

The deprecated field namespaceName will be removed in favour of the namespaceId.

The deprecated field resourceGroupName will be removed since it can be inferred from the namespaceId.

Resource: azurermServicebusQueueAuthorizationRule

The deprecated field queueName will be removed in favour of the queueId.

The deprecated field namespaceName will be removed since it can be inferred from the queueId.

The deprecated field resourceGroupName will be removed since it can be inferred from the queueId.

Resource: azurermServicebusNamespaceAuthorizationRule

The deprecated field namespaceName will be removed in favour of the namespaceId.

The deprecated field resourceGroupName will be removed since it can be inferred from the namespaceId.

Resource: azurermServicebusNamespaceNetworkRuleSet

The deprecated field namespaceName will be removed in favour of the namespaceId.

The deprecated field resourceGroupName will be removed since it can be inferred from the namespaceId.

Resource: azurermServicebusSubscription

The deprecated field topicName will be removed in favour of the topicId.

The deprecated field namespaceName will be removed since it can be inferred from the topicId.

The deprecated field resourceGroupName will be removed since it can be inferred from the topicId.

Resource: azurermServicebusSubscriptionRule

The deprecated field subscriptionName will be removed in favour of the subscriptionId.

The deprecated field topicName will be removed since it can be inferred from the subscriptionId.

The deprecated field namespaceName will be removed since it can be inferred from the subscriptionId.

The deprecated field resourceGroupName will be removed since it can be inferred from the subscriptionId.

Resource: azurermServicebusTopic

The deprecated field namespaceName will be removed in favour of the namespaceId.

The deprecated field resourceGroupName will be removed since it can be inferred from the subscriptionId.

Resource: azurermServicebusTopicAuthorizationRule

The deprecated field topicName will be removed in favour of the topicId.

The deprecated field namespaceName will be removed since it can be inferred from the topicId.

The deprecated field resourceGroupName will be removed since it can be inferred from the topicId.

Resource: azurermServiceFabricMeshApplication

The resource azurermServiceFabricMeshApplication will be removed since Service Fabric Mesh will be retired (more information can be found here)

Resource: azurermServiceFabricMeshLocalNetwork

The resource azurermServiceFabricMeshLocalNetwork will be removed since Service Fabric Mesh will be retired (more information can be found here)

Resource: azurermServiceFabricMeshSecret

The resource azurermServiceFabricMeshLocalNetwork will be removed since Service Fabric Mesh will be retired (more information can be found here)

Resource: azurermServiceFabricMeshSecretValue

The resource azurermServiceFabricMeshSecretValue will be removed since Service Fabric Mesh will be retired (more information can be found here)

Resource: azurermSignalrService

The block features will be removed in favour of the connectivityLogsEnabled, messagingLogsEnabled, liveTraceEnabled and serviceMode properties.

Resource: azurermSqlDatabase

The deprecated field useServerDefault within the threatDetectionPolicy block will be removed since it is no longer used.

The deprecated block extendedAuditingPolicy will be removed and replace by the azurermMssqlDatabaseExtendedAuditingPolicy resource.

Resource: azurermSqlServer

The deprecated block extendedAuditingPolicy will be removed and replace by the azurermMssqlServerExtendedAuditingPolicy resource.

Resource: azurermSpringCloudJavaDeployment

The deprecated field cpu will be removed in favour of the quotaCpu property.

The deprecated field memoryInGb will be removed in favour of the quotaMemory property.

Resource: azurermSpringCloudService

The deprecated field instrumentationKey will be removed since it is no longer supported by the Azure API.

Resource: azurermStorageAccount

The default value for the field minTlsVersion will change from tls10 to tls12.

The field allowBlobPublicAccess will be removed in favour of the allowNestedItemsToBePublic property.

The field customerManagedKey is no longer Computed - this means that if you wish to manage CMK via the azurermStorageAccountCustomerManagedKey resource, you must use ignoreChanges on the customerManagedKey field.

The identity block will be made consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information.

The type field within the identity block now requires that the value systemAssigned,userAssigned is systemAssigned,UserAssigned to be consistent with other identity blocks.

Resource: azurermStorageAccountNetworkRules

The deprecated field storageAccountName will be removed in favour of the storageAccountId property.

The deprecated field resourceGroupName will be removed since it can be inferred from the storageAccountId property.

Resource: azurermStorageBlobInventoryPolicy

The deprecated field storageContainerName will be removed as it is no longer functional.

Resource: azurermStorageManagementPolicy

The default value for the field actionsBaseBlobTierToCoolAfterDaysSinceModificationGreaterThan will change from null to 1.

The default value for the field actionsBaseBlobTierToArchiveAfterDaysSinceModificationGreaterThan will change from null to 1.

The default value for the field actionsBaseBlobDeleteAfterDaysSinceModificationGreaterThan will change from null to 1.

The default value for the field actionsSnapshotDeleteAfterDaysSinceCreationGreaterThan will change from null to 1.

Resource: azurermStorageDisksPool

This resource will be removed in favour of the azurermDiskPool resource.

Resource: azurermSubnet

The deprecated field addressPrefix will be removed in favour of the addressPrefixes property.

The field serviceEndpoints will be moved from a List to a Set, meaning that the order of these items no longer matters. Note that if you're referencing these nested items within your Terraform Configuration, then this may require some code changes.

Resource: azurermSynapseRoleAssignment

The field roleName will no longer accept the values workspaceAdmin, apacheSparkAdmin and sqlAdmin.

Resource: azurermSynapseSparkPool

The field sparkVersion will no longer accept the value 30.

Resource: azurermSynapseWorkspace

The identity block is now required to be consistent across the Provider - see the dedicated issue on how Identity is changing in 3.0 for more information. You will need to add:

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.synapseWorkspace.SynapseWorkspace(this, "example", {
  identity: [
    {
      type: "SystemAssigned",
    },
  ],
});

Resource: azurermSynapseWorkspaceKey

The deprecated field cusomterManagedKeyName will be removed in favour of the customerManagedKeyName property.

Resource: azurermTrafficManagerEndpoint

The resource azurermTrafficManagerEndpoint will be removed in favour of the azurermTrafficManagerAzureEndpoint, azurermTrafficManagerExternalEndpoint and azurermTrafficManagerNestedEndpoint resources.

Resource: azurermVirtualDesktopHostPool

The deprecated registrationInfo block will be removed - use the azurermVirtualDesktopHostPoolRegistrationInfo block instead.

Resource: azurermVirtualHubConnection

The deprecated field hubToVitualNetworkTrafficAllowed will be removed since it is no longer supported by the Azure API.

The deprecated field vitualNetworkToHubGatewaysTrafficAllowed will be removed since it is no longer supported by the Azure API.

Resource: azurermVirtualHubIp

The field publicIpAddressId will become Required.

Resource: azurermVirtualMachineConfigurationPolicyAssignment

The azurermVirtualMachineConfigurationPolicyAssignment resource will be removed in favour of the azurermPolicyVirtualMachineConfigurationAssignment resource.

Resource: azurermVirtualMachineScaleSet

The azurermVirtualMachineScaleSet resource has been superseded by the azurermLinuxVirtualMachineScaleSet and azurermWindowsVirtualMachineScaleSet resources. Whilst this resource will continue to be available in the 2.x and 3.x releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.

Resource: azurermVirtualNetwork

The deprecated field vmProtectionEnabled will be removed in favour of the ddosProtectionPlan property.

Resource: azurermVirtualNetworkGateway

The deprecated field peeringAddress within the bgpSettings block will be removed in favour of the defaultAddresses property (also within the bgpSettings block).

Resource: azurermVirtualWan

The deprecated field allowVnetToVnetTraffic will be removed since it is no longer supported by the Azure API.

Resource: azurermVpnGatewayConnection

The deprecated field propagatedRouteTables will be removed in favour of the propagatedRouteTable property.

Resource: azurermVpnServerConfiguration

The deprecated field radiusServer will be removed in favour of the radius property.

Resource: azurermWindowsVirtualMachineScaleSet

The deprecated field dataDiskDiskIopsReadWrite will be removed in favour of the dataDiskUltraSsdDiskIopsReadWrite property.

The deprecated field dataDiskDiskMbpsReadWrite will be removed in favour of the dataDiskUltraSsdDiskMbpsReadWrite property.