community.general.nosh module – Manage services with nosh
Note
This module is part of the community.general collection (version 10.1.0).
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
.
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: |