我正在尝试从远程位置(文件等)访问变量的值
我读到了input variables
的内容,但仍然无法实现我想要的功能。
我的情况是从某个远程文件中获取变量的值。
我尝试了以下
terraform apply -var-file="https://s3-ap-northeast-1.amazonaws.com/..."
但这会显示错误no such file or directory
。
有什么方法可以在运行时从远程位置加载值吗?
编辑:我正在使用mysql提供程序创建数据库和用户。为了设置用户密码,我想使用保存密码的远程位置(可能是s3文件)。
PS:我看到有可供密码使用的密钥库,但我想检查是否有其他方法可以实现此目的?
答案 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