前回の記事ではリージョンの一覧やリージョンで利用可能なプランの一覧を取得したので、今回はVultr APIを使ってプランの一覧を取得してみます。
「Vultr API」のドキュメントで「Plans」の「List Plans」を参照すると、「/v2/plans」でプランの一覧が取得できるようです。
発行済のAPIキーを環境変数「VULTR_API_KEY」に格納します。
$ export VULTR_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ドキュメント内の「Copy」ボタンをクリックしてターミナルに貼り付けて、 jq コマンドで整形するようにして実行します。
出力結果の最後の「total」からわかるように、全部で203のプランが存在するようです。
$ curl "https://api.vultr.com/v2/plans" \
-s \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}" | jq .
{
"plans": [
{
"id": "vc2-1c-0.5gb-v6",
"vcpu_count": 1,
"ram": 512,
"disk": 10,
"disk_type": "SSD",
"disk_count": 1,
"bandwidth": 512,
"monthly_cost": 2.5,
"hourly_cost": 0.003,
"invoice_type": "monthly",
"type": "vc2",
"locations": [
"ewr",
"atl"
],
"cpu_vendor": "Intel",
"storage_type": "local_storage",
"vcpu_type": "thread"
},
・
・
省略
・
・
{
"id": "voc-m-2c-16gb-200s-amd-sc1",
"vcpu_count": 2,
"ram": 16384,
"disk": 200,
"disk_type": "DEDICATEDOPTIMIZED",
"disk_count": 1,
"bandwidth": 6144,
"monthly_cost": 150,
"hourly_cost": 0.205,
"invoice_type": "monthly",
"type": "voc",
"locations": [
"sao"
],
"cpu_vendor": "Intel",
"storage_type": "local_storage",
"vcpu_type": "thread"
}
],
"meta": {
"total": 203,
"links": {
"next": "bmV4dF9fdm9jLW0tMmMtMTZnYi0yMDBzLWFtZC1zYzE=",
"prev": ""
}
}
}
今後利用したいと考えているのは標準タイプの「vc2」なので、「plans」の中から「id」が「vc2-」で始まるもののみを抽出してみると、以下の結果が得られました。
$ curl "https://api.vultr.com/v2/plans" \
-s \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
| jq '.plans[] | select(.id | startswith("vc2-")) | .id'
"vc2-1c-0.5gb-v6"
"vc2-1c-0.5gb"
"vc2-1c-1gb"
"vc2-1c-1gb-sc1"
"vc2-1c-2gb"
"vc2-1c-2gb-sc1"
"vc2-2c-2gb"
"vc2-2c-2gb-sc1"
"vc2-2c-4gb"
"vc2-2c-4gb-sc1"
"vc2-4c-8gb"
"vc2-4c-8gb-sc1"
"vc2-6c-16gb"
"vc2-6c-16gb-sc1"
"vc2-8c-32gb"
"vc2-8c-32gb-sc1"
"vc2-16c-64gb"
"vc2-16c-64gb-sc1"
"vc2-24c-96gb"
"vc2-24c-96gb-sc1"