
"·T`š  ã               @   sa   d  d l  Z  d  d l Z d  d l m Z d  d l m Z e j e ƒ Z	 Gd d „  d e
 ƒ Z d S)é    N)Úlog)Úeventsc               @   së   e  Z d  Z d d d „ Z d d „  Z e d d „  ƒ Z d d d	 d
 „ Z d d „  Z d d d „ Z	 d d „  Z
 e d d „  ƒ Z d d „  Z d d „  Z d d d d „ Z d d „  Z d d d „ Z d d d „ Z d d  d! „ Z d S)"ÚCloudNc             C   sd   | |  _  | |  _ | |  _ | |  _ | |  _ | d  k rW t j d d d d d d ƒ } | |  _ d  S)NÚnamezunnamed-cloud-reporterZdescriptionZreporting_enabledF)Ú
datasourceÚpathsÚdistroÚ_cfgÚ_runnersr   ZReportEventStackÚreporter)Úselfr   r   Úcfgr   Zrunnersr   © r   ú1/usr/lib/python3/dist-packages/cloudinit/cloud.pyÚ__init__   s    							zCloud.__init__c             C   s   t  j ƒ  t  j |  j ƒ d  S)N)ÚloggingZresetLoggingZsetupLoggingr   )r   r   r   r   Úcycle_logging,   s    
zCloud.cycle_loggingc             C   s   t  j |  j ƒ S)N)ÚcopyÚdeepcopyr	   )r   r   r   r   r   0   s    z	Cloud.cfgFc             C   s   |  j  j | | | | | ƒ S)N)r
   Úrun)r   r   ZfunctorÚargsZfreqZclear_on_failr   r   r   r   5   s    z	Cloud.runc             C   sI   |  j  j | } t j j | ƒ sE t j d t j j | ƒ | ƒ d  S| S)Nz-No template found in %s for template named %s)r   Ztemplate_tplÚosÚpathÚisfileÚLOGZwarningÚdirname)r   r   Úfnr   r   r   Úget_template_filename8   s    	zCloud.get_template_filenameTc             C   s   |  j  j | ƒ S)N)r   Úget_userdata)r   Zapply_filterr   r   r   r   A   s    zCloud.get_userdatac             C   s   |  j  j ƒ  S)N)r   Úget_instance_id)r   r   r   r   r   D   s    zCloud.get_instance_idc             C   s
   |  j  j S)N)r   Úlaunch_index)r   r   r   r   r    G   s    zCloud.launch_indexc             C   s   |  j  j ƒ  S)N)r   Úget_public_ssh_keys)r   r   r   r   r!   K   s    zCloud.get_public_ssh_keysc             C   s   |  j  j ƒ  S)N)r   Ú
get_locale)r   r   r   r   r"   N   s    zCloud.get_localec             C   s   |  j  j d | d | ƒ S)NÚfqdnÚmetadata_only)r   Úget_hostname)r   r#   r$   r   r   r   r%   Q   s    zCloud.get_hostnamec             C   s   |  j  j | ƒ S)N)r   Údevice_name_to_device)r   r   r   r   r   r&   U   s    zCloud.device_name_to_devicec             C   s   |  j  j | ƒ S)N)r   Úget_ipath_cur)r   r   r   r   r   r'   X   s    zCloud.get_ipath_curc             C   s   |  j  j | ƒ S)N)r   Ú	get_cpath)r   r   r   r   r   r(   [   s    zCloud.get_cpathc             C   s   |  j  j | ƒ S)N)r   Ú	get_ipath)r   r   r   r   r   r)   ^   s    zCloud.get_ipath)Ú__name__Ú
__module__Ú__qualname__r   r   Úpropertyr   r   r   r   r   r    r!   r"   r%   r&   r'   r(   r)   r   r   r   r   r      s   	r   )r   r   Z	cloudinitr   r   Zcloudinit.reportingr   Z	getLoggerr*   r   Úobjectr   r   r   r   r   Ú<module>   s
   