NTNX>日記

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

Nutanix Self-Service API でブループリントの情報を取得してみる。(export_file)

Nutanix Self-Service API で、Self Service ブループリントのダウンロードと同様の JSON を取得してみます。

 

以前の投稿で、ブループリントの JSON を取得してみましたが、巨大な JSON でした。

そこで今回は、下記のようにダウンロードした JSON ファイルと同様の JSON を、API で取得してみます。

ブループリントの情報取得(export_file)

今回は GET /blueprints/{uuid} ではなく、GET /blueprints/{uuid}/export_file でブループリントの情報を取得してみます。対象のブループリントは、以前の投稿と同様のものです。

今回は、下記のように curl と jq を実行して、blueprint-export.json に出力してみます。

curl -k -s -X 'GET' \
--url "https://$PC:9440/api/nutanix/v3/blueprints/$BPID/export_file" \
-u "$SSUSER:$SSPASS" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{}' \
| jq -r . > blueprint-export.json

実際に実行すると、下記のようになります。

[demo@vm-0-241214-021130 ~]$ PC=lab-nxpc-01.go-lab.jp
[demo@vm-0-241214-021130 ~]$ SSUSER=admin
[demo@vm-0-241214-021130 ~]$ SSPASS='パスワード'
[demo@vm-0-241214-021130 ~]$ BPID=6022845a-5d92-49ff-bd4c-575020070846
[demo@vm-0-241214-021130 ~]$
[demo@vm-0-241214-021130 ~]$ curl -k -s -X 'GET' \
> --url "https://$PC:9440/api/nutanix/v3/blueprints/$BPID/export_file" \
> -u "$SSUSER:$SSPASS" \
> -H 'accept: application/json' \
> -H 'Content-Type: application/json' \
> -d '{}' \
> | jq -r . > blueprint-export.json
[demo@vm-0-241214-021130 ~]$

 

Web UI からのダウンロード ファイルと、ほぼ同量の JSON です。

[demo@vm-0-241214-021130 ~]$ wc -l blueprint-export.json
635 blueprint-export.json

 

JSON ファイルの内容です。

gist.github.com

 

ブループリントの差分確認

前回と同様に、Prism Central の「Self Service」→「ブループリント」にて、このブループリント(Rocky BP)を 2か所ほど編集してみます。

仮想マシンの名前を、「VM2」→「VM1」に戻します。

接続確認の再試行回数を、6 → 5 に戻します。

そして、ブループリントを保存します。

 

あらためて、ブループリントの JSON を取得してみます。

[demo@vm-0-241214-021130 ~]$ curl -k -s -X 'GET' \
> --url "https://$PC:9440/api/nutanix/v3/blueprints/$BPID/export_file" \
> -u "$SSUSER:$SSPASS" \
> -H 'accept: application/json' \
> -H 'Content-Type: application/json' \
> -d '{}' \
> | jq -r . > blueprint-export-edit.json
[demo@vm-0-241214-021130 ~]$

以前の投稿よりも、わかりやすい分量の差分になりました。

[demo@vm-0-241214-021130 ~]$ diff blueprint-export.json blueprint-export-edit.json
199c199
<           "name": "VM2",
---
>           "name": "VM1",
222c222
<                       "name": "VM2",
---
>                       "name": "VM1",
257c257
<                       "name": "VM2",
---
>                       "name": "VM1",
292c292
<                       "name": "VM2",
---
>                       "name": "VM1",
436c436
<             "retries": "6",
---
>             "retries": "5",
574c574
<                 "name": "VM2",
---
>                 "name": "VM1",
626c626
<     "last_update_time": "1734531733622104",
---
>     "last_update_time": "1734622010316487",
628c628
<     "spec_version": 6,
---
>     "spec_version": 7,

以上。

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