🚗

AWS CLI(v2)の自動プロンプト機能が便利だった

2023/01/15に公開約2,800字2件のコメント

aws cliを使う際、AWS CLI Command Reference or --help で確認 > コピペ > コマンド実行みたいな作業をしていませんか...?

これって割と面倒な作業ですよね。

そこで、本日はaws cliの実行が楽になる、自動プロンプト機能 という機能を紹介したいと思います。

自動プロンプト機能とは

aws cli実行に関するヘルプドキュメントや豊富な補完機能などを提供してくれます。
v2から提供されている機能のようです。

提供機能

ざっと提供機能は以下のような内容です。

  • コマンド補完
  • パラメータ補完
  • リソース補完
  • 短縮構文補完
  • ファイル補完
  • リージョン補完
  • プロファイル補完
  • あいまい検索
  • 履歴

各機能の詳細な仕様の解説はここでは割愛しますので、詳しくは 公式 をご参照ください。

モードについて

2種類のモードがあります。

  1. フルモード
  2. 部分モード

1. フルモード

これはコマンド入力がいかなる場合も自動プロンプト機能を起動するモードです。部分モードと違い、補完が不要な状態の完璧なコマンドを入力したとしても実行前に自動プロンプト機能が起動します。

2. 部分モード

ユーザーの入力コマンドが不完全な場合や、クライアント側の検証エラーのためコマンドが実行できないと検知された場合に自動プロンプト機能を起動します。typoっぽい入力や内容に不足があった場合に自動プロンプト機能が起動します。

設定方法

1. フルモードの場合

~/.aws/congig ~/.aws/configに下記を追記します。

cli_auto_prompt = on

2. 部分モードの場合

~/.aws/congig ~/.aws/configに下記を追記します。

cli_auto_prompt = on-partial

設定の詳細は 公式 公式 をご参照ください。

使い方

基本的な使い方は先述したモードの違いにかかわらず同じなので共通した内容として解説していきます。
awsコマンドを実行すると、補完機能が有効になり、コマンドの候補などがリスト表示され選択できるようになります。(下記は、補完機能を利用し、 aws ec2 create-security-group を実行した例です。)

F3でDoc panelが開き、ドキュメントも見れます。

F5でOutput panelが開き、コマンド実行時の出力の確認も行うことができます。

※F3、F5でのドキュメントや専用パネルが開いた際は、F2でパネルへカーソル移動が行えます。

また、フルモードと部分モードの挙動の違いは以下のような感じです。

フルモードで実行した際は、コマンドの入力内容に不備がなくとも一旦自動プロンプト機能が起動しました。

部分モードで実行した際はそのままaws cliのコマンドが実行され出力が返りました。

おわりに

aws cliのコマンド覚えるのは大変ですし、かといっていちいちreferenceを参照しにいくのも面倒だと感じていましたが、この機能を利用することによりそういった負担が軽減され、コマンド実行が便利になりそうです。みなさんもぜひ機会があれば利用してみてください。

Discussion

大変参考になります!
パスが ~/.aws/congigになっているので、~/.aws/config が適切かと思いました!

設定の詳細は 公式 をご参照ください。

~/.aws/config の場合はこちらが参照先として適切かと思いました!
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-files.html#cli-configure-files-global:~:text=cabundle-2019mar05.pem-,cli_auto_prompt,-AWS CLI バージョン

たかくにさん、コメントありがとうございます!

パスが ~/.aws/congigになっているので、~/.aws/config が適切かと思いました!

すみません、typoしてました、、

~/.aws/config の場合はこちらが参照先として適切かと思いました!
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-files.html#cli-configure-files-global:~:text=cabundle-2019mar05.pem-,cli_auto_prompt,-AWS CLI バージョン

たしかにこちらの方が適切ですね!

上記修正させていただきました!ご指摘助かります!

ログインするとコメントできます