diff options
author | Charles <crossan007@gmail.com> | 2018-08-27 02:18:45 -0400 |
---|---|---|
committer | Jordan Borean <jborean93@gmail.com> | 2018-08-27 16:18:45 +1000 |
commit | a7f35e232e6405eb33dec2a101e2c00ac23391f6 (patch) | |
tree | fcaa572f19bf2f20fbd5f8cd197ccd086756f173 | |
parent | af49627a08645051d85f0747f44f4622b35a75b3 (diff) | |
download | ansible-a7f35e232e6405eb33dec2a101e2c00ac23391f6.tar.gz |
Switch to LiteralPath instead of Path. Closes #44508 (#44509)
* Switch to LiteralPath instead of Path. Closes #44508
* add changelog fragment
* fix line endings and remove final empty line
* Minor text changes in changelog
-rw-r--r-- | changelogs/fragments/44508-win_lineinfile.yaml | 2 | ||||
-rw-r--r-- | lib/ansible/modules/windows/win_lineinfile.ps1 | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/changelogs/fragments/44508-win_lineinfile.yaml b/changelogs/fragments/44508-win_lineinfile.yaml new file mode 100644 index 0000000000..eb5b2c0ae7 --- /dev/null +++ b/changelogs/fragments/44508-win_lineinfile.yaml @@ -0,0 +1,2 @@ +bugfixes: +- win_lineinfile - changed `-Path` to `-LiteralPath` so that square brackes in the path are interpreted literally - https://github.com/ansible/ansible/issues/44508 diff --git a/lib/ansible/modules/windows/win_lineinfile.ps1 b/lib/ansible/modules/windows/win_lineinfile.ps1 index 258bded441..0960b24736 100644 --- a/lib/ansible/modules/windows/win_lineinfile.ps1 +++ b/lib/ansible/modules/windows/win_lineinfile.ps1 @@ -82,7 +82,7 @@ function Present($path, $regexp, $line, $insertafter, $insertbefore, $create, $b # Check if path exists. If it does not exist, either create it if create == "yes" # was specified or fail with a reasonable error message. - If (-not (Test-Path -Path $path)) { + If (-not (Test-Path -LiteralPath $path)) { If (-not $create) { Fail-Json @{} "Path $path does not exist !"; } @@ -218,7 +218,7 @@ function Present($path, $regexp, $line, $insertafter, $insertbefore, $create, $b function Absent($path, $regexp, $line, $backup, $validate, $encodingobj, $linesep, $check_mode, $diff_support) { # Check if path exists. If it does not exist, fail with a reasonable error message. - If (-not (Test-Path -Path $path)) { + If (-not (Test-Path -LiteralPath $path)) { Fail-Json @{} "Path $path does not exist !"; } @@ -316,7 +316,7 @@ $encoding = Get-AnsibleParam -obj $params -name "encoding" -type "str" -default $newline = Get-AnsibleParam -obj $params -name "newline" -type "str" -default "windows" -validateset "unix","windows"; # Fail if the path is not a file -If (Test-Path -Path $path -PathType "container") { +If (Test-Path -LiteralPath $path -PathType "container") { Fail-Json @{} "Path $path is a directory"; } @@ -339,7 +339,7 @@ If ($encoding -ne "auto") { # Otherwise see if we can determine the current encoding of the target file. # If the file doesn't exist yet (create == 'yes') we use the default or # explicitly specified encoding set above. -ElseIf (Test-Path -Path $path) { +ElseIf (Test-Path -LiteralPath $path) { # Get a sorted list of encodings with preambles, longest first $max_preamble_len = 0; @@ -356,7 +356,7 @@ ElseIf (Test-Path -Path $path) { } # Get the first N bytes from the file, where N is the max preamble length we saw - [Byte[]]$bom = Get-Content -Encoding Byte -ReadCount $max_preamble_len -TotalCount $max_preamble_len -Path $path; + [Byte[]]$bom = Get-Content -Encoding Byte -ReadCount $max_preamble_len -TotalCount $max_preamble_len -LiteralPath $path; # Iterate through the sorted encodings, looking for a full match. $found = $false; |