Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.191.198.245
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/ansible_collections/lowlydba/sqlserver/plugins/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /lib/python3/dist-packages/ansible_collections/lowlydba/sqlserver/plugins/modules//backup.ps1
#!powershell
# -*- 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)

#AnsibleRequires -CSharpUtil Ansible.Basic
#AnsibleRequires -PowerShell ansible_collections.lowlydba.sqlserver.plugins.module_utils._SqlServerUtils
#Requires -Modules @{ ModuleName="dbatools"; ModuleVersion="1.1.112" }

$ErrorActionPreference = "Stop"

$spec = @{
    supports_check_mode = $true
    options = @{
        database = @{type = 'str'; required = $true }
        path = @{type = 'str'; required = $false }
        file_path = @{type = 'str'; required = $false }
        increment_prefix = @{type = 'bool'; required = $false; default = $false }
        replace_in_name = @{type = 'bool'; required = $false; default = $false }
        copy_only = @{type = 'bool'; required = $false; default = $false }
        type = @{type = 'str'; required = $false; default = 'database'; choices = @('full', 'log', 'differential', 'diff', 'database') }
        timestamp_format = @{type = 'str'; required = $false }
        encryption_certificate = @{type = 'str'; required = $false }
        encryption_algorithm = @{type = 'str'; required = $false; choices = @('AES128', 'AES192', 'AES256', 'TRIPLEDES') }
        create_folder = @{type = 'bool'; required = $false; default = $false }
        file_count = @{type = 'int'; required = $false; default = 0 }
        compress = @{type = 'bool'; required = $false; default = $false }
        checksum = @{type = 'bool'; required = $false; default = $false }
        verify = @{type = 'bool'; required = $false; default = $false }
        no_recovery = @{type = 'bool'; required = $false; default = $false }
        build_path = @{type = 'bool'; required = $false; default = $false }
        max_transfer_size = @{type = 'int'; required = $false; default = 0 }
        with_format = @{type = 'bool'; required = $false; default = $false }
        initialize = @{type = 'bool'; required = $false; default = $false }
        ignore_file_checks = @{type = 'bool'; required = $false; default = $false }
        block_size = @{type = 'str'; required = $false; choices = @('0.5kb', '1kb', '2kb', '4kb', '8kb', '16kb', '32kb', '64kb') }
        buffer_count = @{type = 'int'; required = $false; default = 0 }
        azure_base_url = @{type = 'str'; required = $false }
        azure_credential = @{type = 'str'; required = $false }
    }
    mutually_exclusive = @(
        , @('path', 'azure_base_url')
    )
    required_together = @(
        , @('encryption_algorithm', 'encryption_certificate')
    )
}

$module = [Ansible.Basic.AnsibleModule]::Create($args, $spec, @(Get-LowlyDbaSqlServerAuthSpec))
$sqlInstance, $sqlCredential = Get-SqlCredential -Module $module
$database = $module.Params.database
$path = $module.Params.path
$filePath = $module.Params.file_path
$incrementPrefix = $module.Params.increment_prefix
$replaceInName = $module.Params.replace_in_name
$copyOnly = $module.Params.copy_only
$type = $module.Params.type
$createFolder = $module.Params.create_folder
$fileCount = $module.Params.file_count
$compressBackup = $module.Params.compress_backup
$checkSum = $module.Params.checksum
$verify = $module.Params.verify
$maxTransferSize = $module.Params.max_transfer_size
$blockSize = $module.Params.block_size
$bufferCount = $module.Params.buffer_count
$noRecovery = $module.Params.no_recovery
$buildPath = $module.Params.build_path
$withFormat = $module.Params.with_format
$initialize = $module.Params.initialize
$timestampFormat = $module.Params.timestamp_format
$ignoreFileChecks = $module.Params.ignore_file_checks
$encryptionAlgorithm = $module.Params.encryption_algorithm
$encryptionCertificate = $modules.Params.encryption_certificate
$azureBaseUrl = $modules.Params.azure_base_url
$azureCredential = $modules.Param.azure_credential
$checkMode = $module.CheckMode
$module.Result.changed = $false
$PSDefaultParameterValues = @{ "*:EnableException" = $true; "*:Confirm" = $false; "*:WhatIf" = $checkMode }

try {
    $backupSplat = @{
        SqlInstance = $sqlInstance
        SqlCredential = $sqlCredential
        Database = $database
        IncrementPrefix = $incrementPrefix
        ReplaceInName = $replaceInName
        CopyOnly = $copyOnly
        Type = $type
        CreateFolder = $createFolder
        FileCount = $fileCount
        CompressBackup = $compressBackup
        Checksum = $checkSum
        Verify = $verify
        MaxTransferSize = $maxTransferSize
        BufferCount = $bufferCount
        NoRecovery = $noRecovery
        BuildPath = $buildPath
        WithFormat = $withFormat
        Initialize = $initialize
        IgnoreFileChecks = $ignoreFileChecks
    }
    if ($null -ne $path) {
        $backupSplat.Add("Path", $path)
    }
    if ($null -ne $filePath) {
        $backupSplat.Add("FilePath", $filePath)
    }
    if ($null -ne $blockSize) {
        $backupSplat.Add("BlockSize", ($blockSize / 1))
    }
    if ($null -ne $timestampFormat) {
        $backupSplat.Add("TimestampFormat", $timestampFormat)
    }
    if ($null -ne $encryptionAlgorithm) {
        $backupSplat.Add("EncryptionAlgorithm", $encryptionAlgorithm)
    }
    if ($null -ne $encryptionCertificate) {
        $backupSplat.Add("EncryptionCertificate", $encryptionCertificate)
    }
    if ($null -ne $azureBaseUrl) {
        $backupSplat.Add("AzureBaseURL", $azureBaseUrl)
    }
    if ($null -ne $azureCredential) {
        $backupSplat.Add("AzureCredential", $azureCredential)
    }
    $output = Backup-DbaDatabase @backupSplat

    if ($null -ne $output) {
        $resultData = ConvertTo-SerializableObject -InputObject $output
        $module.Result.data = $resultData
        $module.Result.changed = $true
    }
    $module.ExitJson()
}
catch {
    $module.FailJson("Error backing up database: $($_.Exception.Message).", $_)
}

Anon7 - 2022
AnonSec Team