【问题标题】:Terraform settings - remote state s3 - InvalidParameter validation errorTerraform 设置 - 远程状态 s3 - InvalidParameter 验证错误
【发布时间】:2020-09-07 22:58:25
【问题描述】:

环境

Terraform v0.12.24 + provider.aws v2.61.0

在高山容器中运行。

背景

我有一个运行正常的基本 terraform 脚本,但现在我正在扩展它并尝试配置远程 (S3) 状态。

terraform.tf:

terraform {
  backend "s3" {
    bucket         = "labs"
    key            = "com/company/labs"
    region         = "eu-west-2"
    dynamodb_table = "labs-tf-locks"
    encrypt        = true
  }
}

bucket 存在,table 也存在。我已经用 terraform 创建了它们,并通过控制台确认了它们。

问题

当我运行terraform init 时,我得到:

Error refreshing state: InvalidParameter: 2 validation error(s) found.
- minimum field size of 1, GetObjectInput.Bucket.
- minimum field size of 1, GetObjectInput.Key.

我尝试过的

terraform fmt 没有报告任何错误并愉快地重新格式化我的terraform.tf 文件。我也尝试将该节移动到我的main.tf 中,以防terraform.tf 文件由于某种原因被忽略。我得到了完全相同的结果。

我也尝试在没有 alpine 容器的情况下从 aws 中的 ubuntu ec2 实例运行它,但我得到了相同的结果。

我最初在密钥中拥有 terraform 文件的名称。我已经删除了(谢谢),但它并没有帮助解决问题。

另外,我刚刚尝试在旧图像中运行它:hashicorp/terraform:0.12.17,但我收到了类似的错误:

Error: Failed to get existing workspaces: InvalidParameter: 1 validation error(s) found.
- minimum field size of 1, ListObjectsInput.Bucket.

我猜我在这里做了一些非常愚蠢的事情,但我看不出它是什么。

【问题讨论】:

  • key 参数应该是存储状态的目录的路径后缀,而不是状态本身的路径后缀。否则,这些值看起来不错。
  • @MattSchuchard - 呃!当然,谢谢,但我现在已经解决了这个问题,问题仍然存在。我已经相应地更新了问题。

标签: terraform terraform-remote-state


【解决方案1】:

解决了!!!

我不明白这个问题,但我现在有一个可行的解决方案。我删除了.terraform 目录并重新运行terraform init。这对我来说没问题,因为我没有现有的状态。洞察力来自于读取 0.12.17 版本 terraform 的错误,该版本抱怨无法读取工作区。

Error: Failed to get existing workspaces: InvalidParameter: 1 validation error(s) found.
- minimum field size of 1, ListObjectsInput.Bucket.

这最初让我相信早期版本的 tf 读取较新版本的配置时存在问题。所以,我吹走了.terraform,它适用于较旧的 tf,所以我又做了一次,它也适用于较新的 tf。很明显,在 terraform 的存储中,有些东西自己搞砸了。我不知道如何或为什么。但是,它对我有用,所以...

【讨论】:

  • 我也遇到了这个问题,因为我最初有一个空的 S3 键值。即使我修复了键值,错误仍然发生。然后我清除了.terrafrm 目录并解决了。
  • 我遇到了这个问题,但结果是我给 Terraform 一个空值作为 s3 上的状态文件名。记录我的脚本变量,解决方案很明显。
猜你喜欢
  • 2021-11-20
  • 2021-12-11
  • 2020-09-05
  • 2019-11-14
  • 2016-11-24
  • 2018-03-17
  • 2019-10-07
  • 2016-12-22
  • 2021-12-07
相关资源
最近更新 更多