我有一个具有以下结构的 terragrunt 项目:
|---terraform.tfvars
|---account
| |---us-east-1
| |---nonprod
| |---s3
| |---terraform.tfvars
|---modules
| |---s3
| |---main.tf
|---source
|---s3
|---main.tf
|---provider.tf
|---vars.tf
/account/us-east-1/nonprod/s3/terraform.tvars
terragrunt = {
terraform {
source = "../../../../modules/s3"
}
include {
path = "${find_in_parent_folders()}"
}
}
/modules/s3/main.tf
module "s3" {
source = "../../source/s3"
app-name = "example-app"
aws-region = "us-east-1"
bucket-name = "example-app-bucket"
}
/source/s3/main.tf
resource "aws_s3_bucket" "s3" {
region = "${var.aws-region}"
bucket = "${var.bucket-name}"
acl = "private"
force_destroy = "true"
tags {
Name = "${var.app-name}"
}
}
当我从account
目录运行 terragrunt 时:
$ terragrunt plan-all --terragrunt-source ../../../../source
我被要求输入我在 /modules/s3/main.tf 中设置的变量的值
var.app-name
Enter a value:
但是,当我terraform plan
从modules/s3
目录运行时,它似乎可以工作。
使用 terragrunt 时此设置有什么问题?