This directory contains code samples to invoke NetBackup REST APIs using Perl.
These scripts are only meant to be used as a reference. If you intend to use them in production, use it at your own risk.
- NetBackup 8.1.1 or higher
- NetBackup 8.2 or higher for using API keys related APIs and samples
- Perl v5.18.2
- Perl modules Text::Table, JSON and LWP
Job Details:
- Use the following command to obtain the job details from your NetBackup Master server:
perl get_nb_jobs.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
Catalog Image Details:
- Use the following command to obtain the catalog image details from your NetBackup Master server:
perl get_nb_images.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
Asset Groups Details:
- Use the following command to obtain the asset groups details from your NetBackup Master server:
perl get_asset_groups.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>]
Create Asset Group:
- Use the following command to create an asset group in your NetBackup Master server:
perl post_asset_groups.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>]
Asset Group Details:
- Use the following command to get an asset group details from your NetBackup Master server:
perl get_asset_groups_with_guid.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>] -guid <asset_group_guid>
Update Asset Group:
- Use the following command to update the details of an asset group in your NetBackup Master server:
perl patch_asset_groups.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>] -guid <asset_group_guid>
Delete Asset Group:
- Use the following command to delete the details of an asset group from your NetBackup Master server:
perl delete_asset_groups.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>] -guid <asset_group_guid>
Preview Creating Asset Group:
- Use the following command to preview creating the details of an asset group from your NetBackup Master server:
perl post_preview_asset_group.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>]
Asset's Asset Groups Details:
- Use the following command to view the details the asset groups an asset belongs to from your NetBackup Master server:
perl get_asset_guid_asset_groups.pl -nbmaster <master_server> -username <username> -password <password> [-domainName <domain_name>] [-domainType <domain_type>] -guid <asset_guid>
Job Details:
- Use the following command to obtain the job details from your NetBackup Master server:
perl get_nb_jobs.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
Catalog Image Details:
- Use the following command to obtain the catalog image details from your NetBackup Master server:
perl get_nb_images.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
Asset Cleanup Details:
-
Use the following command to query Assets by a user given specified filter, and cleanup time to delete all Assets returned by the filter. The cleanupTime field is an ISO 8601 formatted UTC timestamp.
-
Keep in mind that those Assets returned by the filter will be only delete if, the last discovered time of the Asset is older than the given cleanupTime and there is no a subscription associated with this asset.
- Example: perl post_nb_asset_cleanup.pl -nbmaster <master_server> -username -password -filter "workloadType eq 'VMware'" -cleanuptime 2018-06-29T15:58:45.678Z
VM Servers Details:
- Use the following command to obtain the list of all VM servers details from your NetBackup Master server:
perl get_vm_servers.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
VM Server Details:
- Use the following command to obtain the VM server details from your NetBackup Master server:
perl get_vm_server.pl -nbmaster <master_server> -username <username> -password <password> -servername <servername> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
NetBackup All Resource Limits:
- Use the following command to obtain the list of all NetBackup resource limits from your NetBackup Master server:
perl get_all_resource_limits.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
NetBackup Resource Limits:
- Use the following command to obtain the NetBackup resource limits from your NetBackup Master server:
perl get_resource_limits.pl -nbmaster <master_server> -username <username> -password <password> -workloadtype <workloadtype> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
NetBackup All Resource Limits Templates:
- Use the following command to obtain the list of all NetBackup resource limits templates from your NetBackup Master server:
perl get_all_resource_limits_templates.pl -nbmaster <master_server> -username <username> -password <password> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
NetBackup Resource Limits Template:
- Use the following command to obtain the NetBackup resource limits template from your NetBackup Master server:
perl get_resource_limits_template.pl -nbmaster <master_server> -username <username> -password <password> -workloadtype <workloadtype> [-domainname <domain_name>] [-domaintype <domain_type>] [--verbose]
API key Details:
-
Use the following command to create an API key for yourself on your NetBackup Master server:
perl apikey_create.pl -nbmaster <master_server> -login_username <username> -login_password <password> [-login_domainname <domain_name> -login_domaintype <domain_type>] -expiryindays <expiryindays> -description <description> [--verbose]
-
Use the following command to create an API key for other user on your NetBackup Master server:
perl apikey_create.pl -nbmaster <master_server> -login_username <login_username> -login_password <login_password> [-login_domainname <login_domainname> -login_domaintype <login_domaintype>] -apikey_username <apikey_username> -apikey_domainname <apikey_domainname> -apikey_domaintype <apikey_domaintype> -expiryindays <expiryindays> -description <description> [--verbose]
-
Use the following command to delete an API key on your NetBackup Master server with apikey tag provided:
perl apikey_delete.pl -nbmaster <master_server> -login_username <username> -login_password <password> [-login_domainname <domain_name> -login_domaintype <domain_type>] -apikey_tag <apikey_tag> [--verbose]
-
Use the following command to use API key instead of JWT to trigger a NetBackup REST API on your NetBackup Master server:
perl apikey_usage.pl -nbmaster <master_server> -apikey <apikey> [--verbose]
CA Migration Details:
-
Use the following command to initiate the NetBackup CA migration on your NetBackup Master server:
perl initiate-migration.pl -nbmaster <master_server> -login_username <login_username> -login_password <login_password> [-login_domainname <login_domain_name> -login_domaintype <domain_type>] -keysize <keysize> [-reason <reason>] [--verbose]
-
Use the following command to activate the new NetBackup CA on your NetBackup Master server:
perl activate_migration.pl -nbmaster <master_server> -login_username <login_username> -login_password <login_password> [-login_domainname <login_domain_name> -login_domaintype <domain_type>] [-reason <reason>] [--force] [--verbose]
-
Use the following command to complete the NetBackup CA migration on your NetBackup Master server:
perl complete_migration.pl -nbmaster <master_server> -login_username <login_username> -login_password <login_password> [-login_domainname <login_domain_name> -login_domaintype <domain_type>] [-reason <reason>] [--force] [--verbose]