Nutanix Self-Service API のリファレンスを、Swagger の JSON ファイルをもとにローカルで確認してみます。
今回の内容です。
Nutanix Self-Service API Swagger JSON の入手
Prism Central の「Self Service」→「Self Service について」→「REST API Explorer」を開きます。
Nutanix Self-Service API の API Explorer 画面が開きます。この画面には、Swagger JSON ファイルのダウンロード リンクがあります。
このリンクから JSON ファイル(styx-swagger.json)を右クリックなどから保存しておきます。
Swagger UI での API Explorer 起動(Podman)
入手した JSON ファイルは、Swagger UI で表示できます。
今回は、Rocky Linux 8.9 の Podman で、swagger-ui コンテナを起動して、JSON ファイルを読み込ませてみます。
[demo@vm-0-241214-021130 ~]$ cat /etc/rocky-release Rocky Linux release 8.9 (Green Obsidian)
Podman は、すでにインストールしてあります。
[demo@vm-0-241214-021130 ~]$ rpm -q podman podman-4.9.4-18.module+el8.10.0+1896+b18fa106.x86_64
Podman ホストの IP アドレスです。
[demo@vm-0-241214-021130 ~]$ ip -brief addr show dev eth0 eth0 UP 192.168.12.197/24 fe80::526b:8dff:fec3:c52b/64
ダウンロードした JSON ファイルは、json ディレクトリを作成して、styx-swagger.json として保存しておきます。
[demo@vm-0-241214-021130 ~]$ ls -lh json/styx-swagger.json -rw-rw-r--. 1 demo demo 2.6M 12月 15 13:30 json/styx-swagger.json
swaggerapi/swagger-ui コンテナ イメージをダウンロード(Pull)していきます。
[demo@vm-0-241214-021130 ~]$ podman pull swaggerapi/swagger-ui:v5.18.2 ✔ docker.io/swaggerapi/swagger-ui:v5.18.2 Trying to pull docker.io/swaggerapi/swagger-ui:v5.18.2... Getting image source signatures Copying blob 379754eea6a7 done | Copying blob 43c4264eed91 done | Copying blob d1171b13e412 done | Copying blob 596d53a7de88 done | Copying blob f99ac9ba1313 done | Copying blob fd072e74e282 done | Copying blob 45eb579d59b2 done | Copying blob 472934715761 done | Copying blob 1c2dde38df4b done | Copying blob bc863c4fa577 done | Copying blob 094a864441e0 done | Copying blob ae01e729e96a done | Copying blob 3c716c13aebb done | Copying blob 0d1091638d4b done | Copying config a874f650ba done | Writing manifest to image destination a874f650ba5514fa5af729fd34a89cc69a0dbcd8e41ca50f4130dcacb3dc7694
下記のコマンドで、コンテナを起動します。
- コンテナの名前は swagger-ui
- Podman ホスト側のポートは 8080
- カレント ディレクトリの json ディレクトリを、コンテナの /json としてマウント。(SELinux 対応のため :Z を付与)
- Swagger UI に /json/styx-swagger.json を読み込む
podman run -d --rm \ --name swagger-ui \ -p 8080:8080 -v $(pwd)/json:/json:Z \ -e SWAGGER_JSON=/json/styx-swagger.json \ swaggerapi/swagger-ui:v5.18.2
実際に実行すると、下記のようになります。
[demo@vm-0-241214-021130 ~]$ podman run -d --rm \ > --name swagger-ui \ > -p 8080:8080 -v $(pwd)/json:/json:Z \ > -e SWAGGER_JSON=/json/styx-swagger.json \ > swaggerapi/swagger-ui:v5.18.2 b5a805ada10f65033ad4eb588b1971c16aedac5641a338eaf1f1e67e3efcc338 [demo@vm-0-241214-021130 ~]$
Web ブラウザから、Podman ホストの 8080 ポートにアクセスすると、下記のように API Explorer が開きます。
コンテナの停止
swagger-ui コンテナは、下記のように停止できます。
[demo@vm-0-241214-021130 ~]$ podman stop swagger-ui swagger-ui
以上。