Skip to main content

px pxb update

Update px-backup resources

note

The following commands support a set of global flags that apply to all px pxb commands. For details, see the Global Flags section.

px pxb update backup

Update backup metadata and cloud credentials.

This command allows you to update backup object metadata such as labels and cloud credentials associated with the backup. You can identify the backup by either name or UID.

Examples:

# Update backup cloud credentials by name
pxb update backup --name my-backup --cloud-credential-name new-aws-creds

# Update backup cloud credentials by UID
pxb update backup --uid backup-12345 --cloud-credential-name azure-creds --cloud-credential-uid cred-67890

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--cloud-credential-namestringName of cloud credential to associate with backup-Optional
--cloud-credential-uidstringUID of cloud credential to associate with backup-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing complete backup update configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the backup to update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the backup to update-Optional

px pxb update backuplocation

Update backup location configuration and credentials.

This command allows you to update backup location settings such as cloud credentials, validation settings, and provider-specific configurations. You can identify the backup location by either name or UID.

Examples:

# Update backup location cloud credentials
pxb update backuplocation --name s3-backup --cloud-credential-name new-aws-creds

# Update backup location by UID
pxb update backuplocation --uid bl-12345 --cloud-credential-name azure-creds --cloud-credential-uid cred-67890

# Update S3 configuration
pxb update backuplocation --name s3-backup --s3-endpoint new-endpoint.com --s3-region eu-west-1

# Update Azure configuration
pxb update backuplocation --name azure-backup --provider azure --azure-environment AZURE_CHINA --azure-resource-group new-resource-group

# Update NFS configuration
pxb update backuplocation --name nfs-backup --provider nfs --nfs-server-addr 10.13.42.13 --nfs-sub-path sp1 --nfs-mount-options rw

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--azure-environmentstringAzure environment: AZURE_GLOBAL, AZURE_CHINA-Optional
--azure-resource-groupstringAzure resource group name (optional)-Optional
--cloud-credential-namestringName of cloud credential to use-Optional
--cloud-credential-uidstringUID of cloud credential to use-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the backup location to update (required, optional with --file)-Optional
--nfs-config-filestringYAML/JSON file containing NFS-specific configuration-Optional
--nfs-mount-optionsstringNFS mount options-Optional
--nfs-server-addrstringNFS server address-Optional
--nfs-sub-pathstringNFS subdirectory path-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--provider, -pstringUpdate storage provider configuration: s3, azure, google, nfs-Optional
--s3-config-filestringYAML/JSON file containing S3-specific configuration-Optional
--s3-disable-path-styleboolDisable path-style addressing for S3falseOptional
--s3-disable-sslboolDisable SSL for S3 connectionsfalseOptional
--s3-endpointstringS3 endpoint URL-Optional
--s3-regionstringS3 region-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the backup location to update (optional, can be used with name for precise identification)-Optional
--validate-cloud-credentialboolValidate cloud credentialtrueOptional

px pxb update backupschedule

Update an existing backup schedule configuration.

This command allows you to modify various aspects of a backup schedule including the schedule policy, execution rules, label selectors, and backup behavior settings. The command preserves existing settings that are not explicitly updated.

For bulk updates, you can use filter options (include-objects, exclude-objects, include-filter, exclude-filter) to target multiple backup schedules at once.

Examples:

# Update schedule policy by name
pxb update backupschedule --name my-schedule --uid schedule-123 --policy-name new-policy --policy-uid policy-456

# Update with both name and UID for precise identification
pxb update backupschedule --name my-schedule --uid schedule-123 --policy-name new-policy

# Update namespaces
pxb update backupschedule --name my-schedule --uid schedule-123 --namespaces "ns1,ns2,ns3"

# Update execution rules
pxb update backupschedule --name my-schedule --uid schedule-123 --pre-exec-rule-name new-pre-rule --post-exec-rule-name new-post-rule

# Update label selectors and enable parallel backup
pxb update backupschedule --name my-schedule --uid schedule-123 --label-selectors "app=web,version=v2" --parallel-backup

# Update namespace label selectors (only if set during creation)
pxb update backupschedule --name my-schedule --uid schedule-123 --ns-label-selectors "env=prod,tier=frontend"

# Update advanced resource label selector
pxb update backupschedule --name my-schedule --uid schedule-123 --advanced-resource-label-selector "app in (web,api),version notin (v1)"

# Bulk suspend schedules using include filter
pxb update backupschedule --backup-object-type All --cluster-scope All --include-filter "prod-*" --suspend true

# Bulk update policy with exclude filter
pxb update backupschedule --backup-object-type All --cluster-scope All --include-filter "*" --exclude-filter "*test*" --policy-name new-policy

# Bulk update specific schedules by name:uid
pxb update backupschedule --backup-object-type All --cluster-scope All --include-objects "schedule1:uid1,schedule2:uid2" --suspend false

# Bulk update by policy reference
pxb update backupschedule --backup-object-type All --cluster-scope All --policy-refs "old-policy" --include-filter "*" --suspend true

# Update from JSON file
pxb update backupschedule --name my-schedule --uid schedule-123 --file /path/to/update-config.json

Flags

FlagInput typeDescriptionDefaultRequired
--advanced-resource-label-selectorstringAdvanced resource label selector-Optional
--advanced-resource-label-selector-filestringYAML/JSON file containing advanced resource label selector-Optional
--authtokenstringoidc auth token-Optional
--backup-object-typestringBackup object type for bulk update (required for bulk update, optional with --file; valid values: NS, VM, All)-Optional
--bulk-uid-check-relaxationboolRelax UID check for bulk operations when using name-only references (e.g., policy-refs with name only)falseOptional
--cluster-scopestringCluster scope for bulk update (required for bulk update, optional with --file; valid values: All or name[:uid][,name2[:uid2]...])-Optional
--csi-snapshot-mappingstringToStringCSI snapshot class mapping[]Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--exclude-filterstringExclude filter (regex) for bulk update; mutually exclusive with --exclude-objects-Optional
--exclude-objectsstringSliceExclude specific backup schedules by name or name:uid (comma-separated) from bulk update[]Optional
--exclude-objects-filestringYAML/JSON file containing exclude objects list-Optional
--filestringPath to YAML/JSON file containing update configuration-Optional
--include-filterstringInclude filter (regex) for bulk update; mutually exclusive with --include-objects (required for bulk update, optional with --file, use '*' to match all)-Optional
--include-objectsstringSliceInclude specific backup schedules by name or name:uid (comma-separated) for bulk update[]Optional
--include-objects-filestringYAML/JSON file containing include objects list-Optional
--label-selectorsstringToStringLabel selectors to filter resources[]Optional
--label-selectors-filestringYAML/JSON file containing label selectors-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the backup schedule (required, optional with --file)-Optional
--namespacesstringSliceNamespaces to backup (comma-separated, or '*' for all - must be quoted)[]Optional
--namespaces-filestringYAML/JSON file containing namespaces array-Optional
--ns-label-selectorsstringNamespace label selectors (can only be updated if set during creation)-Optional
--ns-label-selectors-filestringYAML/JSON file containing namespace label selectors-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--parallel-backupboolEnable parallel backupfalseOptional
--policy-namestringName of the schedule policy-Optional
--policy-refsstringSlicePolicy references for bulk update (name or name:uid)[]Optional
--policy-refs-filestringYAML/JSON file containing policy references list-Optional
--policy-uidstringUID of the schedule policy-Optional
--post-exec-rule-namestringPost-execution rule name-Optional
--post-exec-rule-uidstringPost-execution rule UID-Optional
--pre-exec-rule-namestringPre-execution rule name-Optional
--pre-exec-rule-uidstringPre-execution rule UID-Optional
--suspendstringSuspend the backup schedule: true or false-Optional
--tls-certificatestringtls certificate-Optional
--uid, -ustringUID of the backup schedule (optional, can be used with name for precise identification)-Optional
--volume-snapshot-class-mapping-filestringYAML/JSON file containing volume snapshot class mapping-Optional

px pxb update cloudcredential

Update an existing cloud credential for accessing cloud storage services.

This command allows you to update credentials for different cloud providers:

  • AWS: Access key and secret key for S3 storage
  • Azure: Account name/key or service principal credentials for Azure Blob Storage
  • Google: Project ID and JSON key file for Google Cloud Storage
  • IBM: API key for IBM Cloud Object Storage
  • Rancher: Endpoint and token for Rancher platform

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Update AWS cloud credential
pxb update cloudcredential --name aws-cred --provider aws --aws-access-key AKIAIOSFODNN7EXAMPLE --aws-secret-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

# Update Azure cloud credential with service principal
pxb update cloudcredential --name azure-cred --provider azure --azure-account-name mystorageaccount --azure-account-key mykey --azure-client-id client-id --azure-client-secret client-secret --azure-tenant-id tenant-id --azure-subscription-id subscription-id

# Update Google cloud credential
pxb update cloudcredential --name gcp-cred --provider google --google-project-id my-project --google-json-key /path/to/service-account.json

# Update IBM cloud credential
pxb update cloudcredential --name ibm-cred --provider ibm --ibm-api-key my-api-key

# Update Rancher platform credential
pxb update cloudcredential --name rancher-cred --provider rancher --rancher-endpoint https://rancher.example.com --rancher-token my-token

# Update from JSON configuration file
pxb update cloudcredential --file /path/to/cloud-credential-config.json

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--aws-access-keystringAWS access key ID (required for AWS, optional with --file)-Optional
--aws-secret-keystringAWS secret access key (required for AWS, optional with --file)-Optional
--azure-account-keystringAzure storage account key (required for Azure, optional with --file)-Optional
--azure-account-namestringAzure storage account name (required for Azure, optional with --file)-Optional
--azure-client-idstringAzure service principal client ID (optional for Azure)-Optional
--azure-client-secretstringAzure service principal client secret (optional for Azure)-Optional
--azure-subscription-idstringAzure service principal subscription ID (optional for Azure)-Optional
--azure-tenant-idstringAzure service principal tenant ID (optional for Azure)-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--filestringPath to YAML/JSON file containing cloud credential configuration-Optional
--google-json-keystringPath to Google Cloud service account JSON key file (required for Google, optional with --file)-Optional
--google-project-idstringGoogle Cloud project ID (required for Google, optional with --file)-Optional
--ibm-api-keystringIBM Cloud API key (required for IBM, optional with --file)-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the cloud credential (required, optional with --file)-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--provider, -pstringCloud provider type [aws,azure,google,ibm,rancher]-Optional
--rancher-endpointstringRancher server endpoint URL (required for Rancher, optional with --file)-Optional
--rancher-tokenstringRancher access token (required for Rancher, optional with --file)-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the cloud credential (optional, can be used with name for precise identification)-Optional

px pxb update cluster

Update cluster information with comprehensive configuration options.

Examples:

  # Update cluster kubeconfig
pxb update cluster --name my-cluster --kubeconfig /path/to/new-kubeconfig

# Update cluster PX token
pxb update cluster --name my-cluster --px-token new-token123

# Update cluster from JSON file
pxb update cluster --file cluster-update-config.json

# Update cloud credentials
pxb update cluster --name my-cluster --cloud-credential-name new-aws-cred

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--cloud-credential-namestringName of cloud credential associated with the cluster-Optional
--cloud-credential-uidstringUID of cloud credential associated with the cluster-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing cluster update configuration-Optional
--kubeconfig, -kstringPath to kubeconfig file for Kubernetes cluster-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the cluster-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--platform-credential-namestringName of platform credential associated with the cluster-Optional
--platform-credential-uidstringUID of platform credential associated with the cluster-Optional
--px-token, -tstringPX Security Token for Portworx authentication-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the cluster (optional, can be used with name for precise identification)-Optional

px pxb update clusterbackupshare

Update cluster-level backup sharing permissions for specific users and groups.

This command allows you to grant or revoke different levels of access to all backups on a cluster:

  • View: Read-only access to backup information
  • Restorable: View access plus ability to restore from backups
  • FullAccess: Complete administrative access including delete and modify operations

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Add groups with different access levels to cluster backups
pxb update clusterbackupshare --name my-cluster --uid cluster-12345 --add-groups "team1=View,team2=Restorable,admin-team=FullAccess"

# Add collaborators with access levels to cluster backups
pxb update clusterbackupshare --name my-cluster --uid cluster-12345 --add-collaborators "user-123=View,user-456=FullAccess"

# Remove specific groups and collaborators from cluster backup access
pxb update clusterbackupshare --name my-cluster --uid cluster-12345 --remove-groups team1,team2 --remove-collaborators user-123

# Update from JSON configuration file
pxb update clusterbackupshare --file /path/to/cluster-backup-share-config.json

# Comprehensive cluster backup sharing update
pxb update clusterbackupshare --name my-cluster --uid cluster-12345 --add-groups "devops=FullAccess" --add-collaborators "admin-user-789=FullAccess" --remove-groups old-team

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels to cluster backups (format: user-123=View,user-456=FullAccess)[]Optional
--add-groupsstringToStringAdd groups with access levels to cluster backups (format: group1=View,group2=Restorable,group3=FullAccess)[]Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--filestringPath to YAML/JSON file containing cluster backup share configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the cluster (required, optional with --file)-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--remove-collaboratorsstringSliceRemove collaborators from cluster backup access (list of user IDs)[]Optional
--remove-groupsstringSliceRemove groups from cluster backup access (list of group IDs)[]Optional
--tls-certificatestringtls certificate-Optional
--uid, -ustringUID of the cluster-Optional

px pxb update license

Update PX-Backup license usage-based ID for SaaS licensing.

This command updates the usage-based activation ID for organizations using usage-based licensing models. This is typically used for SaaS deployments where licensing is based on actual usage metrics.

The command requires a valid usage-based ID that will replace the existing one for the specified organization.

Examples:

# Update usage-based ID
pxb update license --usage-based-id "new-usage-12345-abcde"

# Update with custom metadata
pxb update license --usage-based-id "new-usage-12345" --name "updated-license" --uid "license-uid-123"

# Load configuration from JSON file
pxb update license --file /path/to/update-config.json

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringJSON configuration file path-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName for the license update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--tls-certificatestringtls certificate-Optional
--uidstringUID for the license update-Optional
--usage-based-idstringNew usage-based license activation ID (required, optional with --file)-Optional

px pxb update ownership

Update ownership of px-backup resource

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--tls-certificatestringtls certificate-Optional
note

The following commands support a set of global flags that apply to all px pxb commands. For details, see the Global Flags section.

px pxb update ownership backuplocation

Update ownership and access control settings for an existing backup location.

You can add groups and collaborators with specific access levels (Read, Write, Admin), and configure public access control settings.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Add groups with different access levels
pxb update ownership backuplocation --name s3-backup --add-groups "team1=Read,team2=Write,admin-team=Admin"

# Add collaborators with access levels
pxb update ownership backuplocation --name s3-backup --add-collaborators "user-123=Read,user-456=Admin"

# Set public access control
pxb update ownership backuplocation --name s3-backup --public-access-control Read

# Update from JSON configuration file
pxb update ownership backuplocation --file /path/to/backup-location-ownership-config.json

# Use granular file flags for groups and collaborators
pxb ownership backuplocation --name s3-backup --add-groups-file /path/to/groups.json --add-collaborators-file /path/to/collaborators.json

# Mix CLI flags with granular file inputs
pxb ownership backuplocation --name s3-backup --add-groups-file /path/to/groups.json --public-access-control Read

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels (format: user-123=Read,user-456=Admin)[]Optional
--add-collaborators-filestringYAML/JSON file containing collaborators configuration-Optional
--add-groupsstringToStringAdd groups with access levels (format: group1=Read,group2=Write,group3=Admin)[]Optional
--add-groups-filestringYAML/JSON file containing groups configuration-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing complete backup location ownership configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the backup location-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--public-access-controlstringSet public access level: Read, Write, or Admin-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the backup location-Optional

px pxb update ownership cloudcredential

Update ownership and access control for a cloud credential.

This command allows you to manage who has access to a cloud credential. For cloud credentials, shared users and groups receive Read-only access regardless of the access level specified. Only the owner has full administrative access to modify or delete the credential.

Note: While the API accepts Read, Write, and Admin access levels, cloud credentials are restricted to Read-only access for all shared users and groups for security purposes.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Add groups with read access (shared users get read-only access)
pxb update ownership cloudcredential --name aws-cred --add-groups "team1=Read,team2=Read"

# Add collaborators with read access
pxb update ownership cloudcredential --name aws-cred --add-collaborators "user-123=Read,user-456=Read"

# Set public access control to read
pxb update ownership cloudcredential --name aws-cred --public-access-control Read

# Update from JSON configuration file
pxb update ownership cloudcredential --file /path/to/cloud-credential-ownership-config.json

# Update groups from JSON file
pxb update ownership cloudcredential --name aws-cred --add-groups-file /path/to/groups.json

# Update collaborators from JSON file
pxb update ownership cloudcredential --name aws-cred --add-collaborators-file /path/to/collaborators.json

# Comprehensive ownership update
pxb update ownership cloudcredential --name aws-cred --uid cred-12345 --add-groups "team1=Read" --add-collaborators "user-789=Read" --public-access-control Read

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels (format: user-123=Read,user-456=Read) - Note: shared users get Read-only access[]Optional
--add-collaborators-filestringPath to JSON file containing collaborators configuration-Optional
--add-groupsstringToStringAdd groups with access levels (format: group1=Read,group2=Read) - Note: shared users get Read-only access[]Optional
--add-groups-filestringPath to JSON file containing groups configuration-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--filestringPath to YAML/JSON file containing cloud credential ownership configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the cloud credential (required)-Yes
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--public-access-controlstringPublic access control level (Read recommended - shared users get Read-only access)-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the cloud credential-Optional

px pxb update ownership rule

Update rule ownership and access permissions.

This command allows you to manage who can access and modify a rule by updating ownership information, group permissions, collaborator access, and public access controls.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Add groups with specific access levels
pxb update ownership rule --name my-rule --add-groups "dev-team=Read,admin-team=Admin"

# Add collaborators and set public access
pxb update ownership rule --uid rule-12345 --add-collaborators "user-123=Write,user-456=Read" --public-access-control Read

# Remove specific groups and collaborators
pxb update ownership rule --name my-rule --remove-groups "old-team" --remove-collaborators "former-user-789"

# Update ownership from JSON configuration file
pxb update ownership rule --file /path/to/rule-ownership-config.json

# Use granular file flags for groups and collaborators
pxb ownership rule --name my-rule --add-groups-file /path/to/groups.json --add-collaborators-file /path/to/collaborators.json

# Mix CLI flags with granular file inputs
pxb update ownership rule --name my-rule --add-groups-file /path/to/groups.json --public-access-control Read

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels (user1:Write,user2:Read)[]Optional
--add-collaborators-filestringJSON file containing collaborators configuration-Optional
--add-groupsstringToStringAdd groups with access levels (group1:Read,group2:Admin)[]Optional
--add-groups-filestringJSON file containing groups configuration-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringJSON file containing complete rule ownership configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the rule to update ownership-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--public-access-controlstringSet public access level (Read/Write/Admin)-Optional
--remove-collaboratorsstringSliceRemove collaborators from access (comma-separated)[]Optional
--remove-groupsstringSliceRemove groups from access (comma-separated)[]Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the rule to update ownership-Optional

px pxb update ownership schedulepolicy

Update ownership and access control settings for an existing schedule policy.

You can add groups and collaborators with specific access levels (Read, Write, Admin), and configure public access control settings.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Add groups with different access levels
pxb update ownership schedulepolicy --name my-policy --add-groups "dev-team=Read,ops-team=Write,admin-team=Admin"

# Add collaborators and set public access
pxb update ownership schedulepolicy --name my-policy --add-collaborators "user-123=Write,user-456=Admin" --public-access-control Read

# Update ownership from JSON configuration file
pxb update ownership schedulepolicy --file /path/to/ownership.json

# Use granular file flags for groups and collaborators
pxb update ownership schedulepolicy --name my-policy --add-groups-file /path/to/groups.json --add-collaborators-file /path/to/collaborators.json

# Mix CLI flags with granular file inputs
pxb ownership schedulepolicy --name my-policy --add-groups-file /path/to/groups.json --public-access-control Read

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels (format: user-123=Read,user-456=Admin)[]Optional
--add-collaborators-filestringJSON file containing collaborators configuration-Optional
--add-groupsstringToStringAdd groups with access levels (format: group1=Read,group2=Write,group3=Admin)[]Optional
--add-groups-filestringJSON file containing groups configuration-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringJSON file containing complete schedule policy ownership configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the schedule policy-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--public-access-controlstringSet public access level: Read, Write, or Admin-Optional
--tls-certificatestringtls certificate-Optional
--uid, -ustringUID of the schedule policy-Optional

px pxb update ownership volumeresourceonlypolicy

Update ownership of a volume resource only policy.

This command allows you to manage access control for a volume resource only policy by adding or removing groups and collaborators, and setting public access levels. You can grant different access levels (Read, Write, Admin) to different users and groups.

The command supports both CLI flags and YAML/JSON file input for complex configurations.

Examples:

# Add groups with read access
pxb ownership volumeresourceonlypolicy --name my-policy --uid policy-12345 --add-groups "team1=Read,team2=Write"

# Add collaborators with different access levels
pxb ownership volumeresourceonlypolicy --name my-policy --uid policy-12345 --add-collaborators "user-123=Read,user-456=Admin"

# Set public access control
pxb ownership volumeresourceonlypolicy --name my-policy --uid policy-12345 --public-access-control Read

# Remove specific groups and collaborators
pxb update ownership volumeresourceonlypolicy --name my-policy --uid policy-12345 --remove-groups team1,team2 --remove-collaborators user-123

# Update ownership from JSON configuration file
pxb update ownership volumeresourceonlypolicy --file /path/to/policy-ownership-config.json

# Use granular file flags for groups and collaborators
pxb update ownership volumeresourceonlypolicy --name my-policy --add-groups-file /path/to/groups.json --add-collaborators-file /path/to/collaborators.json

# Mix CLI flags with granular file inputs
pxb ownership volumeresourceonlypolicy --name my-policy --add-groups-file /path/to/groups.json --public-access-control Read

Flags

FlagInput typeDescriptionDefaultRequired
--add-collaboratorsstringToStringAdd collaborators with access levels (format: user-123=Read,user-456=Admin)[]Optional
--add-collaborators-filestringYAML/JSON file containing collaborators configuration-Optional
--add-groupsstringToStringAdd groups with access levels (format: group1=Read,group2=Write,group3=Admin)[]Optional
--add-groups-filestringYAML/JSON file containing groups configuration-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing complete volume resource only policy ownership configuration-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--name, -nstringName of the volume resource only policy-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--public-access-controlstringSet public access level: Read, Write, or Admin-Optional
--remove-collaboratorsstringSliceRemove collaborators from access list[]Optional
--remove-groupsstringSliceRemove groups from access list[]Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the volume resource only policy-Optional

px pxb update receiver

Update an existing receiver configuration.

This command allows you to update receiver properties such as email settings, encryption options, authentication credentials, TLS configuration, and metadata labels. You can identify the receiver by either name or UID.

The command supports both CLI flags and YAML/JSON file input for complex configurations.

Examples:

# Update SMTP host and port
pxb update receiver --name smtp-alerts --host "new-smtp.company.com" --port "587"

# Update authentication credentials
pxb update receiver --uid receiver-12345 --auth-username "newuser@company.com" --auth-password "newpassword"

# Enable StartTLS encryption
pxb update receiver --name secure-smtp --encryption-starttls=true

# Update TLS certificates from files
pxb update receiver --name custom-tls-smtp --allow-custom-certificate=true --ca-cert-file "/path/to/new-ca.crt"

# Update receiver with new labels
pxb update receiver --name production-alerts --label-selectors "env=staging,team=devops"

# Update receiver from complete JSON configuration file
pxb update receiver --file /path/to/receiver-update-config.json

Flags

FlagInput typeDescriptionDefaultRequired
--allow-custom-certificateboolAllow custom TLS certificatesfalseOptional
--auth-passwordstringSMTP authentication password-Optional
--auth-usernamestringSMTP authentication username-Optional
--authenticationboolEnable SMTP authenticationfalseOptional
--authtokenstringoidc auth token-Optional
--ca-cert-filestringPath to CA certificate file-Optional
--cert-filestringPath to client certificate file-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--encryption-sslboolEnable SSL encryptionfalseOptional
--encryption-starttlsboolEnable StartTLS encryptionfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--filestringYAML/JSON file containing complete receiver update specification-Optional
--from, -fstringSender email address-Optional
--hoststringSMTP server host address-Optional
--key-filestringPath to client private key file-Optional
--label-selectorsstringToStringLabel selectors for the receiver (key=value,key2=value2)[]Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--labels-filestringYAML/JSON file containing labels configuration-Optional
--name, -nstringName of the receiver to update (required, optional with --file)-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--portstringSMTP server port-Optional
--tls-certificatestringtls certificate-Optional
--tls-config-filestringPath to YAML/JSON file containing TLS configuration-Optional
--type, -tstringType of receiver (email/smtp)-Optional
--uidstringUID of the receiver to update (optional, can be used with name for precise identification)-Optional

px pxb update recipient

Update an existing recipient configuration.

This command allows you to update recipient properties such as recipient IDs, severity level, active status, receiver association, and metadata labels. You can identify the recipient by either name or UID.

The command supports both CLI flags and YAML/JSON file input for complex configurations.

Examples:

# Update recipient IDs and severity
pxb update recipient --name critical-alerts --recipient-ids "admin@company.com,ops@company.com" --severity CRITICAL

# Update recipient from JSON file and change receiver
pxb update recipient --uid recipient-12345 --recipient-ids-file /path/to/new-recipients.json --receiver-name new-smtp-receiver

# Update recipient from complete JSON configuration file
pxb update recipient --file /path/to/recipient-update-config.json

# Deactivate a recipient
pxb update recipient --name team-alerts --active=false

# Update recipient with new labels
pxb update recipient --name all-alerts --label-selectors "team=devops,env=staging"

Flags

FlagInput typeDescriptionDefaultRequired
--activeboolWhether the recipient is active for receiving alertsfalseOptional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing complete recipient update specification-Optional
--label-selectorsstringToStringLabel selectors for the recipient (key=value,key2=value2)[]Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--labels-filestringYAML/JSON file containing labels configuration-Optional
--name, -nstringName of the recipient to update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--receiver-namestringName of the receiver to associate with this recipient-Optional
--receiver-uidstringUID of the receiver to associate with this recipient-Optional
--recipient-idsstringComma-separated list of recipient IDs (e.g., email addresses)-Optional
--recipient-ids-filestringPath to YAML/JSON file containing array of recipient IDs-Optional
--severitystringSeverity level filter for alerts (UNKNOWN, CRITICAL, WARNING)-Optional
--tls-certificatestringtls certificate-Optional
--type, -tstringType of recipient notification (email)-Optional
--uidstringUID of the recipient to update (optional, can be used with name for precise identification)-Optional

px pxb update restore

Update an existing restore.

This command updates an existing restore operation. Note that most restore properties cannot be changed once the restore has started. This command is primarily used for updating metadata like labels.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Update a restore's labels
pxb update restore --name my-restore --labels "env=production,team=backend"

# Update a restore by UID
pxb update restore --uid restore-12345 --labels "status=updated"

# Update a restore from JSON file
pxb update restore --name my-restore --file /path/to/updated-restore.json

# Update with labels from file
pxb update restore --name my-restore --labels-file /path/to/labels.json

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing updated restore specification-Optional
--labelsstringToStringUpdated labels for the restore (format: key1=value1,key2=value2)[]Optional
--labels-filestringYAML/JSON file containing labels configuration-Optional
--name, -nstringName of the restore to update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the restore to update (optional, can be used with name for precise identification)-Optional

px pxb update role

Update an existing role for access control in px-backup.

This command updates an existing role that defines permissions for accessing px-backup services and APIs. You can update the role's service permissions, API access, and Keycloak integration while preserving the role's identity.

Examples:

# Update a role from JSON file
pxb update role --name my-role --file /path/to/updated-role.json

# Update a role with new service and API permissions
pxb update role --name backup-admin --services "backup,restore,schedule" --apis "*"

# Update a role with complex configuration from JSON
pxb update role --name custom-role --rules-file /path/to/updated-rules.json

# Update a role's Keycloak integration
pxb update role --name keycloak-role --role-id "new-keycloak-uuid"

Flags

FlagInput typeDescriptionDefaultRequired
--apisstringUpdated comma-separated list of API operations-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringJSON file containing updated role specification-Optional
--labelsstringToStringUpdated labels for the role (key1=value1,key2=value2)[]Optional
--labels-filestringJSON file containing labels configuration-Optional
--name, -nstringName of the role to update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--role-idstringUpdated Keycloak role ID for external identity integration-Optional
--rulesstringUpdated colon-separated service rules (service1=api1,api2:service2=*)-Optional
--rules-filestringPath to JSON file containing updated role rules-Optional
--servicesstringUpdated comma-separated list of px-backup services-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the role to update (optional, can be used with name for precise identification)-Optional

px pxb update rule

Update an existing rule for pre/post backup execution.

This command updates an existing rule that defines actions to be executed before or after backup operations. You can update the rule content, pod selectors, and actions while preserving the rule's identity.

Examples:

# Update a rule from YAML/JSON file
pxb update rule --name my-rule --file /path/to/updated-rule.yaml

# Update a rule by UID with new actions
pxb update rule --uid rule-12345 --actions "echo 'updated backup starting'"

# Update a rule with new pod selector and actions
pxb update rule --name my-rule --pod-selector "app=postgres" --actions-file /path/to/new-actions.json

# Update a rule with complex configuration from YAML/JSON
pxb update rule --name my-rule --rules-info-file /path/to/updated-rules.yaml

Flags

FlagInput typeDescriptionDefaultRequired
--actionsstringUpdated comma-separated list of action commands-Optional
--actions-filestringPath to JSON file containing updated action specifications-Optional
--authtokenstringoidc auth token-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing updated rule specification-Optional
--labels, -lstringComma separated list of labels as key-value pairs: 'k1=v1,k2=v2'-Optional
--labels-filestringYAML/JSON file containing labels configuration-Optional
--name, -nstringName of the rule to update-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--pod-selectorstringUpdated pod selector as key=value pairs (comma-separated)-Optional
--rules-infostringJSON string containing updated rules information-Optional
--rules-info-filestringPath to YAML/JSON file containing updated rules information-Optional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the rule to update (optional)-Optional

px pxb update schedulepolicy

Update an existing schedule policy that defines when and how often backups should be taken.

You can modify interval, daily, weekly, and monthly backup schedules. Each schedule type supports retention policies and incremental backup counts.

The command supports both CLI flags and JSON file input for complex configurations.

Examples:

# Update daily backup time and retention
pxb update schedulepolicy --name daily-policy --daily-time "03:00AM" --daily-retain 10

# Update multiple schedule types
pxb update schedulepolicy --name comprehensive-policy \
--interval-minutes 120 --interval-retain 3 \
--weekly-day Tuesday --weekly-time "04:00AM"

# Update to bi-weekly schedule
pxb update schedulepolicy --name weekly-policy --weekly-bi-weekly

# Update to multiple days
pxb update schedulepolicy --name weekly-policy \
--weekly-day "Monday,Wednesday,Friday"

# Update to selective monthly backup
pxb update schedulepolicy --name monthly-policy \
--monthly-selective-date 15 \
--monthly-selective-time "02:00AM" \
--monthly-selective-retain 12

# Update to quarterly selective monthly backup
pxb update schedulepolicy --name quarterly-policy \
--monthly-selective-date 1 \
--monthly-selective-months "jan,apr,jul,oct"

# Update to relative monthly backup (first Monday)
pxb update schedulepolicy --name monthly-policy \
--monthly-relative-day Monday \
--monthly-relative-weekly-index first \
--monthly-relative-time "04:00AM"

# Update to relative monthly backup (last Friday)
pxb update schedulepolicy --name monthly-policy \
--monthly-relative-day Friday \
--monthly-relative-weekly-index last \
--monthly-relative-time "11:00PM"

# Update object-lock policy settings
pxb update schedulepolicy --name object-lock-policy --auto-delete

# Update from JSON configuration file
pxb update schedulepolicy --file /path/to/updated-policy.json

# Update with labels from file
pxb update schedulepolicy --name production-policy --labels-file /path/to/updated-labels.json

# Mix CLI flags with granular file inputs
pxb update schedulepolicy --name comprehensive-policy --daily-time "03:00AM" --labels-file /path/to/labels.json

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--auto-deleteboolAuto deletion will be enabled for scheduled backup in case of object-locked bucketfalseOptional
--daily-incremental-countint64Incremental count value for daily backup (minimum: 0, default: 6)6Optional
--daily-retainint64Retain value for daily backup (default: 7)0Optional
--daily-timestringTime value for daily backup (format: 11:20AM or 11:20PM)-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringJSON file containing complete schedule policy configuration-Optional
--for-object-lockboolEnable object-lock for this schedule policyfalseOptional
--interval-incremental-countint64Incremental count value for interval backup (minimum: 0, default: 6)6Optional
--interval-minutesint64Minutes value for interval backup (minimum 15)0Optional
--interval-retainint64Retain value for interval backup (default: 5)0Optional
--labelsstringToStringLabels to apply to the schedule policy (format: key1=value1,key2=value2)[]Optional
--labels-filestringJSON file containing labels configuration-Optional
--monthly-relative-daystringDay for relative monthly backup (e.g., Monday, Sun)-Optional
--monthly-relative-incremental-countint64Incremental count for relative monthly backup (minimum: 0, default: 6)6Optional
--monthly-relative-retainint64Retain value for relative monthly backup (default: 12)0Optional
--monthly-relative-timestringTime for relative monthly backup (format: 11:20AM or 11:20PM)-Optional
--monthly-relative-weekly-indexstringWeekly index for relative monthly backup (first, second, third, fourth, last)-Optional
--monthly-selective-dateint64Date for selective monthly backup (1 to 31)0Optional
--monthly-selective-incremental-countint64Incremental count for selective monthly backup (minimum: 0, default: 6)6Optional
--monthly-selective-monthsstringMonths for selective monthly backup. Comma-separated (e.g., jan,feb or January,February). Empty = all months-Optional
--monthly-selective-retainint64Retain value for selective monthly backup (default: 12)0Optional
--monthly-selective-timestringTime for selective monthly backup (format: 11:20AM or 11:20PM)-Optional
--name, -nstringName of the schedule policy-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--supports-advanced-featuresboolEnable advanced features support (multi-day weekly, bi-weekly, selective monthly, relative monthly)falseOptional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the schedule policy (optional, can be used with name for precise identification)-Optional
--weekly-bi-weeklyboolEnable bi-weekly scheduling (runs every other week instead of every week)falseOptional
--weekly-daystringDay(s) for weekly backup. Single day (e.g., Monday) or comma-separated multiple days (e.g., Monday,Wednesday,Friday)-Optional
--weekly-incremental-countint64Incremental count value for weekly backup (minimum: 0, default: 6)6Optional
--weekly-retainint64Retain value for weekly backup (default: 5)0Optional
--weekly-timestringTime value for weekly backup (format: 11:20AM or 11:20PM)-Optional

px pxb update volumeresourceonlypolicy

Update a volume resource only policy configuration.

This command allows you to modify the volume types, CSI drivers, and NFS servers that should have their data skipped during backup operations. You can update the policy using command-line flags or by providing a JSON configuration file.

The command supports both CLI flags and YAML/JSON file input for complex configurations.

Examples:

# Update policy to add new volume types
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --volume-types pxd,csi,nfs

# Update policy to modify CSI drivers
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --volume-types csi --csi-drivers ebs.csi.aws.com,gp2.csi.aws.com

# Update policy to change NFS servers
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --volume-types nfs --nfs-servers 192.168.1.100,192.168.1.101

# Update policy from JSON file
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --file /path/to/updated-policy.json

# Update with granular file inputs
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --volume-types-file /path/to/volume-types.json --labels-file /path/to/labels.json

# Clear CSI drivers (keep only volume types)
pxb update volumeresourceonlypolicy --name my-policy --uid policy-12345 --volume-types pxd --csi-drivers ""

Flags

FlagInput typeDescriptionDefaultRequired
--authtokenstringoidc auth token-Optional
--csi-driversstringSliceCSI drivers to skip data for (requires 'csi' in volume-types)[]Optional
--csi-drivers-filestringYAML/JSON file containing CSI drivers configuration-Optional
--dry-runboolSimulate the operation without making any changesfalseOptional
--endpoint, -estringThe endpoint of the server-Optional
--file, -fstringYAML/JSON file containing complete policy configuration-Optional
--labelsstringToStringLabels for the policy (format: key1=value1,key2=value2)[]Optional
--labels-filestringYAML/JSON file containing labels configuration-Optional
--name, -nstringName of the volume resource only policy-Optional
--nfs-serversstringSliceNFS servers to skip data for (requires 'nfs' in volume-types)[]Optional
--nfs-servers-filestringYAML/JSON file containing NFS servers configuration-Optional
--orgIDstringThe org id for which to query the objectdefaultOptional
--output, -ostringOutput format. One of: table|json|yaml|nametableOptional
--tls-certificatestringtls certificate-Optional
--uidstringUID of the volume resource only policy (optional, can be used with name for precise identification)-Optional
--volume-typesstringSliceVolume types to skip data for: pxd, csi, nfs[]Optional
--volume-types-filestringYAML/JSON file containing volume types configuration-Optional