
    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    ot-guE(($$W|W.Er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 ))+ MM+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);&<=/0DK77<8HIDK / ==)*b0.5DMM*+{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    !!KKKKKK	"KK	"KKKK%KK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6u==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25HH U38_     $%*	
	>    r'   r   c                 8    [         R                  " U [        5      $ r)   )r   list_from_dependsdatasources)dependss    r%   get_datasource_listrg      s    $$Wk::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!G1 r'   