Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
CVPySDK is a Python Package for Commvault Software.
CVPySDK uses REST APIs to perform CommCell operations.
requests <https://pypi.python.org/pypi/requests/>
_ Python packagexmltodict <https://pypi.python.org/pypi/xmltodict>
_ Python packageCVPySDK can be installed directly from PyPI using pip:
>>> pip install cvpysdk
CVPySDK is available on GitHub here <https://github.com/Commvault/cvpysdk>
_
It can also be installed from source.
After downloading, from within the cvpysdk
directory, execute:
>>> pip install .
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)
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 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
To get started, please see the full documentation for this library <https://commvault.github.io/cvpysdk/>
_
#. 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:
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
If you have any questions or comments, please contact us here <https://ma.commvault.com/>
__.
Also Check out our community for Automation <https://community.commvault.com/developer-tools-integration-and-automation-workflow-rest-powershell-etc-50>
_ incase of queries.
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
_.
.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
CVPySDK and its contents are licensed under Commvault License <https://raw.githubusercontent.com/Commvault/cvpysdk/master/LICENSE.txt>
_
.. image:: https://commvault.github.io/cvpysdk/logo.png :align: center
|
Commvault <https://www.commvault.com/>
_
(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.
FAQs
Commvault SDK for Python
We found that cvpysdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.