
                             d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddl	mZ
 ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ  G d dej,                        Zd Zd Zd Zd Zy)zGolang related utilities.    )absolute_import)division)unicode_literalsN)
exceptions)credentials)binary_operations)requests)creds)storec                   (     e Zd ZdZ fdZd Z xZS )PackOperationz;PackOperation is a wrapper of the package-go-module binary.c                 0    t        t        | 
  dddi| y )Nbinaryzpackage-go-module )superr   __init__)selfkwargs	__class__s     3lib/googlecloudsdk/command_lib/artifacts/go_util.pyr   zPackOperation.__init__$   s    	-'M/BMfM    c                 *    d|z   d|z   d|z   d|z   g}|S )Nz--module_path=z
--version=z	--source=z	--output=r   )r   module_pathversionsourceoutputr   argss          r   _ParseArgsForCommandz"PackOperation._ParseArgsForCommand'   s2     	;&wff	D Kr   )__name__
__module____qualname____doc__r   r   __classcell__)r   s   @r   r   r   !   s    CNr   r   c                      t        j                         j                         \  } }| j                  t	        j
                                | j                  S )zReturns the ADC token.)c_credsGetGoogleAuthDefaultdefaultrefreshr	   GoogleAuthRequesttoken)r
   _s     r   _GetAdcTokenr,   2   s<    ))+335(%--**,-	r   c                 n   	 t        j                  |       }|rt        d|      S t        j                  d      }	 	 t               }t        |      S # t
        j                  $ r}t        j                  |      }Y d}~Cd}~ww xY w# t        j                  t
        j                  f$ r}t        j                  |      }Y d}~nd}~ww xY w	 t        j                         }t        |      S # t
        j                  $ r}t        j                  |      }Y d}~nd}~ww xY wt        j                  |||      )z!Returns the authorization header._json_key_base64z--json-key unspecifiedN)r   GetServiceAccountCreds_BasicAuthHeaderar_exceptionsNoJsonKeyCredentialsErrorcore_exceptionsErrorr,   _BearerAuthHeaderga_exceptionsDefaultCredentialsErrorNoDefaultCredentialsErrorr   GetAccessTokenNoUserCredentialsErrorNoCredentialsError)json_keyr
   json_key_errer*   default_creds_erruser_creds_errs          r   AuthorizationHeaderrA   9   s   >..x8E

 
 #<<
"lCNEU## 
		 > ::1=L> 
/
/1F1F	G C%??BC=  "EU##			 ="99!<N= 	((%~	 sK   "A A B B$A>>B#C)CCC+ +D>DDc                 |    t        j                  |  d| j                  d            j                  d      }d| S )N:zutf-8zAuthorization: Basic )base64	b64encodeencodedecode)usernamepasswordr
   s      r   r0   r0   ^   sF    


	
!H:%%g.
F7O  !	((r   c                     d|  S )NzAuthorization: Bearer r   )r*   s    r   r5   r5   e   s    !%	))r   )r"   
__future__r   r   r   rD   google.authr   r6    googlecloudsdk.api_lib.artifactsr1   3googlecloudsdk.command_lib.artifacts.print_settingsr   &googlecloudsdk.command_lib.util.anthosr   googlecloudsdk.corer3   r	   googlecloudsdk.core.credentialsr
   r%   r   BinaryBackedOperationr   r,   rA   r0   r5   r   r   r   <module>rS      sV      &  '  3 H K D = ( < 1%;; ""J)*r   