win_chocolatey: Fix state=latest when absent (#23041)
When using state=latest with the package not being installled, Ansible complains that the package is not installed and fails the task.
Whereas the expected behaviour is to install the package when it is missing.
This PR fixes this behaviour.
(cherry picked from commit 521fa9b458
)
This commit is contained in:
parent
9785d5b2fb
commit
d9a6714cb9
1 changed files with 3 additions and 11 deletions
|
@ -247,7 +247,7 @@ Function Choco-Install
|
|||
[int]$timeout
|
||||
)
|
||||
|
||||
if ((Choco-IsInstalled $package) -and -not $force)
|
||||
if (Choco-IsInstalled $package)
|
||||
{
|
||||
if ($upgrade)
|
||||
{
|
||||
|
@ -258,8 +258,7 @@ Function Choco-Install
|
|||
|
||||
return
|
||||
}
|
||||
|
||||
if (-not $force)
|
||||
elseif (-not $force)
|
||||
{
|
||||
return
|
||||
}
|
||||
|
@ -385,20 +384,13 @@ Try
|
|||
{
|
||||
Chocolatey-Install-Upgrade
|
||||
|
||||
if ($state -eq "present")
|
||||
if ($state -eq "present" -or $state -eq "latest")
|
||||
{
|
||||
Choco-Install -package $package -version $version -source $source -force $force `
|
||||
-installargs $installargs -packageparams $packageparams `
|
||||
-allowemptychecksums $allowemptychecksums -ignorechecksums $ignorechecksums `
|
||||
-ignoredependencies $ignoredependencies -timeout $timeout
|
||||
}
|
||||
elseif ($state -eq "latest")
|
||||
{
|
||||
Choco-Upgrade -package $package -version $version -source $source -force $force `
|
||||
-installargs $installargs -packageparams $packageparams `
|
||||
-allowemptychecksums $allowemptychecksums -ignorechecksums $ignorechecksums `
|
||||
-ignoredependencies $ignoredependencies -timeout $timeout
|
||||
}
|
||||
elseif ($state -eq "absent")
|
||||
{
|
||||
Choco-Uninstall -package $package -version $version -force $force -timeout $timeout
|
||||
|
|
Loading…
Add table
Reference in a new issue