我正在尝试了解如何覆盖Terraform后端(在我的情况下为远程状态(并在设置Terratest Terraform测试时使用本地状态。
我正在使用Terratest测试一些Terraform代码,我们在S3中远程管理状态。在Terratest期间,我想使用局部状态,但在" Terraform Init"状态期间,它找不到覆盖它的方法。
任何帮助将不胜感激
Terraform允许命令行选项控制后端配置。由于您正在使用Terratest,因此您必须将这些后端选项传递给Init。
package terraform
import (
"fmt"
"testing"
)
// InitE calls terraform init and return stdout/stderr.
func InitE(t *testing.T, options *Options) (string, error) {
args := []string{"init", fmt.Sprintf("-upgrade=%t", options.Upgrade)}
args = append(args, FormatTerraformBackendConfigAsArgs(options.BackendConfig)...)
return RunTerraformCommandE(t, options, args...)
}