관리-도구
편집 파일: slurp.cpython-39.opt-1.pyc
a �)g� � @ sn d dl mZmZmZ eZdZdZdZd dl Z d dl Z d dlZd dlm Z d dlmZ dd � Zed krje� dS )� )�absolute_import�division�print_functiona� --- module: slurp version_added: historical short_description: Slurps a file from remote nodes description: - This module works like M(ansible.builtin.fetch). It is used for fetching a base64- encoded blob containing the data in a remote file. - This module is also supported for Windows targets. options: src: description: - The file on the remote system to fetch. This I(must) be a file, not a directory. type: path required: true aliases: [ path ] extends_documentation_fragment: - action_common_attributes attributes: check_mode: support: full diff_mode: support: none platform: platforms: posix, windows notes: - This module returns an 'in memory' base64 encoded version of the file, take into account that this will require at least twice the RAM as the original file size. seealso: - module: ansible.builtin.fetch author: - Ansible Core Team - Michael DeHaan (@mpdehaan) a! - name: Find out what the remote machine's mounts are ansible.builtin.slurp: src: /proc/mounts register: mounts - name: Print returned information ansible.builtin.debug: msg: "{{ mounts['content'] | b64decode }}" # From the commandline, find the pid of the remote machine's sshd # $ ansible host -m ansible.builtin.slurp -a 'src=/var/run/sshd.pid' # host | SUCCESS => { # "changed": false, # "content": "MjE3OQo=", # "encoding": "base64", # "source": "/var/run/sshd.pid" # } # $ echo MjE3OQo= | base64 -d # 2179 aW content: description: Encoded file content returned: success type: str sample: "MjE3OQo=" encoding: description: Type of encoding used for file returned: success type: str sample: "base64" source: description: Actual path of file slurped returned: success type: str sample: "/var/run/sshd.pid" N)� AnsibleModule)� to_nativec C s t ttdddgd�d�dd�} | jd }z6t|d��}|�� }W d � n1 sR0 Y W n� ttfy� } zh|jtjkr�d| }n<|jtj kr�d | }n&|jtj kr�d | }ndt|dd � }| �|� W Y d }~n d }~0 0 t �|�}| j||dd� d S )N�pathT)�type�required�aliases)�src)Z argument_specZsupports_check_moder �rbzfile not found: %szfile is not readable: %sz,source is a directory and must be a file: %szunable to slurp file: %sZsurrogate_then_replace)�errors�base64)Zcontent�source�encoding)r �dict�params�open�read�IOError�OSError�errno�ENOENTZEACCESZEISDIRr Z fail_jsonr Z b64encodeZ exit_json)�moduler Z source_fhZsource_content�e�msg�data� r �9/usr/lib/python3.9/site-packages/ansible/modules/slurp.py�main] s* �� * r �__main__)Z __future__r r r r Z __metaclass__Z DOCUMENTATIONZEXAMPLESZRETURNr r �osZansible.module_utils.basicr Z+ansible.module_utils.common.text.convertersr r �__name__r r r r �<module> s #