__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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�2�	��SSKrSSKrSSKrSSKJr SSKJr SSKJ	r	 SSK
JrJrJ
r
Jr SSKJrJrJr SSKJrJr SSKJr SS	KJrJrJr \R8"\5rS
SS.S
SSS.SSSSSS/S.r"SS\	5r "SS\RB5r""SS\"5r#\#\RH44\"\RH\RJ44/r&S\\RB4Sjr'g)�N)�	b64decode)�suppress)�Enum)�Any�List�Tuple�Union)�sources�
url_helper�util)�find_fallback_nic�get_interfaces_by_mac)�EphemeralIPNetwork)�get_dmi_config�get_local_instance_id�is_on_akamaizhttp://169.254.169.254zhttp://[fd00:a9fe:a9fe::1]��ipv4�ipv6z	/v1/tokenz/v1/instancez
/v1/user-data)�token�metadata�userdataTzf2:3)�	base_urls�paths�allow_local_stage�allow_init_stage�
allow_dhcp�
allow_ipv4�
allow_ipv6�preferred_mac_prefixesc�$�\rSrSrSrSrSrSrSrg)�MetadataAvailabilityResult�-z^
Used to indicate how this instance should behave based on the availability
of metadata to it
r���N)	�__name__�
__module__�__qualname__�__firstlineno__�__doc__�
NOT_AVAILABLE�	AVAILABLE�DEFER�__static_attributes__r&��D/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceAkamai.pyr"r"-s���
�M��I�
�Er0r"c��\rSrSrSrSrSrSS\S\S\4Sjjr	S\
4S	jrS\
4S
jrS\
4Sjr
S\\\\\4\44SjrSS\S\4S
jjrS\4SjrS\4SjrSrg)�DataSourceAkamai�8�AkamaiFc��[RS5 [RR	XX#5 [5Ul[R"[5[R"USS/05[/5Ulg)NzSetting up Akamai DataSource�
datasourcer5)
�LOG�debugr
�
DataSource�__init__�dictrr�
mergemanydictr�get_cfg_by_path�BUILTIN_DS_CONFIG�ds_cfg)�self�sys_cfg�distrors    r1r;�DataSourceAkamai.__init__<sn���	�	�0�1����#�#�D�6�A����
��(�(�� ��$�$��!�8�,���
"�
�

��r0�	path_name�use_v6�returnc��XRS;a[SRU55eSnU(dURS(dSnURSUnURSUnSRXE5$)z�
Looks up the path for a given name and returns a full url for it.  If
use_v6 is passed in, the IPv6 base url is used; otherwise the IPv4 url
is used unless IPv4 is not allowed in ds_cfg
rzUnknown path name {}rrrrz{}{})r@�
ValueError�format)rArErF�version_key�base_url�paths      r1�
_build_url�DataSourceAkamai._build_urlNsw���K�K��0�0��3�:�:�9�E�F�F�������\�2� �K��;�;�{�+�K�8���{�{�7�#�I�.���}�}�X�,�,r0c�N�URS(dURS(a(URS(d9URS(d%[RS5 [R$UR
(aUR
5$UR5$)z�
Returns whether metadata should be retrieved at this stage, at the next
stage, or never, in the form of a MetadataAvailabilityResult.
rrrrz*Configuration prohibits fetching metadata.)r@r8�infor"r,�local_stage�_should_fetch_data_local�_should_fetch_data_network�rAs r1�_should_fetch_data�#DataSourceAkamai._should_fetch_data`sw�����L�)�$�+�+�l�2K����/�0��K�K� 2�3�
�H�H�A�B�-�;�;�;�����0�0�2�2��2�2�4�4r0c�.�URS(d%[RS5 [R$URS(d9URS(d%[RS5 [R$[R
$)zo
Returns whether metadata should be retrieved during the local stage, or
if it should wait for the init stage.
rz)Configuration prohibits local stage setuprrz9Configuration does not allow for ephemeral network setup.�r@r8rQr"r.r-rUs r1rS�)DataSourceAkamai._should_fetch_data_localtsl��
�{�{�.�/��H�H�@�A�-�3�3�3��{�{�<�(����\�1J�
�H�H�K�
�.�3�3�3�)�3�3�3r0c��URS(d%[RS5 [R$[R
$)zC
Returns whether metadata should be fetched during the init stage.
rz1Configuration does not allow for init stage setuprYrUs r1rT�+DataSourceAkamai._should_fetch_data_network�s6���{�{�-�.��H�H�H�I�-�3�3�3�)�3�3�3r0c	� �/nUR(Ga[5nSnURSnUR5H8upV[	UVs/sHouRU5PM sn5(dM6Un O Uc[RS5 [5n/nURS(a'UR[URUSSS9S45 URS(a:URS	(a&UR[URUSS
9S45 U$URS(aUR[5S45 URS(aUR[5S45 U$s snf)z�
Returns a list of context managers which should be tried when setting
up a network context.  If we're running in init mode, this return a
noop since networking should already be configured.
Nr zGFailed to find default interface, attempting DHCP on fallback interfacerFTrrr)r)
rRrr@�items�any�
startswithr8�warningr
�appendrrC�noop)rA�network_context_managers�
interfaces�	interface�preferred_prefixes�mac�inf�prefixs        r1�_get_network_context_managers�.DataSourceAkamai._get_network_context_managers�s���
�	!�����
/�0�J��I�!%���-E�!F��&�,�,�.����:L�M�:L��^�^�F�+�:L�M���!$�I��
/�� ����)��.�/�	�')�$��{�{�<�(�(�/�/�*� �K�K�%�!&�!%�	���
��{�{�<�(�T�[�[��-F�(�/�/�*� �K�K�%�!%��
�
�	�6(�'�!�{�{�<�(�(�/�/�������{�{�<�(�(�/�/������(�'��oNs�F
c	��[R"URSUS9SSSSSS0S	9nURS
:wa![RSUR5 g[
U5n[R"URS
US9SSSSUS.S9n[R"[
U55Ul	[R"URSUS9SSSSU0S9n[
U5Ul
[UR5Ul
g![Ra n[RSU5 SnAgSnAff=f![Ra*n[RSU(aSOSU5 SnAgSnAff=f)z�
Runs through the sequence of requests necessary to retrieve our
metadata and user data, creating a token for use in doing so, capturing
the results.
r�rF�PUT�r%�zMetadata-Token-Expiry-Seconds�300)�request_method�timeout�sec_between�retries�headers��z-Fetching token returned %s; not fetching dataTrzapplication/json)�Accept�Metadata-Token)rtrurvrwrrzz*Failed to base64 decode userdata due to %sNz1Failed to retrieve metadata using IPv%s due to %s�6�4F)r�readurlrN�coder8rQ�str�json�loadsr�userdata_rawr�binascii�Errorra�UrlError)rArF�token_responserrr�es       r1�_fetch_metadata� DataSourceAkamai._fetch_metadata�s���:	�'�/�/�������7�$����3�U��
	�N��"�"�c�)����C�"�'�'�����'�E�"�)�)����
�6��:����0�&+��	�H�!�J�J�s�8�}�5�D�M�"�)�)����
�6��:����$�e���H�!$�H�
�D��
M�$-�d�.?�.?�$@��!����>�>�
M����H�!�L�L���
M���"�"�		�
�K�K�C���3��
�
��		�sC�AD?�BD?�-D�D<�D7�2D?�7D<�<D?�?E=� E8�8E=c��[RS5 [5(d[RS5 g[	5nSU0UlUR
5nU[R:wa@U[R:Xa[RS5 g[RS5 gUR5nUH[upEU URUS9nU(a4UR
RS	U5UR
S'S
S
S
5  gS
S
S
5 M] [RS5 g!,(df   M�=f)zG
Overrides _get_data in the DataSource class to actually retrieve data
z#Getting data from Akamai DataSourcez#Not running on Akamai, not running.Fzinstance-idz5Metadata is not available, returning local data only.TzFConfigured not to fetch data at this stage; waiting for a later stage.rn�idNzHFailed to contact metadata service, falling back to local metadata only.)r8r9rrQrrrVr"r-r,rkr��getra)rA�local_instance_id�availabilityrd�managerrF�dones       r1�	_get_data�DataSourceAkamai._get_data's,��	�	�	�7�8��~�~��H�H�:�;��1�3���,�
��
��.�.�0���5�?�?�?��9�G�G�G����K����H�H�!�
��#'�#E�#E�#G� �7�O�G���+�+�6�+�:���37�=�=�3D�3D��)�4�D�M�M�-�0����&�#��� 8�
�K�K�!�
�
�'��s
�AD9�9
E	c�L�[R"UR5S5$)zR
A local-only check to see if the instance id matches the id we see on
the system
zsystem-serial-number)r
�instance_id_matches_system_uuid�get_instance_id)rArBs  r1�check_instance_id�"DataSourceAkamai.check_instance_id[s&��
�6�6�� � �"�$:�
�	
r0)r@rr�N)F)r'r(r)r*�dsnamerRr;r�boolrNr"rVrSrTrrr	rrrkr�r�r�r/r&r0r1r3r38s���
�F��K�
�$-�C�-��-�#�-�$5�$>�5�(4�*D�4�*	4�,F�	4�M(�	
�e�E�#�1�1�2�D�8�9�	:�M(�^B�d�B�t�B�H2�4�2�h
�D�
r0r3c��\rSrSrSrSrSrg)�DataSourceAkamaiLocaliez�
A subclass of DataSourceAkamai that runs the same functions, but during the
init-local stage.  This allows configuring networking via cloud-init, as
networking hasn't been configured yet.
Tr&N)r'r(r)r*r+rRr/r&r0r1r�r�es����Kr0r�rGc�8�[R"U[5$)N)r
�list_from_depends�datasources)�dependss r1�get_datasource_listr�s���$�$�W�k�:�:r0)(r�r��logging�base64r�
contextlibrrc�enumr�typingrrrr	�	cloudinitr
rr�
cloudinit.netr
r�cloudinit.net.ephemeralr� cloudinit.sources.helpers.akamairrr�	getLoggerr'r8r?r"r:r3r��DEP_FILESYSTEM�DEP_NETWORKr�r�r&r0r1�<module>r�s������'��*�*�/�/�B�6�������!��
)�,��
�"�#�������	��%��0���j
�w�)�)�j
�Z	�,���W�3�3�5�6�	��"�"����	
��	�� ;�D��);�);�$<�;r0

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