__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

x[h~"���SSKrSSKJrJrJrJrJrJr SSKJ	r	 \R"\5rSr
SrSrSrSrS	r"S
S\R&5r\\R*\R,44/rSr\
\\\\4S
jr\
\\\\4Sjr\S:Xa�SSKr\R8"SS9r\R=SSS\
S9 \R=SSS\S9 \R=SS\S\S9 \R=SS\S\S9 \R=SS \S!\S9 \RA5r!\"\!RD\!RF\!RH\!RJ\!RLS"9r'\("\RR"\'55 gg)#�N)�
atomic_helper�dmi�helpers�sources�
url_helper�util)�ec2zhttp://169.254.169.254z1.0i��
��Exoscalec�^^�\rSrSrSrSrU4SjrSrSrSr	Sr
S	r\S
5r
SrU=r$)�DataSourceExoscale�r�xc��>�[[U]XU5 [R	S5 UR
R
S[5UlUR
R
S[5Ul
[UR
R
S[55Ul
UR
R
S[5UlUR
R
S[ 5Ul0Ulg)Nz$Initializing the Exoscale datasource�metadata_url�api_version�password_server_port�timeout�retries)�superr�__init__�LOG�debug�ds_cfg�get�METADATA_URLr�API_VERSIONr�int�PASSWORD_SERVER_PORTr�URL_TIMEOUT�url_timeout�URL_RETRIES�url_retries�extra_config)�self�sys_cfg�distro�paths�	__class__s    ��F/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceExoscale.pyr�DataSourceExoscale.__init__s����
� �$�0��%�H��	�	�8�9� �K�K�O�O�N�L�I����;�;�?�?�=�+�F���$'��K�K�O�O�2�4H�I�%
��!� �;�;�?�?�9�k�B����;�;�?�?�9�k�B������c���SnURRS5n[R"U5nUR	SU-S5(a[
R
S5 gg)z<Adjust set_passwords module to run 'always' during each boot�
set_passwords�sem�config_Nz5Overriding module set_passwords with frequency always)r)�
get_ipath_curr�FileSemaphores�clearrr)r&�cfg�is_new_instance�mod�sem_path�
sem_helpers      r+�activate�DataSourceExoscale.activate*sV�����:�:�+�+�E�2���+�+�H�5�
����I��O�T�2�2��I�I�M�N�3r-c���SRURUR5n[R"U/UR
UR[RS9up#[U5$)z.Wait for the metadata service to be reachable.z{}/{}/meta-data/instance-id)�urls�max_waitr�	status_cb)
�formatrrr�wait_for_url�url_max_waitr"r�critical�bool)r&r�url�	_responses    r+�wait_for_metadata_service�,DataSourceExoscale.wait_for_metadata_service9sc��5�;�;����t�/�/�
��$�0�0����&�&��$�$��l�l�	
����C�y�r-c���UR5nU(d[RS5 0$[URUR
URURUR5$)z_
Crawl the metadata service when available.

@returns: Dictionary of crawled metadata content.
z,Unable to get response from metadata service)	rGr�error�
read_metadatarrrr"r$)r&�metadata_readys  r+�crawl_metadata�!DataSourceExoscale.crawl_metadataIsa���7�7�9����I�I�D�E��I���������%�%�������
�	
r-c���UR5nU(dgUSUlUSUlURS5n0nU(aSUSS0S.n[R
"URU/5Ulg)z�Fetch the user data, the metadata and the VM password
from the metadata service.

Please refer to the datasource documentation for details on how the
metadata server and password server are crawled.
F�	user-data�	meta-data�passwordT�expire)�
ssh_pwauthrR�chpasswd)rM�userdata_raw�metadatarr�
mergemanydictr%)r&�datarR�password_configs    r+�	_get_data�DataSourceExoscale._get_data]s����"�"�$���� ��-����[�)��
��8�8�J�'�����#�$��e���O�!�.�.�
�
�
��0�
���r-c��UR$�N)r%)r&s r+�get_config_obj�!DataSourceExoscale.get_config_obj�s��� � � r-c�T�[R"S5R[5$)Nzsystem-product-name)r�
read_dmi_data�
startswith�EXOSCALE_DMI_NAME�r-r+�	ds_detect�DataSourceExoscale.ds_detect�s$��� � �!6�7�B�B��
�	
r-)rr%rWrrr$r"rV)�__name__�
__module__�__qualname__�__firstlineno__�dsnamerBrr:rGrMr[r_�staticmethodrf�__static_attributes__�
__classcell__)r*s@r+rrsA���
�F��L��
O�� 
�(%�N!��
��
r-rc�8�[R"U[5$r^)r�list_from_depends�datasources)�dependss r+�get_datasource_listrt�s���$�$�W�k�:�:r-c���SRXU5n[R"USSS0UUS9nURR	S5nUS;ag[R"USSS0UUS9 U$)	z�Obtain the VM's password if set.

Once fetched the password is marked saved. Future calls to this method may
return empty string or 'saved_password'.z	{}:{}/{}/N�DomU_Request�send_my_password)�ssl_details�headersrrzutf-8)��saved_passwordr{)r@r�read_file_or_url�contents�decode)rrrr"r$�password_url�responserRs        r+�get_passwordr��s����%�%��K��L��*�*����!3�4����H�� � �'�'��0�H��)�)��������!1�2�����Or-c�l�0nXS'[R"XX4S9US'[R"XX4S9US'[UUUUUS9US'U$![a(n[R
"[SX5 0sSnA$SnAff=f![a)n[R
"[S	UUU5 SnAU$SnAff=f)
z8Query the metadata server and return the retrieved data.�_metadata_api_version)rrrPrQz(failed reading from metadata url %s (%s)N)rrrr$r"rRz2failed to read from password server url %s:%s (%s))r	�get_instance_userdata�get_instance_metadata�	Exceptionr�logexcrr�)rrrr"r$�crawled_metadata�es       r+rKrK�s�����0;�,�-��(+�(A�(A��{�)
���%�),�(A�(A��{�)
���%�
�'3�#�%�!5�#�#�(
���$� ���/������;�\�	
��	��	���
�����@�� �
�	
�	
����
�s4�0A�B�
A=�A8�2A=�8A=�
B3�
B.�.B3�__main__zQuery Exoscale Metadata)�descriptionz
--endpoint�URLz The url of the metadata service.)�metavar�help�defaultz	--version�VERSIONz.The version of the metadata endpoint to query.z	--retries�NUMz,The number of retries querying the endpoint.)r��typer�r�z	--timeoutz.The time in seconds to wait before timing out.z--password-port�PORTz/The port on which the password endpoint listens)rrrr"r$)*�logging�	cloudinitrrrrrr�cloudinit.sources.helpersr	�	getLoggerrhrrrr r!r#rd�
DataSourcer�DEP_FILESYSTEM�DEP_NETWORKrrrtr�rK�argparse�ArgumentParser�parser�add_argumentr�
parse_args�args�endpoint�version�
password_portrrrY�print�
json_dumpsrer-r+�<module>r�s����L�L�)�
����!��'������������t
��+�+�t
�r�'�0�0�'�2E�2E�F�G���;�
��-���#�N��-���(�V�z���
�
$�
$�1J�
K�F�
�����
/��	�������
=��	�������
�
;���������
�
=���������
�
>�$�������D���]�]��L�L�!�/�/��L�L��L�L��D�
�-�
"�
"�4�
(�)�ar-

Filemanager

Name Type Size Permission Actions
DataSourceAkamai.cpython-313.pyc File 12.33 KB 0644
DataSourceAliYun.cpython-313.pyc File 18.33 KB 0644
DataSourceAltCloud.cpython-313.pyc File 9.85 KB 0644
DataSourceAzure.cpython-313.pyc File 79.75 KB 0644
DataSourceBigstep.cpython-313.pyc File 2.86 KB 0644
DataSourceCloudCIX.cpython-313.pyc File 7.22 KB 0644
DataSourceCloudSigma.cpython-313.pyc File 5.18 KB 0644
DataSourceCloudStack.cpython-313.pyc File 13.11 KB 0644
DataSourceConfigDrive.cpython-313.pyc File 14.2 KB 0644
DataSourceDigitalOcean.cpython-313.pyc File 6.2 KB 0644
DataSourceEc2.cpython-313.pyc File 43.31 KB 0644
DataSourceExoscale.cpython-313.pyc File 8.9 KB 0644
DataSourceGCE.cpython-313.pyc File 16.12 KB 0644
DataSourceHetzner.cpython-313.pyc File 6.46 KB 0644
DataSourceIBMCloud.cpython-313.pyc File 18.43 KB 0644
DataSourceLXD.cpython-313.pyc File 20.3 KB 0644
DataSourceMAAS.cpython-313.pyc File 18.29 KB 0644
DataSourceNWCS.cpython-313.pyc File 6.76 KB 0644
DataSourceNoCloud.cpython-313.pyc File 17.26 KB 0644
DataSourceNone.cpython-313.pyc File 1.88 KB 0644
DataSourceOVF.cpython-313.pyc File 15.34 KB 0644
DataSourceOpenNebula.cpython-313.pyc File 18.96 KB 0644
DataSourceOpenStack.cpython-313.pyc File 13.1 KB 0644
DataSourceOracle.cpython-313.pyc File 21.77 KB 0644
DataSourceRbxCloud.cpython-313.pyc File 10.25 KB 0644
DataSourceScaleway.cpython-313.pyc File 17.07 KB 0644
DataSourceSmartOS.cpython-313.pyc File 38.32 KB 0644
DataSourceUpCloud.cpython-313.pyc File 7.11 KB 0644
DataSourceVMware.cpython-313.pyc File 35.8 KB 0644
DataSourceVultr.cpython-313.pyc File 5.79 KB 0644
DataSourceWSL.cpython-313.pyc File 15.48 KB 0644
__init__.cpython-313.pyc File 47.24 KB 0644
Filemanager