LoginSignup
1
0

More than 3 years have passed since last update.

NutanixをREST APIで操作するその1

Last updated at Posted at 2020-05-04

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から確認できます。
  • どういった値が取得できるか、どういった操作ができるか見てみましょう。
  • [Prism] > [admin] > [REST APIエクスプローラ]
    img060.JPG

  • REST APIエクスプローラの画面が表示されます
    img061.JPG

  • Nutanixでは複数のバージョンのREST APIが提供されています(ver0.8、ver1、ver2、ver3)

  • 将来的にはv3のAPIをメインに使用する予定ですが、現段階ではv2が機能的に充実していると思います。用途に応じてv2、v3を使い分けましょう

Nutanix REST APIがどんなことができるか見てみる

  • REST API エクスプローラの画面

  • カテゴリごととに行が区切られています。なんとなくできそうなことが見えてきます。

  • aletsとかhostsとかvmsとか

img062.JPG

REST APIで値を取得してみる

  • 一般的(基本的)な操作としてVM情報を取得してみます。

  • 単純にVM一覧を取得します。vmsの「Show/Hide」をクリックすると画面のようになります。

img064.JPG

  • 一番上の「GET」(Get a list of Virtual Machines.の行)をクリックすると下記の画面になります。

aimg060a.JPG

  • 上記の画面では実際にクエリを作成することができます。初めてだと分かりづらいですが、ひとまず、少しスクロールして「Try it out」をクリックします。

aimg063.JPG

  • 「Try it out」をクリックすると画面が展開され、このREST APIの結果が「Response Body」に表示されます。この結果が各自の自動化やスクリプトで利用できるか検討します。

  • もう一つ大事なところは「Request URL」です。このURLを指定すれば同じ結果が得られます。

  • ですので、このURLをコピーして別のタブで見てみます

img071.JPG

  • 上記のようにJSON形式でVM一覧が取得できます。以下のような情報がここでは取得できます。

    • VM名
    • vCPU数
    • メモリ数
    • UUID
    • その他、HAが有効か、GuestToolが入ってるかどうかなど。
  • ひとまずREST APIでどんな値が取れるのかが分かったかと思います。

  • 他には下記のような操作ができます。

    • VMの電源ON/OFF
    • Snapshotの取得
    • host情報の取得
    • SNMP情報の取得
    • alerts情報の取得など

まとめ

  • NutanixのREST APIでどのようなことができそうか、見れたかと思います。
  • 個人的にはSNMPよりも使いやすいと思います。
  • 次回はPythonでREST APIを使用して情報を取得してみたいと思います。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0