__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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];���SSKrSSKrSSKrSSKrSSKJrJrJr SSKJ	r	 SSK
Jr \R"\
5rSr/SQr"SS\R"5r"S	S
\5rSrSrS
rSS\SS4SjrSr"SS\5r"SS\5r\\R844\\R8\R:44/rSr\
S:XaSr \ "5 gg)�N)�sources�
url_helper�util)�KlibcNetworkConfigSource)�NetworkConfigSourcez
2012-03-01))�meta-data/instance-idrFF)�meta-data/local-hostnamer	FF)�meta-data/public-keysr
FT)zmeta-data/vendor-data�vendor-dataTT)�	user-datarTTc�f�\rSrSrSrSrSrSrSrSr	Sr
\S5rS	r
S
rSrSrS
rSrSrg)�DataSourceMAAS�z�
DataSourceMAAS reads instance information from MAAS.
Given a config metadata_url, and oauth tokens, it expects to find
files under the root named:
  instance-id
  user-data
  hostname
  vendor-data
�MAASN�x�2c���[RRXX#5 SUl[R
R
URS5Ul[UR5Ul
g)N�maas)r�
DataSource�__init__�base_url�os�path�join�seed_dir�get_id_from_ds_cfg�ds_cfg�id_hash)�self�sys_cfg�distro�pathss    �B/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceMAAS.pyr�DataSourceMAAS.__init__2sI�����#�#�D�6�A���
������U�^�^�V�<��
�)�$�+�+�6���c�p�UR(d[UR5UlUR$�N)�
_oauth_helper�get_oauth_helperr�rs r#�oauth_helper�DataSourceMAAS.oauth_helper8s(���!�!�!1�$�+�+�!>�D���!�!�!r%c�h�[RRU5nU<SUR<S3$)Nz [�])rr�__str__r)r�roots  r#r/�DataSourceMAAS.__str__>s'���!�!�)�)�$�/�� �$�-�-�0�0r%c
�,�URnURUR[UR55 g![a O3[
a'n[RSURU5 eSnAff=fURSS5nU(dgURU5(dgURU[UURRURSS95 g![a [R "[SU5 gf=f)NTz%s was malformed: %s�metadata_urlF�)�read_file_or_urlr"�retriesz$Failed fetching metadata from url %s)r�	_set_datar�read_maas_seed_dir�MAASSeedDirNone�MAASSeedDirMalformed�LOG�warning�get�wait_for_metadata_service�read_maas_seed_urlr+�readurlr"�	Exceptionr�logexc)r�mcfg�exc�urls    r#�	_get_data�DataSourceMAAS._get_dataBs����{�{��	��N�N�4�=�=�*<�T�]�]�*K�L����	��#�	��K�K�.��
�
�s�C���	��
�h�h�~�t�,����	�
�1�1�#�6�6���N�N��"��%)�%6�%6�%>�%>��*�*��	�
����	��K�K��C�S�I��	�s3�/>�
A:�
	A:�"A5�5A:�C*�/:C*�*&D�Dc���XlUup4nX0lX@lU(a[R"U5Ulgg![a'n[RSU5 SUlSnAgSnAff=f)Nz"Invalid content in vendor-data: %s)	r�userdata_raw�metadatar�convert_vendordata�vendordata_raw�
ValueErrorr;r<)rrE�data�ud�md�vd�es       r#r7�DataSourceMAAS._set_dataisg���
��
������
�
�
+�&-�&@�&@��&D��#����
+����@�!�D�&*��#�#��
+�s�=�
A.�A)�)A.c� �SUR-$)z/Return the subplatform metadata source details.z
seed-dir (%s))rr*s r#�_get_subplatform�DataSourceMAAS._get_subplatformvs������.�.r%c���UR5nURS:Xag[R"5nUR	S5nU<S[
<S3nU/nURRUURURS9upU(a[RSU5 O6[RSU[[R"5U-
55 [U5$)NrF�/z/meta-data/instance-id)�urls�max_wait�timeoutzUsing metadata source: '%s'z(Giving up on md from %s after %i seconds)�get_url_params�max_wait_seconds�time�	monotonic�rstrip�
MD_VERSIONr+�wait_for_url�timeout_secondsr;�debug�critical�int�bool)rrE�
url_params�	starttime�	check_urlrY�	_responses       r#r>�(DataSourceMAAS.wait_for_metadata_servicezs����(�(�*�
��&�&�!�+���N�N�$�	��j�j��o��58�*�E�	��{���*�*�7�7���0�0��.�.�8�
�����I�I�3�S�9��L�L�:���D�N�N�$�y�0�1�
��C�y�r%c��URcg[R"USUR405nUR[	U5:H$)z�locally check if the current system is the same instance.

MAAS doesn't provide a real instance-id, and if it did, it is
still only available over the network.  We need to check based
only on local resources.  So compute a hash based on Oauth tokens.F�
datasource)rr�get_cfg_by_path�dsnamer)rr �ncfgs   r#�check_instance_id� DataSourceMAAS.check_instance_id�sC���<�<����#�#�G�l�D�K�K�-H�"�M���|�|�1�$�7�7�7r%)r(rrrJrrIrL)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rprr(�url_max_wait�url_timeoutr�propertyr+r/rFr7rUr>rr�__static_attributes__�r%r#rrs\����F��G��M��L��K�7��"��"�
1�%�N+�/��4	8r%rc�^�\rSrSr\R
\R\R\R4r	U4Sjr
SrU=r$)�DataSourceMAASLocal�c�>�[5R5(d[RS5 g[RS5 [TU]5$)NzNo initramfs applicable configFz!Found initramfs applicable config)r�
is_applicabler;rd�superrF)r�	__class__s �r#rF�DataSourceMAASLocal._get_data�sB���'�)�7�7�9�9�
�I�I�6�7���	�	�5�6��w� �"�"r%r})
rtrurvrwr�CMD_LINE�
SYSTEM_CFG�DS�	INITRAMFS�network_config_sourcesrFr|�
__classcell__)r�s@r#rr�s9����$�$��&�&�����%�%�	��#�#r%rc	��Sn[UVs/sHo"URU54PM sn5n[R"S0UD6$s snf)z�Return an oauth helper instance for values in cfg.

@raises ValueError from OauthUrlHelper if some required fields have
true-ish values but others do not.)�consumer_key�consumer_secret�	token_key�token_secretr})�dictr=r�OauthUrlHelper)�cfg�keys�r�kwargss    r#r)r)�sF��
L�D�
�D�1�D�q�s�w�w�q�z�?�D�1�
2�F��$�$�.�v�.�.��2s�Ac	���SnSRUVs/sHo RUS5PM sn5nS[R"UR	S55R5-$s snf)z;Given a config, generate a unique identifier for this node.)r�r�r���zv1:zutf-8)rr=�hashlib�sha256�encode�	hexdigest)r�fields�f�idstrs    r#rr�sZ��
:�F��I�I�&�9�&�Q�z�z�!�R�(�&�9�:�E��7�>�>�%�,�,�w�"7�8�B�B�D�D�D��:s�A*c���URS5(aUSSn[RRU5(a[R"U5(d[S5e[
SU-SS9$)N�file://�z%s: not a directoryz	file://%s)�version)�
startswithrr�isdir�listdirr9r?)�seed_ds r#r8r8�s_��
����#�#������
�7�7�=�=�� � ��
�
�6�(:�(:��3�4�4��k�F�2�D�A�Ar%c��Uc[RnURS5(aUSSn0n[H�upxp�Uc
U<SU<3nO
U<SU<SU<3n[R
"U5nU"X�X,S9n
U
R
5(a;U	(aU
RXg'Mj[R"U
R5Xg'M�[RSUU
R5 M� [X`5$![RaInURS:XaU
(d[SU<SU<35UeURS:waUeSnAGMSnAff=f)	aw
Read the maas datasource at seed_url.
  read_file_or_url is a method that should provide an interface
  like util.read_file_or_url

Expected format of seed_url is are the following files:
  * <seed_url>/<version>/meta-data/instance-id
  * <seed_url>/<version>/meta-data/local-hostname
  * <seed_url>/<version>/user-data
If version is None, then <version>/ will not be used.
NrX���)r6r[�ssl_detailsz4Fetching from %s resulted in an invalid http code %si�zMissing required z: )rr5�endswith�	DS_FIELDSr�fetch_ssl_details�ok�contents�
decode_binaryr;r<�code�UrlErrorr:�check_seed_contents)�seed_urlr5r[r�r"r6rPr�	_dictname�binary�optionalrEr��resprRs               r#r?r?�s0��&��%�6�6���������C�R�=��	�B�-6�)����?�%�t�,�C� (�'�4�8�C�	��0�0��7�K�#��g��D��w�w�y�y��#�}�}�B�H�#�1�1�$�-�-�@�B�H����J���I�I��!.7�:�r�,�,���"�"�	��v�v��}�X�*�15�q�9�������3������	�s%�AC5�!"C5�!C5�5E�	=E
�
Ec�&�0n/n[HYupEpgX@;aU(dURU5 M%SU;a(URS5up�n
X�;a0X('XX(U
'MSXX%'M[ U(d[SU-5eU(a[	U<SU<35eSnURS5(aB[
5n[R"URS5U[S9nX�La[	S5eURS5URS	5U4$)
z�Validate if dictionary content valid as a return for a datasource.
Either return a (userdata, metadata, vendordata) tuple or
Raise MAASSeedDirMalformed or MAASSeedDirNone
rXz%s: no data files foundz: missing files Nr)�default�allowedz%vendor-data was not loadable as yaml.r�	meta-data)	r��append�	partitionr9r:r=�objectr�	load_yaml)
�content�seed�ret�missing�spath�dpath�_binaryr��top�_�p�vd_data�errs
             r#r�r�	s��

�C��G�+4�'��g�������u�%���%�<�����,�I�C�A��~����!�.�C�H�Q�K� ��C�J�,5���7�$�>�?�?��"�T�7�#K�L�L��G�
�w�w�}����h���.�.��G�G�M�"�C�&�
���>�&�'N�O�O��7�7�;������!5�w�>�>r%c��\rSrSrSrg)r9i0r}N�rtrurvrwr|r}r%r#r9r90���r%r9c��\rSrSrSrg)r:i4r}Nr�r}r%r#r:r:4r�r%r:c�8�[R"U[5$r')r�list_from_depends�datasources)�dependss r#�get_datasource_listr�@s���$�$�W�k�:�:r%�__main__c�,^^^^�SSKnSSKnSSKnURSS9nUR	SSSSS9 UR	S	S
SSS9 UR	SS
S
SS9 UR	SSSSS9 UR	SSSSS9 UR	SSS[
S9 UR
SSS9nSH&upVURXVS9nUR	SSSSS9 M( UR5nURURURURS .n	URc�S!H�n
S"U
-S#-n[RR!U5(dM1[R""U[R$5(dM]UR&R)S$U-5 X�l
M� UR(av[*R,"UR5nS%U;aUS%S&nU	R/5Hn
X�;dM
X�bMX�X�'M UR0cS'U;a
US'UlUR0c,UR&R)S(5 UR3S)5 [5U	5mU4S*jmU4S+jmUUU4S,jmUR6S-:XGaUR&R)S.UR0-5 TR8nUR0SS/:Xd UR0R;S05(a[=UR05unnnO$[?UR0UR@US1S29unnn[CS35 [CUcS4OURE55 [CS55 URU5 [CS65 URUcS4OU5 gUR6S7:XaT"UR05 gUR6S8:XaGUR0RGS/5(dS9UR0-UlT"UR05 gg):z�
Call with single argument of directory or http or https url.
If url is given additional arguments are allowed, which will be
interpreted as consumer_key, token_key, token_secret, consumer_secret
rNzInteract with MAAS DS)�descriptionz--config�filezspecify DS config file)�metavar�helpr�z--ckey�keyzthe consumer key to auth withz--tkeyzthe token key to auth withz--csec�secretzthe consumer secret (likely '')r�z--tseczthe token secret to auth withz--apiverr�z the apiver to use ( can be used)�subcommands�subcmd)�title�dest))�crawlzcrawl the datasource)r=zdo a single GET of provided url)�
check-seedzread and verify seed at url)r�rEzthe datasource url�?)r��nargsr�)r�r�r�r�)�91_kernel_cmdline_url�90_dpkg_maasz/etc/cloud/cloud.cfg.d/z.cfgzUsed config in %s.
rnrr3z)Must provide a url or a config with url.
r4c�8>�TRUSS9R$)Nr4)r6)r@r�)rEr+s �r#�geturl�main.<locals>.geturl�s����'�'��Q�'�7�@�@�@r%c�V>�[SU<ST"U5R5<S35 g)Nz== z ==
�
)�print�decode)rEr�s �r#�printurl�main.<locals>.printurl�s����c�6�#�;�+=�+=�+?�@�Ar%c�.>�URS5(avT"U5R5R5HMnURS5(aT"U<U<35 M)US:XaT"U<S<35 M?T"U<U<35 MO gT"U5 g)NrXr�z
meta-data/)r�r��
splitlines)rE�liner�r�r�s  ���r#r��main.<locals>.crawl�sy����|�|�C� � �"�3�K�.�.�0�;�;�=�D��}�}�S�)�)���T�2�3���,���\�:�;� �3��!5�6�>���
r%r�zChecking seed at %s
rXr��)r�r5r6z=== user-data ===zN/Az=== meta-data ===z=== vendor-data ===r=r�z%s/)$�argparse�pprint�sys�ArgumentParser�add_argumentra�add_subparsers�
add_parser�
parse_args�ckey�tkey�tsec�csec�configrr�exists�access�R_OK�stderr�writer�	read_confr�rE�exitr)r�r@r�r8r?�apiverr�r�r�)r�r�r��parser�subcmds�namer�r��args�creds�fname�fpathr�r�r@�userdatarJrQr�r�r+r�s                  @@@@r#�mainrFs����	����(�(�5L�(�M�������)��		�	
�	�����0��		�	
�	�����-��		�	
�	�����2��		�	
�	�����0��		�	
�	�����3��		�	
��'�'�m�(�'�K��
�J�D�
�"�"�4�"�3�A�
�N�N��0��T�
�
�

�� � �"��!�I�I���� �I�I�#�y�y�	
���;�;��B��1�E�9�F�B���7�7�>�>�%�(�(�R�Y�Y�u�b�g�g�-F�-F��J�J�$�$�%;�e�%C�D�"'�K�	C��;�;��.�.����-�C��s�"��,�'��/���z�z�|���:�%�*�"4�!$��E�J�$��x�x��N�c�$9��~�.����8�8���J�J���I�J��H�H�Q�K�'��.��	A�	B�	��;�;�,�&��J�J���4�t�x�x�?�@�"�*�*�G��x�x��{�c�!�T�X�X�%8�%8��%C�%C�+=�d�h�h�+G�(��8�R�+=��H�H� �K�K�%,��	,�(��8�R�
�%�&��8�+�%����1B�C��%�&��M�M�(�#��'�(��M�M�2�:�%�2�6�
�[�[�E�
!��T�X�X��
�[�[�G�
#��8�8�$�$�S�)�)� �4�8�8�+����$�(�(�O�$r%)!r��loggingrr^�	cloudinitrrr�cloudinit.net.cmdliner�cloudinit.sourcesr�	getLoggerrtr;rar�rrrr)rr8r?r�rAr9r:�DEP_FILESYSTEM�DEP_NETWORKr�r�rr}r%r#�<module>rs�����	��/�/�:�1�
����!��
�
�
�	�~8�W�'�'�~8�B#�.�#�$/�E�B����
��
7-�t$?�N	�i�	�	�9�	��7�1�1�3�4��g�,�,�g�.A�.A�B�C���;��z��H�T	�F�Yr%

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