Я думаю, вам нужно указать это в блоке app_service_plan
Kind = "Linux"
kind - (Необязательно) Тип создаваемого плана обслуживания приложения.Возможные значения: Windows (также доступна как приложение), Linux и FunctionApp (для плана потребления).По умолчанию Windows.Изменение этого параметра приводит к созданию нового ресурса.
ПРИМЕЧАНИЕ. При создании плана обслуживания приложения Linux для зарезервированного поля должно быть установлено значение true.
Пример из Terraform doc
resource "azurerm_resource_group" "test" {
name = "azure-functions-cptest-rg"
location = "westus2"
}
resource "azurerm_storage_account" "test" {
name = "functionsapptestsa"
resource_group_name = "${azurerm_resource_group.test.name}"
location = "${azurerm_resource_group.test.location}"
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_app_service_plan" "test" {
name = "azure-functions-test-service-plan"
location = "${azurerm_resource_group.test.location}"
resource_group_name = "${azurerm_resource_group.test.name}"
kind = "Linux"
sku {
tier = "Dynamic"
size = "Y1"
}
properties {
reserved = true
}
}
resource "azurerm_function_app" "test" {
name = "test-azure-functions"
location = "${azurerm_resource_group.test.location}"
resource_group_name = "${azurerm_resource_group.test.name}"
app_service_plan_id = "${azurerm_app_service_plan.test.id}"
storage_connection_string = "${azurerm_storage_account.test.primary_connection_string}"
}