如何将环境变量传递给 Terraform 模块
how to pass environment variables to terraform modules
我对 Terraform 比较陌生,希望在这里寻求帮助!我想引用一个模块并将其部署到多个 AWS 区域。我还想像这样将一些环境变量传递到模块中:
module "aws-eu-central-1" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-central-1"
export TF_VAR_TABLE_NAME="euc-accounts"
export TF_VAR_ES_ENDPOINT="euc-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
module "aws-eu-west-1" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-west-1"
export TF_VAR_TABLE_NAME="euw-accounts"
export TF_VAR_ES_ENDPOINT="euw-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
module "aws-eu-west-2" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-west-2"
export TF_VAR_TABLE_NAME="euw-accounts"
export TF_VAR_ES_ENDPOINT="euw-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
我希望我的源代码能够跨这些区域部署,并希望将环境变量传递给模块。如何做到这一点?感谢您的帮助!
您将变量传递给 terraform 可执行文件:
TF_VAR_REGION=eu-central-1 terraform plan
这将创建 REGION 变量,然后您可以将该变量传递给模块:
module "aws-eu-central-1" {
source="git::https://<git-repo-url>"
region="{var.REGION}"
}
我对 Terraform 比较陌生,希望在这里寻求帮助!我想引用一个模块并将其部署到多个 AWS 区域。我还想像这样将一些环境变量传递到模块中:
module "aws-eu-central-1" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-central-1"
export TF_VAR_TABLE_NAME="euc-accounts"
export TF_VAR_ES_ENDPOINT="euc-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
module "aws-eu-west-1" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-west-1"
export TF_VAR_TABLE_NAME="euw-accounts"
export TF_VAR_ES_ENDPOINT="euw-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
module "aws-eu-west-2" {
source="git::https://<git-repo-url>"
export TF_VAR_REGION="eu-west-2"
export TF_VAR_TABLE_NAME="euw-accounts"
export TF_VAR_ES_ENDPOINT="euw-elasticsearch"
export TF_VAR_LOG_LEVEL="INFO"
}
我希望我的源代码能够跨这些区域部署,并希望将环境变量传递给模块。如何做到这一点?感谢您的帮助!
您将变量传递给 terraform 可执行文件:
TF_VAR_REGION=eu-central-1 terraform plan
这将创建 REGION 变量,然后您可以将该变量传递给模块:
module "aws-eu-central-1" {
source="git::https://<git-repo-url>"
region="{var.REGION}"
}