Terraform 不接受 "web_app" 模块上的块参数

Terraform not accepting block parameters on "web_app" Module

我正在尝试通过 Terraform 创建 Web 应用程序,新的 azurerm 提供程序 3.0 已经发布,因此新模块 azurerm_windows_web_app。文档指出块 application_stack 支持以下内容:current_stack、docker、Java 等

azurerm 版本 = "=3.0.0"

Link 到 Terraform 的文档:https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_web_app#example-usage

一旦我尝试 运行 为此创建的模块,它就会抛出一个错误:

错误:不支持的块类型

这里不需要类型为“application_stack”的块。

这是我的代码片段,我不确定发生了什么。试图 google 它但它似乎是新的有来自其他用户的文档。有什么见解吗?

resource "azurerm_windows_web_app" "web_app_resource" {
   name                = var.resource_name
   resource_group_name = var.resource_group_name
   location            = var.location
   service_plan_id     = var.app_service_plan_id
   https_only = true
   tags = var.tags
   count = var.create

   site_config {}

   application_stack {
      current_stack = var.current_stack
      dotnet_version = var.dotnet_version
   }

 }

如果我们在提供程序的 3.0.2 版中检查 windows_web_app 资源的 resource schema,那么我们会发现它当前缺少 application_stack 属性的定义。它似乎还缺少文档中指定的其他块。

您需要为您的错误提交问题,因为这是提供程序中的错误。

更新:由于这个答案现在是袜子木偶重新访问的受害者,应该注意 application_stack 现在是其架构中 site_config 块中的嵌套块。删除一次答案 un-accepted 以避免进一步的问题。

application_stack 必须嵌套在 site_config 下。 JKirk 评论是正确的。

resource "azurerm_linux_web_app" "default" {

  name                = var.resource_name
  resource_group_name = var.resource_group_name
  location            = var.location
  service_plan_id     = var.app_service_plan_id

  site_config {

    # Correct placement
    application_stack {
      python_version = 3.9
    }

  }
}