I'm trying to deploy a python azure function to azure and I'm not able to do it with version 3.10, If I use version 3.9 it works. The weird thing is that Azure supports version 3.10, Terraform says it supports version 3.10. So what's the mistake?
ERROR
**Error: expected site_config.0.application_stack.0.python_version to be one of [3.9 3.8 3.7], got 3.10
│
│ with azurerm_linux_function_app.fn_analytics,
│ on python_analytics_functions.tf line 65, in resource "azurerm_linux_function_app" "fn_analytics":
│ 65: python_version = "3.10"**
Scripts
resource "azurerm_service_plan" "asp_analytics" {
name = "<funct plan name>"
location = var.location
resource_group_name = var.resource_group
os_type = "Linux"
sku_name = "Y1"
}
resource "azurerm_linux_function_app" "fn_analytics" {
name = "<func name>"
location = var.location
resource_group_name = var.resource_group
storage_account_name = azurerm_storage_account.safn.name
storage_account_access_key = azurerm_storage_account.safn.primary_access_key
service_plan_id = azurerm_service_plan.asp_analytics.id
identity {
type = "SystemAssigned"
}
app_settings = {
...
}
site_config {
application_stack {
python_version = "3.10"
}
}
}
It is a very transient issue which is related to the versions of terraform providers.
Run
terraform init -upgradeto avoid the version conflicts.Alternatively, you can use latest release of azurerm provider version by adding below block directly in your terraform code.
I have tried below code in my environment and was able to deploy it successfully as shown.
Note: If you are running code in Azure CLI, check the version of it and upgrade it to the latest one using
az upgradecommand.Deployment succeeded: