IaaS Zone API: ゾーン一覧とゾーン情報を参照する
skr iaas-api zone は IaaS API からゾーン一覧とゾーン情報を取得します。このチュートリアルでは、JSON の一覧を確認し、--query でゾーン名だけを取り出し、指定した ID のゾーン情報を参照します。
前提条件
skrがビルド済みであること。- SDK プロファイル、または
SAKURA_ACCESS_TOKENとSAKURA_ACCESS_TOKEN_SECRETが設定されていること。 - 選択中のプロファイルまたは API キーで IaaS API を利用できること。
手順
ゾーン一覧の取得だけを行い、クラウドリソースは作成・変更・削除しません。
1. 対象プロファイルとコマンドを確認する
$ skr config current
$ skr iaas-api --help
$ skr iaas-api zone --help
$ skr iaas-api zone find --help
$ skr iaas-api zone read --help
2. ゾーン一覧を JSON で確認する
$ skr iaas-api zone find
表示されるゾーンは利用環境によって異なります。必要な項目だけを確認するには、次のクエリを使います。
3. jq 式でゾーン名を取り出す
$ skr iaas-api zone find --query 'map(.Name)'
map(.Name) は取得結果の各要素から Name を選び、名前の配列を JSON で出力します。次は CLI テストで確認した出力例です。名前はテスト用の値に置き換えています。
[
"test-zone-a",
"test-zone-b"
]
jq 式は skr に組み込まれた gojq で評価するため、外部の jq コマンドは不要です。
4. ID でゾーン情報を参照する
zone read に --id でゾーン ID を指定すると、そのゾーンの情報を取得します。表示されるゾーン ID は環境によって異なるため、zone find の結果から選んだ値を使います。
$ skr iaas-api zone read --id 21001
応答には ID、表示順、名前、説明のほか、VNC プロキシや FTP サーバなどの接続情報が含まれます。必要な項目だけを確認するには、--query でオブジェクトを構築します。read の応答は配列ではなく単一オブジェクトのため、map() ではなく {ID,Name} の形式を使います。
$ skr iaas-api zone read --id 21001 --query '{ID,Name,Region}'
--id と --request は併用できません。ReadRequest JSON を直接指定する場合は次のようにします。
$ skr iaas-api zone read --request '{"ID":21001}'
クリーンアップ
この手順は読み取り専用の参照です。削除するリソースはありません。