XenServerのAPIについて調べていたら、どうやらPython版のXMLAPIのラッパークラスがあるみたいだったのでちょっと試してみた。
Developing Products
XenAPI.pyを拾ってきて使う。
とりあえず動いてるVMの名前を一覧表示してみる。
# coding:utf-8 import XenAPI def main(url, username, password): session = XenAPI.Session(url) session.xenapi.login_with_password(username, password) # 全ホスト取得 hosts = session.xenapi.host.get_all() for host in hosts: record_host = session.xenapi.host.get_record(host) for vm in record_host['resident_VMs']: record_vm = session.xenapi.VM.get_record(vm) # 管理ドメイン以外を表示 if not record_vm['is_control_domain']: print record_vm['name_label'] if __name__ == '__main__': import sys main(*sys.argv[1:4])
$ python tests.py http://192.168.11.100/ root hogefuga debian01-sandbox debian04-php debian02-py ubuntu03-py
ちなみにXenCenterで見た場合はこんな感じ。
いろいろできそうなよかん!