Changed the service module to terminate early if only changing the enabled state.
Expanded the documentation slightly.
This commit is contained in:
parent
67c0139316
commit
d7dc4594eb
1 changed files with 21 additions and 9 deletions
18
service
18
service
|
@ -37,7 +37,8 @@ options:
|
|||
description:
|
||||
- C(started)/C(stopped) are idempotent actions that will not run
|
||||
commands unless necessary. C(restarted) will always bounce the
|
||||
service. C(reloaded) will always reload.
|
||||
service. C(reloaded) will always reload. At least one of state
|
||||
and enabled are required.
|
||||
pattern:
|
||||
required: false
|
||||
version_added: "0.7"
|
||||
|
@ -50,7 +51,9 @@ options:
|
|||
required: false
|
||||
choices: [ "yes", "no" ]
|
||||
description:
|
||||
- Whether the service should start on boot.
|
||||
- Whether the service should start on boot. At least one of state and
|
||||
enabled are required.
|
||||
|
||||
arguments:
|
||||
description:
|
||||
- Additional arguments provided on the command line
|
||||
|
@ -856,6 +859,8 @@ def main():
|
|||
),
|
||||
supports_check_mode=True
|
||||
)
|
||||
if module.params['state'] is None and module.params['enabled'] is None:
|
||||
module.fail_json(msg="Neither 'state' nor 'enabled' set")
|
||||
|
||||
service = Service(module)
|
||||
|
||||
|
@ -870,7 +875,6 @@ def main():
|
|||
err = ''
|
||||
result = {}
|
||||
result['name'] = service.name
|
||||
result['state'] = service.state
|
||||
|
||||
# Find service management tools
|
||||
service.get_service_tools()
|
||||
|
@ -880,6 +884,14 @@ def main():
|
|||
# FIXME: ideally this should detect if we need to toggle the enablement state, though
|
||||
# it's unlikely the changed handler would need to fire in this case so it's a minor thing.
|
||||
service.service_enable()
|
||||
result['enabled'] = service.enable
|
||||
|
||||
if module.params['state'] is None:
|
||||
# Not changing the running state, so bail out now.
|
||||
result['changed'] = service.changed
|
||||
module.exit_json(**result)
|
||||
|
||||
result['state'] = service.state
|
||||
|
||||
# Collect service status
|
||||
if service.pattern:
|
||||
|
|
Loading…
Reference in a new issue