如何使用Bash从Terraform的输出中提取出映射值进行使用的方法
首先
由于经常需要从Terraform的输出中提取映射值并使用,我将其作为备忘录记录下来。
关于方法
output "<output名>" {
value = {
for k, v in <リソース>.<リソース名> : k => v.<引数>
}
}
-
- output名
terraform outputで取り出すときの名前
リソース
クラウドのリソースの名前
リソース名
Terraform内のリソースの名前
k
mapのキー名
v.<引数名>
mapの値, 取り出したい引数名
outputs=( $(terraform output -json <output名> | jq -r 'keys[]') )
outputs=( $(terraform output -json <output名> | jq -r '.[]') )
for output in "${outputs[@]}"; do
echo "$output"
done
简单地解释一下正在做什么,就是使用terraform命令以JSON格式输出output的值,然后用jq命令将JSON格式的值转换成在bash中可用的数组。
请安装jq,以便执行此脚本。
brew install jq
外传
output=$(terraform output -json <output名> | jq -r '.<mapのキー>')
这就是以上的内容。
最后
希望能对某人有所帮助。