We want to give a heads-up to Azure customers who are using Terraform to provision and manage MySQL and/or PostgreSQL. As planned, the Azure data team will deprecate their ‘2017-04-30-preview’ API for both MySQL and PostgreSQL on December 1, 2018.

I know that you are asking yourself, “As a Terraform user, why do I care?” Well, this API was used by the AzureRM provider up to version 1.5.0 and if you are using one of these versions of the provider after the API is deprecated, your configurations will break.

We did note this in our changelog from the 1.6.0 release of the AzureRM Terraform provider back in May, so most of you should be all set, but I am sure that some of you are still using version 1.5.0 or earlier with the MySQL and/or PostgreSQL Azure Terraform resources.

If you are using any of the following resources, please double-check to ensure that you are using version 1.6.0 or later of the AzureRM provider as soon as possible.

MySQL resources
  • azurerm_mysql_configuration
  • azurerm_mysql_database
  • azurerm_mysql_firewall_rule
  • azurerm_mysql_server
  • azurerm_mysql_virtual_network_rule
PostgreSQL resources
  • azurerm_postgresql_configuration
  • azurerm_postgresql_database
  • azurerm_postgresql_firewall_rule
  • azurerm_postgresql_server
  • azurerm_postgresql_virtual_network_rule

If you are using version 1.5.0 or earlier of the AzureRM Terraform provider with any of the above resources you will need to do the following:

  1. Update your configurations that use these resources to use AzureRM Terraform provider 1.6.0 or later.
provider "azurerm" {
    version         = "~>1.6"
}
  1. Since there is a new required “sku” block for the azurerm_mysql_server and azurerm_postgresql_server resources in the GA APIs, you will need to add this to your configurations. See the documentation for azurerm_mysql_server and azurerm_postgresql_server for details on this required block.
Questions or feedback? Let us know in the comments.