Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3.11/site-packages/ansible/modules/__pycache__/ |
Upload File : |
� ���c# � � � d dl mZmZmZ eZdZdZdZd dl Z d dl Z d dlZd dlZd dl mZ d dlmZmZ d dlmZ dd �Zdd�Zd� Zed k r e� � dS dS )� )�absolute_import�division�print_functiona\ --- module: assemble short_description: Assemble configuration files from fragments description: - Assembles a configuration file from fragments. - Often a particular program will take a single configuration file and does not support a C(conf.d) style structure where it is easy to build up the configuration from multiple sources. C(assemble) will take a directory of files that can be local or have already been transferred to the system, and concatenate them together to produce a destination file. - Files are assembled in string sorting order. - Puppet calls this idea I(fragments). version_added: '0.5' options: src: description: - An already existing directory full of source files. type: path required: true dest: description: - A file to create using the concatenation of all of the source files. type: path required: true backup: description: - Create a backup file (if C(true)), including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly. type: bool default: no delimiter: description: - A delimiter to separate the file contents. type: str version_added: '1.4' remote_src: description: - If C(false), it will search for src at originating/master machine. - If C(true), it will go to the remote/target machine for the src. type: bool default: yes version_added: '1.4' regexp: description: - Assemble files only if C(regex) matches the filename. - If not set, all files are assembled. - Every C(\) (backslash) must be escaped as C(\\) to comply to YAML syntax. - Uses L(Python regular expressions,https://docs.python.org/3/library/re.html). type: str ignore_hidden: description: - A boolean that controls if files that start with a '.' will be included or not. type: bool default: no version_added: '2.0' validate: description: - The validation command to run before copying into place. - The path to the file to validate is passed in via '%s' which must be present as in the sshd example below. - The command is passed securely so shell features like expansion and pipes won't work. type: str version_added: '2.0' attributes: action: support: full async: support: none bypass_host_loop: support: none check_mode: support: none diff_mode: support: full platform: platforms: posix safe_file_operations: support: full vault: support: full version_added: '2.2' seealso: - module: ansible.builtin.copy - module: ansible.builtin.template - module: ansible.windows.win_copy author: - Stephen Fromm (@sfromm) extends_documentation_fragment: - action_common_attributes - action_common_attributes.flow - action_common_attributes.files - decrypt - files a( - name: Assemble from fragments from a directory ansible.builtin.assemble: src: /etc/someapp/fragments dest: /etc/someapp/someapp.conf - name: Insert the provided delimiter between fragments ansible.builtin.assemble: src: /etc/someapp/fragments dest: /etc/someapp/someapp.conf delimiter: '### START FRAGMENT ###' - name: Assemble a new "sshd_config" file into place, after passing validation with sshd ansible.builtin.assemble: src: /etc/ssh/conf.d/ dest: /etc/ssh/sshd_config validate: /usr/sbin/sshd -t -f %s �#N)� AnsibleModule)�b� indexbytes)� to_nativeFc � � t j |�� � \ }}t j |d� � }d}d} t t j | � � � � D �]�} |r|� | � � s�t j � | | � � }t j � |� � r4|r3t j � |� � � d� � r��t |d� � 5 }|� � � } ddd� � n# 1 swxY w Y | r"|� t d� � � � |rg|ret! j |� � d }|� |� � t% |d � � d k r"|� t d� � � � |� | � � d}| � t d� � � � rd} ���d} ���|� � � |S )z/ assemble a file from a directory of fragments )�dir�wbF�.�rbN� r ���� T)�tempfile�mkstemp�os�fdopen�sorted�listdir�search�path�join�isfile�basename� startswith�open�read�writer �codecs� escape_decoder �endswith�close)�src_path� delimiter�compiled_regexp� ignore_hidden�tmpdir�tmpfd� temp_path�tmp� delimit_me�add_newline�f�fragment�fragment_fh�fragment_contents �=/usr/lib/python3.11/site-packages/ansible/modules/assemble.py�assemble_from_fragmentsr5 � s$ � ��'�F�3�3�3��E�9� �)�E�4� � �C��J��K� �B�J�x�(�(� )� )� !� !��� �?�#9�#9�!�#<�#<� ���7�<�<��!�,�,���w�~�~�h�'�'� �M� �b�g�>N�>N�x�>X�>X�>c�>c�dg�>h�>h� �� �(�D� !� !� 2�[�*�/�/�1�1�� 2� 2� 2� 2� 2� 2� 2� 2� 2� 2� 2���� 2� 2� 2� 2� � ��I�I�a��g�g���� � '�� '�"�0��;�;�A�>� �� � �)�$�$�$� �i��,�,��2�2��I�I�a��g�g�&�&�&�� � �"�#�#�#�� ��$�$�Q�t�W�W�-�-� ��K�K��K�K��I�I�K�K�K��s �2D�D �D c �� � t j � | � � rW t j | � � d S # t t f$ r,}|�d| �dt |� � ��g|d<