summaryrefslogtreecommitdiffstats
path: root/ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:03:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:03:42 +0000
commit66cec45960ce1d9c794e9399de15c138acb18aed (patch)
tree59cd19d69e9d56b7989b080da7c20ef1a3fe2a5a /ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py
parentInitial commit. (diff)
downloadansible-66cec45960ce1d9c794e9399de15c138acb18aed.tar.xz
ansible-66cec45960ce1d9c794e9399de15c138acb18aed.zip
Adding upstream version 7.3.0+dfsg.upstream/7.3.0+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py')
-rw-r--r--ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py197
1 files changed, 197 insertions, 0 deletions
diff --git a/ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py b/ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py
new file mode 100644
index 00000000..962b0cfc
--- /dev/null
+++ b/ansible_collections/lowlydba/sqlserver/plugins/modules/backup.py
@@ -0,0 +1,197 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# (c) 2022, John McCall (@lowlydba)
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r'''
+---
+module: backup
+short_description: Performs a backup operation
+description:
+ - Performs any type of database backup operation.
+version_added: 0.8.0
+options:
+ database:
+ description:
+ - The database to process.
+ type: str
+ required: true
+ path:
+ description:
+ - Path in which to place the backup files.
+ - If not specified, the backups will be placed in the default backup location for SqlInstance.
+ type: str
+ required: false
+ file_path:
+ description:
+ - The name of the file to backup to.
+ - If no name is specified then the backup files will be named C(DatabaseName_yyyyMMddHHmm) (i.e. C(Database1_201714022131))
+ type: str
+ required: false
+ increment_prefix:
+ description:
+ - If set, this will prefix backup files with an incrementing integer (ie; C(1-), C(2-)).
+ - Using this has been alleged to improved restore times on some Azure based SQL Database platforms.
+ type: bool
+ required: false
+ default: false
+ replace_in_name:
+ description:
+ - If set, the following list of strings will be replaced in the FilePath and Path strings.
+ C(instancename) - will be replaced with the instance Name
+ C(servername) - will be replaced with the server name
+ C(dbname) - will be replaced with the database name
+ C(timestamp) - will be replaced with the timestamp (either the default, or the format provided)
+ C(backuptype) - will be replaced with C(Full), C(Log), or C(Differential) as appropriate
+ type: bool
+ required: false
+ default: false
+ copy_only:
+ description:
+ - The backup will be CopyOnly.
+ type: bool
+ required: false
+ default: false
+ type:
+ description:
+ - The type of backup to perform.
+ type: str
+ required: false
+ default: 'database'
+ choices: ['full', 'log', 'differential', 'diff', 'database']
+ create_folder:
+ description:
+ - If set, database is backed up to its own subfolder within the path.
+ type: bool
+ required: false
+ default: false
+ file_count:
+ description:
+ - The number of striped files to create the backup with.
+ type: int
+ required: false
+ default: 0
+ compress:
+ description:
+ - If set, use compression when creating the backup if it is supported by the version and edition.
+ type: bool
+ required: false
+ default: false
+ checksum:
+ description:
+ - If set, the backup checksum will be calculated.
+ type: bool
+ required: false
+ default: false
+ verify:
+ description:
+ - If set, the backup will be verified via C(RESTORE VERIFYONLY)
+ type: bool
+ required: false
+ default: false
+ max_transfer_size:
+ description:
+ - Sets the size of the unit of transfer. Values must be a multiple of 64kb.
+ type: int
+ required: false
+ default: 0
+ block_size:
+ description:
+ - Specifies block size to use.
+ type: str
+ required: false
+ choices: ['0.5kb','1kb','2kb','4kb','8kb','16kb','32kb','64kb']
+ buffer_count:
+ description:
+ - Number of I/O buffers to use.
+ type: int
+ required: false
+ default: 0
+ azure_base_url:
+ description:
+ - The URL to the base container of an Azure Storage account to write backups to.
+ type: str
+ required: false
+ azure_credential:
+ description:
+ - The name of the credential on the SQL instance that can write to the I(azure_base_url),
+ only needed if using Storage access keys If using SAS credentials, the command will look for a credential with a name matching the I(azure_base_url).
+ type: str
+ required: false
+ no_recovery:
+ description:
+ - If set, performs a tail log backup.
+ type: bool
+ required: false
+ default: false
+ build_path:
+ description:
+ - By default this command will not attempt to create missing paths, this switch will change the behaviour so that it will.
+ type: bool
+ required: false
+ default: false
+ with_format:
+ description:
+ - Formats the media as the first step of the backup operation.
+ type: bool
+ required: false
+ default: false
+ initialize:
+ description:
+ - Initializes the media as part of the backup operation.
+ type: bool
+ required: false
+ default: false
+ timestamp_format:
+ description:
+ - By default the command timestamps backups using the format C(yyyyMMddHHmm). Using this option this can be overridden.
+ type: str
+ required: false
+ ignore_file_checks:
+ description:
+ - If set, stops the function from checking path validity.
+ type: bool
+ required: false
+ default: false
+ encryption_algorithm:
+ description:
+ - Specifies the Encryption Algorithm to used.
+ type: str
+ required: false
+ choices: ['AES128','AES192','AES256','TRIPLEDES']
+ encryption_certificate:
+ description:
+ - The name of the certificate to be used to encrypt the backups.
+ type: str
+ required: false
+author: "John McCall (@lowlydba)"
+requirements:
+ - L(dbatools,https://www.powershellgallery.com/packages/dbatools/) PowerShell module
+extends_documentation_fragment:
+ - lowlydba.sqlserver.sql_credentials
+ - lowlydba.sqlserver.attributes.check_mode
+ - lowlydba.sqlserver.attributes.platform_all
+'''
+
+EXAMPLES = r'''
+- name: Create striped full database backup in default dir
+ lowlydba.sqlserver.backup:
+ sql_instance: sql-01.myco.io
+ database: LowlyDB
+ type: full
+ file_count: 8
+
+- name: Create t-log backup
+ lowlydba.sqlserver.backup:
+ sql_instance: sql-01.myco.io
+ database: LowlyDB
+ type: log
+'''
+
+RETURN = r'''
+data:
+ description: Modified output from the C(Backup-DbaDatabase) function.
+ returned: success, but not in check_mode.
+ type: dict
+'''