未知令牌 IDENT aws_region
Unknown token IDENT aws_region
我刚刚 运行 Terraform 升级。我的代码已更新,但现在显示一些错误。第一个是:
variable "s3_bucket_name" {
type = list(string)
default = [
"some_bucket_name",
"other_bucket_name",
...
]
}
不喜欢list(string)
。我回到第一个方块并重新编写了整个 Getting Started 教程。它说我可以显式声明 type = list
或者我可以通过省略类型并仅使用 [方括号] 来隐式声明它。
我在这里看到: 我可以使用 "list"
(引号),但我找不到关于 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 命令时,也会发生未知令牌 IDENT 错误作为 terraform init
variable "var1" {
type = "list"
...
}
这是一个 Terraform 0.11x syntax the alternative 12x 类型 = list(string)
为了重现您的错误,我有一个 Terraform 代码 0.12x,我执行了 terraform 0.12upgrade
然后 unknown token: IDENT
出现了!
总而言之,我认为您的第一个代码迭代已经使用了正确的语法,因此无需升级。
为避免此类错误,您可以在代码中添加一个新的 version.tf
文件,内容如下:
terraform {
required_version = ">= 0.12"
}
升级提示:
- 不要在同一个 Terraform 代码中混合语法,如果是这样,请手动将代码降级到 0.11x
- 将所有 Terraform 代码语法放入 0.11x
- 然后运行:terraform 0.12升级
我刚刚 运行 Terraform 升级。我的代码已更新,但现在显示一些错误。第一个是:
variable "s3_bucket_name" {
type = list(string)
default = [
"some_bucket_name",
"other_bucket_name",
...
]
}
不喜欢list(string)
。我回到第一个方块并重新编写了整个 Getting Started 教程。它说我可以显式声明 type = list
或者我可以通过省略类型并仅使用 [方括号] 来隐式声明它。
我在这里看到:"list"
(引号),但我找不到关于 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 命令时,也会发生未知令牌 IDENT 错误作为 terraform init
variable "var1" {
type = "list"
...
}
这是一个 Terraform 0.11x syntax the alternative 12x 类型 = list(string)
为了重现您的错误,我有一个 Terraform 代码 0.12x,我执行了 terraform 0.12upgrade
然后 unknown token: IDENT
出现了!
总而言之,我认为您的第一个代码迭代已经使用了正确的语法,因此无需升级。
为避免此类错误,您可以在代码中添加一个新的 version.tf
文件,内容如下:
terraform {
required_version = ">= 0.12"
}
升级提示:
- 不要在同一个 Terraform 代码中混合语法,如果是这样,请手动将代码降级到 0.11x
- 将所有 Terraform 代码语法放入 0.11x
- 然后运行:terraform 0.12升级