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
reviewable/pr18780/r1
Nicolas Landais 9 years ago committed by Matt Davis
parent d2900e856b
commit b11029adca

@ -90,10 +90,18 @@ try {
Stop-WebAppPool -Name $name -ErrorAction Stop Stop-WebAppPool -Name $name -ErrorAction Stop
$result.changed = $TRUE $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 Start-WebAppPool -Name $name -ErrorAction Stop
$result.changed = $TRUE $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 { } catch {
Fail-Json $result $_.Exception.Message Fail-Json $result $_.Exception.Message
@ -112,4 +120,4 @@ if ($pool)
$pool.Attributes | ForEach { $result.info.attributes.Add($_.Name, $_.Value)}; $pool.Attributes | ForEach { $result.info.attributes.Add($_.Name, $_.Value)};
} }
Exit-Json $result Exit-Json $result
Loading…
Cancel
Save