terratest - 将 terratest 与单独的 backend.hcl 文件一起使用
问题描述
我成功地使用了 terratest,但是自从切换到远程后端(详细信息在单独的backend.hcl
文件中定义)后,我遇到了麻烦。
情况:我的main.tf
开始是这样的:
terraform {
required_version = "~> 0.14.0"
backend "remote" {}
}
我的backend.hcl
:
workspaces { name = "foobar" }
hostname = "app.terraform.io"
organization = "ACME"
然后在使用 terraform 时,我喜欢terraform init -backend-config=./backend.hcl
. 到目前为止,一切都很好。使用 terratest 时,它现在会抱怨关于organization
未定义的其他错误。这似乎是合理的,因为organization
在main.tf
.
一种解决方法是包含backend.hcl
in的内容main.tf
,但这不适合我们的架构,它只需要进行编辑main.tf
以进行测试。
有没有办法告诉 terratest 包括backend.hcl
何时 terraform 初始化?
编辑1:我看到有一种方法可以将后端信息添加到terraformOptions
,但是我无法正确格式化这些:
BackendConfig: map[string]interface{}{
"organization": "ACME",
"hostname": "app.terraform.io",
"workspaces": "{ name = "foobar" }",
},
如果我能让它工作,这将提供一种解决方法,因为我可以添加一些代码来读取backend.hcl
和注入信息,但是工作区格式不正确,我对它的外观有点迷茫。
编辑 2:好的,现在我发现编辑 1 中提到的解决方法不起作用,因为工作区是一个块值,目前不支持。该问题自 2019 年以来一直开放...... https://github.com/hashicorp/terraform/issues/21830。
因此,如果 terratest 支持文件中的后端配置,那将非常有帮助。
解决方案
推荐阅读
- typescript - 具有自动递增 id 列的 oneToMany 关系的 TypeORM Cascade 插入因非空约束而失败
- excel - SUMIF:公式作为标准不适用于整列
- php - 带斜线的 PHP 日期转换
- javascript - Formik & Yup:如何验证提供的日期是否为十八岁?
- spring - 未知的生命周期阶段“.qualitygate.wait=true”
- excel - 找到第一个“To Date”,选择“To Date”下的单元格,将值粘贴到前面的单元格中,然后转到下一个 To Date
- python - 在列表中查找并删除文本
- reactjs - 有没有办法在 WordPress Gutenberg 编辑器中添加新标签
- visual-studio - Visual Studio 2019 应用建议快捷方式
- nlp - DialogFlow 上的 Botium K-fold 交叉验证引发前置条件错误