0

我有一个 terragrunt 脚本,它在运行 terragrunt apply-all 命令行后运行良好,但同样的事情我无法执行/调用表单 Go 脚本。使用TgApplyAll函数

下面是我的 Go 脚本 工作 terragrunt 脚本保存在 D:\vertica-terragrunt-US-286094-Modules\with-infra 位置,并且可以使用手动terragrunt apply-all命令正常工作,但是从 Go 脚本我收到错误

在此处输入图像描述

得到如下错误

''' github.com/gruntwork-io/terratest/modules/terraform.TgInvalidBinary.Error(...) c:/go/pkg/mod/github.com/gruntwork-io/terratest@v0.30.15/modules/ terraform/errors.go:12

详细错误 func (err TgInvalidBinary) Error() string { return fmt.Sprintf("terragrunt 必须设置为 TerraformBinary 才能使用此函数。[ TerraformBinary : %s ]", err) } '''

我使用了与从 terratest Go 脚本调用 terraform 代码相同的代码来调用 terragrunt 代码,但它不起作用

任何人都可以帮助我/指导我到某个位置,例如如何从 terratest Go 脚本调用工作 terragrunt 代码?

4

1 回答 1

1

您好,您需要在 terraform 选项中将 TerraformBinary 设置为 terragrunt,如下所示:

terraformOptions := &terraform.Options{

    TerraformDir: "D:/vertica-terragrunt-US-286094-Modules/with-infra",
    TerraformBinary : "terragrunt",
}

因为默认二进制文件是 terraform 并且 TgInvalidBinary 在调用 terragrunt 函数并且 TerraformBinary 设置为 terragrunt 以外的值时发生。

这是一个参考

https://godoc.org/github.com/gruntwork-io/terratest/modules/terraform#TgInvalidBinary

https://github.com/gruntwork-io/terratest/blob/master/modules/terraform/cmd.go

于 2020-10-29T13:36:21.900 回答