AWS CLI でのコマンドプロンプトの有効化と使用
AWS CLI バージョン 2 では、aws
コマンドの実行時にコマンド、パラメータ、およびリソースのプロンプトを表示できます。
仕組み
有効にすると、自動プロンプトが Enter キーを使用して部分的に入力されたコマンドを完成できるようにします。Enter キーを押すと、続けて入力する内容に基づいて、コマンド、パラメータ、およびリソースが提案されます。提案には、左側にコマンド、パラメーター、またはリソースの名前、右側にそれらの説明が記載されます。提案を選択して使用するには、矢印キーを使用して行をハイライト表示してから、Space キーを押します。コマンドでの入力が終了したら、Enter を押してコマンドを使用します。以下の例は、自動プロンプトから提案されたリストがどのように表示されるかを示しています。
$
aws
> aws
a
accessanalyzer Access Analyzer acm AWS Certificate Manager acm-pca AWS Certificate Manager Private Certificate Authority alexaforbusiness Alexa For Business amplify AWS Amplify
自動プロンプト機能
自動プロンプトには、以下の便利な機能が含まれています。
- ドキュメントパネル
-
現在のコマンドのヘルプドキュメントを提供します。ドキュメントを開くには、F3 キーを押します。
- コマンド補完
-
使用する
aws
コマンドを提案します。リストを表示するには、コマンドを部分的に入力します。以下の例は、a
の文字で始まるサービスを検索します。$
aws
> aws
a
accessanalyzer Access Analyzer acm AWS Certificate Manager acm-pca AWS Certificate Manager Private Certificate Authority alexaforbusiness Alexa For Business amplify AWS Amplify
- パラメータ補完
-
コマンドを入力すると、自動プロンプトがパラメータの提案を開始します。パラメータの説明には、値のタイプ、およびパラメータが何であるかの説明が含まれます。必須のパラメータが最初にリストされ、「required」というラベルが付けられます。以下の例は、
aws dynamodb describe-table
に対するパラメータの自動プロンプトリストを示しています。$
aws dynamodb describe-table
> aws dynamodb describe-table
--table-name (required) [string] The name of the table to describe. --cli-input-json [string] Reads arguments from the JSON string provided. The JSON string follows the format provide... --cli-input-yaml [string] Reads arguments from the YAML string provided. The YAML string follows the format provide... --generate-cli-skeleton [string] Prints a JSON skeleton to standard output without sending an API request. If provided wit...
- リソース補完
-
自動プロンプトは、利用可能な AWS リソースプロパティを使用して AWS API コールを実行し、リソースの値を提案します。これは、パラメータの入力時に、自動プロンプトが使用可能なユーザー所有のリソースを提案することを可能にします。以下の例では、
--table-name
コマンドのaws dynamodb describe-table
パラメータを入力するときに、自動プロンプトがテーブル名をリストアップします。$
aws dynamodb describe-table
> aws dynamodb describe-table
--table-name
Table1 Table2 Table3
- 短縮構文補完
-
短縮構文を使用するパラメータには、自動プロンプトは使用する値を提案します。以下の例では、自動プロンプトが
--placement
コマンドのaws ec2 run-instances
パラメータに対する短縮構文をリストアップします。$
aws ec2 run-instances
> aws ec2 run-instances
--placement
AvailabilityZone= [string] The Availability Zone of the instance. If not specified, an Availability Zone wil... Affinity= [string] The affinity setting for the instance on the Dedicated Host. This parameter is no... GroupName= [string] The name of the placement group the instance is in. PartitionNumber= [integer] The number of the partition the instance is in. Valid only if the placement grou...
- ファイル補完
-
aws
コマンドのパラメータを入力するときに、自動入力がfile://
またはfileb://
プレフィックスを使用した後に続くローカルファイル名を提案します。以下の例では、--item file://
コマンドにaws ec2 run-instances
を入力した後で、自動プロンプトがローカルファイルを提案します。$
aws ec2 run-instances
> aws ec2 run-instances
--item file://
item1.txt file1.json file2.json
- リージョン補完
-
グローバルパラメータの
--region
を使用するときは、自動プロンプトが選択可能なリージョンをリストアップします。以下の例では、aws dynamodb list-tables
コマンドの--region
を入力した後で、自動プロンプトがリージョンをアルファベット順に提案します。$
aws dynamodb list-tables
> aws dynamodb list-tables
--region
af-south-1 ap-east-1 ap-northeast-1 ap-northeast-2
- プロファイル補完
-
グローバルパラメータの
--profile
を使用するときは、自動プロンプトがプロファイルをリストアップします。以下の例では、--profile
コマンドにaws dynamodb list-tables
を入力した後で、自動プロンプトがユーザーのプロファイルを提案します。$
aws dynamodb list-tables
> aws dynamodb list-tables
--profile
profile1 profile2 profile3
- あいまい検索
-
特定の文字セットを含むコマンドと値を補完します。以下の例では、
aws dynamodb list-tables
コマンドに--region eu
を入力した後で、自動プロンプトがeu
が含まれるリージョンを提案します。$
aws dynamodb list-tables
> aws dynamodb list-tables
--region west
eu-west-1 eu-west-2 eu-west-3 us-west-1
- 履歴
-
自動プロンプトモードで以前に使用したコマンドを表示して実行するには、CTRL + R を押します。履歴には以前のコマンドがリストされ、これらは矢印キーを使用して選択できます。以下の例では、自動プロンプトモードの履歴が表示されています。
$
aws
> aws
dynamodb list-tables s3 ls
自動プロンプトモード
AWS CLI バージョン 2 の自動プロンプトには、設定可能な 2 つのモードがあります。
-
フルモード:
aws
パラメータを使用して手動で呼び出すか、永続的に有効化したかにかかわらず、--cli-auto-prompt
コマンドを実行しようとするたびに自動プロンプトを使用します。これには、完全なコマンドまたは不完全なコマンドを問わず、それらの後で Enter キーを押すことが含まれます。 -
部分モード: コマンドが不完全であるか、クライアント側の検証エラーのために実行できない場合に自動プロンプトを使用します。このモードは、既存のスクリプトまたはランブックがある場合、あるいはすべてのコマンドに対してプロンプトを表示するのではなく、不慣れなコマンドにのみ自動プロンプトを表示したい場合に特に便利です。
自動プロンプトの設定
自動プロンプトを設定するには、次の方法を優先順に使用することができます。
-
コマンドラインオプションは、単一のコマンドに対して自動プロンプトを有効化または無効化します。
--cli-auto-prompt
を使用して自動プロンプトを呼び出し、--no-cli-auto-prompt
を使用して自動プロンプトを無効化してください。 -
環境変数では、
aws_cli_auto_prompt
変数が使用されます。 -
共有設定ファイルでは、
cli_auto_prompt
設定が使用されます。