community.general.nosh module – Manage services with nosh
Note
This module is part of the community.general collection (version 9.4.0).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
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
Parameter |
Comments |
---|---|
Enable or disable the service, independently of Choices:
|
|
Name of the service to manage. |
|
Enable or disable the service according to local preferences in Choices:
|
|
Choices:
|
|
Run system-control talking to the calling user’s service manager, rather than the system-wide service manager. Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
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: false
- 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:
Key |
Description |
---|---|
whether the service is enabled at system bootstrap Returned: success Sample: |
|
name used to find the service Returned: success Sample: |
|
whether the enabled status reflects the one set in the relevant Returned: success Sample: |
|
resolved path for the service Returned: success Sample: |
|
service process run state, Returned: if state option is used Sample: |
|
A dictionary with the key=value pairs returned by Returned: success |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
Returned: success Sample: |
|
whether the user-level service manager is called Returned: success Sample: |