从远程文件访问terraform变量

时间:2019-07-08 12:30:12

标签: amazon-web-services amazon-s3 terraform

我正在尝试从远程位置(文件等)访问变量的值

我读到了input variables的内容,但仍然无法实现我想要的功能。 我的情况是从某个远程文件中获取变量的值。

我尝试了以下

terraform apply -var-file="https://s3-ap-northeast-1.amazonaws.com/..."

但这会显示错误no such file or directory

有什么方法可以在运行时从远程位置加载值吗?

编辑:我正在使用mysql提供程序创建数据库和用户。为了设置用户密码,我想使用保存密码的远程位置(可能是s3文件)。
PS:我看到有可供密码使用的密钥库,但我想检查是否有其他方法可以实现此目的?

1 个答案:

答案 0 :(得分:0)

很难下载并将文件名传递给terraform apply,但是您可以使用bash做到这一点,这就是我们在远程服务器中所做的事情。

#!/bin/bash
varfile_name=terraformvar.tfvars
varfile=$(aws s3 cp s3://bucket-********/web-app/terraform/terraform_vars.tfvars ./$varfile_name)
if [ $? -eq 0 ]; then
    terraform apply -var-file=$varfile_name
else
    echo "failed to download file from s3"
fi