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
fromfalse
totrue
) - 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
azurermAppServiceActiveSlot
for both Linux and Windows based Function Apps. - azurerm_function_app_hybrid_connection
- Supersedes
azurermAppServiceHybridConnection
for Hybrid Connections on Linux and Windows based Web Apps - azurerm_linux_function_app
- Supersedes
azurermFunctionApp
for Linux based Function Apps - azurerm_linux_function_app_slot
- Supersedes
azurermFunctionAppSlot
for Deployment Slots on Linux based Function Apps - azurerm_linux_web_app
- Supersedes
azurermAppService
for Linux based Web Apps - azurerm_linux_web_app_slot
- Supersedes
azurermAppServiceSlot
for Deployment Slots on Linux based Web Apps - azurerm_service_plan
- Supersedes
azurermAppServicePlan
- azurerm_source_control_token
- Supersedes
azurermAppServiceSourceControlToken
- azurerm_web_app_active_slot
- Supersedes
azurermAppServiceActiveSlot
for both Linux and Windows based Web Apps. - azurerm_web_app_hybrid_connection
- Supersedes
azurermAppServiceHybridConnection
for Hybrid Connections on Linux and Windows based Web Apps - azurerm_windows_function_app
- Supersedes
azurermFunctionApp
for Windows based Function Apps. - azurerm_windows_function_app_slot
- Supersedes
azurermFunctionAppSlot
for Deployment Slots on Windows based Function Apps - azurerm_windows_web_app
- Supersedes
azurermAppService
for Windows based Web Apps. - azurerm_windows_web_app_slot
- Supersedes
azurermAppServiceSlot
for 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
ignoreChanges
on thezone
/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 newazurermIothub
resource, a Fallback Route will be enabled by default.azurermMssqlDatabase
- The new fieldtransparentDataEncryptionEnabled
will be set totrue
and can not be disabled on servers with SKUs other than ones starting withdw
.azurermStorageShare
- Thequota
property is now required instead of defaulting to5120
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.