NutanixをREST APIで操作するその1(準備)
- 大規模環境となると少なくとも自動化・スクリプト化の要件があり、今までperlやPowerShellなどのスクリプト、SNMPなどで行ってきましたが、最近REST APIの需要も増えてきているかと思います。
- REST APIってよくわからない状態から確認していきます。
目次
- 下記の流れでまとめます
- PrismでREST APIを見てみる(今回)
- PythonでREST APIを操作してみる(クラスタやVM情報取得)
REST APIとは
- RESTは REpresentational State Transferの略でWebシステムを外部から操作するための呼び出し規約(API)です。
- 雑に言うとURLを用いてシステムを操作(参照したり、更新したり)すること
- e-Wordを引用すると下記です
RESTful APIとは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。
NutanixのREST APIその1:Prismで見てみるREST API
-
Nutanixでは外部ツールなどの連携用にREST APIが公開されています。
-
NutanixのREST APIはREST API Explorerから確認できます。
-
どういった値が取得できるか、どういった操作ができるか見てみましょう。
-
Nutanixでは複数のバージョンのREST APIが提供されています(ver0.8、ver1、ver2、ver3)
-
将来的にはv3のAPIをメインに使用する予定ですが、現段階ではv2が機能的に充実していると思います。用途に応じてv2、v3を使い分けましょう
Nutanix REST APIがどんなことができるか見てみる
REST APIで値を取得してみる
-
一般的(基本的)な操作としてVM情報を取得してみます。
-
単純にVM一覧を取得します。vmsの「Show/Hide」をクリックすると画面のようになります。
-
一番上の「GET」(Get a list of Virtual Machines.の行)をクリックすると下記の画面になります。
-
上記の画面では実際にクエリを作成することができます。初めてだと分かりづらいですが、ひとまず、少しスクロールして「Try it out」をクリックします。
-
「Try it out」をクリックすると画面が展開され、このREST APIの結果が「Response Body」に表示されます。この結果が各自の自動化やスクリプトで利用できるか検討します。
-
もう一つ大事なところは「Request URL」です。このURLを指定すれば同じ結果が得られます。
-
ですので、このURLをコピーして別のタブで見てみます
-
上記のようにJSON形式でVM一覧が取得できます。以下のような情報がここでは取得できます。
- VM名
- vCPU数
- メモリ数
- UUID
- その他、HAが有効か、GuestToolが入ってるかどうかなど。
-
ひとまずREST APIでどんな値が取れるのかが分かったかと思います。
-
他には下記のような操作ができます。
-
VMの電源ON/OFF
-
Snapshotの取得
-
host情報の取得
-
SNMP情報の取得
-
alerts情報の取得など
-
まとめ
- NutanixのREST APIでどのようなことができそうか、見れたかと思います。
- 個人的にはSNMPよりも使いやすいと思います。
- 次回はPythonでREST APIを使用して情報を取得してみたいと思います。