我有这个tf文件:
variable "var1" {}
variable "var2" {}
terraform {
backend "s3" {
}
}
module "my-module" {
arg1 = "${var.eb_application_name}"
arg2 = "${var.eb_environment_name}"
source = "git::ssh://git@bitbucket.org/blah/my-module.git//my-sub-module
}
output "myoutput" {
value = "${module.my-module.myoutput}"
}
我从控制台运行这些命令:
terraform init -backend-config='region=us-east-1' -backend-config='key=mykey' -backend-config='bucket=mys3-bucket'
terraform apply -var 'var1=balh' -var 'var2=blah'
我想通过一个控制台命令来完成所有这些操作,包括调用我的模块 . 看看我的tf文件,我可以用terraform的参数来做所有这些,还是我必须有一个tf文件?也许有一种方法可以将tf文件作为原始文本传递(如环境变量)?
1 回答
最后我得到了你需要的东西 .
您可以为每个模块定义变量,例如:
然后使用
count
作为开关来启用或禁用此模块 .然后你可以通过terraform args轻松控制它