⚒️
TerraformのWorkSpaceを対話的に切り替えるコマンド作ってみた
概要
terraformw
コマンド。
こんな感じでTerraformのWorkSpaceを切り替えられる。
モチベーション
- 最近TerraformのWorkSpaceを切り替える作業が多いので簡単に切り替えたかった
- awspが便利だったので似たような使い方ができるツールが欲しかった
- 気晴らしにコーディング
インストール方法
Ruby製
gem install terraformw
仕組み
terraform workspace list
と terraform workspace select
をRubyでラップして対話的なインタフェースを作成。
実体のコードはこれだけ。tty-prompt様に感謝。
require "tty-prompt"
cmd_ws_list = `terraform workspace list`
cmd_result = cmd_ws_list.split(/\r\n|\r|\n/)
ws_list = cmd_result.map do |workspace|
workspace_ = workspace.delete("¥*")
workspace_.strip
end
prompt = TTY::Prompt.new(interrupt: :exit)
ws = prompt.select("Select WorkSpace", ws_list)
`terraform workspace select #{ws}`
リンク
Discussion