HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceDigitalOcean.cpython-38.pyc
U

Ӈg��@s�ddlZddlmmmZddlmZmZmZe�	e
�ZddiZdZ
dZdZdZGdd	�d	ej�ZeejffgZd
d�ZdS)�N)�	lifecycle�sources�util�metadata_urlz'http://169.254.169.254/metadata/v1.json��Tcs\eZdZdZdd�Zedd��fdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
edd��Z�Z
S)�DataSourceDigitalOcean�DigitalOceancCs�tj�||||�||_t�|_t�t�|ddgi�t	g�|_
|��|j
d|_|j
�
dt�|_|j
�
dt�|_|j
�
dt�|_|j
�
dt�|_d|_d|_dS)NZ
datasourcer	r�retries�timeout�	use_ip4LL�
wait_retry)r�
DataSource�__init__�distro�dict�metadatarZ
mergemanydictZget_cfg_by_path�BUILTIN_DS_CONFIGZds_cfg�
_deprecate�metadata_address�get�
MD_RETRIESr
�
MD_TIMEOUTr�
MD_USE_IPV4LLr�
MD_WAIT_RETRYr
�_network_config�
metadata_full)�self�sys_cfgr�paths�r �J/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceDigitalOcean.pyr s(���zDataSourceDigitalOcean.__init__N)�ci_pkl_version�returncst��|�|��dS�N)�super�	_unpickler)rr"��	__class__r r!r&5sz DataSourceDigitalOcean._unpicklecCstjdddd�dS)Nrz23.2z.Deprecated in favour of DataSourceConfigDrive.)Z
deprecatedZdeprecated_versionZ
extra_message)rZ	deprecate�rr r r!r9s
�z!DataSourceDigitalOcean._deprecatecCst��Sr$)�	do_helperZread_sysinfor)r r r!�_get_sysinfo@sz#DataSourceDigitalOcean._get_sysinfocCs�|��\}}|sdSt�d|�d}|jr6t�|j�}tj|j|j	|j
|jd�}||_|�
d|�|jd<|�
d|�|jd<|�
d�|jd<|�
d	�|jd
<|�
dd�|jd
<|�
dd�|_|�
dd�|_|r�t�|j|�dS)NFz&Running on DigitalOcean. droplet_id=%s)rZsec_betweenr
�
droplet_idzinstance-idZhostnamezlocal-hostname�
interfacesZpublic_keyszpublic-keysZregion�defaultZavailability_zoneZvendor_dataZ	user_dataT)r+�LOG�inforr*Zassign_ipv4_link_localrZ
read_metadatarrr
r
rrrZvendordata_rawZuserdata_rawZdel_ipv4_link_local)rZis_dor,Z
ipv4LL_nicZmdr r r!�	_get_dataCs0�z DataSourceDigitalOcean._get_datacCst�|��d�S)Nzsystem-serial-number)rZinstance_id_matches_system_uuidZget_instance_id)rrr r r!�check_instance_ides�z(DataSourceDigitalOcean.check_instance_idcCsP|jr|jS|j�d�}t�|�|s.td��|jdd}t�||�|_|jS)z�Configure the networking. This needs to be done each boot, since
        the IP information may have changed due to snapshot and/or
        migration.
        r-z'Unable to get meta-data from server....Zdns�nameservers)	rrrr/�debug�RuntimeErrorrr*Zconvert_network_configuration)rr-r3r r r!�network_configjs
�z%DataSourceDigitalOcean.network_config)�__name__�
__module__�__qualname__Zdsnamer�intr&rr+r1r2�propertyr6�
__classcell__r r r'r!rs"rcCst�|t�Sr$)rZlist_from_depends�datasources)Zdependsr r r!�get_datasource_list�sr>)ZloggingZ&cloudinit.sources.helpers.digitaloceanrZhelpersZdigitaloceanr*Z	cloudinitrrZ	getLoggerr7r/rrrrrrrZDEP_FILESYSTEMr=r>r r r r!�<module>	s
�f
�