amazon-web-services - 从远程文件访问 terraform 变量
问题描述
我正在尝试从远程位置(文件等)访问变量的值
我读过input variables
但仍然无法实现我正在寻找的东西。我的情况是从某个远程文件中获取变量的值。
我尝试了类似下面的东西
terraform apply -var-file="https://s3-ap-northeast-1.amazonaws.com/..."
但这给出了错误的说法no such file or directory
。
有没有办法从远程位置加载运行时的值?
编辑:我正在使用 mysql 提供程序来创建数据库和用户。为了设置用户密码,我想使用一些保存密码的远程位置(可能是 s3 文件)。
PS:我看到有可用于密码的密钥库,但我想检查是否有其他方法可以实现这一点?
解决方案
很难下载并将文件名传递给 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
推荐阅读
- c# - 如何用 C# 和 NAudio 覆盖两个 wav 文件?
- javascript - 使用 JavaScript 更改具有类名的 div 的 CSS
- objective-c - 选择相似的像素,围绕像素绘制贝塞尔路径并填充颜色 - iOS
- linux - 诊断导致系统崩溃的应用程序
- node.js - Vue CLI & Webpack:无法让 webpack-dev-server 运行
- python - 如何在不使用 min 和 max 函数的情况下找到 min 和 max
- android - Android 上的 Mifare Ultralight C 身份验证
- 3d - DirectX11 中是否可以自定义抗锯齿?
- c# - 使用带有倒 Y 轴的 ScaleTransform 进行缩放
- c++ - 在 Visual Studio 中为远程环境使用自定义构建命令