Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.nosh
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
enabled boolean |
| Enable or disable the service, independently of *.preset file preference or running state. Mutually exclusive with preset. Will take effect prior to state=reset. |
name string / required | Name of the service to manage. | |
preset boolean |
| Enable or disable the service according to local preferences in *.preset files. Mutually exclusive with enabled. Only has an effect if set to true. Will take effect prior to state=reset. |
state string |
| started /stopped are idempotent actions that will not run commands unless necessary. restarted will always bounce the service. reloaded will send a SIGHUP or start the service. reset will start or stop the service according to whether it is enabled or not. |
user boolean |
| Run system-control talking to the calling user's service manager, rather than the system-wide service manager. |
Note
- name: Start dnscache if not running community.general.nosh: name=dnscache state=started - name: Stop mpd, if running community.general.nosh: name=mpd state=stopped - name: Restart unbound or start it if not already running community.general.nosh: name: unbound state: restarted - name: Reload fail2ban or start it if not already running community.general.nosh: name: fail2ban state: reloaded - name: Disable nsd community.general.nosh: name=nsd enabled=no - name: For package installers, set nginx running state according to local enable settings, preset and reset community.general.nosh: name=nginx preset=True state=reset - name: Reboot the host if nosh is the system manager, would need a "wait_for*" task at least, not recommended as-is community.general.nosh: name=reboot state=started - name: Using conditionals with the module facts tasks: - name: Obtain information on tinydns service community.general.nosh: name=tinydns register: result - name: Fail if service not loaded ansible.builtin.fail: msg="The {{ result.name }} service is not loaded" when: not result.status - name: Fail if service is running ansible.builtin.fail: msg="The {{ result.name }} service is running" when: result.status and result.status['DaemontoolsEncoreState'] == "running"
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
enabled boolean | success | whether the service is enabled at system bootstrap Sample: True | |
name string | success | name used to find the service Sample: sshd | |
preset boolean | success | whether the enabled status reflects the one set in the relevant *.preset fileSample: False | |
service_path string | success | resolved path for the service Sample: /var/sv/sshd | |
state string | if state option is used | service process run state, None if the service is not loaded and will not be startedSample: reloaded | |
status complex | success | a dictionary with the key=value pairs returned by `system-control show-json` or None if the service is not loaded | |
After list / elements=string | success | Sample: ['/etc/service-bundles/targets/basic', '../sshdgenkeys', 'log'] | |
Before list / elements=string | success | Sample: ['/etc/service-bundles/targets/shutdown'] | |
Conflicts list / elements=string | success | Sample: [] | |
DaemontoolsEncoreState string | success | Sample: running | |
DaemontoolsState string | success | Sample: up | |
Enabled boolean | success | Sample: True | |
LogService string | success | Sample: ../cyclog@sshd | |
MainPID integer | success | Sample: 661 | |
Paused boolean | success | Sample: False | |
ReadyAfterRun boolean | success | Sample: False | |
RemainAfterExit boolean | success | Sample: False | |
Required-By list / elements=string | success | Sample: [] | |
RestartExitStatusCode integer | success | Sample: 0 | |
RestartExitStatusNumber integer | success | Sample: 0 | |
RestartTimestamp integer | success | Sample: 4611686019935648081 | |
RestartUTCTimestamp integer | success | Sample: 1508260140 | |
RunExitStatusCode integer | success | Sample: 0 | |
RunExitStatusNumber integer | success | Sample: 0 | |
RunTimestamp integer | success | Sample: 4611686019935648081 | |
RunUTCTimestamp integer | success | Sample: 1508260140 | |
StartExitStatusCode integer | success | Sample: 1 | |
StartExitStatusNumber integer | success | Sample: 0 | |
StartTimestamp integer | success | Sample: 4611686019935648081 | |
StartUTCTimestamp integer | success | Sample: 1508260140 | |
StopExitStatusCode integer | success | Sample: 0 | |
StopExitStatusNumber integer | success | Sample: 0 | |
Stopped-By list / elements=string | success | Sample: ['/etc/service-bundles/targets/shutdown'] | |
StopTimestamp integer | success | Sample: 4611686019935648081 | |
StopUTCTimestamp integer | success | Sample: 1508260140 | |
Timestamp integer | success | Sample: 4611686019935648081 | |
UTCTimestamp integer | success | Sample: 1508260140 | |
Want string | success | Sample: nothing | |
Wanted-By list / elements=string | success | Sample: ['/etc/service-bundles/targets/server', '/etc/service-bundles/targets/sockets'] | |
Wants list / elements=string | success | Sample: ['/etc/service-bundles/targets/basic', '../sshdgenkeys'] | |
user boolean | success | whether the user-level service manager is called |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/nosh_module.html