Package: cvpysdk
CVPySDK is a Python Package for Commvault Software.CVPySDK uses REST APIs to perform CommCell operations.RequirementsPython 3 and aboverequestsPython packagefuturePython packagexmltodictPython packageCommvault Software v11 SP7 or later release with WebConsole installedInstalling CVPySDKCVPySDK can be installed directly from PyPI using pip:>>> pip install cvpysdkCVPySDK is available on GitHubhereIt can also be installed from source.After downloading, from within thecvpysdkdirectory, execute:>>> python setup.py installUsing CVPySDKLogin 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)UninstallingOn Windows, if CVPySDK was installed using an.exeor.msiinstaller, simply use the uninstall feature of “Add/Remove Programs” in the
Control Panel.Alternatively, you can uninstall using thepipcommand:>>> pip uninstall cvpysdkSubclient SupportSubclient operations are currently supported for the following Agents:File SystemVirtual ServerCloud AppsSQL ServerNAS / NDMPSAP HANAORACLESybaseSAP ORACLEExchange DatabaseExchange MailboxInformixNotes DatabaseMySQLPostgreSBig Data AppsDocumentationTo get started, please see thefull documentation for this libraryContribution GuidelinesWe welcome all the enhancements from everyone although we request the developer to follow some guidelines while interacting with theCVPySDKcodebase.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 RequestsCVPySDK has 2 active branches, namely:masterdevThe contributor shouldForkthedevbranch, and make their changes on top of it, and open aPull RequestThemasterbranch will then be updated with thedevbranch, once everything is verifiedNote:The SDK team will not accept anyPull Requestson themasterbranchCoding ConsiderationsAll python code should bePEP8compliant.All changes should be consistent with the design of the SDK.The code should be formatted usingautopep8with line-length set to99instead of default79.All changes and any new methods/classes should be properly documented.The doc strings should be of the same format as existing docs.Questions/Comments/SuggestionsIf you have any questions or comments, please contact ushere.
Also Check out our community forAutomationincase of queries.Code of ConductEveryone interacting in theCVPySDKproject’s codebases, issue trackers,
chat rooms, and mailing lists is expected to follow thePyPA Code of Conduct.LicenseCVPySDKand its contents are licensed underCommvault LicenseAbout CommvaultCommvault(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.