관리-도구
편집 파일: getent.cpython-39.opt-1.pyc
a �)g? � @ s^ d dl mZmZmZ eZdZdZdZd dl Z d dl mZ d dlm Z dd � Zed krZe� dS )� )�absolute_import�division�print_functiona� --- module: getent short_description: A wrapper to the unix getent utility description: - Runs getent against one of its various databases and returns information into the host's facts, in a getent_<database> prefixed variable. version_added: "1.8" options: database: description: - The name of a getent database supported by the target system (passwd, group, hosts, etc). type: str required: True key: description: - Key from which to return values from the specified database, otherwise the full contents are returned. type: str default: '' service: description: - Override all databases with the specified service - The underlying system must support the service flag which is not always available. type: str version_added: "2.9" split: description: - Character used to split the database values into lists/arrays such as C(:) or C(\t), otherwise it will try to pick one depending on the database. type: str fail_key: description: - If a supplied key is missing this will make the task fail if C(true). type: bool default: 'yes' extends_documentation_fragment: - action_common_attributes - action_common_attributes.facts attributes: check_mode: support: full diff_mode: support: none facts: support: full platform: platforms: posix notes: - Not all databases support enumeration, check system documentation for details. author: - Brian Coca (@bcoca) aD - 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 a� ansible_facts: description: Facts to add to ansible_facts. returned: always type: dict contains: getent_<database>: 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, previouslly it only returned the last one returned: always type: list N)� AnsibleModule)� to_nativec C sb t ttddd�tddd�tdd�tdd�tddd�d �dd �} g d�}| jd }| j�d �}| j�d�}| j�d�}| j�d�}| �dd�}|d ur�|||g}n||g}|d ur�|�d|g� |d u r�||v r�d}z| �|�\} } }W n< t�y" } z"| jt |�t �� d� W Y d }~n d }~0 0 d} d| }|i i}| dk�ri }| �� D ]�}|� |�}|d |v �r�||d dk�r�|| |d g|| |d <