0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vultr APIでOSの一覧を取得する

0
Posted at

前回の記事ではプランの一覧を取得したので、今回はVultr APIを使ってOSの一覧を取得してみます。


「Vultr API」のドキュメントで「Operating Systems」の「List OS」を参照すると、「/v2/os」でプランの一覧が取得できるようです。

image.png


発行済の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"
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?