Ë
    x[h  ã                   ó`  — d dl Z d dlmZ d dlmc mc mZ d dlmZmZm	Z	m
Z
  e j                  e«      Zddddd e
j                  «       ›d	 e	j                  «       d
   ›d e	j                  «       d   ›�dœZ G d„ dej"                  «      Zeej&                  ffgZd„ Zedk(  r‰d dlZ ej.                  «       s ed«        ej2                  d«        ej4                  d¬«      j6                  Z ej8                  eed   ed   ed   ed   ed   «      Zed   Z ej>                  «       Z yy)é    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                   ó²   ‡ — e Zd ZU dZej
                  j                  dz   Zeedf   e	d<   ˆ fd„Z
ed„ «       Zd„ Zd„ Zd	„ Zd
„ Zed„ «       Zed„ «       Zˆ xZS )ÚDataSourceVultrÚVultr)zstartup-script.Úsensitive_metadata_keysc                 ó¬   •— t         t        | �  |||«       t        j                  t        j
                  |ddgi «      t        g«      | _        d | _        y )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   zDataSourceVultr.__init__%   sP   ø€ ÜŒo˜tÑ-¨g°v¸uÔEÜ×(Ñ(ä×$Ñ$ W¨|¸WÐ.EÀrÓJÜ!ðó
ˆŒð ˆ�ó    c                  ó*   — t        j                  «       S ©N)ÚvultrÚis_vultr© r%   r$   Ú	ds_detectzDataSourceVultr.ds_detect/   s   € ä�~‰~ÓÐr%   c                 óB  — t         j                  d«       | j                  «       | _        | j                  d   | _        | j                  | j                  «       t         j                  d| j                  d   «       t         j                  d| j                  d   «       y)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_datazDataSourceVultr._get_data4   sz   € ä�	‰	Ð/Ô0ð ×)Ñ)Ó+ˆŒØ ŸM™M¨+Ñ6ˆÔð 	× Ñ  §¡Ô/ô 	�	‰	�+˜tŸ}™}¨]Ñ;Ô<Ü�	‰	�. $§-¡-Ð0@Ñ"AÔBàr%   c                 ó$  — d|v r#t        j                  |d   «       |d   | _        nt        j                  |d   «      | _        |d   | _        | j
                  d   dk(  rd| j
                  d<   |d   | _        | j                  dk(  rd | _        y y )NÚcloud_interfacesÚ
interfacesúvendor-datar.   Ú Úguestr-   )r(   Úadd_interface_namesr   Úgenerate_network_configÚvendordata_rawr2   r3   )r   Úmds     r$   r4   z#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           
      ó   — t        j                  | j                  | j                  d   | j                  d   | j                  d   | j                  d   | j                  d   | j                  j	                  «       ¬«      S )Nr   r   r   r   r   )Útmp_dir)r(   r1   r!   r   Úget_tmp_exec_pathr5   s    r$   r1   zDataSourceVultr.get_metadata[   sh   € Ü×!Ñ!Ø�K‰KØ�K‰K˜ÑØ�K‰K˜	Ñ"Ø�K‰K˜	Ñ"Ø�K‰K˜ÑØ�K‰K˜Ñ%Ø—K‘K×1Ñ1Ó3ô
ð 	
r%   c                 ó®   — t        j                  «       syt        j                  «       ryt        j                  «       d   }t	        j
                  |«      S )NFÚsubid)r(   r)   Úis_baremetalÚget_sysinfor   Úinstance_id_matches_system_uuid)r   r    rE   s      r$   Úcheck_instance_idz!DataSourceVultr.check_instance_idg   sD   € Ü�~‰~ÔØô ×ÑÔØä×!Ñ!Ó# GÑ,ˆÜ×6Ñ6°uÓ=Ð=r%   c                  ó   — y r'   r*   r5   s    r$   Úlaunch_indexzDataSourceVultr.launch_indexs   s   € àr%   c                 ó   — | j                   S r'   )r   r5   s    r$   Únetwork_configzDataSourceVultr.network_configw   s   € à�{‰{Ðr%   )Ú__name__Ú
__module__Ú__qualname__Údsnamer   Ú
DataSourcer   r   ÚstrÚ__annotations__r   Ústaticmethodr+   r6   r4   r1   rI   ÚpropertyrK   rM   Ú__classcell__)r#   s   @r$   r   r      sˆ   ø… à€Fð 	×Ñ×2Ñ2Ð5HÑHð ˜U 3¨ 8™_ó ôð ñ ó ð òò$%ò*	
ò	>ð ñó ðð ñó ôr%   r   c                 ó6   — t        j                  | t        «      S r'   )r   Úlist_from_dependsÚdatasources)Údependss    r$   Úget_datasource_listr\   ƒ   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   Ú	getLoggerrN   r/   Úversion_stringÚsystem_infor   rR   r   ÚDEP_FILESYSTEMrZ   r\   Úsysr)   ÚprintÚexitÚInitr!   r1   r@   ÚconfigrG   Úsysinfor*   r%   r$   ú<module>ro      sS  ðó Ý ç /Ó /ß 4Ó 4à€g×Ñ˜Ó!€à#ØØÙð 	ˆ×ÑÕ Øˆ×ÑÓ˜8Ó$Øˆ×ÑÓ˜9Ò%ð	ñÐ ô\�g×(Ñ(ô \ðB �w×-Ñ-Ð/Ð0ð€ò;ð ˆzÒÛàˆ5�>‰>ÔÙÐ/Ô0Øˆ�‰�Œð ˆV�[‰[ $Ô'×.Ñ.€Fà	ˆ×	Ñ	ØØ˜%Ñ Ø˜)Ñ$Ø˜)Ñ$Ø˜&Ñ!Ø˜,Ñ'ó
€Bð �Ñ€FØˆe×ÑÓ!�Gð1 r%   