gpt4 book ai didi

terraform - 未知 token IDENT aws_region

转载 作者:行者123 更新时间:2023-12-03 15:21:23 27 4
gpt4 key购买 nike

我刚刚运行了 Terraform 升级。我的代码已更新,但现在显示一些错误。第一个是:

variable "s3_bucket_name" {
type = list(string)
default = [
"some_bucket_name",
"other_bucket_name",
...
]
}

它不喜欢 list(string) .我回到第一个广场并重做了整个 Getting Started 教程。它说我可以明确声明 type = list或者我可以通过省略类型并仅使用 [方括号] 来隐式声明它。

我在这里看到: unknown token IDENT list error for IP address variable我可以使用 "list" (quotes) 但我在 list(string) 上找不到任何信息.

所以我注释掉了我的 list(string)这将错误移到下一部分。
provider "aws" {
region = var.aws_region
}

该教程指出这是创建区域标签的正确方法(实际上教程的一部分包含该确切代码)。

谁能帮我理解什么Unknown token IDENT意味着它贯穿我的代码,但它并没有帮助我理解我应该怎么做来修复它。

最佳答案

执行 terraform 0.12upgrade 时出现此错误并且您的代码语法已经在 Terraform 0.12x 中,或者显然是语法版本 <= 0.11x 和 0.12x 的混合。当您在本地机器(或远程 CI/CD 服务器)上安装的版本为 0.11x 并且您的代码语法为 0.12x 并且您运行诸如 terraform init 之类的 terraform 命令时,也会发生未知 token IDENT 错误。

variable "var1" {
type = "list"
...
}

这是一个 Terraform 0.11x syntax替代方案 12x是类型 = 列表(字符串)

为了重现您的错误,我有一个 Terraform 代码 0.12x,我执行了 terraform 0.12upgrade然后是 unknown token: IDENT出现了!

总而言之,我认为您的第一次代码迭代已经使用正确的语法,因此无需升级。
为避免此类错误,您可以添加新的 version.tf包含以下内容的代码文件:
terraform {
required_version = ">= 0.12"
}

升级提示:
  • 不要在相同的 Terraform 代码中混合语法,如果是这样,请手动将代码降级到 0.11x
  • 将所有 Terraform 代码语法放入 0.11x
  • 然后运行:terraform 0.12upgrade
  • 关于terraform - 未知 token IDENT aws_region,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59471513/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com