ITS Private Cloud Python Client pyvss
Documentation
Package documentation is now available at docs.
Installation
The fastest way to install PyVSS is to use pip:
pip install pyvss
To interact with vskey-stor
, install pyvss with extras:
pip install pyvss[stor]
If you have PyVSS installed and want to upgrade to the latest version you can run:
pip install --upgrade pyvss
This will install PyVSS as well as all dependencies.
You can also just download the tarball. Once you have the py-vss
directory structure on your workstation, you can just run:
cd <path_to_py-vss>
pip install .
macOS
You can use pip
directly to install PyVSS. Run pip --version
to see if your version of
macOS already includes Python and pip
.
pip --version
If you don't have pip
installed, first download and install
Python 3.7 for Mac from the downloads page of Python.org.
Download and run the pip
installation script provided by the Python Packaging Authority.
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
- Use
pip
to install PyVSS.
pip install pyvss --upgrade --user
- Verify that the PyVSS is installed correctly.
pip freeze | grep pyvss
Linux
You can use pip
directly to install PyVSS. Run pip --version
to see if your version of
Linux already includes Python and pip
.
pip --version
If you don't have pip
installed, first download and install
Python 3.5 for Linux from the
downloads page of Python.org or using your preferred package manager.
Download and run the pip
installation script provided by the Python Packaging Authority.
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
- Use
pip
to install PyVSS.
pip install pyvss --upgrade --user
- Verify that the PyVSS is installed correctly.
pip freeze | grep pyvss
Windows
-
Open the Command Prompt from the Start menu.
-
Use the following commands to verify that Python and pip
are both installed correctly.
C:\Windows\System32> python --version
Python 3.7.1
C:\Windows\System32> pip --version
pip 18.1 from c:\program files\python37\lib\site-packages\pip (python 3.7)
- Install PyVSS CLI using pip.
C:\Windows\System32> pip install pyvss
- Verify that PyVSS is installed correctly.
C:\Windows\System32> pip freeze | findstr pyvss
Docker
For more information refer to the Docker section.
Use
Create an instance of VssManager
passing your ITS Private Cloud API access token
and your are all set to start calling any of the self-descriptive methods included:
from pyvss.manager import VssManager
vss = VssManager(tk='api_token')
vms = vss.get_vms()
folders = vss.get_folders()
networks = vss.get_networks()
domains = vss.get_domains()
vss.power_cycle_vm(uuid='<uuid>')
req = vss.create_vm(os='ubuntu64Guest', built='os_install',
description='Testing python wrapper',
folder='group-v6736', bill_dept='EIS', disks=[100, 100])
uuid = vss.wait_for_request(req['_links']['request'], 'vm_uuid', 'Processed')
reqs = vss.create_vms(count=3, name='python', os='ubuntu64Guest', bill_dept='EIS',
description='Testing multiple deployment from python wrapper',
folder='group-v6736', built='os_install')
uuids = [vss.wait_for_request(r['_links']['request'], 'vm_uuid', 'Processed') for r in reqs]
for uuid in uuids:
vss.power_on_vm(uuid)
req = vss.create_vm_snapshot(uuid='5012abcb-a9f3-e112-c1ea-de2fa9dab90a',
desc='Snapshot description',
date_time='2016-08-04 15:30',
valid=1)
snap_id = vss.wait_for_request(req['_links']['request'], 'snap_id', 'Processed')
req = vss.revert_vm_snapshot(uuid, snap_id)
An alternative is to generate a token from within the VssManager
class and this can be done
by setting the following environment variables
export VSS_API_USER='username'
export VSS_API_USER_PASS='username_password'
Then, from the VssManager
call the get_token
method as follows:
from pyvss.manager import VssManager
vss = VssManager()
vss.get_token()
Getting Help
We use GitLab issues for tracking bugs, enhancements and feature requests.
If it turns out that you may have found a bug, please open a new issue.
Versioning
The client versions has been recently moved to Calendar Versioning.
Versions available in the tags section or
PyPI.
Contributing
Refer to the Contributing Guide for details on our code of conduct and the process of
submitting code to the repository.