[小ネタ] AWS CLI は不完全なパラメータ名でもコマンドを処理することがある

[小ネタ] AWS CLI は不完全なパラメータ名でもコマンドを処理することがある

2026.04.14

結論

AWS CLI のエラーのトラブルシューティング - AWS Command Line Interface

AWS CLI は Python を使用して構築されているため、AWS CLI は allow_abbrev 引数を含む Python の argparse ライブラリを使用します。パラメータの省略形は AWS CLI によって認識され、処理されます。

上記ドキュメントに記載されている通り、Python ライブラリによって不完全なパラメータ名でも処理されることがあります。

注意点

  • 省略形が複数のパラメータに該当する場合には省略形として認識されない
  • 意図的に省略形を使用することは非推奨

試してみた

上述のドキュメントでは CloudFormation の create-change-set コマンドが紹介されていますが、今回は別のコマンドで試してみました。

まずは IAM のグループを作成してみます。
create-group — AWS CLI 2.34.26 Command Reference

$ aws iam create-group --group-n test
{
    "Group": {
        "Path": "/",
        "GroupName": "test",
        "GroupId": "xxx",
        "Arn": "arn:aws:iam::xxx:group/test",
        "CreateDate": "2026-04-07T23:58:44+00:00"
    }
}

正しいパラメータ名は --group-name ですが、--group-n でもコマンドが処理されました。

続いて、「省略形が複数のパラメータに該当する場合には省略形として認識されない」も確認します。
今度は S3 バケットを作成してみます。
create-bucket — AWS CLI 2.34.26 Command Reference

$ aws s3api create-bucket --buc mn-test-20260408
aws: [ERROR]: An error occurred (ParamValidation): ambiguous option: --buc could match --bucket, --bucket-namespace

--buc は --bucket と --bucket-namespace の両方にマッチするためエラーになりました。

まとめ

今回は AWS CLI は不完全なパラメータ名でもコマンドを処理することがあるという内容を紹介しました。
どなたかの参考になれば幸いです。

参考資料

この記事をシェアする

関連記事