Fix problem with 'restarted' state not restarting the apppool when it is in running state (#1451)

* Fix problem with 'restarted' state not restarting the apppool when it is in running state

* Implemeting code review comments

Comment from previous commit “You basically want to start the pool if
it's stopped and requested state is started or restarted, otherwise if
requested state is restarted, restart it.” This commit implements the
behavior stated in the PR comment
This commit is contained in:
Nicolas Landais 2016-05-20 20:31:46 -04:00 committed by Matt Davis
parent d2900e856b
commit b11029adca

View file

@ -90,10 +90,18 @@ try {
Stop-WebAppPool -Name $name -ErrorAction Stop
$result.changed = $TRUE
}
if ((($state -eq 'started') -and ($pool.State -eq 'Stopped')) -or ($state -eq 'restarted')) {
if ((($state -eq 'started') -and ($pool.State -eq 'Stopped'))) {
Start-WebAppPool -Name $name -ErrorAction Stop
$result.changed = $TRUE
}
if ($state -eq 'restarted') {
switch ($pool.State)
{
'Stopped' { Start-WebAppPool -Name $name -ErrorAction Stop }
default { Restart-WebAppPool -Name $name -ErrorAction Stop }
}
$result.changed = $TRUE
}
}
} catch {
Fail-Json $result $_.Exception.Message
@ -112,4 +120,4 @@ if ($pool)
$pool.Attributes | ForEach { $result.info.attributes.Add($_.Name, $_.Value)};
}
Exit-Json $result
Exit-Json $result