ここでは、VMwareのAPIをpythonで実行できる
Perl SDK だと、ESXiとvCenterに対して使えますが、pyvmomiはvCenterを前提としているようです。
pyvmomi
をインストールしてみます。2016/2/23
普通に使えました。
作った時のコードがバグってたみたい…
pyvmomi
github |
---|
https://github.com/vmware/pyvmomi |
環境
項目 | バージョン |
---|---|
OS | CentOS 7.2 |
python | 3.4 |
vCenter | 6.5 |
pyvomi | 6.5 |
pythonとpipは導入済みを前提としています。
インストール手順
pyvmomiをインストール
(1) pipでインストールします。
1 2 |
[root@localhost ~]# pip3 install pyvmomi |
使い方例
VM情報取得
(1) vCenterが管理しているVM名を一覧で取得してみます。
接続情報は環境に合わせて設定します。
(2) 実行してみます。
1 2 3 4 5 6 7 8 9 |
[root@localhost ~]# ./get_vm_list.py Windows10 VC6.5_WinServer2012R2 CentOS7_Develop zabbix_3.2 Windows 2012R2 Windows7 TEST_Win2012R2 |
スナップショット作成、削除
(1) スナップショットの作成をしてみます。
対象のVM名 | 作成するスナップショット名 | スナップショット説明 |
---|---|---|
CentOS7_Develop | Snapshot01 | test snapshot |
CreateSnapshotメソッドの仕様については vim.VirtualMachine の CreateSnapshot
を参照ください 🙂
(2) Snapshotを削除してみます。
対象のVM名 | 削除するスナップショット名 |
---|---|
CentOS7_Develop | Snapshot01 |
個人的には、Perl SDKより簡単だと思います 🙂
インストールも簡単です 🙂
vCenterありきであれば、pyvmomiを使いたいです。
ただ、vCenter/ESXiで共通のスクリプトを使いたい場合はPerl SDKを使う感じでしょうか。