AWS CLI v2について
AWS CLIのバージョン2が、2020年2月に一般利用となっています。
v1からいろいろと更新されていますが、日常的に使うものとしてはコマンド補完が最も大きいと思います。
AWS CLI v2 が一般利用可能となりました | Amazon Web Services ブログ
v2のインストールとコマンド補完の手順を以下に示します。
確認した環境
以下の環境で動作確認を行いました。
- macOS 10.15
- zsh
インストール手順
以下のページを参考にしています。
macOS での AWS CLI バージョン 2 のインストール - AWS Command Line Interface
AWS CLI バージョン1のアンインストール
バージョン1がインストール済みの場合、アンインストールすることが推奨とされています。
pip uninstall awscli
コマンドラインからインストール(すべてのユーザーを対象に)
今回の手順では、コマンドラインから全てのユーザーを対象にインストールします。
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
GUI、あるいは現在のユーザーのみを対象にインストールする場合は公式ページを参照ください。
コマンド補完
以下のページを参考にしています。
コマンド補完 - AWS Command Line Interface
シェルを識別する
以下のコマンドにより使用しているシェルを特定します。
このドキュメントではzshについて記述しています。他のシェルを使用している場合は、公式ページの手順を直接参照ください。
echo $SHELL
# 例→ /bin/zsh
AWSコンプリケータを見つける
AWS コンプリケータのパスを取得します。
which aws_completer
# 例→ /usr/local/bin/aws_completer
コンプリケータのフォルダをパスに追加する
~/.zshrc
をテキストエディタで開いて、以下を追記します。
autoload bashcompinit && bashcompinit
complete -C '/usr/local/bin/aws_completer' aws
設定を有効にするために、新しいコンソールを開くか、以下のコマンドを実行します。
source ~/.zshrc
コマンド補完のテスト
コマンドの一部を入力して、Tabを押して使用可能なコマンドを表示します。
aws s[TAB]
s3 serverlessrepo sqs
s3api service-quotas ssm
s3control servicecatalog sso
sagemaker servicediscovery sso-oidc
sagemaker-a2i-runtime ses stepfunctions
sagemaker-runtime sesv2 storagegateway
savingsplans shield sts
schemas signer support
sdb sms swf
secretsmanager snowball synthetics
securityhub sns