@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class BackupTask extends Task
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
Constructor and Description |
---|
BackupTask()
Creates a new uninitialized backup task instance which should only be
used for obtaining general information about this task, including the task
name, description, and supported properties.
|
BackupTask(Entry entry)
Creates a new backup task from the provided entry.
|
BackupTask(java.util.Map<TaskProperty,java.util.List<java.lang.Object>> properties)
Creates a new backup task from the provided set of task properties.
|
BackupTask(java.lang.String taskID,
java.lang.String backupDirectory,
java.util.List<java.lang.String> backendIDs,
java.lang.String backupID,
boolean incremental,
java.lang.String incrementalBaseID,
boolean compress,
boolean encrypt,
boolean hash,
boolean signHash,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnError)
Creates a new restore task with the provided information.
|
BackupTask(java.lang.String taskID,
java.lang.String backupDirectory,
java.util.List<java.lang.String> backendIDs,
java.lang.String backupID,
boolean incremental,
java.lang.String incrementalBaseID,
boolean compress,
boolean encrypt,
java.lang.String encryptionPassphraseFile,
java.lang.String encryptionSettingsDefinitionID,
boolean hash,
boolean signHash,
java.lang.Integer maxMegabytesPerSecond,
java.lang.Integer retainPreviousFullBackupCount,
java.lang.String retainPreviousFullBackupAge,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnError)
Creates a new restore task with the provided information.
|
BackupTask(java.lang.String taskID,
java.lang.String backupDirectory,
java.util.List<java.lang.String> backendIDs,
java.lang.String backupID,
boolean incremental,
java.lang.String incrementalBaseID,
boolean compress,
boolean encrypt,
java.lang.String encryptionPassphraseFile,
java.lang.String encryptionSettingsDefinitionID,
boolean hash,
boolean signHash,
java.lang.Integer maxMegabytesPerSecond,
java.lang.Integer retainPreviousFullBackupCount,
java.lang.String retainPreviousFullBackupAge,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnStart,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnSuccess,
java.util.List<java.lang.String> notifyOnError,
java.lang.Boolean alertOnStart,
java.lang.Boolean alertOnSuccess,
java.lang.Boolean alertOnError)
Creates a new restore task with the provided information.
|
BackupTask(java.lang.String taskID,
java.lang.String backupDirectory,
java.lang.String backendID)
Creates a new backup task with the provided information.
|
Modifier and Type | Method and Description |
---|---|
boolean |
backupAll()
Indicates whether the server should back up all supported backends.
|
boolean |
compress()
Indicates whether the backup should be compressed.
|
boolean |
encrypt()
Indicates whether the backup should be encrypted.
|
protected java.util.List<Attribute> |
getAdditionalAttributes()
Retrieves a list of the additional attributes (other than attributes common
to all task types) that should be included when creating new task entries
of this type.
|
protected java.util.List<java.lang.String> |
getAdditionalObjectClasses()
Retrieves a list of the additional object classes (other than the base
"top" and "ds-task" classes) that should be included when creating new task
entries of this type.
|
java.util.List<java.lang.String> |
getBackendIDs()
Retrieves the set of backend IDs for the backends that should be archived.
|
java.lang.String |
getBackupDirectory()
Retrieves the path to the backup directory in which the backup files should
be written.
|
java.lang.String |
getBackupID()
Retrieves the backup ID for the backup to generate.
|
java.lang.String |
getEncryptionPassphraseFile()
Retrieves the path to a file that contains the passphrase to use to
generate the encryption key.
|
java.lang.String |
getEncryptionSettingsDefinitionID()
Retrieves the identifier of the encryption settings definition to use to
generate the encryption key.
|
java.lang.String |
getIncrementalBaseID()
Retrieves the backup ID of the existing backup on which the incremental
backup should be based.
|
java.lang.Integer |
getMaxMegabytesPerSecond()
Retrieves the maximum rate, in megabytes per second, at which the backup
should be written.
|
java.lang.String |
getRetainPreviousFullBackupAge()
Retrieves a string representation of the minimum age of previous full
backups that should be retained if the new backup is created successfully.
|
java.lang.Integer |
getRetainPreviousFullBackupCount()
Retrieves the minimum number of previous full backups that should be
retained if the new backup is created successfully.
|
java.lang.String |
getTaskDescription()
Retrieves a human-readable description for this task.
|
java.lang.String |
getTaskName()
Retrieves a human-readable name for this task.
|
java.util.Map<TaskProperty,java.util.List<java.lang.Object>> |
getTaskPropertyValues()
Retrieves the values of the task properties for this task.
|
java.util.List<TaskProperty> |
getTaskSpecificProperties()
Retrieves a list of task-specific properties that may be provided when
scheduling a task of this type.
|
boolean |
hash()
Indicates whether the server should generate a hash of the backup.
|
boolean |
incremental()
Indicates whether the server should attempt to perform an incremental
backup rather than a full backup.
|
boolean |
signHash()
Indicates whether the server should sign the backup hash.
|
createTaskEntry, decodeTask, getActualStartTime, getAlertOnError, getAlertOnStart, getAlertOnSuccess, getAvailableTaskTypes, getCommonTaskProperties, getCompletionTime, getDependencyIDs, getFailedDependencyAction, getLogMessages, getNotifyOnCompletionAddresses, getNotifyOnErrorAddresses, getNotifyOnStartAddresses, getNotifyOnSuccessAddresses, getScheduledStartTime, getState, getTaskClassName, getTaskEntry, getTaskEntryDN, getTaskID, isCompleted, isPending, isRunning, parseBoolean, parseBooleanValue, parseDate, parseLong, parseString, parseStringList, parseStrings, toString, toString
public BackupTask()
public BackupTask(@Nullable java.lang.String taskID, @NotNull java.lang.String backupDirectory, @Nullable java.lang.String backendID)
taskID
- The task ID to use for this task. If it is
null
then a UUID will be generated for use
as the task ID.backupDirectory
- The path to the directory on the server into which
the backup should be written. If a single backend
is to be archived, then this should be the path to
the specific backup directory for that backend.
If multiple backends are to be archived, then this
should be the parent of the directories for each
of the backends. It must not be null
.backendID
- The backend ID of the backend to back up. It may
be null
if all supported backends should
be backed up.public BackupTask(@Nullable java.lang.String taskID, @NotNull java.lang.String backupDirectory, @Nullable java.util.List<java.lang.String> backendIDs, @Nullable java.lang.String backupID, boolean incremental, @Nullable java.lang.String incrementalBaseID, boolean compress, boolean encrypt, boolean hash, boolean signHash, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnError)
taskID
- The task ID to use for this task. If it is
null
then a UUID will be generated
for use as the task ID.backupDirectory
- The path to the directory on the server
into which the backup should be written.
If a single backend is to be archived, then
this should be the path to the specific
backup directory for that backend. If
multiple backends are to be archived, then
this should be the parent of the
directories for each of the backends. It
must not be null
.backendIDs
- A list of the backend IDs of the backends
to archive. It may be null
or
empty if all supported backends should be
archived.backupID
- The backup ID to use for this backup. It
may be null
to indicate that the
server should generate the backup ID.incremental
- Indicates whether to perform an incremental
backup rather than a full backup.incrementalBaseID
- The backup ID of the existing backup on
which to base the incremental backup. It
may be null
if this is not an
incremental backup or if it should be based
on the most recent backup.compress
- Indicates whether the backup should be
compressed.encrypt
- Indicates whether the backup should be
encrypted.hash
- Indicates whether to generate a hash of the
backup contents.signHash
- Indicates whether to sign the hash of the
backup contents.scheduledStartTime
- The time that this task should start
running.dependencyIDs
- The list of task IDs that will be required
to complete before this task will be
eligible to start.failedDependencyAction
- Indicates what action should be taken if
any of the dependencies for this task do
not complete successfully.notifyOnCompletion
- The list of e-mail addresses of individuals
that should be notified when this task
completes.notifyOnError
- The list of e-mail addresses of individuals
that should be notified if this task does
not complete successfully.public BackupTask(@Nullable java.lang.String taskID, @NotNull java.lang.String backupDirectory, @Nullable java.util.List<java.lang.String> backendIDs, @Nullable java.lang.String backupID, boolean incremental, @Nullable java.lang.String incrementalBaseID, boolean compress, boolean encrypt, @Nullable java.lang.String encryptionPassphraseFile, @Nullable java.lang.String encryptionSettingsDefinitionID, boolean hash, boolean signHash, @Nullable java.lang.Integer maxMegabytesPerSecond, @Nullable java.lang.Integer retainPreviousFullBackupCount, @Nullable java.lang.String retainPreviousFullBackupAge, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnError)
taskID
- The task ID to use for this task.
If it is null
then a UUID
will be generated for use as the
task ID.backupDirectory
- The path to the directory on the
server into which the backup should
be written. If a single backend is
to be archived, then this should be
the path to the specific backup
directory for that backend. If
multiple backends are to be
archived, then this should be the
parent of the directories for each
of the backends. It must not be
null
.backendIDs
- A list of the backend IDs of the
backends to archive. It may be
null
or empty if all
supported backends should be
archived.backupID
- The backup ID to use for this
backup. It may be null
to
indicate that the server should
generate the backup ID.incremental
- Indicates whether to perform an
incremental backup rather than a
full backup.incrementalBaseID
- The backup ID of the existing
backup on which to base the
incremental backup. It may be
null
if this is not an
incremental backup or if it should
be based on the most recent backup.compress
- Indicates whether the backup should
be compressed.encrypt
- Indicates whether the backup should
be encrypted.encryptionPassphraseFile
- The path to a file containing the
passphrase to use to generate the
encryption key. It amy be
null
if the backup is not
to be encrypted, or if the key
should be obtained in some other
way.encryptionSettingsDefinitionID
- The ID of the encryption settings
definition use to generate the
encryption key. It may be
null
if the backup is not
to be encrypted, or if the key
should be obtained in some other
way.hash
- Indicates whether to generate a
hash of the backup contents.signHash
- Indicates whether to sign the hash
of the backup contents.maxMegabytesPerSecond
- The maximum rate in megabytes per
second at which the backup should
be written.retainPreviousFullBackupCount
- The minimum number of previous
backups to retain.retainPreviousFullBackupAge
- A string representation of the
minimum age of previous backups to
retain. The age should be
formatted in the same way as values
for the DurationArgument
class.scheduledStartTime
- The time that this task should
start running.dependencyIDs
- The list of task IDs that will be
required to complete before this
task will be eligible to start.failedDependencyAction
- Indicates what action should be
taken if any of the dependencies
for this task do not complete
successfully.notifyOnCompletion
- The list of e-mail addresses of
individuals that should be notified
when this task completes.notifyOnError
- The list of e-mail addresses of
individuals that should be notified
if this task does not complete
successfully.public BackupTask(@Nullable java.lang.String taskID, @NotNull java.lang.String backupDirectory, @Nullable java.util.List<java.lang.String> backendIDs, @Nullable java.lang.String backupID, boolean incremental, @Nullable java.lang.String incrementalBaseID, boolean compress, boolean encrypt, @Nullable java.lang.String encryptionPassphraseFile, @Nullable java.lang.String encryptionSettingsDefinitionID, boolean hash, boolean signHash, @Nullable java.lang.Integer maxMegabytesPerSecond, @Nullable java.lang.Integer retainPreviousFullBackupCount, @Nullable java.lang.String retainPreviousFullBackupAge, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnStart, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnSuccess, @Nullable java.util.List<java.lang.String> notifyOnError, @Nullable java.lang.Boolean alertOnStart, @Nullable java.lang.Boolean alertOnSuccess, @Nullable java.lang.Boolean alertOnError)
taskID
- The task ID to use for this task.
If it is null
then a UUID
will be generated for use as the
task ID.backupDirectory
- The path to the directory on the
server into which the backup should
be written. If a single backend is
to be archived, then this should be
the path to the specific backup
directory for that backend. If
multiple backends are to be
archived, then this should be the
parent of the directories for each
of the backends. It must not be
null
.backendIDs
- A list of the backend IDs of the
backends to archive. It may be
null
or empty if all
supported backends should be
archived.backupID
- The backup ID to use for this
backup. It may be null
to
indicate that the server should
generate the backup ID.incremental
- Indicates whether to perform an
incremental backup rather than a
full backup.incrementalBaseID
- The backup ID of the existing
backup on which to base the
incremental backup. It may be
null
if this is not an
incremental backup or if it should
be based on the most recent backup.compress
- Indicates whether the backup should
be compressed.encrypt
- Indicates whether the backup should
be encrypted.encryptionPassphraseFile
- The path to a file containing the
passphrase to use to generate the
encryption key. It amy be
null
if the backup is not
to be encrypted, or if the key
should be obtained in some other
way.encryptionSettingsDefinitionID
- The ID of the encryption settings
definition use to generate the
encryption key. It may be
null
if the backup is not
to be encrypted, or if the key
should be obtained in some other
way.hash
- Indicates whether to generate a
hash of the backup contents.signHash
- Indicates whether to sign the hash
of the backup contents.maxMegabytesPerSecond
- The maximum rate in megabytes per
second at which the backup should
be written.retainPreviousFullBackupCount
- The minimum number of previous
backups to retain.retainPreviousFullBackupAge
- A string representation of the
minimum age of previous backups to
retain. The age should be
formatted in the same way as values
for the DurationArgument
class.scheduledStartTime
- The time that this task should
start running.dependencyIDs
- The list of task IDs that will be
required to complete before this
task will be eligible to start.failedDependencyAction
- Indicates what action should be
taken if any of the dependencies
for this task do not complete
successfully.notifyOnStart
- The list of e-mail addresses of
individuals that should be notified
when this task starts running.notifyOnCompletion
- The list of e-mail addresses of
individuals that should be notified
when this task completes.notifyOnSuccess
- The list of e-mail addresses of
individuals that should be notified
if this task completes
successfully.notifyOnError
- The list of e-mail addresses of
individuals that should be notified
if this task does not complete
successfully.alertOnStart
- Indicates whether the server should
send an alert notification when
this task starts.alertOnSuccess
- Indicates whether the server should
send an alert notification if this
task completes successfully.alertOnError
- Indicates whether the server should
send an alert notification if this
task fails to complete
successfully.public BackupTask(@NotNull Entry entry) throws TaskException
entry
- The entry to use to create this backup task.TaskException
- If the provided entry cannot be parsed as a backup
task entry.public BackupTask(@NotNull java.util.Map<TaskProperty,java.util.List<java.lang.Object>> properties) throws TaskException
properties
- The set of task properties and their corresponding
values to use for the task. It must not be
null
.TaskException
- If the provided set of properties cannot be used to
create a valid backup task.@NotNull public java.lang.String getTaskName()
getTaskName
in class Task
@NotNull public java.lang.String getTaskDescription()
getTaskDescription
in class Task
@NotNull public java.lang.String getBackupDirectory()
public boolean backupAll()
true
if the server should back up all supported backends,
or false
if it should back up a specified backend or set
of backends.@NotNull public java.util.List<java.lang.String> getBackendIDs()
@Nullable public java.lang.String getBackupID()
null
if the
server should generate a backup ID.public boolean incremental()
true
if the server should attempt to perform an
incremental backup, or false
for a full backup.@Nullable public java.lang.String getIncrementalBaseID()
null
if it is not an
incremental backup or the server should use the most recent
backup available as the base for the new incremental backup.public boolean compress()
true
if the backup should be compressed, or false
if not.public boolean encrypt()
true
if the backup should be encrypted, or false
if not.@Nullable public java.lang.String getEncryptionPassphraseFile()
null
if the backup should
not be encrypted or if the encryption key should be obtained
through some other means.@Nullable public java.lang.String getEncryptionSettingsDefinitionID()
null
if the backup should
not be encrypted or if the encryption key should be obtained
through some other means.public boolean hash()
true
if the server should generate a hash of the backup,
or false
if not.public boolean signHash()
true
if the server should sign the backup hash, or
false
if not.@Nullable public java.lang.Integer getMaxMegabytesPerSecond()
null
if the writing should not be
rate limited.@Nullable public java.lang.Integer getRetainPreviousFullBackupCount()
null
if no backups should be removed or if the backup age
should be the only retention criteria.@Nullable public java.lang.String getRetainPreviousFullBackupAge()
null
if no backups should be removed or
if the backup count should be the only retention criteria.@NotNull protected java.util.List<java.lang.String> getAdditionalObjectClasses()
getAdditionalObjectClasses
in class Task
@NotNull protected java.util.List<Attribute> getAdditionalAttributes()
getAdditionalAttributes
in class Task
@NotNull public java.util.List<TaskProperty> getTaskSpecificProperties()
getTaskSpecificProperties
in class Task
@NotNull public java.util.Map<TaskProperty,java.util.List<java.lang.Object>> getTaskPropertyValues()
Boolean
,
Date
, Long
, or String
. Task properties which do
not have any values will be included in the map with an empty value list.
super.getTaskPropertyValues()
and the
values of their own task-specific properties.getTaskPropertyValues
in class Task