AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/cloudinit/config/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

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

x[h� �
@s�UdZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZddlmZddlmZddlmZdd	lmZmZdd
lmZddlmZdeegd
gd�Zeed<e�e�Z dZ!Gdd�dej"�Z#Gdd�de#�Z$Gdd�de#�Z%de&dedede'ddf
dd�Z(de)fdd�Z*de)de)fd d!�Z+d"e#de)fd#d$�Z,de)d
e#fd%d&�Z-de)d
e#fd'd(�Z.dS))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@s|eZdZdefdd�Zdeejfdd�Zde	fdd�Z
d	d
�Zdefdd
�Z
dd�Zejdd��Zejde	fdd��ZdS)�AnsiblePull�distrocCs<dg|_ddg|_||_i|_d|_tj�dd�|jd<dS)Nzansible-pullz	--version�HOMEz/root)�cmd_pull�cmd_versionr�env�run_user�os�environ�get)�selfr�r!�=/usr/lib/python3/dist-packages/cloudinit/config/cc_ansible.py�__init__ s
zAnsiblePull.__init__�returncCsH|�|j�\}}|���d�}t�d|�}|r"|�d�}tj�	|�SdS)Nrz	([\d\.]+))
�do_asr�
splitlines�pop�re�search�groupr�Version�from_str)r �stdout�_�
first_line�matches�versionr!r!r"�get_version+s
zAnsiblePull.get_versioncGs|�g|j�|��\}}|S�N)r%r)r �argsr-r.r!r!r"�pull4szAnsiblePull.pullcCs|��std��dS)Nz!command: ansible is not installed)�is_installed�
ValueError�r r!r!r"�
check_deps8s�zAnsiblePull.check_deps�commandcKs0|js|j|fi|��S|jj||jfi|��Sr3)rrrr%�r r:�kwargsr!r!r"r%<szAnsiblePull.do_ascKsDt���tj|fd|ji|��Wd�S1swYdS)N�
update_env)r�
suspend_crashrrr;r!r!r"rAs
$�zAnsiblePull.subpcC�dSr3r!r8r!r!r"r6E�zAnsiblePull.is_installed�pkg_namecCr?r3r!�r rAr!r!r"�installIr@zAnsiblePull.installN)�__name__�
__module__�__qualname__rr#rrr+r2�strr5r9�listr%r�abc�abstractmethodr6rCr!r!r!r"rs	
rcsVeZdZdedeef�fdd�Zdd�Zdd�Zd	efd
d�Z	de
fd
d�Z�ZS)�AnsiblePullPipr�usercst��|�||_|��dSr3)�superr#r�add_pip_install_site_to_path�r rrL��	__class__r!r"r#OszAnsiblePullPip.__init__cCs`|jr.|�tjddg�\}}|�d�}|j�d�}|r'd�||g�|jd<dS||jd<dSdS)Nz-cz&import site; print(site.getuserbase())z/bin/�PATH�:)rr%�sys�
executablerr�join)r �	user_baser.�ansible_path�old_pathr!r!r"rNTs��
�z+AnsiblePullPip.add_pip_install_site_to_pathcCs6zddl}WdSty|j�|jjg�YdSw)Nr)�pip�ImportErrorr�install_packages�pip_package_name)r rZr!r!r"�bootstrap_pip_if_requiredes
�z(AnsiblePullPip.bootstrap_pip_if_requiredrAcCs�|��|��s@tjdddg}tj�tj�t�	d�d��r"|�
d�|jr*|�
d�|�g|�d�d��|�g|�|��d	Sd	S)
zishould cloud-init grow an interface for non-distro package
        managers? this seems reusable
        �-mrZrC�stdlibzEXTERNALLY-MANAGEDz--break-system-packages�--userz	--upgradeN)
r^r6rTrUr�path�existsrV�	sysconfig�get_path�appendrr%)r rA�cmdr!r!r"rCks$�
��

�zAnsiblePullPip.installr$cCs4tjdddg}|jr|�d�|�|�\}}d|vS)Nr_rZrHrar)rTrUrrfr%)r rgr-r.r!r!r"r6�s

zAnsiblePullPip.is_installed)
rDrErFrrrGr#rNr^rC�boolr6�
__classcell__r!r!rPr"rKNsrKcsFeZdZdedeef�fdd�Zdefdd�Zdefd	d
�Z	�Z
S)�AnsiblePullDistrorrLcst��|�||_dSr3)rMr#rrOrPr!r"r#�s
zAnsiblePullDistro.__init__rAcCs|��s
|j�|g�dSdSr3)r6rr\rBr!r!r"rC�s�zAnsiblePullDistro.installr$cCstt�d��S)Nr)rhr�whichr8r!r!r"r6�szAnsiblePullDistro.is_installed)rDrErFrrrGr#rCrhr6rir!r!rPr"rj�srj�name�cfg�cloudr4r$cCs�|�di�}|�d�}|�d�}|�d�}|�d�}|�d�}	|�dd�}
|rlt|�|j}|d	kr8t||�}nt||�}|�|
�|��|�d
d�}
|
rS|
|jt<|rZt	||�|	rct
|t|	��|rnt||�dSdSdS)Nrr�install_method�setup_controller�galaxyr5�package_name�rZr)
r�validate_configrrKrjrCr9r�CFG_OVERRIDE�ansible_galaxy�run_ansible_pullr�ansible_controller)rlrmrnr4�ansible_cfg�ansible_userrorp�
galaxy_cfg�pull_cfgrrrrrr!r!r"�handle�s4








�r}cCs�d}|D]}t||�std|�d|����q|�d�r/dD]}t||�s.td|�d|����q|�d�}|rIt|�d�|�d�g�sItd	|����|d
}|dvrUtd��dS)
N)rorrzMissing required key 'z' from r5)zpull/urlzpull/playbook_namerp�repositories�run_ansiblezMissing required key from ro)rZrz Invalid install method {install})r
r7r�any)rm�
required_keys�key�controller_cfgrCr!r!r"rt�s,
�

�
���rtcCsdd�|��D�S)zremove boolean false valuescSs&i|]\}}|dur|�dd�|�qS)Fr.�-)�replace��.0r��valuer!r!r"�
<dictcomp>�s
�zfilter_args.<locals>.<dictcomp>)�items)rmr!r!r"�filter_args�s�r�r5cCs�|�d�}|��}|st�d�n|t�ddd�kr0|�d�r0td|j�d|j	�d|j
�d	���|jgd
d�t|��
�D��|�R�}|rNtj�|��dSdS)N�
playbook_namezCannot parse ansible version��r�diffzAnsible version �.z%doesn't support --diff flag, exiting.cSs2g|]\}}|durd|�d|��nd|���qS)T�--�=r!r�r!r!r"�
<listcomp>�s ��z$run_ansible_pull.<locals>.<listcomp>)r'r2�LOG�warningrr+rr7�major�minor�patchr5r�r�rTr-�write)r5rmr��vr-r!r!r"rw�s&

�
����rwcCs4|�dg�}|st�d|�|D]}|�|�qdS)N�actionszInvalid config: %s)rr�r�r%)rmrr�r:r!r!r"rv�s�rvcCs�|�dg�D]}|�dd|d|dg�q|�dg�D]"}|�d�}|�d�}d	|gd
d�t|���D��}|j||d�qdS)
Nr~�git�clone�sourcerbr�playbook_dirr�zansible-playbookcSs g|]\}}d|�d|���qS)r�r�r!r�r!r!r"r�s z&ansible_controller.<locals>.<listcomp>)�cwd)rr%r'r�r�)rmr�
repositoryr4r�r�r:r!r!r"rxs�

���rx)/�__doc__rI�loggingrr(rTrd�copyr�typingr�	cloudinitrrr�cloudinit.cloudr�cloudinit.configr�cloudinit.config.schemar	�cloudinit.distrosr
r�cloudinit.settingsr�cloudinit.utilr
r�__annotations__�	getLoggerrDr�ru�ABCrrKrjrGrHr}�dictrtr�rwrvrxr!r!r!r"�<module>s@�
/A
%		

Anon7 - 2022
AnonSec Team