
"·T`#  ã               @   s’   d  d l  m Z d  d l  m Z d  d l m Z d Z Gd d „  d e j ƒ Z d d „  Z d	 d
 „  Z	 e e j
 e j f f g Z d d „  Z d S)é    )Údmi)Úsources)ÚDataSourceEc2zAlibaba Cloud ECSc               @   sX   e  Z d  Z d Z d g Z d Z g  Z d d d d d „ Z d d „  Z d	 d
 „  Z	 d S)ÚDataSourceAliYunZAliYunzhttp://100.100.100.200z
2016-01-01Fc             C   s   |  j  j d d ƒ S)NZhostnamezlocalhost.localdomain)ÚmetadataÚget)ÚselfZfqdnZ
resolve_ipZmetadata_only© r	   úD/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceAliYun.pyÚget_hostname   s    zDataSourceAliYun.get_hostnamec             C   s   t  |  j j d i  ƒ ƒ S)Nzpublic-keys)Úparse_public_keysr   r   )r   r	   r	   r
   Úget_public_ssh_keys   s    z$DataSourceAliYun.get_public_ssh_keysc             C   s!   t  ƒ  r t j j St j j Sd  S)N)Ú
_is_aliyunÚEC2Z
CloudNamesZALIYUNZNO_EC2_METADATA)r   r	   r	   r
   Ú_get_cloud_name   s    	
z DataSourceAliYun._get_cloud_nameN)
Ú__name__Ú
__module__Ú__qualname__ZdsnameZmetadata_urlsZmin_metadata_versionZextended_metadata_versionsr   r   r   r	   r	   r	   r
   r   
   s   	r   c               C   s   t  j d ƒ t k S)Nzsystem-product-name)r   Zread_dmi_dataÚALIYUN_PRODUCTr	   r	   r	   r
   r       s    r   c             C   sÍ   g  } xÀ |  j  ƒ  D]² \ } } t | t ƒ rD | j | j ƒ  ƒ q t | t ƒ rc | j | ƒ q t | t ƒ r | j d g  ƒ } t | t ƒ r© | j | j ƒ  ƒ q t | t ƒ r | j | ƒ q W| S)Nzopenssh-key)	ÚitemsÚ
isinstanceÚstrÚappendÚstripÚlistÚextendÚdictr   )Zpublic_keysÚkeysZ_key_idZkey_bodyÚkeyr	   r	   r
   r   $   s    r   c             C   s   t  j |  t ƒ S)N)r   Zlist_from_dependsÚdatasources)Zdependsr	   r	   r
   Úget_datasource_list;   s    r    N)Z	cloudinitr   r   Zcloudinit.sourcesr   r   r   r   r   r   ZDEP_FILESYSTEMZDEP_NETWORKr   r    r	   r	   r	   r
   Ú<module>   s   