Error: Unsupported argument in terraform sku block

Error: Unsupported argument in terraform sku block

我正在为应用程序服务计划编写 Terraform 脚本,但在执行 Terraform 计划时遇到一些问题

我的应用服务计划是这样的:

resource "azurerm_app_service_plan" "app_plan" {
  name                = var.app_service_plan_name
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  kind                = var.app_service_plan_so
  reserved            = true
  sku {
    tier = "Basic"
    size = "B1"
  }

这确实有效。

问题是当我这样定义我的 sku 时:

sku {
    tier = var.app_service_plan_sku_tier.tier_name
    size = var.app_service_plan_sku_size.plan_size
  }

在我的variable.tf文件中,sku变量定义如下

variable "app_service_plan_sku_tier" {
  tier_name = "Basic"
}
  variable "app_service_plan_sku_size" {
    plan_size = "B1"
}

在第二个例子中,你得到了这个错误

我还尝试将变量 plan_tier 重命名为 tier。与计划大小相同。

谁能告诉我为什么会出现这个错误?

谢谢!

您应该像这样声明一个输入变量值:

variable "app_service_plan_sku_tier" {
  type = string
  default = "Basic"

}
  variable "app_service_plan_sku_size" {
    type = string
    default = "B1"
}

并像这样参考 SKU:

sku {
    tier = var.app_service_plan_sku_tier
    size = var.app_service_plan_sku_size
  }

引用自https://www.terraform.io/docs/language/values/variables.html#declaring-an-input-variable