rjcli for Dell EMC PowerProtect Data Manager
A command line interface developed for Dell EMC Power Protect Data Manager (PPDM). PPDM is a Dell EMC's modern data center backup and recovery software which is developed based on microservices architecture. It has a user friendly and modern interface to configure, manage and monitor backups. PPDM has a RestAPI for the customers to integrate backups into their DevOps pipeline or for other automation purpose. I have developed this CLI to provide some of the funcitionalies through a command line for the customers who wish to use CLI.
This CLI has features like to list activities, storage, policies, assets and also will be able to retry failed jobs. This is a version 1.0 CLI, i will be adding more features in the future.
Getting Started
Windows and Linux using Python3 and Pip.
rjcli package is available in Python Package Index (PyPi) or download the sourcecode from this repo and install it using setup.py
Python >3.5 and pip are prerequesites, please install them before installing this package.
pip install rjcli
OR
If you do not want to install Python and want an executable binary, then download the executable from Windows folder.
Download rjcli.exe from Windows Exe folder and execute it
Once installed execute a command 'rjcli' and login to PPDM!
Usage
Connect to the PPDM with either hostname or IP. The following are the commands and options available.
login
show --help
show --<option> --help
show --jobs summary --period <1day-ago | 1week-ago>
show --jobs successful --period <1day-ago | 1week-ago>
show --jobs failed --period <1day-ago | 1week-ago>
show --jobs all --period <1day-ago | 1week-ago>
show --storage details
show --asset all
show --asset summary
show --asset <key-word>
show --policies all
show --policies <key-word>
show --cred <all>
backup --client <name>
backup --retry ALL-FAILED --period <1day-ago | 1week-ago>
monitor --activityid <activity-id>
monitor --jobs running
report --backupsize <clientname> or <keyword>
report --backupsize all
delete --cred <user>
alerts --display <warning | critical | informational | summary>
alerts --ack <warning | critical | informational | all>
Example Output
dellemc-ppdm-cli > show --jobs successful --period 1day-ago
+---------------+-----------+------------+--------------------------+
| Activity Name | Job Type | Job Status | Start Time |
+---------------+-----------+------------+--------------------------+
| PLC1-VMware | JOB | OK | 2020-06-01T07:00:00.885Z |
| PLC1-VMware | JOB | OK | 2020-06-01T07:00:00.772Z |
| PLC1-VMware | JOB | OK | 2020-06-01T07:00:00.661Z |
| PLC-VMware-2 | JOB | OK | 2020-06-01T07:00:00.628Z |
| PLC1-VMware | JOB | OK | 2020-06-01T07:00:00.513Z |
| PLC-VMware-2 | JOB | OK | 2020-06-01T07:00:00.465Z |
| PLC-VMware-2 | JOB_GROUP | OK | 2020-06-01T07:00:00.429Z |
| PLC1-VMware | JOB | OK | 2020-06-01T07:00:00.383Z |
| PLC1-VMware | JOB_GROUP | OK | 2020-06-01T07:00:00.344Z |
| PLC1-VMware | JOB | OK | 2020-06-01T06:00:01.070Z |
| PLC1-VMware | JOB | OK | 2020-06-01T06:00:00.891Z |
| PLC1-VMware | JOB | OK | 2020-06-01T06:00:00.775Z |
| PLC1-VMware | JOB | OK | 2020-06-01T06:00:00.629Z |
| PLC-VMware-2 | JOB | OK | 2020-06-01T06:00:00.560Z |
| PLC1-VMware | JOB | OK | 2020-06-01T06:00:00.448Z |
dellemc-ppdm-cli > show --policies all
+--------------+------------------------+--------+-----------+----------------------+
| Policy Name | Policy Type | Status | Frequency | Next Schedule |
+--------------+------------------------+--------+-----------+----------------------+
| BackupAtl | VMWARE_VIRTUAL_MACHINE | ACTIVE | MONTHLY | 2020-06-09T03:00:00Z |
| k8s-plc | KUBERNETES | ACTIVE | HOURLY | 2020-06-09T03:00:00Z |
| k8_test | KUBERNETES | ACTIVE | HOURLY | 2020-06-08T17:43:00Z |
| fs_test | FILE_SYSTEM | ACTIVE | HOURLY | 2020-06-08T18:23:00Z |
| oracle | ORACLE_DATABASE | ACTIVE | HOURLY | 2020-06-09T12:00:00Z |
| Test1 | VMWARE_VIRTUAL_MACHINE | ACTIVE | HOURLY | 2020-06-09T02:00:00Z |
+--------------+------------------------+--------+-----------+----------------------+
dellemc-ppdm-cli > show --asset summary
+------------------------+-------------+
| Asset Type | Asset Count |
+------------------------+-------------+
| VMWARE_VIRTUAL_MACHINE | 654 |
| KUBERNETES | 14 |
| FILE_SYSTEM | 1 |
+------------------------+-------------+
dellemc-ppdm-cli > report --backupsize all
-----------------------------------------------------
This reports shows the single largest backup size
-----------------------------------------------------
Total number of assets: 125
Total Largest Backup (GB): 700.00
dellemc-ppdm-cli > show --storage details
---------------------------------------------------------
Data Domain Name: ddve-str-01.domain.local
DD Type: DATA_DOMAIN_SYSTEM
DD Model: DD VE Version 4.0
DD Serial Number: xxxxxxxxxxxxxxxx
DDOS Version: 6.2.0.10-615548
Total Size (GB): 351.01
Used Size (GB): 128.34
Dedupe Factor(x): 88.5
Used Percentage: 36.00
Last Status: DETECTED
Last Discovered: 2020-06-09T11:16:02.109Z
Contributions
If you're interested in contributing to this project, thank you in advance! I will help you with the documention to install PPDM, its a virtual appliance, easy to set up.
Author
- Raghava Jainoje - rjainoje
License
This project is licensed under the MIT License - see the LICENSE file for details
A Big Thankyou
- Peter Marelas helped me with suggestions and he has inspired me to develop this.
Metadata
Release files for rjcli 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rjcli-1.0.5.tar.gz | 11.8 kB | Without provenance | Details for rjcli-1.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rjcli-1.0.5-py3-none-any.whl | Python 3 | none | any | Details for rjcli-1.0.5-py3-none-any.whl |
Total release size: 22.6 kB
Release files / rjcli-1.0.5.tar.gz
| Download URL | rjcli-1.0.5.tar.gz |
|---|---|
| Size | 11.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9487f11f21896281a2b722bacb2ea5f6b8d68c0418cbecb12a769bafeeabebf7
|
|
BLAKE2b-256 checksum How to use checksums |
ab81f2790a89010dfca35f42acf7076ca567c38aa968bead285e7022b3839e71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/60.5.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
|
Release files / rjcli-1.0.5-py3-none-any.whl
| Download URL | rjcli-1.0.5-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2207b6db175054b3afd47b01fd5a36d24024a6feb6074df8d4b8333f381c5fe
|
|
BLAKE2b-256 checksum How to use checksums |
a8dde714e3d821821f36d44be690785fd50d188d7b221efba2769aeec8d0580d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/60.5.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
|
Security for rjcli 1.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.