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