AWSリソース一覧

2020/1/28

Terraformを使っているとエビデンス的にリソース一覧を取得したい時があるので簡単なシェルスクリプトを作成した。
動作環境
Windows / ConEmu。
Terraform v0.11.14
provider.aws v2.45.0

①ホームディレクトリに以下のresource_list.shを配置
②ターミナルから実行するterraformのディレクトリでbash resource_listを実行
③ターミナルに実行したterraformディレクトリにあるリソースの一覧がホームディレクトリに作成され、その一覧にある全てのリソースの内容がターミナルに出力される

resource_list.sh

grep -r "resource \"" | sed -e 's/resource \"'//g -e 's/^.*:'//g -e 's/\" \"'/./g -e 's/\" {'//g > ~/resource_list.txt

TARGETS=(cat ~/resource_list.txt|xargs)
for TARGET in "${TARGETS[@]}"
do
TARGET=echo ${TARGET} | sed -e "s/[\n]\+//g"
echo "${TARGET}================================================="
terraform state show $TARGET
done