https://t.me/RX1948
Server : nginx/1.24.0
System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
Directory :  /lib/python3/dist-packages/cloudinit/config/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/cloudinit/config/__pycache__/cc_ansible.cpython-312.pyc
�

x[h� �
��UdZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZddlmZddlmZddlmZdd	lmZmZdd
lmZddlmZdeegd
gd�Zeed<ej<e�Z dZ!Gd�dejD�Z#Gd�de#�Z$Gd�de#�Z%de&dedede'ddf
d�Z(de)fd�Z*de)de)fd�Z+de#de)fd �Z,de)d
e#fd!�Z-de)d
e#fd"�Z.y)#z9ansible enables running on first boot either ansible-pull�N)�deepcopy)�Optional)�	lifecycle�signal_handler�subp)�Cloud)�Config)�
MetaSchema)�ALL_DISTROS�Distro)�PER_INSTANCE)�get_cfg_by_path�
cc_ansible�ansible)�id�	frequency�distros�activate_by_schema_keys�meta�ansible_configc��eZdZdefd�Zdeejfd�Zde	fd�Z
d�Zdefd�Z
d	�Zej d
��Zej de	fd��Zy
)�AnsiblePull�distroc��dg|_ddg|_||_i|_d|_t
jjdd�|jd<y)Nzansible-pullz	--version�HOMEz/root)�cmd_pull�cmd_versionr�env�run_user�os�environ�get)�selfrs  �=/usr/lib/python3/dist-packages/cloudinit/config/cc_ansible.py�__init__zAnsiblePull.__init__ sM��'�(��
�*�K�8���������'+��
��:�:�>�>�&�'�:�������returnc��|j|j�\}}|j�jd�}t	j
d|�}|r0|j
d�}tjj|�Sy)Nrz	([\d\.]+))
�do_asr�
splitlines�pop�re�search�groupr�Version�from_str)r#�stdout�_�
first_line�matches�versions      r$�get_versionzAnsiblePull.get_version+sn���J�J�t�/�/�0�	����&�&�(�,�,�Q�/�
��)�)�L�*�5����m�m�A�&�G��$�$�-�-�g�6�6�r&c�J�|jg|j�|��\}}|S�N)r)r)r#�argsr1r2s    r$�pullzAnsiblePull.pull4s(���J�J�6����6��6�7�	����
r&c�:�|j�std��y)Nz!command: ansible is not installed)�is_installed�
ValueError�r#s r$�
check_depszAnsiblePull.check_deps8s��� � �"��@�A�A�#r&�commandc��|js|j|fi|��S|jj||jfi|��Sr8)rrrr)�r#r@�kwargss   r$r)zAnsiblePull.do_as<sA���}�}��4�9�9�W�/��/�/� �t�{�{� � ��$�-�-�B�6�B�Br&c��tj�5tj|fd|ji|��cddd�S#1swYyxYw)N�
update_env)r�
suspend_crashrrrBs   r$rzAnsiblePull.subpAsA��
�
)�
)�
+�	E��9�9�W�D����D�V�D�	E�	E�	E�s�"A�A
c��yr8�r>s r$r<zAnsiblePull.is_installedE���r&�pkg_namec��yr8rH�r#rJs  r$�installzAnsiblePull.installIrIr&N)�__name__�
__module__�__qualname__rr%rrr/r6�strr:r?�listr)r�abc�abstractmethodr<rMrHr&r$rrs���	;�v�	;��X�i�&7�&7�8���S��B�C�T�C�
E�	���
��
�	���
��
��
r&rc�R��eZdZdedeef�fd�Zd�Zd�Zdefd�Z	de
fd	�Z�xZS)
�AnsiblePullPipr�userc�R��t�|�|�||_|j�yr8)�superr%r�add_pip_install_site_to_path�r#rrW�	__class__s   �r$r%zAnsiblePullPip.__init__Os#���
���� ���
��)�)�+r&c��|jrx|jtjddg�\}}|�d�}|jjd�}|r!dj
||g�|jd<y||jd<yy)Nz-cz&import site; print(site.getuserbase())z/bin/�PATH�:)rr)�sys�
executablerr"�join)r#�	user_baser2�ansible_path�old_paths     r$rZz+AnsiblePullPip.add_pip_install_site_to_pathTs���=�=��:�:��N�N��<���L�I�q�(�[��.�L��x�x�|�|�F�+�H��#&�8�8�X�|�,D�#E����� �#/����� �r&c��	ddl}y#t$r3|jj|jjg�YywxYw)Nr)�pip�ImportErrorr�install_packages�pip_package_name)r#rgs  r$�bootstrap_pip_if_requiredz(AnsiblePullPip.bootstrap_pip_if_requiredes;��	I����	I��K�K�(�(�$�+�+�*F�*F�)G�H�	I�s��9A�ArJc���|j�|j�s�tjdddg}tj
j
tj
jtjd�d��r|jd�|jr|jd�|jg|�d�d��|jg|�|��y	y	)
zishould cloud-init grow an interface for non-distro package
        managers? this seems reusable
        �-mrgrM�stdlibzEXTERNALLY-MANAGEDz--break-system-packages�--userz	--upgradeN)
rkr<r`rar �path�existsrb�	sysconfig�get_path�appendrr))r#rJ�cmds   r$rMzAnsiblePullPip.installks���	
�&�&�(�� � �"�������	�C��w�w�~�~�������&�&�x�0�2F���
�
�
�4�5��}�}��
�
�8�$��J�J�1��1�k�1�5�1�2��J�J�'��'�h�'�(�%#r&r'c��tjdddg}|jr|jd�|j	|�\}}d|vS)NrmrgrRror)r`rarrtr))r#rur1r2s    r$r<zAnsiblePullPip.is_installed�sC���~�~�t�U�F�3���=�=��J�J�x� ��J�J�s�O�	����F�"�"r&)
rNrOrPrrrQr%rZrkrM�boolr<�
__classcell__�r\s@r$rVrVNs=���,�v�,�X�c�]�,�
0�"I�)��)�4#�d�#r&rVc�F��eZdZdedeef�fd�Zdefd�Zdefd�Z	�xZ
S)�AnsiblePullDistrorrWc�2��t�|�|�||_yr8)rYr%rr[s   �r$r%zAnsiblePullDistro.__init__�s���
���� ���
r&rJc�^�|j�s|jj|g�yyr8)r<rrirLs  r$rMzAnsiblePullDistro.install�s'��� � �"��K�K�(�(�(��4�#r&r'c�>�ttjd��S)Nr)rwr�whichr>s r$r<zAnsiblePullDistro.is_installed�s���D�J�J�y�)�*�*r&)rNrOrPrrrQr%rMrwr<rxrys@r$r{r{�s2����v��X�c�]��5��5�+�d�+r&r{�name�cfg�cloudr9r'c�^�|jdi�}|jd�}|jd�}|jd�}|jd�}|jd�}	|jdd�}
|r�t|�|j}|d	k(r
t||�}nt	||�}|j|
�|j
�|jd
d�}
|
r|
|jt<|rt||�|	rt|t|	��|r
t||�yyy)Nrr�install_method�setup_controller�galaxyr:�package_name�rgr)
r"�validate_configrrVr{rMr?r�CFG_OVERRIDE�ansible_galaxy�run_ansible_pullr�ansible_controller)r�r�r�r9�ansible_cfg�ansible_userr�r��
galaxy_cfg�pull_cfgr�rrrs              r$�handler��s�����	�2�.�K��?�?�:�.�L� �_�_�%5�6�N�"���'9�:������*�J����v�&�H��?�?�>�2�6�L����$������U�"�$�V�\�:�G�'���=�G�����%�����$���)9�2�>���(6�G�K�K��%���:�w�/���W�h�x�&8�9���/��9��-r&c�z�d}|D]}t||�r�td|�d|����|jd�r$dD]}t||�r�td|�d|����|jd�}|r9t|jd�|jd�g�std	|����|d
}|dvrtd��y)
N)r�r�zMissing required key 'z' from r:)zpull/urlzpull/playbook_namer��repositories�run_ansiblezMissing required key from r�)rgrz Invalid install method {install})rr=r"�any)r��
required_keys�key�controller_cfgrMs     r$r�r��s����M��I���s�C�(��5�c�U�'�#��G�H�H�I��w�w�v��3�	M�C�"�3��,� �#9�#��g�c�U�!K�L�L�	M��W�W�/�0�N����"�"�>�2��"�"�=�1�
�
��9�.�9I�J�K�K��"�#�G��'�'��;�<�<�(r&c�~�|j�D��cic]\}}|dur|jdd�|��c}}Scc}}w)zremove boolean false valuesFr2�-)�items�replace)r�r��values   r$�filter_argsr��sF�� �I�I�K���S�%����	���C���u�$����s�!9r:c��|jd�}|j�}|stjd�n^|t	j
ddd�krD|j
d�r3td|j�d|j�d|j�d	���|jgt|�j�D��cgc]\}}|d
urd|�d|��nd|����c}}�|���}|r!tjj!|��yycc}}w)
N�
playbook_namezCannot parse ansible version��r�diffzAnsible version �.z%doesn't support --diff flag, exiting.T�--�=)r+r6�LOG�warningrr/r"r=�major�minor�patchr:r�r�r`r1�write)r:r�r��vr�r�r1s       r$r�r��s������1�M�����A�����2�3�	
�Y�
�
�q�!�Q�
'�	'��7�7�6�?��"�1�7�7�)�1�Q�W�W�I�Q�q�w�w�i�7�8��
��T�Y�Y��*�#�.�4�4�6�

���U�#(�t�"3�b���Q�u�g��2�c�U��C�

��
	��F���
�
���F�8�%���


s�D	c��|jdg�}|stjd|�|D]}|j|��y)N�actionszInvalid config: %s)r"r�r�r))r�rr�r@s    r$r�r��s?���g�g�i��$�G�����(�#�.�����
�
�g��r&c
�x�|jdg�D]}|jdd|d|dg��|jdg�D]m}|jd�}|jd�}d	|gt|�j	�D��cgc]
\}}d
|�d|����c}}�}|j||���oycc}}w)
Nr��git�clone�sourcerpr��playbook_dirr�zansible-playbookr�r�)�cwd)r"r)r+r�r�)	r�r�
repositoryr9r�r�r�r�r@s	         r$r�r�s����g�g�n�b�1�
�
��
�
�
�G�Z��1�:�f�3E�F�	
�
����
�r�*�1���x�x��/������1�
���
�4?�t�3D�3J�3J�3L�
M�Z�S�%��3�%�q��� �
M�
��
	�
�
�g�<�
�0�1��Ns�	B6
)/�__doc__rS�loggingr r,r`rr�copyr�typingr�	cloudinitrrr�cloudinit.cloudr�cloudinit.configr	�cloudinit.config.schemar
�cloudinit.distrosrr�cloudinit.settingsr
�cloudinit.utilrr�__annotations__�	getLoggerrNr�r��ABCrrVr{rQrRr��dictr�r�r�r�r�rHr&r$�<module>r�s��?�
��	�	�
����5�5�!�#�.�1�+�*����}� )�{�	��j���g����!����,
�#�'�'�,
�^>#�[�>#�B
+��
+�":��":�6�":�%�":�t�":��":�J=��=�8�T��d��&�;�&�T�&�0���{��
1�D�
1�;�
1r&

https://t.me/RX1948 - 2025