This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

vConnector - VMware vSphere Connector Module for Python

vConnector is a wrapper module around pyVmomi VMware vSphere bindings, which provides methods for connecting and retrieving of objects from a VMware vSphere server.

The purpose of vConnector is to provide the basic primitives for building complex applications. vConnector can also be used for managing the user/pass/host credentials for your vSphere environment using an SQLite database, which in turn can be shared between multiple applications requiring access to your vSphere environment through a common interface.

Contributions

vConnector is hosted on Github. Please contribute by reporting issues, suggesting features or by sending patches using pull requests.

Installation

The easiest way to install vConnector is by using pip:

$ pip install vconnector

In order to install the latest version of vConnector from the Github repository simply execute these commands instead:

$ git clone https://github.com/dnaeon/py-vconnector.git
$ cd py-vconnector
$ python setup.py install

Using the vconnector-cli tool

Using the vconnector-cli tool you can manage the user/pass/host credentials of your vSphere environment. The vconnector-cli tool stores this information in an SQLite database file, which also makes it easy to be shared between applications.

First, initialize the vConnector database by executing the command below:

$ vconnector-cli init

Here is how to add a new vSphere host to the vConnector database:

$ vconnector-cli -H vc01.example.org -U root -P p4ssw0rd add

Here is how to update an already existing vSphere host from the vConnector database:

$ vconnector-cli -H vc01.example.org -U root -P newp4ssw0rd update

Here is how to remove a vSphere host using vconnector-cli:

$ vconnector-cli -H vc01.example.org remove

Here is how to enable a vSphere host using vconnector-cli:

$ vconnector-cli -H vc01.example.org enable

Here this is how to disable a vSphere host:

$ vconnector-cli -H vc01.example.org disable

And here is how to get the currently registered vSphere hosts from the vConnector database:

$ vconnector-cli get
+---------------------------+---------------------+--------------+-----------+
| Hostname                  | Username            | Password     |   Enabled |
+===========================+=====================+==============+===========+
| vc01.example.org          | root                | p4ssw0rd     |         0 |
+---------------------------+---------------------+--------------+-----------+

Using the vConnector API

Here are a few examples of using the vconnector module API.

Connecting to a vSphere host:

>>> from vconnector.core import VConnector
>>> client = VConnector(
...     user='root',
...     pwd='p4ssw0rd',
...     host='vc01.example.org'
...)
>>> client.connect()

Disconnecting from a vSphere host:

>>> client.disconnect()

Re-connecting to a vSphere host:

>>> client.reconnect()

How to get a VMware vSphere View of all VirtualMachine managed objects:

>>> from __future__ import print_function
>>> from vconnector.core import VConnector
>>> client = VConnector(
...     user='root',
...     pwd='p4ssw0rd',
...     host='vc01.example.org'
...)
>>> client.connect()
>>> vms = client.get_vm_view()
>>> print(vms.view)
(ManagedObject) [
     'vim.VirtualMachine:vm-36',
     'vim.VirtualMachine:vm-129',
     'vim.VirtualMachine:vm-162',
     'vim.VirtualMachine:vm-146',
     'vim.VirtualMachine:vm-67',
     'vim.VirtualMachine:vm-147',
     'vim.VirtualMachine:vm-134',
     'vim.VirtualMachine:vm-88'
]
>>> client.disconnect()

How to get a Managed Object by a specific property, e.g. find the Managed Object of an ESXi host which name is esxi01.example.org:

>>> from __future__ import print_function
>>> import pyVmomi
>>> from vconnector.core import VConnector
>>> client = VConnector(
...     user='root',
...     pwd='p4ssw0rd',
...     host='vc01.example.org'
... )
>>> client.connect()
>>> host = client.get_object_by_property(
...     property_name='name',
...     property_value='esxi01.example.org',
...     obj_type=pyVmomi.vim.HostSystem
... )
>>> print(host.name)
'esxi01.example.org'
>>> client.disconnect()

How to collect properties for vSphere Managed Objects, e.g. get the name and capacity properties for all Datastore managed objects:

>>> from __future__ import print_function
>>> import pyVmomi
>>> from vconnector.core import VConnector
>>> client = VConnector(
...     user='root',
...     pwd='p4ssw0rd',
...     host='vc01.example.org'
... )
>>> client.connect()
>>> datastores = client.get_datastore_view()
>>> result = client.collect_properties(
...     view_ref=datastores,
...     obj_type=pyVmomi.vim.Datastore,
...     path_set=['name', 'summary.capacity']
...)
>>> print(result)
[{u'summary.capacity': 994821799936L, u'name': 'datastore1'}]
>>> client.disconnect()
Release History

Release History

0.4.6

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.9

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
vconnector-0.4.6.tar.gz (12.3 kB) Copy SHA256 Checksum SHA256 Source Dec 15, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting