+
    g	                         ^ RI t ^ RIHtHt ^ RIHtHt  ! R R] P                  R7      t ! R R]] P                  R7      t	R# )	    N)AnyDict)configcontractc                      a  ] tR t^t o ]]P                  V 3R lR l4       4       t]P                  V 3R lR l4       t]P                  V 3R lR l4       t	]P                  V 3R lR l4       t
R	tV tR
# )AutoAttachInstancec                    < V ^8  d   QhRS[ /#    returnbool)format__classdict__s   ":/usr/lib/python3/dist-packages/uaclient/clouds/__init__.py__annotate__AutoAttachInstance.__annotate__
   s      4     c                    R# )z?Return True if the machine is a viable AutoAttachCloudInstance.N selfs   &r   	is_viableAutoAttachInstance.is_viable        	r   c                :   < V ^8  d   QhRS[ P                  RS[/# r   cfgr   r   UAConfigstr)r   r   s   "r   r   r      s      V__  r   c                    R# )c
Cloud-specific implementation of acquiring the pro token using whatever
method suits the platform
Nr   )r   r   s   &&r   acquire_pro_token$AutoAttachInstance.acquire_pro_token        	r   c                    < V ^8  d   QhRS[ /# r
   r   )r   r   s   "r   r   r      s      T r   c                    R# )z_
Cloud-specific checks for whether the daemon should continously poll
for Ubuntu Pro licenses.
Nr   r   s   &r   should_poll_for_pro_license.AutoAttachInstance.should_poll_for_pro_license   r&   r   c                &   < V ^8  d   QhRS[ RS[ /# )r   wait_for_changer   r   )r   r   s   "r   r   r      s       $ r   c                   R# )z!
Check for an Ubuntu Pro license
Nr   )r   r,   s   &$r   is_pro_license_present)AutoAttachInstance.is_pro_license_present   s    
 	r   r   N)__name__
__module____qualname____firstlineno__propertyabcabstractmethodr   r$   r)   r.   __static_attributes____classdictcell__r   s   @r   r   r      ss        	  	  	 r   r   )	metaclassc                      a  ] tR t^&t o ]]P                  V 3R lR l4       4       t]]P                  V 3R lR l4       4       tV 3R lR lt	Rt
V tR# )	PublicCloudAutoAttachInstancec                6   < V ^8  d   QhRS[ S[S[3,          /# r
   )r   r!   r   )r   r   s   "r   r   *PublicCloudAutoAttachInstance.__annotate__)   s      d38n r   c                    R# )z=Return the identity document representing this cloud instanceNr   r   s   &r   identity_doc*PublicCloudAutoAttachInstance.identity_doc'   r   r   c                    < V ^8  d   QhRS[ /# r
   )r!   )r   r   s   "r   r   r>   /   s      C r   c                    R# )z=Return a string of the cloud type on which this instance runsNr   r   s   &r   
cloud_type(PublicCloudAutoAttachInstance.cloud_type-   r   r   c                :   < V ^8  d   QhRS[ P                  RS[/# r   r   )r   r   s   "r   r   r>   3   s     	/ 	/V__ 	/ 	/r   c                    \         P                  ! V4      pVP                  V P                  V P                  R7      pVR,          # )r#   )rD   datacontractToken)r   UAContractClient%get_contract_token_for_cloud_instancerD   r@   )r   r   contract_clienttoken_responses   &&  r   r$   /PublicCloudAutoAttachInstance.acquire_pro_token3   sF    
 #33C8(NNT->-> O 
 o..r   r   N)r0   r1   r2   r3   r4   r5   r6   r@   rD   r$   r7   r8   r9   s   @r   r<   r<   &   sQ          	/ 	/r   r<   )
r5   typingr   r   uaclientr   r   ABCMetar   r<   r   r   r   <module>rR      s1    
  %3;; >/$6#++ /r   