前回の記事ではプランの一覧を取得したので、今回はVultr APIを使ってOSの一覧を取得してみます。
「Vultr API」のドキュメントで「Operating Systems」の「List OS」を参照すると、「/v2/os」でプランの一覧が取得できるようです。
発行済のAPIキーを環境変数「VULTR_API_KEY」に格納します。
$ export VULTR_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ドキュメント内の「Copy」ボタンをクリックしてターミナルに貼り付けて、 jq コマンドで整形するようにして実行します。
出力結果の最後の「total」からわかるように、全部で47のOSが存在するようです。
$ curl "https://api.vultr.com/v2/os" \
-s \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}" | jq .
{
"os": [
{
"id": 159,
"name": "Custom",
"arch": "x64",
"family": "iso"
},
{
"id": 164,
"name": "Snapshot",
"arch": "x64",
"family": "snapshot"
},
{
"id": 180,
"name": "Backup",
"arch": "x64",
"family": "backup"
},
{
"id": 186,
"name": "Application",
"arch": "x64",
"family": "application"
},
{
"id": 240,
"name": "Windows 2016 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 371,
"name": "Windows 2019 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 391,
"name": "Fedora CoreOS Stable",
"arch": "x64",
"family": "fedora-coreos"
},
{
"id": 424,
"name": "Fedora CoreOS Next",
"arch": "x64",
"family": "fedora-coreos"
},
{
"id": 425,
"name": "Fedora CoreOS Testing",
"arch": "x64",
"family": "fedora-coreos"
},
{
"id": 447,
"name": "FreeBSD 13 x64",
"arch": "x64",
"family": "freebsd"
},
{
"id": 448,
"name": "Rocky Linux x64",
"arch": "x64",
"family": "rockylinux"
},
{
"id": 452,
"name": "AlmaLinux x64",
"arch": "x64",
"family": "almalinux"
},
{
"id": 477,
"name": "Debian 11 x64 (bullseye)",
"arch": "x64",
"family": "debian"
},
{
"id": 501,
"name": "Windows 2022 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 521,
"name": "Windows Core 2022 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 522,
"name": "Windows Core 2016 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 523,
"name": "Windows Core 2019 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 535,
"name": "Arch Linux x64",
"arch": "x64",
"family": "archlinux"
},
{
"id": 542,
"name": "CentOS 9 Stream x64",
"arch": "x64",
"family": "centos"
},
{
"id": 1743,
"name": "Ubuntu 22.04 LTS x64",
"arch": "x64",
"family": "ubuntu"
},
{
"id": 1761,
"name": "Windows Core 2019 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 1762,
"name": "Windows Core 2022 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 1764,
"name": "Windows 2019 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 1765,
"name": "Windows 2022 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 1868,
"name": "AlmaLinux 9 x64",
"arch": "x64",
"family": "almalinux"
},
{
"id": 1869,
"name": "Rocky Linux 9 x64",
"arch": "x64",
"family": "rockylinux"
},
{
"id": 2075,
"name": "Flatcar Container Linux LTS x64",
"arch": "x64",
"family": "flatcar"
},
{
"id": 2076,
"name": "Alpine Linux x64",
"arch": "x64",
"family": "alpinelinux"
},
{
"id": 2077,
"name": "Flatcar Container Linux Stable x64",
"arch": "x64",
"family": "flatcar"
},
{
"id": 2078,
"name": "Flatcar Container Linux Beta x64",
"arch": "x64",
"family": "flatcar"
},
{
"id": 2079,
"name": "Flatcar Container Linux Alpha x64",
"arch": "x64",
"family": "flatcar"
},
{
"id": 2136,
"name": "Debian 12 x64 (bookworm)",
"arch": "x64",
"family": "debian"
},
{
"id": 2157,
"name": "openSUSE Leap 15 x64",
"arch": "x64",
"family": "opensuse"
},
{
"id": 2212,
"name": "FreeBSD 14 x64",
"arch": "x64",
"family": "freebsd"
},
{
"id": 2284,
"name": "Ubuntu 24.04 LTS x64",
"arch": "x64",
"family": "ubuntu"
},
{
"id": 2464,
"name": "OpenBSD 7.6 x64",
"arch": "x64",
"family": "openbsd"
},
{
"id": 2466,
"name": "Fedora 41 x64",
"arch": "x64",
"family": "fedora"
},
{
"id": 2467,
"name": "CentOS 10 Stream x64",
"arch": "x64",
"family": "centos"
},
{
"id": 2514,
"name": "Windows 2025 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 2515,
"name": "Windows 2025 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 2516,
"name": "Windows Core 2025 Standard x64",
"arch": "x64",
"family": "windows"
},
{
"id": 2517,
"name": "Windows Core 2025 Datacenter x64",
"arch": "x64",
"family": "windows"
},
{
"id": 2571,
"name": "Ubuntu 25.04 x64",
"arch": "x64",
"family": "ubuntu"
},
{
"id": 2572,
"name": "Fedora 42 x64",
"arch": "x64",
"family": "fedora"
},
{
"id": 2573,
"name": "OpenBSD 7.7 x64",
"arch": "x64",
"family": "openbsd"
},
{
"id": 2593,
"name": "AlmaLinux 10 x64",
"arch": "x64",
"family": "almalinux"
},
{
"id": 2594,
"name": "Rocky Linux 10 x64",
"arch": "x64",
"family": "rockylinux"
}
],
"meta": {
"total": 47,
"links": {
"next": "",
"prev": ""
}
}
}
今後利用したいと考えているのはUbuntuなので、「os」の中から「family」が「ubuntu」のデータを抽出してみると、以下の結果が得られました。
$ curl "https://api.vultr.com/v2/os" \
-s \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
| jq '.os[] | select(.family == "ubuntu")'
{
"id": 1743,
"name": "Ubuntu 22.04 LTS x64",
"arch": "x64",
"family": "ubuntu"
}
{
"id": 2284,
"name": "Ubuntu 24.04 LTS x64",
"arch": "x64",
"family": "ubuntu"
}
{
"id": 2571,
"name": "Ubuntu 25.04 x64",
"arch": "x64",
"family": "ubuntu"
}
