community.general.nosh – Manage services with nosh¶
Note
This plugin is part of the community.general collection (version 2.5.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.nosh
.
Synopsis¶
Control running and enabled state for system-wide or user services.
BSD and Linux systems are supported.
Requirements¶
The below requirements are needed on the host that executes this module.
A system with an active nosh service manager, see Notes for further information.
Parameters¶
Notes¶
Note
Information on the nosh utilities suite may be found at https://jdebp.eu/Softwares/nosh/.
Examples¶
- 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"
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Authors¶
Thomas Caravia (@tacatac)