Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.221.240.14
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//credential.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 = @{
        identity = @{type = 'str'; required = $true }
        name = @{type = 'str'; required = $false }
        password = @{type = 'str'; required = $false; no_log = $true }
        mapped_class_type = @{type = 'str'; required = $false; choices = @('CryptographicProvider', 'None') }
        provider_name = @{type = 'str'; required = $false }
        force = @{type = 'bool'; required = $false; default = $false }
        state = @{type = 'str'; required = $false; default = 'present'; choices = @('present', 'absent') }
    }
}

$module = [Ansible.Basic.AnsibleModule]::Create($args, $spec, @(Get-LowlyDbaSqlServerAuthSpec))
$sqlInstance, $sqlCredential = Get-SqlCredential -Module $module
$identity = $module.Params.identity
$name = $module.Params.name
if ($null -ne $module.Params.password) {
    $secure_password = ConvertTo-SecureString -String $module.Params.password -AsPlainText -Force
}
$mapped_class_type = $module.Params.mapped_class_type
$provider_name = $module.Params.provider_name
$state = $module.Params.state
$force = $module.Params.force
$checkMode = $module.CheckMode

$module.Result.changed = $false

try {
    $getCredendtialSplat = @{
        SqlInstance = $sqlInstance
        SqlCredential = $sqlCredential
        Identity = $identity
        EnableException = $true
    }
    $existingCredential = Get-DbaCredential @getCredendtialSplat

    if ($state -eq "absent") {
        # Remove credential if it exists
        if ($null -ne $existingCredential) {
            try {
                $removeCredentialSplat = @{
                    EnableException = $true
                    WhatIf = $checkMode
                    Confirm = $false
                }
                $output = $existingCredential | Remove-DbaCredential @removeCredentialSplat
                $module.Result.changed = $true
            }
            catch {
                $module.FailJson("Removing credential failed: $($_.Exception.Message)", $_)
            }
        }
    }
    elseif ($state -eq "present") {
        # Create credential
        if (($null -ne $existingCredential -and $force -eq $true) -or $null -eq $existingCredential) {
            try {
                $newCredentialSplat = @{
                    SqlInstance = $sqlInstance
                    SqlCredential = $sqlCredential
                    Identity = $identity
                    EnableException = $true
                    WhatIf = $checkMode
                    Force = $force
                    Confirm = $false
                }
                if ($null -ne $name) {
                    $newCredentialSplat.Add("Name", $name)
                }
                if ($null -ne $secure_password) {
                    $newCredentialSplat.Add("SecurePassword", $secure_password)
                }
                if ($null -ne $mapped_class_type) {
                    $newCredentialSplat.Add("MappedClassType", $mapped_class_type)
                }
                if ($null -ne $provider_name) {
                    $newCredentialSplat.Add("ProviderName", $provider_name)
                }
                $output = New-DbaCredential @newCredentialSplat
                $module.result.changed = $true
            }
            catch {
                $module.FailJson("Creating credential failed: $($_.Exception.Message)", $_)
            }
        }
        # Return existing credential if nothing is changed
        elseif ($null -ne $existingCredential) {
            $output = $existingCredential
        }
    }
    try {
        if ($null -ne $output) {
            $resultData = ConvertTo-SerializableObject -InputObject $output
            $module.Result.data = $resultData
        }
        $module.ExitJson()
    }
    catch {
        $module.FailJson("Failure: $($_.Exception.Message)", $_)
    }
}
catch {
    $module.FailJson("Configuring credential failed: $($_.Exception.Message) ; $getCredendtialSplat", $_)
}

Anon7 - 2022
AnonSec Team