HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //lib/python3.9/site-packages/ansible_collections/ansible/windows/plugins/modules/win_tempfile.ps1
#!powershell

# Copyright: (c) 2017, Dag Wieers (@dagwieers) <[email protected]>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

#AnsibleRequires -CSharpUtil Ansible.Basic

Function New-TempFile {
    Param ([string]$path, [string]$prefix, [string]$suffix, [string]$type, [bool]$checkmode)
    $temppath = $null
    $curerror = $null
    $attempt = 0

    # Since we don't know if the file already exists, we try 5 times with a random name
    do {
        $attempt += 1
        $randomname = [System.IO.Path]::GetRandomFileName()
        $temppath = (Join-Path -Path $path -ChildPath "$prefix$randomname$suffix")
        Try {
            $file = New-Item -Path $temppath -ItemType $type -WhatIf:$checkmode
            # Makes sure we get the full absolute path of the created temp file and not a relative or DOS 8.3 dir
            if (-not $checkmode) {
                $temppath = $file.FullName
            }
            else {
                # Just rely on GetFulLpath for check mode
                $temppath = [System.IO.Path]::GetFullPath($temppath)
            }
        }
        Catch {
            $temppath = $null
            $curerror = $_
        }
    } until (($null -ne $temppath) -or ($attempt -ge 5))

    # If it fails 5 times, something is wrong and we have to report the details
    if ($null -eq $temppath) {
        $module.FailJson("No random temporary file worked in $attempt attempts. Error: $($curerror.Exception.Message)", $curerror)
    }

    return $temppath.ToString()
}

$spec = @{
    options = @{
        path = @{ type = 'path'; default = '%TEMP%'; aliases = @( 'dest' ) }
        state = @{ type = 'str'; default = 'file'; choices = @( 'directory', 'file') }
        prefix = @{ type = 'str'; default = 'ansible.' }
        suffix = @{ type = 'str' }
    }
    supports_check_mode = $true
}

$module = [Ansible.Basic.AnsibleModule]::Create($args, $spec)

$path = $module.Params.path
$state = $module.Params.state
$prefix = $module.Params.prefix
$suffix = $module.Params.suffix

# Expand environment variables on non-path types
if ($null -ne $prefix) {
    $prefix = [System.Environment]::ExpandEnvironmentVariables($prefix)
}
if ($null -ne $suffix) {
    $suffix = [System.Environment]::ExpandEnvironmentVariables($suffix)
}

$module.Result.changed = $true
$module.Result.state = $state

$module.Result.path = New-TempFile -Path $path -Prefix $prefix -Suffix $suffix -Type $state -CheckMode $module.CheckMode

$module.ExitJson()