azurerm_function_app 上的 Terraform use_msi

Terraform use_msi on azurerm_function_app

我正在尝试 运行 具有 azurerm_function_app 的地形规划。我有这个供应商:

provider "azuread" {
  use_msi = true
}

在我的 azurerm_function_app 块中:

  identity = {
    type = "SystemAssigned"
  }

不幸的是我的计划一直在说:

Error: Unsupported argument

  on main.tf line 62, in resource "azurerm_app_service_plan" "example":
  62:     identity = {

An argument named "identity" is not expected here.

我已经在门户中添加了 SystemAssigned 身份,但我的 Terraform 计划没有选择它。

如何将 MSI 添加到 azurerm_app_service_plan?

azurerm_function_app 资源中,identity 被记录为块而不是参数。虽然参数需要紧跟其后的 = 语法(并且可能包含具有 {} 语法的映射类型),但块需要紧跟其后的 {} 语法。该块将包含任何相关参数。

因此,我们可以相应地更新您的资源以满足语法要求:

resource "azurerm_function_app" "my_function" {
  ...
  identity {
    type = "SystemAssigned"
  }
  ...
}

并修复错误。