AWS CLI でコマンドの入力プロンプトを表示する - AWS Command Line Interface

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 設定が使用されます。