Server IP : 85.214.239.14 / Your IP : 3.145.12.145 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 : /usr/lib/python3/dist-packages/ansible_collections/ansible/windows/plugins/modules/ |
Upload File : |
#!powershell # Copyright: (c) 2017, Dag Wieers (@dagwieers) <dag@wieers.com> # 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()