この投稿は、Nutanix Advent Calendar 2019(3枚目)の 13日目です。
Nutanix REST API でオブジェクトの作成や設定変更などを実施する場合、パラメータを指定した JSON 形式のデータが必要になります。今日は、13日の金曜日なので Prism Element の裏側で REST API の、JSON データを見てみます。
今回は、Google Chrome のデベロッパー ツールを利用します。ちなみに、利用した Google Chrome のバージョンは、「78.0.3904.108(Official Build) (64 ビット)」です。
Nutanix CE の Prism Element を開く
今回は、Prism で VM 作成する際の JSON を見てみます。
Prism の「VM(仮想マシン)」画面を開いておきます。
「Create VM」をクリックして、VM 作成のパラメータを入力しておきます。まだ「Save」はクリックしません。
Chrome のデベロッパー ツールを開く
Chrome の右上の「Google Chrome の設定」アイコン → 「その他のツール」→「デベロッパー ツール」を開きます。
もしくは、Windows なら F12 キーを押します。
デベロッパー ツールが開きます。(環境によって、デフォルトの画面構成は異なるかもしれません)
「Network」タブを開きます。これから、ここでネットワーク ログを確認しますが、たえずログ記録されているので、いったん「Stop recording network log」をクリックしてから、すぐ隣の「Clear」ボタンをクリックしておきます。
ネットワーク ログの記録 & VM 作成
「Record network log」をクリックしてから、Create VM 画面の「Save」をクリックします。そうすると、VM 作成時の HTTP リクエストの様子を確認することができます。
REST API の HTTP リクエスト確認
今回は、VM 作成の REST API リクエストの JSON データを確認したいので、「vm」でフィルタして、ネットワーク ログを順に確認し、VM 作成の POST メソッドを探しあてると、API リクエストの URL や、リクエストの Payload(データ)が確認できます。
Request Payload の隣にある「view source」をクリックすると・・・
JSON 形式のテキスト データが見られます。このデータをもとにすることで、API にわたす JSON データの用意が容易になります。
python -m json.tool をとおしたりして整形してみると見やすくなります。この VM ではあまり多くのパラメータを指定していないので、ちゃんとした VM を作成すると、その分 JSON の量が増えます。
ちなみに、ネットワーク ログを右クリックすると、curl などを利用して API コールをするコマンドラインを、クリップボードにコピーすることもできます。
以上。