Terraform completion 🌎
--
テラフォーミングを少しだけ楽にする
最近のTerraformはcompletionに対応していて、サブコマンドからcompletionを設定できる。Terraformサブコマンド自体はそれほど多くないんだけど、キーボードでフルタイプするより、Tabキーで補完させるほうがはるかに効率はいい。
Shell Tab-completion
以下のコマンドを実行すると、bashの場合は $HOME/.bashrc へcompletionの設定が追記される。
terraform -install-autocomplete
For Homebrew 🍺
これでcompletion登録完了!といいたいところだが、Homebrewなどでインストールしている場合はちょっとややこしい。
Terraformはそれ自体がcompletionに対応しているようで、別途complete用のファイルを生成したりはしない。したがって、Homebrewでインストールしている場合は、以下のような設定が .bashrc へ追加される。
terraform v0.11.7 の場合
complete -C /usr/local/Cellar/terraform/0.11.7/bin/terraform terraform
これだとbrew upgrade terraformをするたびに再設定する必要が出てしまう。
要はterraformの実行ファイルを指定すれば良いので、以下のようにPATHが通っている前提でcompleteに指定しておけば、バージョンが変わってもそのまま補完が使える。
npmとかもcompletionに対応しており、npmはcompletion用のファイルを出力する形式でサポートしている。
npm completion
npmはサブコマンドも多いので、こんな感じにいれておくとラクできる。丁寧にするなら、bash_completion.d のパスチェックなどをいれておくといいかも。