
                             S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r
  SSKJr  SS jrSS jr " S	 S
\R                   5      rg)z6istioctl backed gcloud container fleet mesh debug API.    N)messages)binary_operations)
exceptions)storec                     [         R                  " [        R                  5      nU (       a  UR	                  U 5        U(       a  U H  nUR                  U5        M     U$ )z6Return an env dict to be passed on command invocation.)copydeepcopyosenvironupdatepop)
extra_varsexclude_varsenvks       Glib/googlecloudsdk/command_lib/container/fleet/mesh/istioctl_backend.pyGetEnvArgsForCommandr      s@    bjj!#JJz	ggaj 	*    c                      [         R                  " XS9nSU0n[        R                  " USS9$ ! [         a(  n[        R                  " SR                  XS95      eSnAff = f)z@Generate a JSON object containing the current gcloud auth token.)allow_account_impersonation
auth_tokenz<Error retrieving auth credentials for {operation}: {error}. )	operationerrorNT)	sort_keys)c_storeGetFreshAccessToken	Exceptionc_exceptErrorformatjsondumps)accountr   impersonatedaccess_tokenoutputes         r   GetAuthTokenr(   %   su    	+..;L 	lF 
Fd	++	 
 +
..FMM 	N 	*+ ++s   / 
A!#AA!c                   D   ^  \ rS rSrSrU 4S jrS rS rS rS r	Sr
U =r$ )	IstioctlWrapper4   z`istioctl_backend` wrapper.c                 r   > S[         R                  R                  SS90n[        [        U ]  " SSUS.UD6  g )NMISSING_EXECistioctl)binary)r/   custom_errors )r   MISSING_BINARYr    superr*   __init__)selfkwargsr0   	__class__s      r   r4   IstioctlWrapper.__init__7   sI    //66j6IM 
/4) # r   c                     US:X  a  U R                   " S0 UD6$ US:X  a  U R                  " S0 UD6$ US:X  a  U R                  " S0 UD6$ g )N
bug-reportproxy-configproxy-statusr1   )_ParseBugReportArgs_ParseProxyConfigArgs_ParseProxyStatusArgs)r5   commandr6   s      r   _ParseArgsForCommand$IstioctlWrapper._ParseArgsForCommandA   s[    ,%%///	N	"''1&11	N	"''1&11 
#r   c                     ASSU/nU$ )Nr:   	--contextr1   )r5   contextr6   	exec_argss       r   r=   #IstioctlWrapper._ParseBugReportArgsI   s    {G4Ir   c                 ~    ASUUSU/nU(       a  UR                  SU/5        U(       a  UR                  SU/5        U$ )Nr;   rD   z-oz--fqdnextend)r5   proxy_config_typepod_name_namespacerE   output_formatfqdnr6   rF   s           r   r>   %IstioctlWrapper._ParseProxyConfigArgsN   sQ     	I m,-$'(r   c                     A/ SQnU(       a  UR                  U/5        UR                  SU/5        U(       a  UR                  SSU-   /5        U(       a  UR                  SU/5        U$ )N)experimentalr<   z--xds-via-agentsrD   z
--meshNamezmesh:z--projectNumberrI   )r5   rE   pod_name	mesh_nameproject_numberr6   rF   s          r   r?   %IstioctlWrapper._ParseProxyStatusArgse   sn     	I
 z"k7+,g	&9:;)>:;r   r1   )__name__
__module____qualname____firstlineno____doc__r4   rA   r=   r>   r?   __static_attributes____classcell__)r7   s   @r   r*   r*   4   s$    #2
. r   r*   )NN)F)rZ   r   r!   r
   (googlecloudsdk.command_lib.anthos.commonr   &googlecloudsdk.command_lib.util.anthosr   googlecloudsdk.corer   r   googlecloudsdk.core.credentialsr   r   r   r(   StreamingBinaryBackedOperationr*   r1   r   r   <module>rb      s>    =   	 = D 6 <,A'FF Ar   