В чем разница между PySphere и PyVmomi?
Мне нужно написать скрипты Python для автоматизации временной конфигурации виртуальных машин, работающих на хосте ESX/ESXi. Я не знаю, какой API использовать... Я могу найти привязки к Python для VMWare API, а именно. PySphere и PyVmomi. Может ли кто-нибудь объяснить, в чем разница между ними, какой из них следует использовать?
Спасибо!
4 ответа
Я (теперь бывший) сотрудник VMware, который помог вытащить это за дверь.
pyVmomi представляет официальные привязки API vSphere, выпущенного VMware. Имена функций и объектов отображаются непосредственно на то, что задокументировано в vSphere Web Services SDK. Требуется некоторое время, чтобы привыкнуть к этому, и мы должны добавить некоторые документы, помогающие людям сопоставить то, что в официальной документации, с тем, что вы действительно можете использовать в pyVmomi, но на самом деле это все, и вы, вероятно, получите больше функциональности, чем из pysphere, которая упаковывает официальные вызовы API в имена функций, специфичные для API.
Один из наиболее полных проектов, использующих API vSphere через pyVmomi, - это еще один проект, которым я помог с открытым исходным кодом, ThinApp Factory. Я рекомендую взглянуть на его источник (в частности связанный.py), чтобы увидеть, что это возможно.
Если что-то сложно использовать или что-то неясно в pyVmomi, пожалуйста, не стесняйтесь сообщать об ошибке на нашем Github. Повеселись!
Также pyVmomi напрямую соответствует браузеру vsphere Managed Object. Так что доберитесь до MOB на vcenter, выясните, какие свойства вам нужны, а также методы и соглашение имен 1: 1 от pyvmomi поможет вам достичь того, что вы хотите. (короче говоря, вы узнаете о vsphere api и можете использовать его с pyvmomi, для этого не требуется отображение в голове)
pyvmomi - это официальная библиотека python от VMWare для API vSphere.
Ссылки по теме:
- примеры сообщества pyvmomi - пример кода
- ezmomi - основанный на pyvmomi cli для общих задач, таких как развертывание виртуальных машин. (Бесстыдная вилка)
Точно так же, как Джош предложил чистый интерфейс к API-интерфейсу VMWare, он также поддерживает несколько версий python, что приятно, так как позволит вам перейти от, скажем, python2.7 к python3.3.