これ書いたの2年前。
PowerCLIとかperlとかいろいろありげにゃんだが、コンソールで動かす必要があるにゃらpythonベースがよくね?とかいういい加減にゃ感触でpyvisdk。よく考えたらリモートから叩くにゃら何でも良かったのだが。
とりあえずそこいらのLinuxにinst。
sudo aptitude install python-setuptools python2.6-dev
sudo easy_install setuptools_git
wget https://github.com/xuru/pyvisdk/tarball/master
python ./bootstrap.py
./bin/buildout
sudo python setup.py install
sudo easy_install importlib
こう・・・かぁ?
にゃんかエラーに随時対処するとこうにゃったんだがにゃんかもっとeasyにinstできる気がする(笑)
で
import pyvisdk
vim = pyvisdk.new()
vms = vim.getVirtualMachines()
for vm in vms:
print vm.name
にゃ.pyを作って、
python a.py --server HOSTNAME --username root --password PASS
すれば動くよ!ってことにゃんだが、またいろいろとハマり所が。
まずUTF-8。どこに含まれてるのかよく分からんが落ちる。
import sys
print sys.getdefaultencoding()
sys.setdefaultencoding('utf-8')
print sys.getdefaultencoding()
import site
を先頭に追加して
python -S a.py --server HOSTNAME --username root --password PASS
すればとりあえず動く。
例としては、コンソールからの書き換えが難しいvmの注釈の変更とかが、
import pyvisdk
from pyvisdk.do import *
vim = pyvisdk.new()
vm = vim.getVirtualMachine("vm name")
spec = VirtualMachineConfigSpec(vim,annotation="abc")
vm.ReconfigVM_Task(spec)
こんにゃんでできる。