From 8724c069d763644c6d78ff171be94705835bb709 Mon Sep 17 00:00:00 2001 From: Michael Wild Date: Wed, 25 Oct 2017 23:02:14 +0200 Subject: [PATCH] Add delayed start to win_nssm (#32017) * Adds start_mode=delayed option for win_nssm It translates to Start=SERVICE_DELAYED_AUTO_START in nssm. * Adds documentation for the start_mode=delayed option of win_nssm Also, reformats the start_mode values into a list. --- lib/ansible/modules/windows/win_nssm.ps1 | 4 ++-- lib/ansible/modules/windows/win_nssm.py | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/ansible/modules/windows/win_nssm.ps1 b/lib/ansible/modules/windows/win_nssm.ps1 index 7d6fe43ae3b..56e57c37cf4 100644 --- a/lib/ansible/modules/windows/win_nssm.ps1 +++ b/lib/ansible/modules/windows/win_nssm.ps1 @@ -35,7 +35,7 @@ $state = Get-AnsibleParam -obj $params -name "state" -type "str" -default "prese $application = Get-AnsibleParam -obj $params -name "application" -type "str" $appParameters = Get-AnsibleParam -obj $params -name "app_parameters" -type "str" $appParametersFree = Get-AnsibleParam -obj $params -name "app_parameters_free_form" -type "str" -$startMode = Get-AnsibleParam -obj $params -name "start_mode" -type "str" -default "auto" -validateset "auto","manual","disabled" -resultobj $result +$startMode = Get-AnsibleParam -obj $params -name "start_mode" -type "str" -default "auto" -validateset "auto","delayed","manual","disabled" -resultobj $result $stdoutFile = Get-AnsibleParam -obj $params -name "stdout_file" -type "str" $stderrFile = Get-AnsibleParam -obj $params -name "stderr_file" -type "str" @@ -502,7 +502,7 @@ Function Nssm-Update-StartMode Throw "Error updating start mode for service ""$name""" } - $modes=@{"auto" = "SERVICE_AUTO_START"; "manual" = "SERVICE_DEMAND_START"; "disabled" = "SERVICE_DISABLED"} + $modes=@{"auto" = "SERVICE_AUTO_START"; "delayed" = "SERVICE_DELAYED_AUTO_START"; "manual" = "SERVICE_DEMAND_START"; "disabled" = "SERVICE_DISABLED"} $mappedMode = $modes.$mode if ($results -cnotlike $mappedMode) { $cmd = "set ""$name"" Start $mappedMode" diff --git a/lib/ansible/modules/windows/win_nssm.py b/lib/ansible/modules/windows/win_nssm.py index ba956fd015d..ebf110dba65 100644 --- a/lib/ansible/modules/windows/win_nssm.py +++ b/lib/ansible/modules/windows/win_nssm.py @@ -87,17 +87,21 @@ options: - Password to be used for service startup start_mode: description: - - If C(auto) is selected, the service will start at bootup. C(manual) means that the service will start only when another service needs it. - C(disabled) means that the service will stay off, regardless if it is needed or not. + - If C(auto) is selected, the service will start at bootup. + - C(delayed) causes a delayed but automatic start after boot (added in version 2.5). + - C(manual) means that the service will start only when another service needs it. + - C(disabled) means that the service will stay off, regardless if it is needed or not. default: auto choices: - auto + - delayed - manual - disabled author: - "Adam Keech (@smadam813)" - "George Frank (@georgefrank)" - "Hans-Joachim Kliemeck (@h0nIg)" + - "Michael Wild (@themiwi)" ''' EXAMPLES = r'''