このブログでの Nutanix CE x Python 関連投稿のまとめページです。
基本的に、投稿時は Python2 を利用しましたが、Python3 でも実行できるはずです。
※2022年9月時点までの投稿を反映してあります。
実行環境の準備
手作業で Python と requests モジュールをインストールした環境を用意すれば、以降のサンプルは実行できるはずです。
下記のように、AOS + AHV による Custom Script を利用して、VM 作成時に自動的に環境構築するともできます。
クラスタや AHV ホストの情報取得 / 操作
Prism の健全性(Health)にあるチェック項目の一覧を取得してみます。
AHV の性能情報(Stats)を取得してみます。
Nutanix クラスタのイベント情報を取得してみます。
VM の情報取得 / 操作
VM が稼働している AHV ホストを取得します。
REST API で VM を操作するには、VM の UUID が必要になるケースが多いので、あらかじめ取得しておきます。
VM を起動 / 停止してみます。
VM の IP アドレスを取得してみます。
VM の vNIC の情報を、いろいろな形式で出力してみます。
ちなみに、Python から REST API をコールするときによく利用される requests モジュールは、CVM にはデフォルトでインストールされています。ただし CVM にスクリプトを配置するのは基本的に NG です。
取得した VM の情報をもとに、pandas で HTML を生成してみます。
既存の VM の持つ vDisk から、イメージ サービスに DISK イメージを登録します。
VM のスナップショットを取得します。
VM スナップショットの一覧を取得します。
関連ソリューション
保護ドメイン(Protection Domain)によるスナップショットを取得します。こちらは VM 単位ではなく、VM や Volume Group のグループ単位で取得できるスナップショットです。
Nutanix Flow の検疫機能で、VM をネットワーク から遮断します。
処理内容は Quarantine: Default カテゴリ(という Nutanix のタグのようなもの)を VM に付与するだけです。
以上。