XenServer API (XenAPI.py)のラッパーモジュールを作ってみた

会社のサーバのバックアップ用に作ってた。
スナップショット作成->イメージダウンロード、ぐらいは簡単にできる。
xswizard 0.2 : Python Package Index
XenAPI.pyをそのまま使ってもそんなに難しくないけどね(XML-PRC呼ぶだけ).

使い方

>>> from xswizard.api import API
>>> api = API('https://192.168.11.100/', 'root', '******')
>>> api
<xswizard.api.API: url=http://192.168.11.100/, username=root>
>>> vms = api.get_hosts()[0].residentVMs  # ホストのVM一覧
>>> vms
[<xswizard.models.VM: debian01-sandbox>, <xswizard.models.VM: debian04-php>, <xswizard.models.VM: debian02-py>, <xswizard.models.VM: ubuntu03-py>, <xswizard.models.VM: Control domain on host: xenserver01>]
>>> vm = vms[1].snapshot('test_snapshot')  # スナップショット作成
>>> vm
<xswizard.models.VM: test_snapshot>
>>> vm.export_as_file('test.xva')  # スナップショットをダウンロードして保存