Current File : //usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pyo
�
oB�]c@s�dZddlmZddlmZddlmZddlmZddljj	j
Zeje
�ZdZiedd	6ed
d6ZdZd
Zd
Zdejfd��YZd�ZeejffgZd�ZdS(s?Hetzner Cloud API Documentation.
   https://docs.hetzner.cloud/i����(tlog(tnet(tsources(tutilNs!http://169.254.169.254/hetzner/v1s	/metadatatmetadata_urls	/userdatatuserdata_urli<itDataSourceHetznercBs/eZdZd�Zd�Zed��ZRS(tHetznercCs�tjj||||�||_t�|_tjtj|ddgi�t	g�|_
|j
d|_|j
d|_|j
j
dt�|_|j
j
dt�|_|j
j
dt�|_d|_tj|_dS(Nt
datasourceRRRtretriesttimeoutt
wait_retry(Rt
DataSourcet__init__tdistrotdicttmetadataRt
mergemanydicttget_cfg_by_pathtBUILTIN_DS_CONFIGtds_cfgtmetadata_addresstuserdata_addresstgett
MD_RETRIESR	t
MD_TIMEOUTR
t
MD_WAIT_RETRYRtNonet_network_configtDSMODE_NETWORKtdsmode(tselftsys_cfgRtpaths((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pyR
"s		cCst�s
tStj�}tj|ddd��_tj|jd|jd|j	d|j
�}tj|jd|jd|j	d|j
�}WdQX||_
||_|d|jd<|d|jd	<|jd
d�|jd
<|jdd�|jd<|jdd�|_tS(
Ns169.254.0.1is169.254.255.255R
tsec_betweenR	sinstance-idthostnameslocal-hostnamesnetwork-configspublic-keystvendor_data(t
on_hetznertFalsetcloudnettfind_fallback_nictEphemeralIPv4Networkt	hc_helpert
read_metadataRR
RR	t
read_userdataRtuserdata_rawt
metadata_fullRRRtvendordata_rawtTrue(Rtnictmdtud((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pytget_data1s&	
		cCsB|jr|jS|jd}|s2td��n||_|jS(s�Configure the networking. This needs to be done each boot, since
           the IP information may have changed due to snapshot and/or
           migration.
        snetwork-configs'Unable to get meta-data from server....(RRt	Exception(Rt_net_config((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pytnetwork_configLs	
	(t__name__t
__module__tdsnameR
R4tpropertyR7(((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pyRs		cCstjd�dkS(Nssystem-manufacturerR(Rt
read_dmi_data(((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pyR%_scCstj|t�S(N(Rtlist_from_dependstdatasources(tdepends((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pytget_datasource_listjs(t__doc__t	cloudinitRtloggingRR'RRt!cloudinit.sources.helpers.hetznerthelpersthetznerR*t	getLoggerR8tLOGtBASE_URL_V1RRRRRRR%tDEP_FILESYSTEMR>R@(((sG/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceHetzner.pyt<module>s"A