ó
    x[h  ã                   ól  • S SK r S SKJr  S SKJs  Js  Jr  S SKJrJrJ	r	J
r
  \ R                  " \5      rSSSSS\
R                  " 5       < S	\	R                  " 5       S
   < S\	R                  " 5       S   < 3S.r " S S\R"                  5      r\\R&                  44/rS r\S:X  a‹  S SKr\R.                  " 5       (       d  \" S5        \R2                  " S5        \R4                  " SS9R6                  r\R8                  " \\S   \S   \S   \S   \S   5      r\S   r\R>                  " 5       r gg)é    N)ÚTuple)ÚsourcesÚstagesÚutilÚversionzhttp://169.254.169.254é   é
   é   zCloud-Init/z - OS: Úsystemz
 Variant: Úvariant)ÚurlÚretriesÚtimeoutÚwaitú
user-agentc                   ó¼   ^ • \ rS rSr% Sr\R                  R                  S-   r\\	S4   \
S'   U 4S jr\S 5       rS rS	 rS
 rS r\S 5       r\S 5       rSrU =r$ )ÚDataSourceVultré   ÚVultr)zstartup-script.Úsensitive_metadata_keysc                 ó®   >• [         [        U ]  XU5        [        R                  " [        R
                  " USS/0 5      [        /5      U l        S U l        g )NÚ
datasourcer   )	Úsuperr   Ú__init__r   ÚmergemanydictÚget_cfg_by_pathÚBUILTIN_DS_CONFIGÚds_cfgÚnetcfg)ÚselfÚsys_cfgÚdistroÚpathsÚ	__class__s       €ÚC/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceVultr.pyr   ÚDataSourceVultr.__init__%   sN   ø€ ÜŒo˜tÑ-¨g¸uÔEÜ×(Ò(ä×$Ò$ W¨|¸WÐ.EÀrÓJÜ!ðó
ˆŒð ˆ�ó    c                  ó,   • [         R                  " 5       $ ©N)ÚvultrÚis_vultr© r'   r%   Ú	ds_detectÚDataSourceVultr.ds_detect/   s   € ä�~Š~ÓÐr'   c                 óB  • [         R                  S5        U R                  5       U l        U R                  S   U l        U R                  U R                  5        [         R                  SU R                  S   5        [         R                  SU R                  S   5        g)NzMachine is a Vultr instanceú	user-dataz	SUBID: %szinstance-idzHostname: %súlocal-hostnameT)ÚLOGÚdebugÚget_metadataÚmetadataÚuserdata_rawÚget_datasource_data©r    s    r%   Ú	_get_dataÚDataSourceVultr._get_data4   sz   € ä�	‰	Ð/Ô0ð ×)Ñ)Ó+ˆŒØ ŸM™M¨+Ñ6ˆÔð 	× Ñ  §¡Ô/ô 	�	‰	�+˜tŸ}™}¨]Ñ;Ô<Ü�	‰	�. $§-¡-Ð0@Ñ"AÔBàr'   c                 ó0  • SU;   a$  [         R                  " US   5        US   U l        O[         R                  " US   5      U l        US   U l        U R
                  S   S:X  a  SU R
                  S'   US   U l        U R                  S:X  a  S U l        g g )NÚcloud_interfacesÚ
interfacesúvendor-datar1   Ú Úguestr0   )r*   Úadd_interface_namesr   Úgenerate_network_configÚvendordata_rawr5   r6   )r    Úmds     r%   r7   Ú#DataSourceVultr.get_datasource_dataF   s›   € à Ó#ô ×%Ò% bÐ);Ñ&<Ô=ØÐ/Ñ0ˆD�Kä×7Ò7¸¸<Ñ8HÓIˆDŒKà  Ñ/ˆÔð �=‰=Ð)Ñ*¨bÓ0Ø.5ˆD�M‰MÐ*Ñ+à˜{™OˆÔØ×Ñ Ó"Ø $ˆDÕð #r'   c           
      óü   • [         R                  " U R                  U R                  S   U R                  S   U R                  S   U R                  S   U R                  S   U R                  R	                  5       S9$ )Nr   r   r   r   r   )Útmp_dir)r*   r4   r"   r   Úget_tmp_exec_pathr8   s    r%   r4   ÚDataSourceVultr.get_metadata[   sh   € Ü×!Ò!Ø�K‰KØ�K‰K˜ÑØ�K‰K˜	Ñ"Ø�K‰K˜	Ñ"Ø�K‰K˜ÑØ�K‰K˜Ñ%Ø—K‘K×1Ñ1Ó3ñ
ð 	
r'   c                 óÊ   • [         R                  " 5       (       d  g[         R                  " 5       (       a  g[         R                  " 5       S   n[        R
                  " U5      $ )NFÚsubid)r*   r+   Úis_baremetalÚget_sysinfor   Úinstance_id_matches_system_uuid)r    r!   rK   s      r%   Úcheck_instance_idÚ!DataSourceVultr.check_instance_idg   sJ   € Ü�~Š~×ÑØô ×Ò×ÑØä×!Ò!Ó# GÑ,ˆÜ×6Ò6°uÓ=Ð=r'   c                 ó   • g r)   r,   r8   s    r%   Úlaunch_indexÚDataSourceVultr.launch_indexs   s   € àr'   c                 ó   • U R                   $ r)   )r   r8   s    r%   Únetwork_configÚDataSourceVultr.network_configw   s   € à�{‰{Ðr'   )r   r5   r   r6   rC   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Údsnamer   Ú
DataSourcer   r   ÚstrÚ__annotations__r   Ústaticmethodr-   r9   r7   r4   rO   ÚpropertyrR   rU   Ú__static_attributes__Ú__classcell__)r$   s   @r%   r   r      sˆ   ø‡ à€Fð 	×Ñ×2Ñ2Ð5HÑHð ˜U 3¨ 8™_ó õð ñ ó ð òò$%ò*	
ò	>ð ñó ðð ñó ör'   r   c                 ó8   • [         R                  " U [        5      $ r)   )r   Úlist_from_dependsÚdatasources)Údependss    r%   Úget_datasource_listrg   ƒ   s   € Ü×$Ò$ W¬kÓ:Ð:r'   Ú__main__zMachine is not a Vultr instanceé   T)Úreporterr   r   r   r   r   r>   )!ÚloggingÚtypingr   Úcloudinit.sources.helpers.vultrr   Úhelpersr*   Ú	cloudinitr   r   r   Ú	getLoggerrW   r2   Úversion_stringÚsystem_infor   r\   r   ÚDEP_FILESYSTEMre   rg   Úsysr+   ÚprintÚexitÚInitr"   r4   rD   ÚconfigrM   Úsysinfor,   r'   r%   Ú<module>rz      sD  ðó Ý ç /Ó /ß 4Ó 4à×Ò˜Ó!€à#ØØÙð 	×ÒÖ Ø×ÒÓ˜8Ô$Ø×ÒÓ˜9Ó%ð	ñÐ ô\�g×(Ñ(ô \ðB �w×-Ñ-Ð/Ð0ð€ò;ð ˆzÓÛà�>Š>×ÑÙÐ/Ô0Ø�Š�Œð �[Š[ $Ñ'×.Ñ.€Fà	×	Ò	ØØ˜%Ñ Ø˜)Ñ$Ø˜)Ñ$Ø˜&Ñ!Ø˜,Ñ'ó
€Bð �Ñ€FØ×ÒÓ!�Gð1 r'   