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 ファイルの内容です。
ブループリントの差分確認
前回と同様に、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,
以上。