+
    i                         ^ RI t ^ RIHu Hu Ht ^ RIHtHtHt ] P                  ! ]
4      tRR/t^t^t^tRt ! R R]P"                  4      t]]P&                  33.tR tR# )	    N)	lifecyclesourcesutilmetadata_urlz'http://169.254.169.254/metadata/v1.jsonTc                   p   a a ] tR t^t oRtR tV3R lV 3R lltR tR tR t	R t
]R	 4       tR
tVtV ;t# )DataSourceDigitalOceanDigitalOceanc                v   \         P                  P                  WW#4       W n        \	        4       V n        \        P                  ! \        P                  ! VR R./ 4      \        .4      V n
        V P                  4        V P                  R,          V n        V P                  P                  R\        4      V n        V P                  P                  R\         4      V n        V P                  P                  R\$        4      V n        V P                  P                  R\(        4      V n        RV n        RV n        R# )
datasourcer	   r   retriestimeout	use_ip4LL
wait_retryN)r   
DataSource__init__distrodictmetadatar   mergemanydictget_cfg_by_pathBUILTIN_DS_CONFIGds_cfg
_deprecatemetadata_addressget
MD_RETRIESr   
MD_TIMEOUTr   MD_USE_IPV4LLr   MD_WAIT_RETRYr   _network_configmetadata_full)selfsys_cfgr   pathss   &&&&J/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceDigitalOcean.pyr   DataSourceDigitalOcean.__init__    s    ##D6A(($$lN;R "	
 	 $N ;{{y*={{y*=mD++//,F#!    c                $   < V ^8  d   QhRS[ RR/# )   ci_pkl_versionreturnN)int)format__classdict__s   "r%   __annotate__#DataSourceDigitalOcean.__annotate__5   s        r'   c                F   < \         SV `  V4       V P                  4        R # N)super	_unpickler   )r"   r*   	__class__s   &&r%   r4    DataSourceDigitalOcean._unpickle5   s    .)r'   c                8    \         P                  ! R RRR7       R# )r   z23.2z.Deprecated in favour of DataSourceConfigDrive.)
deprecateddeprecated_versionextra_messageN)r   	deprecater"   s   &r%   r   !DataSourceDigitalOcean._deprecate9   s    /%J	
r'   c                ,    \         P                  ! 4       # r2   )	do_helperread_sysinfor<   s   &r%   _get_sysinfo#DataSourceDigitalOcean._get_sysinfo@   s    %%''r'   c                B   V P                  4       w  rV'       g   R # \        P                  RV4       RpV P                  '       d!   \        P
                  ! V P                  4      p\        P                  ! V P                  V P                  V P                  V P                  R7      pW@n        VP                  RV4      V P                  R&   VP                  RV4      V P                  R&   VP                  R4      V P                  R&   VP                  R	4      V P                  R
&   VP                  RR4      V P                  R&   VP                  RR4      V n        VP                  RR4      V n        V'       d"   \        P"                  ! V P                  V4       R# )Fz&Running on DigitalOcean. droplet_id=%sN)r   sec_betweenr   
droplet_idzinstance-idhostnamezlocal-hostname
interfacespublic_keyszpublic-keysregiondefaultavailability_zonevendor_data	user_dataT)rA   LOGinfor   r?   assign_ipv4_link_localr   read_metadatar   r   r   r   r!   r   r   vendordata_rawuserdata_rawdel_ipv4_link_local)r"   is_dorE   
ipv4LL_nicmds   &    r%   	_get_data DataSourceDigitalOcean._get_dataC   s=   "//1 9:F
>>>"99$++FJ$$!!LLLL	
  ')vvlJ'Gm$*,&&Z*H&'&(ff\&:l#')vvm'<m$-/VVHi-H)* ff]D9FF;5))$++zBr'   c                L    \         P                  ! V P                  4       R 4      # )zsystem-serial-number)r   instance_id_matches_system_uuidget_instance_id)r"   r#   s   &&r%   check_instance_id(DataSourceDigitalOcean.check_instance_ide   s$    66  "$:
 	
r'   c                F   V P                   '       d   V P                   # V P                  P                  R4      p\        P	                  V4       V'       g   \        R4      hV P                  R,          R,          p\        P                  ! W4      V n         V P                   # )zConfigure the networking. This needs to be done each boot, since
the IP information may have changed due to snapshot and/or
migration.
rG   z'Unable to get meta-data from server....dnsnameservers)	r    r   r   rN   debugRuntimeErrorr!   r?   convert_network_configuration)r"   rG   ra   s   &  r%   network_config%DataSourceDigitalOcean.network_configj   s     ''']]&&|4
		*HII((/>(FF 
 ###r'   )r    r   r   r   r   r!   r   r   r   rS   rR   r   )__name__
__module____qualname____firstlineno__dsnamer   r4   r   rA   rX   r]   propertyre   __static_attributes____classdictcell____classcell__)r5   r.   s   @@r%   r   r      sG     F"* 
( D

 $ $ $r'   r   c                 8    \         P                  ! V \        4      # r2   )r   list_from_dependsdatasources)dependss   &r%   get_datasource_listrt      s    $$Wk::r'   )logging&cloudinit.sources.helpers.digitaloceanr   helpersdigitaloceanr?   	cloudinitr   r   	getLoggerrg   rN   r   r   r   r   r   r   r   DEP_FILESYSTEMrr   rt    r'   r%   <module>r}      s     : : . .! =  

a$W// a$L g4467;r'   