NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix Self-Service API Explorer をローカルで確認してみる。

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

以上。

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。