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
useMicrosoftGraphfromfalsetotrue) - 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:
- New Data Sources and Resources for App Service and Function Apps
- Soft Delete Recovery/Purging for Certificates, Keys, and Secrets
- Switching to Microsoft Authentication Library (MSAL)
- Updates to existing behaviors for Application Gateway, API Management, Resource Groups, Storage, among others
- Removal of Deprecated Fields, Data Sources, and Resources
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:
- azurerm_linux_function_app
- azurerm_linux_web_app
- azurerm_service_plan
- azurerm_source_control_token
- azurerm_windows_function_app
- azurerm_windows_web_app
The following new Resources will be available:
- azurerm_app_service_source_control
- New Resource to apply Source Control configuration to Web and Function Apps (for use with Linux and Windows based versions)
- azurerm_app_service_source_control_slot
- New Resource to apply Source Control configuration to Web and Function App Slots (for use with Linux and Windows based versions)
- azurerm_function_app_active_slot
- Supersedes
azurermAppServiceActiveSlotfor both Linux and Windows based Function Apps. - azurerm_function_app_hybrid_connection
- Supersedes
azurermAppServiceHybridConnectionfor Hybrid Connections on Linux and Windows based Web Apps - azurerm_linux_function_app
- Supersedes
azurermFunctionAppfor Linux based Function Apps - azurerm_linux_function_app_slot
- Supersedes
azurermFunctionAppSlotfor Deployment Slots on Linux based Function Apps - azurerm_linux_web_app
- Supersedes
azurermAppServicefor Linux based Web Apps - azurerm_linux_web_app_slot
- Supersedes
azurermAppServiceSlotfor Deployment Slots on Linux based Web Apps - azurerm_service_plan
- Supersedes
azurermAppServicePlan - azurerm_source_control_token
- Supersedes
azurermAppServiceSourceControlToken - azurerm_web_app_active_slot
- Supersedes
azurermAppServiceActiveSlotfor both Linux and Windows based Web Apps. - azurerm_web_app_hybrid_connection
- Supersedes
azurermAppServiceHybridConnectionfor Hybrid Connections on Linux and Windows based Web Apps - azurerm_windows_function_app
- Supersedes
azurermFunctionAppfor Windows based Function Apps. - azurerm_windows_function_app_slot
- Supersedes
azurermFunctionAppSlotfor Deployment Slots on Windows based Function Apps - azurerm_windows_web_app
- Supersedes
azurermAppServicefor Windows based Web Apps. - azurerm_windows_web_app_slot
- Supersedes
azurermAppServiceSlotfor Deployment Slots on Windows based Web Apps
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
ignoreChangeson thezone/zonesfield.
When the resource can be provisioned across multiple Zones, the following behaviours apply:
- To provision the resource without any Zones (zoneless) - omit the
zonesfield. - To provision the resource in a single Zone, specify one zone for the
zonesfield (e.g.zones = ["1"]) - To provision the resource across multiple Zones (Zone Redundant), specify all of Availability Zones for the
zonesfield (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 newazurermIothubresource, a Fallback Route will be enabled by default.azurermMssqlDatabase- The new fieldtransparentDataEncryptionEnabledwill be set totrueand can not be disabled on servers with SKUs other than ones starting withdw.azurermStorageShare- Thequotaproperty is now required instead of defaulting to5120GB.
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.