SlideShare a Scribd company logo
Introduction to vSphere APIs Using pyVmomi
pyVmomi
Michael Rice
@VirtDevNinja
http://errr-online.com/
https://github.com/michaelrice
About Michael Rice
❖ Software Developer @ Rackspace
❖ Trust me, I have a Linux beard.
❖ http://linuxbeard.com/image/114385301362
❖ RPM Package Maintainer for pyVmomi
❖ Leading community contributor to pyVmomi & community-
samples
❖ Creator of YAVIJAVA the VIJAVA fork
❖ StackOverflow pyVmomi & VIJAVA
Introduction to vSphere APIs Using pyVmomi
About pyVmomi
❖ Open Source python SDK for vSphere
❖ Released Dec 2013
❖ License: Apache 2.0
❖ Python VMWare Managed Object Management Interface
❖ Other Vmomi projects include GoVmomi & rbVmomi
❖ Wraps vSphere WebServices SOAP API very tightly
❖ Its been around a long time!! Look on your 4.0 HostSystems!
❖ Multiple versions. Whats on HostSystems != whats on GitHub
Why Use Python & pyVmomi
❖ Python is easy for beginners to learn
❖ vSphere 6.0 VMWare released VMWare vCloud Suite SDK for Python
❖ http://developercenter.vmware.com/web/sdk/60/vcloudsuite-python
❖ Python is in the top 10 languages you should be learning RIGHT NOW!
❖ If you work in a mixed environment of admins running Windows, Mac and Linux then
the same Python code works for everyone! (mostly)
❖ Integrate with ConfigManagement like Ansible & SaltStack
❖ pySphere and pSphere are much slower because they use SUDS
❖ pyVmomi is FAST! 360 milliseconds to inventory 576 VMs
❖ Do tasks you can normally only do from the UI — Reset Alarms from Red to Green
Setting Up a Development
Environment
❖ Setup a Development vCenter using Simulator
❖ Install Python and VirtualEnv on our desktop
❖ Install Python IDE — pyCharm/IntelliJ, pyDev, etc..
❖ No Intelli-Sense due to dynamic nature of library
❖ Install pyVmomi
Installing vCenter SA
❖ Download vCenter Server Appliance 5.5 ova
❖ 6.0 has a bug and Simulator DOES NOT WORK!
❖ Deploy the OVA to Fusion or Workstation
❖ Use simple shell script to configure VCSA Simulator
❖ https://gist.github.com/michaelrice/
#!/bin/bash
# See the original work from William Lam at http://www.virtuallyghetto.com/
echo "Accepting EULA ..."
/usr/sbin/vpxd_servicecfg eula accept
echo "Setting default ports ..."
/usr/sbin/vpxd_servicecfg 'ports' 'defaults'
echo "Configuring Embedded DB ..."
/usr/sbin/vpxd_servicecfg 'db' 'write' 'embedded'
echo "Configuring SSO..."
/usr/sbin/vpxd_servicecfg 'sso' 'write' 'embedded' 'password'
echo "Starting VCSIM ..."
/usr/bin/vmware-vcsim-start default
echo "Starting VCSA ..."
/usr/sbin/vpxd_servicecfg service start
Introduction to vSphere APIs Using pyVmomi
Install Python & VirtualEnv
❖ Please See one of the 1000’s of guides online
❖ I use 2.7 but pyVmomi supports the following versions
of Python: 2.6, 2.7, 3.3, 3.4
❖ On Mac consider brew install of python
Install an IDE
❖ pyCharm/IntelliJ
❖ pyDev
❖ Other
Install pyVmomi
❖ Universal/Recommended
❖ pip install -U pyvmomi
❖ RHEL/Fedora/CentOS
❖ yum install pyvmomi
❖ FreeBSD
❖ pkg install pyvmomi
Not So Fast!!
vSphere Object Model
❖ Managed Objects
❖ HostSystem, VirtualMachine, Folder, Network, etc..
❖ Managed Object Reference
❖ Used in MO to point to other associated managed objects
❖ Data Objects
❖ Information about a Managed Object. Properties of the
MO
Object Diagram
Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomi
Basic Usage with Actual
Code!!
>>> from pyVim.connect import SmartConnect
>>> si = SmartConnect(host="vcsa", user="admin", pwd="password")
>>> host = si.content.searchIndex.FindByDnsName(None, “DC0_C0_H0”, False)
>>> print host.name
DC0_C0_H0
>>> print host.summary.hardware.model
ProLiant DL380 G5
3 Lines of Code to get a HostSystem!
List All HostSystems in
vCenter
service_instance = SmartConnect(User, Password, HostName)
Hosts = GetAllHosts(service_instance)
for host in Hosts:
PrintHostInfo(host)
def PrintHostInfo(host):
# print various property info for a given host
def GetAllHosts(service_instance):
# do work needed to get host related info here…
Solving Business Problems
❖ SAN Team has a “Non Impacting No Downtime Maintenance” to do on the SAN
Switches
❖ All customers have redundant connections
❖ Maint will require them to bring down A chan restore it then bring down B
chan and restore it
❖ Such a low risk VirtSupport not informed only customer is notified.
❖ vCenter Alarms monitor the SAN connections
❖ They see redundancy lost & trigger SNMP trap.
❖ Ticket is generated for each device!!
❖ 30 mins later its 3am & 100’s of tickets have hit the queue fire drill begins!
Solving Business Problems
❖ Already had SOP in place for how to manually work the Redundancy lost tickets
❖ Use python to connect to various APIs in company to gather data from ticket to
automate the SOP
❖ Use pyVmomi to connect vCenter to check for actual problem.
❖ Rescan HBA etc..
❖ Use pyVmomi to ack alarm & reset from red to green
❖ Use python to hit ticket API to close ticket if fixed or flag as real issue for
VirtSupport to go look at
❖ While this code was in production it worked 1000’s of tickets saving Rackers 100’s
of hours in NVA work.
Introduction to vSphere APIs Using pyVmomi
Valuable Tools
❖ Onyx
❖ https://labs.vmware.com/flings/onyx
❖ Latest Version: 2.2.5
❖ Capture all traffic happening between client and server
❖ DoubleCloud Proxy
❖ Created by: Steve Jin
❖ http://www.doublecloud.org/doublecloud-proxy/
❖ Capture all traffic happening between client and server
Onyx & DoubleCloud Proxy
❖ Start the app and point them at your target vSphere
server
❖ Point your script or VIClient etc.. at proxy
❖ Profit
Things Ive Learned
❖ There are several “hidden” folders
❖ These can all be seen using the MOB
❖ HostSystems do not always have a unique UUID
❖ On Dell if Service Tag not set in BIOS it uses a generic default UUID
❖ When searching for them use the DNS Name or InventoryPath +
name
❖ InventoryPath can be tricky. Use MOB for help
❖ Using the UUID will return the first one it finds
❖ http://kb.vmware.com/kb/1006250
Things Ive Learned
❖ VirtualMachine BIOS UUID is shared by VMS in a vApp
❖ The only thing unique for use in searching for a VM is
the instance UUID so use it or the InventoryPath +
name
❖ Property Collectors are complicated but worth the extra
work
❖ You CAN NOT SCALE with out them!!
Must Have Links
❖ pyVmomi docs: https://github.com/vmware/pyvmomi/tree/master/docs
❖ community-samples: https://github.com/vmware/pyvmomi-community-samples/
❖ ~30 samples and growing!! Contribute today!!
❖ Help us: https://github.com/vmware/pyvmomi-community-
samples/labels/help%20wanted
❖ My Blog: http://www.errr-online.com/
❖ VMWare developer resources: http://developercenter.vmware.com/sdks
❖ Shawn Hartsock: http://hartsock.blogspot.com/
❖ VMWare employee currently maintaing pyVmomi
❖ youtube: https://www.youtube.com/playlist?list=PLO7-
YtwexdVIttJejhsBjo0TZPq0BSFfw
Getting Help
❖ pyVmomi: https://github.com/vmware/pyvmomi
❖ IRC: Freenode —> #pyvmomi
❖ Mailing List: http://pyvmomi.2338814.n4.nabble.com/
❖ StackOver Flow: tag post with pyvmomi

More Related Content

PDF
High-Performance Networking Using eBPF, XDP, and io_uring
PDF
MySQL GTID 시작하기
PDF
What is new in MariaDB 10.6?
PDF
Resilience4j with Spring Boot
PPTX
High Availability Content Caching with NGINX
PDF
Node.js Меньше сложности, больше надежности Holy.js 2021
PDF
PostgreSQL Materialized Views with Active Record
PDF
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
High-Performance Networking Using eBPF, XDP, and io_uring
MySQL GTID 시작하기
What is new in MariaDB 10.6?
Resilience4j with Spring Boot
High Availability Content Caching with NGINX
Node.js Меньше сложности, больше надежности Holy.js 2021
PostgreSQL Materialized Views with Active Record
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안

What's hot (20)

PDF
Disaster Recovery Plans for Apache Kafka
PPTX
MySQL Slow Query log Monitoring using Beats & ELK
PDF
An Apache Hive Based Data Warehouse
PDF
Redis cluster
PPTX
RedisConf17- Using Redis at scale @ Twitter
PPTX
Introduction to microservices
PPTX
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
PDF
[2019] 200만 동접 게임을 위한 MySQL 샤딩
PDF
Postgresql tutorial
PDF
OFI libfabric Tutorial
PDF
Postgresql database administration volume 1
PDF
kdump: usage and_internals
PPTX
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
PDF
Power-up services with gRPC
PPT
Using galera replication to create geo distributed clusters on the wan
PPTX
Découverte de Redis
PDF
SRE Conference 2022 - How to Build a Healthy On-Call Culture
PPTX
Introduction to Rust language programming
PDF
Dbm630_lecture02-03
PDF
PostgreSQL Tutorial For Beginners | Edureka
Disaster Recovery Plans for Apache Kafka
MySQL Slow Query log Monitoring using Beats & ELK
An Apache Hive Based Data Warehouse
Redis cluster
RedisConf17- Using Redis at scale @ Twitter
Introduction to microservices
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
[2019] 200만 동접 게임을 위한 MySQL 샤딩
Postgresql tutorial
OFI libfabric Tutorial
Postgresql database administration volume 1
kdump: usage and_internals
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
Power-up services with gRPC
Using galera replication to create geo distributed clusters on the wan
Découverte de Redis
SRE Conference 2022 - How to Build a Healthy On-Call Culture
Introduction to Rust language programming
Dbm630_lecture02-03
PostgreSQL Tutorial For Beginners | Edureka
Ad

Viewers also liked (19)

PPTX
Controlling multiple VMs with the power of Python
PPTX
Vmware vSphere Api Best Practices
PDF
vSphere APIs for performance monitoring
PDF
Exploring VMware APIs by Preetham Gopalaswamy
PDF
VMware Automation, PowerCLI presented at the Northern California PSUG
PPTX
Salt Cloud vmware-orchestration
PDF
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
PPTX
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
PDF
Big Data visualization with Apache Spark and Zeppelin
PDF
Advanced Apache Spark Meetup Data Sources API Cassandra Spark Connector Spark...
PDF
Explorez vos données avec apache zeppelin
PPTX
Pyvmomiとansibleのdynamic inventory
PPTX
Barracuda Email Security Gateway(旧 Barracuda Spam Firewall PLUS) 製品のご紹介
PPTX
How to Adopt Infrastructure as Code
PDF
Apache Zeppelin Helium and Beyond
PDF
Building an EmPyre with Python
PDF
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
PPTX
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
PDF
The new Netflix API
Controlling multiple VMs with the power of Python
Vmware vSphere Api Best Practices
vSphere APIs for performance monitoring
Exploring VMware APIs by Preetham Gopalaswamy
VMware Automation, PowerCLI presented at the Northern California PSUG
Salt Cloud vmware-orchestration
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
Big Data visualization with Apache Spark and Zeppelin
Advanced Apache Spark Meetup Data Sources API Cassandra Spark Connector Spark...
Explorez vos données avec apache zeppelin
Pyvmomiとansibleのdynamic inventory
Barracuda Email Security Gateway(旧 Barracuda Spam Firewall PLUS) 製品のご紹介
How to Adopt Infrastructure as Code
Apache Zeppelin Helium and Beyond
Building an EmPyre with Python
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
The new Netflix API
Ad

Similar to Introduction to vSphere APIs Using pyVmomi (20)

PDF
OSDC 2018 | Spicing up VMWare with Ansible and InSpec by Martin Schurz and S...
ODP
Virtually Pwned
PPT
Dashboard project.
PDF
Building a low cost hack lab
PPTX
Transitioning to vmWare ESXi
PDF
Poster vmware-management-with-vcli-5.0
PDF
Pandora FMS: VMware Enterprise Plugin
PPTX
Supporting Hyper-V 3.0 on Apache CloudStack
PDF
Benefity Oracle Cloudu (3/4): Compute
PDF
Es xi 4.1 migration guide
PDF
V mware admin interview questions
DOCX
Vm ware interview questions
DOCX
Vmware Training in Bangalore | Certification
PDF
Vmware admin interview questions
PPTX
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
PPTX
01 v mware overview
PPT
Introduction To Managing VMware With PowerShell
PPTX
Virtualization, A Concept Implementation of Cloud
PDF
vBrownBag 2015-07-08 - VCP6-DCV Foundations Section 7: Monitoring
PPTX
NC Wisconsin SuperVMUG 2019 Tools and Tips
OSDC 2018 | Spicing up VMWare with Ansible and InSpec by Martin Schurz and S...
Virtually Pwned
Dashboard project.
Building a low cost hack lab
Transitioning to vmWare ESXi
Poster vmware-management-with-vcli-5.0
Pandora FMS: VMware Enterprise Plugin
Supporting Hyper-V 3.0 on Apache CloudStack
Benefity Oracle Cloudu (3/4): Compute
Es xi 4.1 migration guide
V mware admin interview questions
Vm ware interview questions
Vmware Training in Bangalore | Certification
Vmware admin interview questions
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
01 v mware overview
Introduction To Managing VMware With PowerShell
Virtualization, A Concept Implementation of Cloud
vBrownBag 2015-07-08 - VCP6-DCV Foundations Section 7: Monitoring
NC Wisconsin SuperVMUG 2019 Tools and Tips

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
L1 - Introduction to python Backend.pptx
PDF
AI in Product Development-omnex systems
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ai tools demonstartion for schools and inter college
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
medical staffing services at VALiNTRY
Operating system designcfffgfgggggggvggggggggg
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Online Work Permit System for Fast Permit Processing
Navsoft: AI-Powered Business Solutions & Custom Software Development
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Choose the Right IT Partner for Your Business in Malaysia
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
L1 - Introduction to python Backend.pptx
AI in Product Development-omnex systems
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ai tools demonstartion for schools and inter college
How Creative Agencies Leverage Project Management Software.pdf
ISO 45001 Occupational Health and Safety Management System
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Odoo Companies in India – Driving Business Transformation.pdf
medical staffing services at VALiNTRY

Introduction to vSphere APIs Using pyVmomi

  • 1. Introduction to vSphere APIs Using pyVmomi pyVmomi Michael Rice @VirtDevNinja http://errr-online.com/ https://github.com/michaelrice
  • 2. About Michael Rice ❖ Software Developer @ Rackspace ❖ Trust me, I have a Linux beard. ❖ http://linuxbeard.com/image/114385301362 ❖ RPM Package Maintainer for pyVmomi ❖ Leading community contributor to pyVmomi & community- samples ❖ Creator of YAVIJAVA the VIJAVA fork ❖ StackOverflow pyVmomi & VIJAVA
  • 4. About pyVmomi ❖ Open Source python SDK for vSphere ❖ Released Dec 2013 ❖ License: Apache 2.0 ❖ Python VMWare Managed Object Management Interface ❖ Other Vmomi projects include GoVmomi & rbVmomi ❖ Wraps vSphere WebServices SOAP API very tightly ❖ Its been around a long time!! Look on your 4.0 HostSystems! ❖ Multiple versions. Whats on HostSystems != whats on GitHub
  • 5. Why Use Python & pyVmomi ❖ Python is easy for beginners to learn ❖ vSphere 6.0 VMWare released VMWare vCloud Suite SDK for Python ❖ http://developercenter.vmware.com/web/sdk/60/vcloudsuite-python ❖ Python is in the top 10 languages you should be learning RIGHT NOW! ❖ If you work in a mixed environment of admins running Windows, Mac and Linux then the same Python code works for everyone! (mostly) ❖ Integrate with ConfigManagement like Ansible & SaltStack ❖ pySphere and pSphere are much slower because they use SUDS ❖ pyVmomi is FAST! 360 milliseconds to inventory 576 VMs ❖ Do tasks you can normally only do from the UI — Reset Alarms from Red to Green
  • 6. Setting Up a Development Environment ❖ Setup a Development vCenter using Simulator ❖ Install Python and VirtualEnv on our desktop ❖ Install Python IDE — pyCharm/IntelliJ, pyDev, etc.. ❖ No Intelli-Sense due to dynamic nature of library ❖ Install pyVmomi
  • 7. Installing vCenter SA ❖ Download vCenter Server Appliance 5.5 ova ❖ 6.0 has a bug and Simulator DOES NOT WORK! ❖ Deploy the OVA to Fusion or Workstation ❖ Use simple shell script to configure VCSA Simulator ❖ https://gist.github.com/michaelrice/
  • 8. #!/bin/bash # See the original work from William Lam at http://www.virtuallyghetto.com/ echo "Accepting EULA ..." /usr/sbin/vpxd_servicecfg eula accept echo "Setting default ports ..." /usr/sbin/vpxd_servicecfg 'ports' 'defaults' echo "Configuring Embedded DB ..." /usr/sbin/vpxd_servicecfg 'db' 'write' 'embedded' echo "Configuring SSO..." /usr/sbin/vpxd_servicecfg 'sso' 'write' 'embedded' 'password' echo "Starting VCSIM ..." /usr/bin/vmware-vcsim-start default echo "Starting VCSA ..." /usr/sbin/vpxd_servicecfg service start
  • 10. Install Python & VirtualEnv ❖ Please See one of the 1000’s of guides online ❖ I use 2.7 but pyVmomi supports the following versions of Python: 2.6, 2.7, 3.3, 3.4 ❖ On Mac consider brew install of python
  • 11. Install an IDE ❖ pyCharm/IntelliJ ❖ pyDev ❖ Other
  • 12. Install pyVmomi ❖ Universal/Recommended ❖ pip install -U pyvmomi ❖ RHEL/Fedora/CentOS ❖ yum install pyvmomi ❖ FreeBSD ❖ pkg install pyvmomi
  • 14. vSphere Object Model ❖ Managed Objects ❖ HostSystem, VirtualMachine, Folder, Network, etc.. ❖ Managed Object Reference ❖ Used in MO to point to other associated managed objects ❖ Data Objects ❖ Information about a Managed Object. Properties of the MO
  • 18. Basic Usage with Actual Code!! >>> from pyVim.connect import SmartConnect >>> si = SmartConnect(host="vcsa", user="admin", pwd="password") >>> host = si.content.searchIndex.FindByDnsName(None, “DC0_C0_H0”, False) >>> print host.name DC0_C0_H0 >>> print host.summary.hardware.model ProLiant DL380 G5 3 Lines of Code to get a HostSystem!
  • 19. List All HostSystems in vCenter service_instance = SmartConnect(User, Password, HostName) Hosts = GetAllHosts(service_instance) for host in Hosts: PrintHostInfo(host) def PrintHostInfo(host): # print various property info for a given host def GetAllHosts(service_instance): # do work needed to get host related info here…
  • 20. Solving Business Problems ❖ SAN Team has a “Non Impacting No Downtime Maintenance” to do on the SAN Switches ❖ All customers have redundant connections ❖ Maint will require them to bring down A chan restore it then bring down B chan and restore it ❖ Such a low risk VirtSupport not informed only customer is notified. ❖ vCenter Alarms monitor the SAN connections ❖ They see redundancy lost & trigger SNMP trap. ❖ Ticket is generated for each device!! ❖ 30 mins later its 3am & 100’s of tickets have hit the queue fire drill begins!
  • 21. Solving Business Problems ❖ Already had SOP in place for how to manually work the Redundancy lost tickets ❖ Use python to connect to various APIs in company to gather data from ticket to automate the SOP ❖ Use pyVmomi to connect vCenter to check for actual problem. ❖ Rescan HBA etc.. ❖ Use pyVmomi to ack alarm & reset from red to green ❖ Use python to hit ticket API to close ticket if fixed or flag as real issue for VirtSupport to go look at ❖ While this code was in production it worked 1000’s of tickets saving Rackers 100’s of hours in NVA work.
  • 23. Valuable Tools ❖ Onyx ❖ https://labs.vmware.com/flings/onyx ❖ Latest Version: 2.2.5 ❖ Capture all traffic happening between client and server ❖ DoubleCloud Proxy ❖ Created by: Steve Jin ❖ http://www.doublecloud.org/doublecloud-proxy/ ❖ Capture all traffic happening between client and server
  • 24. Onyx & DoubleCloud Proxy ❖ Start the app and point them at your target vSphere server ❖ Point your script or VIClient etc.. at proxy ❖ Profit
  • 25. Things Ive Learned ❖ There are several “hidden” folders ❖ These can all be seen using the MOB ❖ HostSystems do not always have a unique UUID ❖ On Dell if Service Tag not set in BIOS it uses a generic default UUID ❖ When searching for them use the DNS Name or InventoryPath + name ❖ InventoryPath can be tricky. Use MOB for help ❖ Using the UUID will return the first one it finds ❖ http://kb.vmware.com/kb/1006250
  • 26. Things Ive Learned ❖ VirtualMachine BIOS UUID is shared by VMS in a vApp ❖ The only thing unique for use in searching for a VM is the instance UUID so use it or the InventoryPath + name ❖ Property Collectors are complicated but worth the extra work ❖ You CAN NOT SCALE with out them!!
  • 27. Must Have Links ❖ pyVmomi docs: https://github.com/vmware/pyvmomi/tree/master/docs ❖ community-samples: https://github.com/vmware/pyvmomi-community-samples/ ❖ ~30 samples and growing!! Contribute today!! ❖ Help us: https://github.com/vmware/pyvmomi-community- samples/labels/help%20wanted ❖ My Blog: http://www.errr-online.com/ ❖ VMWare developer resources: http://developercenter.vmware.com/sdks ❖ Shawn Hartsock: http://hartsock.blogspot.com/ ❖ VMWare employee currently maintaing pyVmomi ❖ youtube: https://www.youtube.com/playlist?list=PLO7- YtwexdVIttJejhsBjo0TZPq0BSFfw
  • 28. Getting Help ❖ pyVmomi: https://github.com/vmware/pyvmomi ❖ IRC: Freenode —> #pyvmomi ❖ Mailing List: http://pyvmomi.2338814.n4.nabble.com/ ❖ StackOver Flow: tag post with pyvmomi