x[h `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|_d|_y)N datasourcer) superr__init__r mergemanydictget_cfg_by_pathBUILTIN_DS_CONFIGds_cfgnetcfg)selfsys_cfgdistropaths __class__s C/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceVultr.pyrzDataSourceVultr.__init__%sP 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_data4sz /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_namesrgenerate_network_configvendordata_rawr2r3)rmds r$r4z#DataSourceVultr.get_datasource_dataFs  #  % %b);&< =/0DK77<8HIDK / ==) *b 0.5DMM* +{O    " $D  #r%c tj|j|jd|jd|jd|jd|jd|jj S)Nr rrrr)tmp_dir)r(r1r!rget_tmp_exec_pathr5s r$r1zDataSourceVultr.get_metadata[sh!! KK KK  KK " KK " KK  KK %KK113  r%ctjsytjrytjd}t j |S)NFsubid)r(r) is_baremetal get_sysinforinstance_id_matches_system_uuid)rr rEs r$check_instance_idz!DataSourceVultr.check_instance_idgsD~~    !!#G,66u==r%cyr'r*r5s r$ launch_indexzDataSourceVultr.launch_indexssr%c|jSr')rr5s r$network_configzDataSourceVultr.network_configws {{r%)__name__ __module__ __qualname__dsnamer DataSourcerrstr__annotations__r staticmethodr+r6r4r1rIpropertyrKrM __classcell__)r#s@r$rrs F 225HHU38_  $%*   >r%rc6tj|tSr')rlist_from_depends datasources)dependss r$get_datasource_listr\s  $ $Wk ::r%__main__zMachine is not a Vultr instanceT)reporterr rrrrr:)!loggingtypingrcloudinit.sources.helpers.vultrrhelpersr( cloudinitrrr getLoggerrNr/version_string system_inforrRrDEP_FILESYSTEMrZr\sysr)printexitInitr!r1r@configrGsysinfor*r%r$rosS//44g! #   8$9%  \g((\Bw--/0 ; z 5>>  /0 V[[$ ' . .F   % )$)$&!,'  B Fe!G1r%