Alibaba Cloud CLI のコマンドパラメーターは、CLI の動作を制御するグローバルフラグと、サブコマンドに渡されるビジネスパラメーターに分類されます。このトピックでは、使用可能なパラメーターの確認方法、各種データ型のパラメーター値の形式、および自動補完機能の使用方法について説明します。
前提条件
Alibaba Cloud CLI 3.3.0 以降がインストールされていること。インストール手順については、「Alibaba Cloud CLI のインストール、更新、アンインストール」をご参照ください。現在のバージョンが 3.3.0 より前の場合は、「レガシー CLI からプラグインベースの CLI への移行」をご参照のうえ、移行を完了してください。
Alibaba Cloud CLI 用の認証情報が設定されていること。設定手順については、「認証情報の設定と管理」をご参照ください。
パラメーターの種類
CLI コマンドは、コマンド、サブコマンド、およびパラメーターで構成されます:
aliyun <command> <sub-command> [parameters]パラメーターは次の 2 種類に分類されます:
グローバルフラグ:リージョンの選択、出力形式、ページネーションなど、CLI 自体の動作を制御します。グローバルフラグはすべてのコマンドに適用されます。
ビジネスパラメーター:サブコマンドに渡されるリクエストフィールドです。ビジネスパラメーターはオペレーションによって異なります。
次の例では、--help はグローバルフラグで、--biz-region-id はビジネスパラメーターです:
aliyun ecs describe-instances --help
aliyun ecs describe-instances --biz-region-id cn-hangzhouグローバルフラグ
次のフラグは、リージョンの指定、クエリ結果のページネーション、ドライランモードの有効化など、すべてのプラグインコマンドに適用されます:
フラグ | 型 | 説明 |
| string |
|
| string | API エンドポイント URL を指定します。通常、このフラグを手動で設定する必要はありません。 |
| string | JMESPath 式を使用して出力をフィルタリングします。 |
| bool | ページネーションされた API 結果をすべて自動的に集約します。 |
| bool | ドライランモード:パラメーターを検証し、リクエストを実際に送信せずにリクエスト内容を出力します。プラグインコマンドでは、レガシーの |
| bool | AI 支援モードです。有効にすると、現在の API リクエストの User-Agent ヘッダーに AI 識別子が追加されます。 |
| string | デバッグとトラブルシューティングのためにログ出力レベルを設定します。有効な値: |
| bool | Quiet モード:API 応答の出力を抑制します。このフラグは、スクリプトや CI/CD のシナリオに適しています。 |
| bool | ヘルプ情報を表示します。 |
--cli-dry-run は --pager および --quiet と相互排他的です。ドライランモードでは実際のリクエストを送信しないため、これらのフラグを同時に使用することはできません。
ビジネスパラメーター
ビジネスパラメーターは、サブコマンドに渡されるリクエストフィールドです。オペレーションによってビジネスパラメーターは異なります。
aliyun ecs describe-instances --biz-region-id cn-hangzhou --cli-dry-runビジネスパラメーターのデータ型は API によって定義されます。一般的な型は次のとおりです:
String:インスタンス ID や名前などのテキスト文字列です。
Integer:ページ番号や件数などの整数です。
Boolean:
trueまたはfalseのブール値です。Array / JSON:ディスク ID のリストやタグオブジェクトなどの配列または JSON オブジェクトです。
パラメーターの確認
CLI のヘルプ情報またはオンラインの OpenAPI ポータルを使用して、コマンドがサポートするパラメーターを確認できます。
CLI ヘルプ情報の使用
コマンドに --help を付けて実行すると、サポートされているすべてのパラメーターとその説明を表示できます。ヘルプ出力の形式は、コマンドの種類によって異なります。
組み込みコマンド
組み込みコマンドは Alibaba Cloud CLI のコアプログラムに統合されており、configure など、追加のプラグインをインストールせずにそのまま使用できます。組み込みコマンドのヘルプ出力には、サブコマンドまたは特定のオプションが表示されます:
aliyun configure --helpヘルプ出力:
configure credential and settings
Usage:
aliyun configure --mode {AK|RamRoleArn|EcsRamRole|OIDC|External|CredentialsURI|ChainableRamRoleArn|CloudSSO|OAuth} --profile <profileName> [--config-path <configPath>]
Commands:
get print configuration values
set set config in non interactive mode
list list all config profile
delete delete the specified profile
switch switch default profile
safety-policy manage safety policy and human-in-the-loop rules
ai-mode manage global AI mode and User-Agent for API calls
plugin-settings manage global plugin system settingsプラグインコマンド
クラウドサービスのプラグインコマンドのヘルプ出力には、パラメーター名がケバブケース形式で表示されます。また、パラメーターの型とデフォルト値も表示されます:
aliyun ecs describe-instances --helpヘルプ出力:
Description: Queries a list of instances and their details based on specified conditions
API Version: 2014-05-26
Usage:
aliyun ecs describe-instances [parameters]
Parameters:
--biz-region-id string (required), The ID of the region where the
instance resides. You can call https://help.aliyun.
com/document_detail/25609.html to query the latest
list of Alibaba Cloud regions
--additional-attributes list, The list of other instance attributes
format: --additional-attributes value1 value2 value3
--device-available bool, > This parameter is in invitational preview
and is not available for use
......
Global Flags:
--cli-ai-mode bool, For this run, enable AI-mode
--cli-dry-run bool, Enable dry-run mode: print request details
without sending the actual API call
--cli-query string, Use `--cli-query <jmespath>` to filter
output with JMESPath expression
--endpoint string, Override service endpoint (e.g., --endpoint
https://ecs.cn-hangzhou.aliyuncs.com)
......
Examples:
aliyun ecs describe-instances --biz-region-id example-value
aliyun ecs describe-instances --biz-region-id example-value --vpc-id example-valueOpenAPI ポータルの使用
Alibaba Cloud OpenAPI ポータルでは、API をオンラインでデバッグでき、CLI コマンドの例も自動生成されます。詳細については、「OpenAPI Explorer を使用した CLI コマンドの生成と実行」をご参照ください。
パラメーター値
パラメーター値の渡し方は、データ型とオペレーティングシステム環境によって異なります。
一般的な型のパラメーター値
データ型 | 形式 | 例 |
Integer | 引用符を付けずに値をそのまま渡します。 |
|
String | 値に特殊文字が含まれない場合は、そのまま渡します。値に特殊文字が含まれる場合は、引用符で囲みます。 |
|
Boolean | 機能を有効化または無効化するフラグです。たとえば、 |
|
String list | 複数の値をカンマで区切り、リスト全体を引用符で囲みます。 |
|
JSON array | 引用符で囲んだ JSON 形式の文字列です。 |
|
Date | ISO 8601 形式: |
|
オペレーティングシステムやターミナル環境によって、引用符の扱いは異なります。特殊文字を含むパラメーター値を渡す場合は、次の引用符ルールを使用してください:
環境 | 一般的な引用符 | --body フラグ用の引用符 |
Linux / macOS | シングルクォート | ダブルクォート |
Windows コマンド プロンプト | ダブルクォート | ダブルクォート |
Windows PowerShell | シングルクォート | シングルクォート |
JSON 形式のパラメーター値
一部のコマンドパラメーターでは、値を JSON 形式で指定する必要があります。外側の引用符と内側の引用符の選択はオペレーティングシステムによって異なります。
JSON 配列
Linux / macOS / Windows PowerShell:外側にシングルクォート、内側の値にダブルクォートを使用します。
aliyun ecs describe-disks --disk-ids '["d-bp1****","d-bp2****","d-bp3****"]' --biz-region-id cn-hangzhouWindows コマンド プロンプト:外側にダブルクォートを使用し、JSON 文字列内のダブルクォートをバックスラッシュ (\\) でエスケープします。
aliyun ecs describe-disks --disk-ids "[\"d-bp1****\",\"d-bp2****\",\"d-bp3****\"]" --biz-region-id cn-hangzhou
JSON オブジェクト
パラメーター値が JSON オブジェクトの場合は、各 JSON オブジェクトを中かっこ {} で囲み、キーと値をコロン : で区切ります。
Linux / macOS / Windows PowerShell:
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers '[{"ServerId":"i-bp1****"},{"ServerId":"i-bp2****"}]'Windows コマンド プロンプト:
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers "[{\"ServerId\":\"i-bp1****\"},{\"ServerId\":\"i-bp2****\"}]"
特殊文字を含む値
ハイフン (-) で始まる値
パラメーター値が - で始まる場合、CLI が別のパラメーター名として誤って解釈することがあります:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange "-1/-1" --method POST --forceこの問題を解決するには、パラメーター名と値を等号で連結します:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange=-1/-1 --method POST --forceシェルの特殊文字
パラメーター値にシェルの特殊文字 ($、`、\、スペースなど) が含まれる場合は、引用符で囲む必要があります。Linux / macOS では、シェルに特殊文字を解釈させないためにシングルクォートを使用します。Windows コマンド プロンプトでは、ダブルクォートを使用します。
# Linux/macOS/PowerShell
aliyun ecs describe-images --image-name 'Example Image'
# Windows CMD
aliyun ecs describe-images --image-name "Example Image"
# Linux/macOS
aliyun xxx --param '$literal_dollar'パラメーター値をファイルから読み込む
証明書や大きな JSON ペイロードなど、パラメーター値が長い場合は、ローカルファイルから値を読み込む方が便利です。
--body-file (RESTful API 呼び出し)
RESTful API 呼び出しでは、--body-file を使用して、HTTP リクエストボディをローカルファイルから読み込みます。
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body-file request.jsonシェルコマンド置換とヒアドキュメント
シェルコマンド置換 ($(cat ...)) またはヒアドキュメントを使用して、ファイルの内容を --body パラメーターに渡すこともできます:
# コマンド置換
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat request.json)"
# ヒアドキュメント (スクリプト内でインライン JSON を構築する場合に適しています)
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat <<EOF
{
"nodepool_info": {
"name": "default-nodepool",
"resource_group_id": "rg-acfmyvw****"
}
}
EOF
)"シェルコマンド置換とヒアドキュメントは、bash または zsh 環境でのみ使用できます。Windows 環境では、--body-file を使用してください。
コマンドの自動補完
Alibaba Cloud CLI はコマンドの自動補完をサポートしています。この機能を有効にすると、Tab キーを押して、プロダクト名、オペレーション名、パラメーター名を自動補完できます。
自動補完は、Linux および macOS システムの bash または zsh 環境でのみサポートされます。自動補完の対象はプロダクト名、オペレーション名、パラメーター名であり、パラメーター値は対象外です。
次のコマンドを実行して、自動補完を有効にしてください:
aliyun auto-completion自動補完を有効にした後、設定をすぐに反映させるか、ターミナルを再起動してください:
# bash
source ~/.bash_profile
# zsh
source ~/.zshrc自動補完が動作していることを確認するには、aliyun と入力して Tab キーを押します。候補コマンド (例:configure) の一覧が表示される場合、自動補完は有効です。
自動補完を無効にするには、次を実行してください:
aliyun auto-completion --uninstallよくある質問
--help でパラメーターが Optional と表示されます。常に省略できますか?
必ずしもそうではありません。一部のコマンドでは相互排他的なパラメーターがあり、どちらか一方を指定する必要があります。このようなパラメーターは個別には Optional と表示されますが、少なくとも 1 つは指定しなければなりません。指定しない場合はエラーが返されます。具体的な要件ルールについては、該当プロダクトの API ドキュメントをご参照ください。