Commvault SDK for Python
Project description
CVPySDK is a Python Package for Commvault Software.
CVPySDK uses Commvault REST API to perform operations on a Commcell via WebConsole.
Requirements
Installing CVPySDK
CVPySDK can be installed directly from PyPI using pip:
>>> pip install cvpysdk
CVPySDK is available on GitHub here
It can also be installed from source.
After downloading, from within the cvpysdk directory, execute:
>>> python setup.py install
Using CVPySDK
- Login to Commcell:
>>> from cvpysdk.commcell import Commcell >>> commcell = Commcell(webconsole_hostname, commcell_username, commcell_password)
- Print all clients:
>>> print(commcell.clients)
- Get a client:
>>> client = commcell.clients.get(client_name)
- Get an agent:
>>> agent = client.agents.get(agent_name)
- Get an instance:
>>> instance = agent.instances.get(instance_name)
- Browsing content at instance level:
>>> paths, dictionary = instance.browse(path='c:\\', show_deleted=True)
- Browsing content of a instance in a specific time range:
>>> paths, dictionary = instance.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
- Searching a file in instance backup content:
>>> paths, dictionary = instance.find(file_name="*.csv")
- Get a backupset:
>>> backupset = instance.backupsets.get(backupset_name)
- Run backup for a backupset:
>>> job = backupset.backup()
- Browsing content at backupset level:
>>> paths, dictionary = backupset.browse(path='c:\\', show_deleted=True)
- Browsing content of a backupset in a specific time range:
>>> paths, dictionary = backupset.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
- Searching a file in backupset backup content:
>>> paths, dictionary = backupset.find(file_name="*.csv")
- Get a subclient:
>>> subclient = backupset.subclients.get(subclient_name)
- Run backup for a subclient:
>>> job = subclient.backup(backup_level, incremental_backup, incremental_level)
- Browsing content at subclient level:
>>> paths, dictionary = subclient.browse(path='c:\\', show_deleted=True)
- Browsing content of a subclient in a specific time range:
>>> paths, dictionary = subclient.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
- Searching a file in subclient backup content:
>>> paths, dictionary = subclient.find(file_name="*.txt")
- Run restore in place job for a subclient:
>>> job = subclient.restore_in_place(paths, overwrite, restore_data_and_acl)
- Run restore out of place job for a subclient:
>>> job = subclient.restore_out_of_place(client, destination_path, paths, overwrite, restore_data_and_acl)
- Job Operations:
>>> job.pause() # Suspends the Job >>> job.resume() # Resumes the Job >>> job.kill() # Kills the Job >>> job.status # Current Status the Job -- Completed / Pending / Failed / .... / etc. >>> job.is_finished # Job finished or not -- True / False >>> job.delay_reason # Job delay reason (if any) >>> job.pending_reason # Job pending reason (if any)
Uninstalling
On Windows, if CVPySDK was installed using an .exe or .msi installer, simply use the uninstall feature of “Add/Remove Programs” in the Control Panel.
Alternatively, you can uninstall using the pip command:
>>> pip uninstall cvpysdk
Subclient Support
Subclient operations are currently supported for the following Agents:
File System
Virtual Server
Cloud Apps
SQL Server
NAS / NDMP
SAP HANA
ORACLE
Sybase
SAP ORACLE
Exchange Database
Exchange Mailbox
Informix
Notes Database
MySQL
PostgreS
Big Data Apps
Documentation
To get started, please see the full documentation for this library
Contribution Guidelines
We welcome all the enhancements from everyone although we request the developer to follow some guidelines while interacting with the CVPySDK codebase.
Before adding any enhancements/bug-fixes, we request you to open an Issue first.
The SDK team will go over the Issue and notify if it is required or already been worked on.
If the Issue is approved, the contributor can then make the changes to their fork and open a pull request.
Pull Requests
- CVPySDK has 2 active branches, namely:
master
dev
- where the other branches refer to the already released code / branched code, which may only get some bug-fixes, with no active development
SP7
SP8
SP9
SP10
SP11
SP12
SP13
The contributor should Fork the dev branch, and make their changes on top of it, and open a Pull Request
The master branch will then be updated with the dev branch, once everything is verified
Note: The SDK team will not accept any Pull Requests on the master branch
Coding Considerations
All python code should be PEP8 compliant.
All changes should be consistent with the design of the SDK.
The code should be formatted using autopep8 with line-length set to 99 instead of default 79.
All changes and any new methods/classes should be properly documented.
The doc strings should be of the same format as existing docs.
Code of Conduct
Everyone interacting in the CVPySDK project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.
License
CVPySDK and its contents are licensed under Commvault License
About Commvault
Commvault (NASDAQ: CVLT) is a publicly traded data protection and information management software company headquartered in Tinton Falls, New Jersey.
It was formed in 1988 as a development group in Bell Labs, and later became a business unit of AT&T Network Systems. It was incorporated in 1996.
Commvault software assists organizations with data backup and recovery, cloud and infrastructure management, and retention and compliance.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cvpysdk-11.16.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6318a97e3c2dff5de57f6939dfdf1c22e5f8f8e976362b32c862c90837965092 |
|
MD5 | d0078a31e0dd2757837eb0255939b0a4 |
|
BLAKE2b-256 | 10c9ec7aaa795f4da44765a88db6b788598d2ab4d76aeed4802ec904eaf892d4 |