f `ddlZddlmZddlmcmcmZddlmZmZm Z m Z eje Z ddddde jd e jd d e jd d ZGddej"Zeej&ffgZdZe dk(rddlZej.sedej2dej4dj6Zej8eedededededZedZej>Z yy)N)Tuple)sourcesstagesutilversionzhttp://169.254.169.254 z Cloud-Init/z - OS: systemz Variant: variant)urlretriestimeoutwait user-agentceZdZUdZej j dzZeedfe d<fdZ e dZ dZ dZd Zd Zed Zed ZxZS) DataSourceVultrVultr)zstartup-script.sensitive_metadata_keysctt| |||tjtj |ddgit g|_y)N datasourcer)superr__init__r mergemanydictget_cfg_by_pathBUILTIN_DS_CONFIGds_cfg)selfsys_cfgdistropaths __class__s C/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceVultr.pyrzDataSourceVultr.__init__%sG ot-gvuE(($$W|W.ErJ!   c*tjSN)vultris_vultrr$r# ds_detectzDataSourceVultr.ds_detect.s~~r$cBtjd|j|_|jd|_|j |jtjd|jdtjd|jdy)NzMachine is a Vultr instance user-dataz SUBID: %sz instance-idz Hostname: %slocal-hostnameT)LOGdebug get_metadatametadata userdata_rawget_datasource_datars r# _get_datazDataSourceVultr._get_data3sz /0))+  MM+6   / +t}}];< .$--0@"ABr$c$d|vr#tj|d|d|_ntj|d|_|d|_|j ddk(rd|j d<|d|_|j dk(rd|_yy)Ncloud_interfaces interfaces vendor-datar-guestr,)r'add_interface_namesnetcfggenerate_network_configvendordata_rawr1r2)rmds r#r3z#DataSourceVultr.get_datasource_dataEs  #  % %b);&< =/0DK77<8HIDK / ==) *b 0.5DMM* +{O    " $D  #r$c tj|j|jd|jd|jd|jd|jd|jj S)Nr rrrr)tmp_dir)r'r0r rget_tmp_exec_pathr4s r#r0zDataSourceVultr.get_metadataZsh!! KK KK  KK " KK " KK  KK %KK113  r$ctjsytjrytjd}t j |S)NFsubid)r'r( is_baremetal get_sysinforinstance_id_matches_system_uuid)rrrEs r#check_instance_idz!DataSourceVultr.check_instance_idfsD~~    !!#G,66u==r$cyr&r)r4s r# launch_indexzDataSourceVultr.launch_indexrsr$c|jSr&)r=r4s r#network_configzDataSourceVultr.network_configvs {{r$)__name__ __module__ __qualname__dsnamer DataSourcerrstr__annotations__r staticmethodr*r5r3r0rIpropertyrKrM __classcell__)r"s@r#rrs F 225HHU SI   $%*   >r$rc6tj|tSr&)rlist_from_depends datasources)dependss r#get_datasource_listr\s  $ $Wk ::r$__main__zMachine is not a Vultr instanceT)reporterr rrrrr9)!loggingtypingrcloudinit.sources.helpers.vultrrhelpersr' cloudinitrrr getLoggerrNr.version_string system_inforrRrDEP_FILESYSTEMrZr\sysr(printexitInitr r0r@configrGsysinfor)r$r#rosS//44g! #   8$9%  [g(([@w--/0 ; z 5>>  /0 V[[$ ' . .F   % )$)$&!,'  B Fe!G1r$