+
    }n j£  ã            
       óÎ  € ^ RI t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	 ^ RI
HtHtHtHtHt ^ RIHt ] P$                  ! ]P&                  ! ]4      4      tRRR	R
RRRRRR/tR]P.                  P0                  R]P.                  P2                  R]P.                  P4                  /tR	RRR/t ! R R]4      tR R ltR R lt]! RR7      ]! R4      R R l4       4       t RR R llt!R# )é    N)ÚEnum)Ú	lru_cache)ÚDictÚOptionalÚTupleÚType)ÚcloudsÚ
exceptionsÚmessagesÚsystemÚutil)Úapply_config_settings_overrideÚawsÚAWSú	aws-chinaz	AWS Chinaúaws-govzAWS GovÚazureÚAzureÚgceÚGCPc                   ó   € ] tR t^t^ t^tRtR# )ÚNoCloudTypeReason© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚNO_CLOUD_DETECTEDÚCLOUD_ID_ERRORÚ__static_attributes__r   ó    Ú:/usr/lib/python3/dist-packages/uaclient/clouds/identity.pyr   r      s   † ØÐØ„Nr!   r   c                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# )é   Ú
cloud_typeÚreturn©r   Ústr)Úformats   "r"   Ú__annotate__r*   $   s(   € ÷ Cñ CÜœ•ðCäŒc…]ñCr!   c                 ó8   € V f   R # \         P                  W 4      # ©N)ÚCONTRACT_CLOUD_TYPE_ALIASESÚget©r%   s   &r"   Ú!cloud_type_to_contract_cloud_typer0   $   s   € ð ÒÙÜ&×*Ñ*¨:ÓBÐBr!   c                ó:   € V ^8„  d   QhR\         \        ,          /# ©r$   r&   r'   )r)   s   "r"   r*   r*   ,   s   € ÷ 	ñ 	œ¤#�ñ 	r!   c                 ó¼   €  \         P                  ! . RO4      w  rV P                  4       #   \        P                   d     Mi ; i\
        P                  R4       R# )z%Query cloud instance-id from cmdline.z'Unable to determine current instance-idN)z
cloud-initÚqueryÚinstance_id)r   ÚsubpÚstripr
   ÚProcessExecutionErrorÚLOGÚwarning)ÚoutÚ_errs     r"   Úget_instance_idr=   ,   sL   € ðä—K’KÒ FÓG‰	ˆØ�y‰y‹{ÐøÜ×+Ñ+ô Ùðúä‡K�KÐ9Ô:Ùs   ‚), ¬AÁA)Úmaxsizer%   c                ór   € V ^8„  d   QhR\         \        \        ,          \        \        ,          3,          /# r2   )r   r   r(   r   )r)   s   "r"   r*   r*   :   s'   € ÷ 
7ñ 
7œœh¤s�m¬XÔ6GÕ-HÐHÕIñ 
7r!   c                  ó\  € \         P                  ! R 4      '       d-    \         P                  ! R .4      w  rV P                  4       R3# R\        P                  3#   \        P
                   d<   p\        P                  R\        T4      4       R\        P                  3u Rp?# Rp?ii ; i)zcloud-idNzerror running cloud-id: %s)r   Úwhichr6   r7   r
   r8   r9   Údebugr(   r   r   r   )r;   r<   Úexcs      r"   Úget_cloud_typerD   8   sŒ   € ô ‡|‚|�J×Òð	<ÜŸš Z LÓ1‰IˆCØ—I‘I“K Ð&Ð&ð
 Ô#×5Ñ5Ð6Ð6øô	 ×/Ñ/ô 	<Ü�I‰IÐ2´C¸³HÔ=ØÔ+×:Ñ:Ð;Õ;ûð	<ús   ž*A ÁB+Á00B&Â B+Â&B+c                óZ   € V ^8„  d   QhR\         \        ,          R\        P                  /# )r$   Úcloud_overrider&   )r   r(   r	   ÚAutoAttachInstance)r)   s   "r"   r*   r*   G   s&   € ÷ $ñ $ÜœS•Mð$ä×Ññ$r!   c                óÎ  € ^ RI HpHpHpHp RVP
                  RVP
                  RVP
                  RVP                  RVP                  RVP                  /pV e   T pM\        4       w  rgV'       g   \        P                  ! 4       hVP                  V4      pV'       g   \        P                  ! VR7      hV! 4       p	V	P                  '       g   \        P                  ! 4       hV	# )	aå  
:raises CloudFactoryError: if no cloud instance object can be constructed
:raises CloudFactoryNoCloudError: if no cloud instance object can be
    constructed because we are not on a cloud
:raises CloudFactoryUnsupportedCloudError: if no cloud instance object can
    be constructed because we don't have a class for the cloud we're on
:raises CloudFactoryNonViableCloudError: if no cloud instance object can be
    constructed because we explicitly do not support the cloud we're on
)r   r   ÚgcpÚlxdr   r   r   r   r   rJ   r/   )Úuaclient.cloudsr   r   rI   rJ   ÚAWSAutoAttachInstanceÚAzureAutoAttachInstanceÚGCPAutoAttachInstanceÚLXDAutoAttachInstancerD   r
   ÚCloudFactoryNoCloudErrorr.   ÚNonAutoAttachImageErrorÚ	is_viableÚCloudFactoryNonViableCloudError)
rF   r   r   rI   rJ   Úcloud_instance_mapr%   Ú_ÚclsÚinstances
   &         r"   Úcloud_instance_factoryrX   G   sÊ   € ÷ 5Ó4ð 	ˆs×(Ñ(Ø�S×.Ñ.Ø�3×,Ñ,Ø�×.Ñ.Øˆs×(Ñ(Øˆs×(Ñ(ðÐð Ò!Ø#‰
ä&Ó(‰ˆ
çÜ×1Ò1Ó3Ð3Ø
×
 Ñ
  Ó
,€CßÜ×0Ò0¸JÔGÐGÙ‹u€HØ××ÐÜ×8Ò8Ó:Ð:Ø€Or!   r,   )"ÚloggingÚenumr   Ú	functoolsr   Útypingr   r   r   r   Úuaclientr	   r
   r   r   r   Úuaclient.configr   Ú	getLoggerÚreplace_top_level_logger_namer   r9   ÚCLOUD_TYPE_TO_TITLEÚurlsÚPRO_ON_AWS_HOME_PAGEÚPRO_ON_AZURE_HOME_PAGEÚPRO_ON_GCP_HOME_PAGEÚPRO_CLOUD_URLSr-   r   r0   r=   rD   rX   r   r!   r"   Ú<module>rg      sì   ðÛ Ý Ý ß .Ó .ç ?Õ ?Ý :à×Ò˜×:Ò:¸8ÓDÓE€ð 
ˆ5Ø�ØˆyØˆWØ	ˆ5ðÐ ð 
ˆ8�=‰=×-Ñ-ØˆX�]‰]×1Ñ1Ø	ˆ8�=‰=×-Ñ-ð€ð �ØˆuðÐ ô˜ô õ
Cõ	ñ �4ÔÙ Ó-ô
7ó .ó ð
7÷$ñ $r!   