ドキュメントや REST API Explorer などを確認していると、Nutanix の REST API には、少なくとも 2種類の URL があるようです。
- /PrismGateway/services/rest/バージョン/
- /api/nutanix/バージョン/
そこで、それぞれの URL で、Nutanix CE の Prism Element と Prism Central から情報取得できるか試してみました。
今回の確認方法
使用した Nutanix CE のバージョンは下記です。
- Nutanix CE 2020.09.16(Prism Element)
- Prism Central pc.2020.09.16
どのバージョンにもある、GET /vms にて情報取得できるか試してみました。ただし、v3 だけは GET /vms が存在しないので、POST /vms/list です。
下記のように curl で API コールしてみました。
まずは接続情報を変数に格納して・・・
[gowatana@infra-jbox-01 ~]$ USER=admin [gowatana@infra-jbox-01 ~]$ PASS='パスワード' [gowatana@infra-jbox-01 ~]$ PE='lab-nxce-01.go-lab.jp' [gowatana@infra-jbox-01 ~]$ PC='lab-nxpc-01.go-lab.jp'
curl で、ひたすら API コールしていきます。
Prism Element 宛($PE)。最初の /PrismGateway/services/rest/v3 は情報取得できていません。
[gowatana@infra-jbox-01 ~]$ curl -ks -u "$USER:$PASS" -X POST -d '{}' -H "Content-Type: application/json" https://$PE:9440/PrismGateway/services/rest/v3/vms/list | jq -r . | head
[gowatana@infra-jbox-01 ~]$
[gowatana@infra-jbox-01 ~]$ curl -ks -u "$USER:$PASS" -X POST -d '{}' -H "Content-Type: application/json" https://$PC:9440/api/
nutanix/v3/vms/list | jq -r . | head
{
"api_version": "3.1",
"metadata": {
"total_matches": 13,
"kind": "vm",
"length": 13,
"offset": 0
},
"entities": [
{
[gowatana@infra-jbox-01 ~]$
Prism Central 宛($PC)も同様に確認していきます。
[gowatana@infra-jbox-01 ~]$ curl -ks -u "$USER:$PASS" -X POST -d '{}' -H "Content-Type: application/json" https://$PC:9440/Pris
mGateway/services/rest/v3/vms/list | jq -r . | head
[gowatana@infra-jbox-01 ~]$
[gowatana@infra-jbox-01 ~]$ curl -ks -u "$USER:$PASS" -X POST -d '{}' -H "Content-Type: application/json" https://$PC:9440/api/
nutanix/v3/vms/list | jq -r . | head
{
"api_version": "3.1",
"metadata": {
"total_matches": 13,
"kind": "vm",
"length": 13,
"offset": 0
},
"entities": [
{
[gowatana@infra-jbox-01 ~]$
結果
下記のような感じでした。
- v8.0 は、Prism Element のみで利用可能。
- v2 は、なぜか v2.0 と指定する必要あり。
- v2 は、Prism Central では利用不可。
- v3 は、/api/nutanix/v3 のみ利用可能。
| Prism | Version | URL | 結果 |
| Element | v0.8 | /PrismGateway/services/rest/v0.8 | OK |
| Element | v0.8 | /api/nutanix/v0.8 | OK |
| Element | v1 | /PrismGateway/services/rest/v1 | OK |
| Element | v1 | /api/nutanix/v1 | OK |
| Element | v2 | /PrismGateway/services/rest/v2.0 | OK |
| Element | v2 | /api/nutanix/v2.0 | OK |
| Element | v3 | /PrismGateway/services/rest/v3 | NG |
| Element | v3 | /api/nutanix/v3 | OK |
| Central | v0.8 | /PrismGateway/services/rest/v0.8 | NG |
| Central | v0.8 | /api/nutanix/v0.8 | NG |
| Central | v1 | /PrismGateway/services/rest/v1 | OK |
| Central | v1 | /api/nutanix/v1 | OK |
| Central | v2 | /PrismGateway/services/rest/v2.0 | NG |
| Central | v2 | /api/nutanix/v2.0 | NG |
| Central | v3 | /PrismGateway/services/rest/v3 | NG |
| Central | v3 | /api/nutanix/v3 | OK |
以上。
