a '¡Dgã @sddlZddlmZddlmmmZddlmZmZm Z m Z e  e ¡Z ddddde  ¡e  ¡d e  ¡d fd œZGd d „d ejƒZeejffgZdd„Ze dkrddlZe ¡sÐedƒe d¡ejddjZe eededededed¡ZedZe ¡Z dS)éN)ÚTuple)ÚsourcesÚstagesÚutilÚversionzhttp://169.254.169.254éé éz"Cloud-Init/%s - OS: %s Variant: %sÚsystemZvariant)ÚurlÚretriesÚtimeoutÚwaitú user-agentcs‚eZdZUdZejjdZeedfe d<‡fdd„Z e dd„ƒZ d d „Z d d „Zd d„Zdd„Zedd„ƒZedd„ƒZ‡ZS)ÚDataSourceVultrÚVultr)zstartup-script.Úsensitive_metadata_keyscs<tt|ƒ |||¡t t |ddgi¡tg¡|_d|_dS)NZ datasourcer) ÚsuperrÚ__init__rZ mergemanydictZget_cfg_by_pathÚBUILTIN_DS_CONFIGÚds_cfgÚnetcfg)ÚselfÚsys_cfgÚdistroÚpaths©Ú __class__©úE/usr/lib/python3.9/site-packages/cloudinit/sources/DataSourceVultr.pyr%sþÿzDataSourceVultr.__init__cCst ¡S©N)ÚvultrÚis_vultrrrrrÚ ds_detect/szDataSourceVultr.ds_detectcCsTt d¡| ¡|_|jd|_| |j¡t d|jd¡t d|jd¡dS)NzMachine is a Vultr instanceú user-dataz SUBID: %sz instance-idz Hostname: %súlocal-hostnameT)ÚLOGÚdebugÚ get_metadataÚmetadataÚ userdata_rawÚget_datasource_data©rrrrÚ _get_data4s    zDataSourceVultr._get_datacCsrd|vr"t |d¡|d|_nt |d¡|_|d|_|jddkrTd|jd<|d|_|jdkrnd|_dS)NZcloud_interfacesZ interfacesú vendor-datar%ÚZguestr$)r!Zadd_interface_namesrZgenerate_network_configZvendordata_rawr)r*)rÚmdrrrr+Fs     z#DataSourceVultr.get_datasource_datac Cs>tj|j|jd|jd|jd|jd|jd|j ¡dS)Nr r r rr)Ztmp_dir)r!r(rrZget_tmp_exec_pathr,rrrr([sùzDataSourceVultr.get_metadatacCs.t ¡s dSt ¡rdSt ¡d}t |¡S)NFÚsubid)r!r"Z is_baremetalÚ get_sysinforZinstance_id_matches_system_uuid)rrr1rrrÚcheck_instance_idgs  z!DataSourceVultr.check_instance_idcCsdSr rr,rrrÚ launch_indexsszDataSourceVultr.launch_indexcCs|jSr )rr,rrrÚnetwork_configwszDataSourceVultr.network_config)Ú__name__Ú __module__Ú __qualname__ZdsnamerÚ DataSourcerrÚstrÚ__annotations__rÚ staticmethodr#r-r+r(r3Úpropertyr4r5Ú __classcell__rrrrrs  ÿ     rcCs t |t¡Sr )rZlist_from_dependsÚ datasources)ZdependsrrrÚget_datasource_listƒsr@Ú__main__zMachine is not a Vultr instanceéT)Zreporterr r r rrr.)!ZloggingÚtypingrZcloudinit.sources.helpers.vultrrZhelpersr!Z cloudinitrrrZ getLoggerr6r&Zversion_stringZ system_inforr9rZDEP_FILESYSTEMr?r@Úsysr"ÚprintÚexitZInitrr(r0Zconfigr2ZsysinforrrrÚsF    ýÿûa ÿ  ú