
    Uٵg                        d dl Z d dlZd dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZmZ d dlmZmZ d dlm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mZ d dlm Z  d dl!m"Z"  ejF                         Z$d Z%ejL                  ejN                   ejP                  d      d                      Z) edejT                  ejV                  e)dejX                  d e edejZ                  d       edej\                  dd       edej^                   e j`                  d             edejb                  je                  d      d dd!gd"      g#      g$      Z3y)%    N)actionscontractevent_logger
exceptionsmessagessecret_manager)	_initiate)MagicAttachRevokeOptions_revoke)MagicAttachWaitOptions_wait)cli_util)ProArgumentProArgumentGroup
ProCommand)HelpCategory)AttachActionsConfigFileIncorrectTypeError)*create_enable_entitlements_not_found_errorget_valid_entitlement_names)CanEnableFailure)	safe_loadc                   | j                   dk(  r!t        j                  d| j                         t        j	                  t
        j                         t        |      }t        j	                  dt
        j                  j                  |j                        z          t        |j                        }	 t        ||      }t        j	                  dt
        j"                  z          |j$                  S # t        j                  $ rM}t        j	                  t
        j                         t        |j                        }t!        ||       |d }~ww xY w)	Njson--format)paramvaluecfg
)	user_code)magic_token)optionsr   )formatr   MagicAttachInvalidParameventinfor   CLI_MAGIC_ATTACH_INITr	   CLI_MAGIC_ATTACH_SIGN_INr!   r   tokenr   MagicAttachTokenErrorCLI_MAGIC_ATTACH_FAILEDr
   r   CLI_MAGIC_ATTACH_PROCESSINGcontract_token)argsr   kwargsinitiate_respwait_options	wait_resperevoke_optionss           5/usr/lib/python3/dist-packages/uaclient/cli/attach.py_magic_attachr7   #   s   {{f00++
 	

 
JJx--.#&M	JJ

+
+
2
2#-- 3 
	
 *m6I6IJL	,C8	 
JJth:::;### ++ 

83341%++
 	C0s   7C6 6E	AEEz
pro attachc                   | j                   r | j                  rt        j                         | j                   s| j                  st	        | |      }d }n{| j                   r.| j                   }t
        j                  j                  |       d }nA	 t        j                  t        | j                              }|j                   }|j                  }| j                   xr |d u }	 t#        j$                  |||       d}|K| j                   r>t'        ||      \  }	}
|	D ]  }t#        j(                  ||      \  }}|sd}|#t+        |t,              s4|j.                  At0        j3                  |j.                  j                         t0        j5                  |j.                  j                  |j.                  j                  |       t0        j7                  |        |
rit9        |
|      }t0        j3                  |j                  t:        j<                         t0        j5                  |j                  |j>                         d}tA        jB                  |      }|jE                          tG        jH                  |       |S # t        $ r:}t        j                  | j                  j                  |j                        d }~ww xY w# t        jJ                  $ r t        jL                         w xY w)	Nr   )config_nameerror)r*   allow_enabler      )	error_msg
error_codeservice)	file_type)r=   r>   )'r*   attach_configr   CLIAttachTokenArgXORConfigr7   r   secrets
add_secretr   	from_dictr   r   AttachInvalidConfigFileErrornamemsgenable_servicesauto_enabler   attach_with_tokenr   enable_entitlement_by_name
isinstancer   messager&   r'   r:   service_processedr   sysstderrmsg_coder   UAContractClientupdate_activity_tokenr   post_cli_attachConnectivityErrorAttachError)r/   r   r0   r*   enable_services_overriderA   r4   r;   retfound	not_foundrG   ent_retreasonr:   contract_clients                   r6   action_attachr_   D   sw    zzd((3355ZZ 2 2d,#' 	

))%0#' 	3==$,,-M ###0#@#@ ##H(@D(HL(!!#UN #/D4D4D:(# E9  2")"D"DS$"OC*&v/?@"NN6

6>>#5#56&,nn&8&8'-~~':':$( $  ++D1!2$ B3 

599


;eiiENNK"33C8--/  %
e " 	99 ..33155 	 '' '$$&&'s$   (J #K 	K
5KK
(K5attachT   r*   ?)helpnargsz--no-auto-enablestore_falserJ   )rc   actiondestz--attach-configr)rc   typer   cli)defaultstorer   )rc   rf   choicesrk   )	arguments)rc   descriptionrf   preserve_descriptionhelp_categoryhelp_positionargument_groups)4argparserP   uaclientr   r   r   r   r   r   +uaclient.api.u.pro.attach.magic.initiate.v1r	   )uaclient.api.u.pro.attach.magic.revoke.v1r
   r   'uaclient.api.u.pro.attach.magic.wait.v1r   r   uaclient.clir   uaclient.cli.commandsr   r   r   uaclient.cli.parserr   uaclient.data_typesr   r   uaclient.entitlementsr   r   (uaclient.entitlements.entitlement_statusr   uaclient.yamlr   get_event_loggerr&   r7   assert_not_attachedassert_rootassert_lock_filer_   CLI_ROOT_ATTACHCLI_ATTACH_DESC
QUICKSTARTCLI_ATTACH_TOKENCLI_ATTACH_NO_AUTO_ENABLECLI_ATTACH_ATTACH_CONFIGFileTypeCLI_FORMAT_DESCr$   attach_command     r6   <module>r      sg    
  B " K K , K F #%%%'$B 
	<(A )  AH 		!	!(())(";";3 &!;;(&	 %!::***3/
 !11888G""FO!	
#r   