o
    ¡K&bc	  ã                   @   sv   d Z ddlZddlmZmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZ ddlmZ e d¡Zd	ejd
efdd„ZdS )zq
Try to auto-attach in a GCP instance. This should only work
if the instance has a new UA license attached to it
é    N)ÚconfigÚ
exceptionsÚjobs)Úaction_auto_attach)ÚGCP_LICENSESÚUAAutoAttachGCPInstance)Úget_cloud_type)Úget_platform_infoz'ua_lib.license_check.jobs.license_checkÚcfgÚreturnc                 C   sÔ   t ƒ \}}|r|dkrt d¡ t | ¡ dS | jr&t d¡ t | ¡ dS tƒ d }|tvr;t d¡ t | ¡ dS ztƒ  	¡ }W n
 t
yL   Y dS w t| |v rhz	td | d W dS  tjyg   Y dS w dS )	NZgcez:Disabling gcp_auto_attach job. Not running on GCP instanceFz/Disabling gcp_auto_attach job. Already attachedÚseriesz)Disabling gcp_auto_attach job. Not on LTS)Úargsr
   T)r   ÚLOGÚinfor   Z#disable_license_check_if_applicableZis_attachedr	   r   r   Zget_licenses_from_identityÚ	Exceptionr   r   ZNonAutoAttachImageError)r
   Zcloud_idÚ_r   Zlicenses© r   ú=/usr/lib/python3/dist-packages/uaclient/jobs/license_check.pyÚgcp_auto_attach   s8   







ÿør   )Ú__doc__ZloggingZuaclientr   r   r   Zuaclient.clir   Zuaclient.clouds.gcpr   r   Zuaclient.clouds.identityr   Zuaclient.utilr	   Z	getLoggerr   ZUAConfigÚboolr   r   r   r   r   Ú<module>   s    
