From 2bffcfa63bb673903da14fcf4dcc270690910a0a Mon Sep 17 00:00:00 2001 From: Sam Doran Date: Tue, 20 Feb 2018 20:47:29 -0500 Subject: [PATCH] Add force option to systemd module (#35925) * Add force option to systemd module * Use multi-line YAML syntax in examples * Add version_added for new option --- lib/ansible/modules/system/systemd.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/system/systemd.py b/lib/ansible/modules/system/systemd.py index 58c9ac6b61f..e913d352006 100644 --- a/lib/ansible/modules/system/systemd.py +++ b/lib/ansible/modules/system/systemd.py @@ -33,6 +33,11 @@ options: description: - Whether the service should start on boot. B(At least one of state and enabled are required.) type: bool + force: + description: + - Whether to override existing symlinks. + type: bool + version_added: 2.6 masked: description: - Whether the unit should be masked or not, a masked unit is impossible to start. @@ -65,10 +70,14 @@ requirements: EXAMPLES = ''' - name: Make sure a service is running - systemd: state=started name=httpd + systemd: + state: started + name: httpd - name: stop service cron on debian, if running - systemd: name=cron state=stopped + systemd: + name: cron + state: stopped - name: restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes systemd: @@ -94,7 +103,8 @@ EXAMPLES = ''' enabled: True - name: just force systemd to reread configs (2.4 and above) - systemd: daemon_reload=yes + systemd: + daemon_reload: yes ''' RETURN = ''' @@ -285,6 +295,7 @@ def main(): name=dict(type='str', aliases=['service', 'unit']), state=dict(type='str', choices=['reloaded', 'restarted', 'started', 'stopped']), enabled=dict(type='bool'), + force=dict(type='bool'), masked=dict(type='bool'), daemon_reload=dict(type='bool', default=False, aliases=['daemon-reload']), user=dict(type='bool', default=False), @@ -299,6 +310,8 @@ def main(): systemctl = systemctl + " --user" if module.params['no_block']: systemctl = systemctl + " --no-block" + if module.params['force']: + systemctl = systemctl + " --force" unit = module.params['name'] rc = 0 out = err = ''