⚒️

TerraformのWorkSpaceを対話的に切り替えるコマンド作ってみた

2022/06/20に公開

概要

terraformw コマンド。
こんな感じでTerraformのWorkSpaceを切り替えられる。

terraformw

モチベーション

  • 最近TerraformのWorkSpaceを切り替える作業が多いので簡単に切り替えたかった
  • awspが便利だったので似たような使い方ができるツールが欲しかった
  • 気晴らしにコーディング

インストール方法

Ruby製

gem install terraformw

仕組み

terraform workspace listterraform 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}`

リンク

https://github.com/kuredev/terraformw

Discussion