service_facts¶
Collection Note
This module is part of the ansible.builtin collection. To install the collection, use:
Added in version2.5.
You need further requirements to be able to use this module, see the Requirements section for details.
Synopsis¶
- Return service state information as fact data for various service management utilities.
Requirements¶
The following Python packages are needed on the host that executes this module:
Notes¶
Note
- When accessing the RV(ansible_facts.services) facts collected by this module, it is recommended to not use "dot notation" because services can have a C(-) character in their name which would result in invalid "dot notation", such as C(ansible_facts.services.zuul-gateway). It is instead recommended to using the string value of the service name as the key in order to obtain the fact data value like C(ansible_facts.services['zuul-gateway'])
- AIX SRC was added in version 2.11.
Examples¶
- name: Populate service facts
ansible.builtin.service_facts:
- name: Print service facts
ansible.builtin.debug:
var: ansible_facts.services
- name: show names of existing systemd services, sometimes systemd knows about services that were never installed
debug: msg={{ existing_systemd_services | map(attribute='name') }}
vars:
known_systemd_services: "{{ ansible_facts['services'].values() | selectattr('source', 'equalto', 'systemd') }}"
existing_systemd_services: "{{ known_systemd_services | rejectattr('status', 'equalto', 'not-found') }}"
- name: restart systemd service if it exists
service:
state: restarted
name: ntpd.service
when: ansible_facts['services']['ntpd.service']['status'] | default('not-found') != 'not-found'
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| ansible_facts | complex | Facts to add to ansible_facts about the services on the system | always |
Authors¶
- Adam Miller (@maxamillion)