ansible.builtin.getent module – A wrapper to the unix getent utility
Note
This module is part of ansible-core
and included in all Ansible
installations. In most cases, you can use the short
module name
getent
even without specifying the collections keyword.
However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.getent
for easy linking to the
module documentation and to avoid conflicting with other collections that may have
the same module name.
Synopsis
Runs getent against one of its various databases and returns information into the host’s facts, in a
getent_<database>
prefixed variable.
Parameters
Parameter |
Comments |
---|---|
The name of a getent database supported by the target system (passwd, group, hosts, etc). |
|
If a supplied key is missing this will make the task fail if Choices:
|
|
Key from which to return values from the specified database, otherwise the full contents are returned. |
|
Override all databases with the specified service The underlying system must support the service flag which is not always available. |
|
Character used to split the database values into lists/arrays such as |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in check_mode and return changed status prediction without modifying target, if not supported the action will be skipped. |
|
Support: none |
Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode |
|
Support: full |
Action returns an |
|
Platform: posix |
Target OS/families that can be operated against |
Notes
Note
Not all databases support enumeration, check system documentation for details.
Examples
- name: Get root user info
ansible.builtin.getent:
database: passwd
key: root
- ansible.builtin.debug:
var: ansible_facts.getent_passwd
- name: Get all groups
ansible.builtin.getent:
database: group
split: ':'
- ansible.builtin.debug:
var: ansible_facts.getent_group
- name: Get all hosts, split by tab
ansible.builtin.getent:
database: hosts
- ansible.builtin.debug:
var: ansible_facts.getent_hosts
- name: Get http service info, no error if missing
ansible.builtin.getent:
database: services
key: http
fail_key: False
- ansible.builtin.debug:
var: ansible_facts.getent_services
- name: Get user password hash (requires sudo/root)
ansible.builtin.getent:
database: shadow
key: www-data
split: ':'
- ansible.builtin.debug:
var: ansible_facts.getent_shadow
Returned Facts
Facts returned by this module are added/updated in the hostvars
host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.
Key |
Description |
---|---|
A list of results or a single result as a list of the fields the db provides The list elements depend on the database queried, see getent man page for the structure Starting at 2.11 it now returns multiple duplicate entries, previously it only returned the last one Returned: always |