- Notifications
You must be signed in to change notification settings - Fork2
PPDM API Powershell Modules
License
bottkars/PPDM-pwsh
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
🌅 This is the 19.14 Vesrion 🌅
the module should be installed fromPSgallery
Install-Module-Name PPDM-pwsh-MinimumVersion19.14.20
connect to the API Endpoint:
ipmo .\PPDM-pwsh-ForceConnect-PPDMapiEndpoint-PPDM_API_URI https://<your ppdm server>-trustCert
this will do an interactive password/authentication to retrieve the token. The login can alos be done via a PSCredential object.
The token is saved as a Global Variable.
All functions can use -verbose to show the API Calls amde against the PPDM
This section gives Some Examples for Workloads. Most of the Examples are also available from the Inline Help, e.g.
get-helpNew-PPDMProtectionEngineProxy-Examples
Example for vMware Based Protections, Policies
VM Restore from CLI
VM Instant Access Restore LINUX VM
Example Script Custom Restore Comments
Example script to exclude Disks from VM AssetCreate AppAware MSSQL Protection using Transparent Snapshots
Examples for Kubernetes Onboarding, Protection and restores
Kubernetes Protection
Example script to exclude PVC with Storage certain Classes
Examples for Managing Agent Based Protection and Policies
FSAgent Agent
MSSQL Agent
Create Centralized MSSQL Protection Policy
Create Self Service MSSQL PolicyManage Agent Updates
Examples for managing Assets
Asset ManagementManage AppHosts Preferred IP/Comms Assignment
There are Common Appliance Settings that can be retreive and modifiedView and Modify Common Settings
Example Script getting Assets protected in restore Plan
Example Script adding a DataDomain
The Storage_Systems API has some festures for Capacity Reports // NFS Shares described here
Examles for Managing Storage and Capacity
Add a Kubernetes Proxy
Add a vSphereProxy with NBD
Example Script to wait for Appliance Fresh Install State
Example Script to start PPDM Initial Configuration
Example Script to wait for Appliance Configured
We implemented an Request Wrapper for PPDM API requeststhat utilizes all header ane endpoint variables
NAMEInvoke-PPDMapirequestSYNTAXInvoke-PPDMapirequest-OutFile<Object> [-uri<Object>] [-Method {Get| Delete| Put| Post| Patch}] [-Query<Object>] [-ContentType<Object>] [-ResponseHeadersVariable<Object>] [-apiver<Object>] [-retries<int>] [-timeout<int>] [-apiport<Object>] [-PPDM_API_BaseUri<Object>] [-RequestMethod {Rest| Web}] [<CommonParameters>]Invoke-PPDMapirequest-uri<Object>-Method {Get| Delete| Put| Post| Patch}-Query<Object>-InFile<Object> [-ContentType<Object>] [-ResponseHeadersVariable<Object>] [-apiver<Object>] [-retries<int>] [-timeout<int>] [-apiport<Object>] [-PPDM_API_BaseUri<Object>] [-RequestMethod {Rest| Web}] [<CommonParameters>]Invoke-PPDMapirequest-uri<Object> [-Method {Get| Delete| Put| Post| Patch}] [-Query<Object>] [-ContentType<Object>] [-ResponseHeadersVariable<Object>] [-apiver<Object>] [-retries<int>] [-timeout<int>] [-apiport<Object>] [-PPDM_API_BaseUri<Object>] [-RequestMethod {Rest| Web}] [-Body<Object>] [-Filter<Object>] [<CommonParameters>]
Thus, you only need to specify the relative
Invoke-PPDMapirequest-Method Get-uri/copy-metrics
Note, this will utilize a WebRequest per default and thus return a Json Document, including Response Headers, to be converted
One can utilize the RestMethod via
Invoke-PPDMapirequest-Method Get-RequestMethod Rest-uri/copy-metrics
This will return only content and page as PSobjects, for Headers a Hedervariable must be requested (only need for some POST request )
Add-PPDMAssetSourceDisable-PPDMProxyGet-PPDMagentsGet-PPDMAssetSourceGet-PPDMFLRfilesGet-PPDMk8sclustersGet-PPDMk8spvcmappingsGet-PPDMProxyGet-PPDMServiceStatusGet-PPDMStorageMetricsGet-PPDMVPENew-PPDMProxyRemove-PPDMAssetSourceRemove-PPDMProxyRequest-PPDMJobLogRestore-PPDMDDB_MSSQLRestore-PPDMFLRRestore-PPDMVMAssetSave-PPDMJobLogSet-PPDMAssetSet-PPDMAssetSourceSet-PPDMFLRbrowsescopeStart-PPDMPLCStart-PPDMPLCStageStart-PPDMProtectionStageUnregister-PPDMAssetFromPoliyAdd-PPDMcertificatesAdd-PPDMinventory_sourcesAdd-PPDMProtection_policy_assignmentApprove-PPDMcertificatesApprove-PPDMEulaConnect-PPDMapiEndpointDisable-PPDMprotectionEngineProxyDisconnect-PPDMsessionGet-PPDMactivitiesGet-PPDMactivity_metricsGet-PPDMagents_update_sessionsGet-PPDMagent_registration_statusGet-PPDMalertsGet-PPDMassetcopiesGet-PPDMassetsGet-PPDMasset_protection_metricsGet-PPDMaudit_logsGet-PPDMcertificatesGet-PPDMcloud_dr_accountsGet-PPDMcloud_dr_data_targetsGet-PPDMcloud_dr_server_configurationGet-PPDMcloud_dr_server_deploymentGet-PPDMcloud_dr_server_versionGet-PPDMcloud_dr_sessionsGet-PPDMcloud_dr_storage_containersGet-PPDMcloud_dr_vcentersGet-PPDMcommon_settingsGet-PPDMcomponentsGet-PPDMconfigstatusGet-PPDMconfigurationsGet-PPDMcopiesGet-PPDMcopy_mapGet-PPDMcredentialsGet-PPDMdatacomponentsGet-PPDMdatadomain_cloud_unitsGet-PPDMdatadomain_ddboost_encryption_settingsGet-PPDMdatadomain_mtreesGet-PPDMdata_targetsGet-PPDMdiscoveriesGet-PPDMdisksGet-PPDMflr_filelistingGet-PPDMflr_sessionsGet-PPDMFSAgentFLRBrowselistGet-PPDMhostsGet-PPDMinventory_sourcesGet-PPDMkubernetes_clustersGet-PPDMlatest_copiesGet-PPDMlicensesGet-PPDMlocationsGet-PPDMnodesGet-PPDMpasswordpoliciesGet-PPDMprotectionEngineProxiesGet-PPDMprotection_detailsGet-PPDMprotection_enginesGet-PPDMprotection_groupsGet-PPDMprotection_policiesGet-PPDMprotection_rulesGet-PPDMprotection_storage_metricsGet-PPDMpvc_storage_class_mappingsGet-PPDMRestored_copiesGet-PPDMrestore_plansGet-PPDMrolesGet-PPDMrulesGet-PPDMserver_disaster_recovery_backupsGet-PPDMserver_disaster_recovery_configurationsGet-PPDMserver_disaster_recovery_hostsGet-PPDMserver_disaster_recovery_statusGet-PPDMsmtpGet-PPDMstorage_systemsGet-PPDMstorage_system_metricsGet-PPDMTELEMETRY_SETTINGGet-PPDMTimezonesGet-PPDMupgrade_packagesGet-PPDMusersGet-PPDMuser_groupsGet-PPDMvcenterDatastoresGet-PPDMWebExceptionGet-PPDMwhitelistInvoke-PPDMapirequestNew-PPDMBackupScheduleNew-PPDMcredentialsNew-PPDMDatabaseBackupScheduleNew-PPDMExchangeBackupPolicyNew-PPDMFSBackupPolicyNew-PPDMK8SBackupPolicyNew-PPDMlocationsNew-PPDMProtectionEngineProxyNew-PPDMRestored_copiesNew-PPDMserver_disaster_recovery_backupsNew-PPDMsmtpNew-PPDMSQLBackupPolicyNew-PPDMusersNew-PPDMVMBackupPolicyRemove-PPDMagents_update_sessionsRemove-PPDMcdrsRemove-PPDMcertificatesRemove-PPDMcomponentsRemove-PPDMcopiesRemove-PPDMcredentialsRemove-PPDMflr_sessionsRemove-PPDMinventory_sourcesRemove-PPDMlocationsRemove-PPDMProtectionEngineProxyRemove-PPDMprotection_policiesRemove-PPDMProtection_policy_assignmentRemove-PPDMprotection_rulesRemove-PPDMserver_disaster_recovery_backupsRemove-PPDMsmtpRemove-PPDMstorage_systemsRemove-PPDMupgradeRequest-PPDMActivityLogRestart-PPDMactivitiesRestore-PPDMFileFLR_copiesRestore-PPDMflr_sessionsRestore-PPDMK8ScopiesRestore-PPDMMSSQL_copiesRestore-PPDMVMcopiesSave-PPDMActivityLogSet-PPDMagents_update_sessionsSet-PPDMalerts_acknowledgementSet-PPDMapp_hostsSet-PPDMassetsSet-PPDMcertificatesSet-PPDMcloud_dr_accountsSet-PPDMcommon_settingsSet-PPDMcomponentsSet-PPDMconfigurationsSet-PPDMdiscoveriesSet-PPDMflr_sessionsSet-PPDMinventory_sourcesSet-PPDMLicensesSet-PPDMnodesSet-PPDMpasswordpoliciesSet-PPDMprotection_rulesSet-PPDMserver_disaster_recovery_configurationsSet-PPDMsmtpSet-PPDMstorage_systemsStart-PPDMasset_backupsStart-PPDMdiscoveriesStart-PPDMflr_sessionsStart-PPDMprotectionStart-PPDMprotection_policiesStop-PPDMactivitiesStop-PPDMupgradeStop-PPDMupgradePrecheckUnblock-PPDMSSLCertsUpdate-PPDMaudit_logsUpdate-PPDMcertificatesUpdate-PPDMcredentialsUpdate-PPDMserver_disaster_recovery_backupsUpdate-PPDMTokenWait-PPDMApplianceFresh
About
PPDM API Powershell Modules