
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSK
Jr  SS	KJr  S
 r " S S\R                   5      rg)z"Create a new external account key.    )absolute_import)division)unicode_literals)base)
exceptions)log)
properties)filesc                      [         R                  " X5        g ! [         R                  [        [        4 a&    [
        R                  " SR                  U5      5      ef = f)Nz-Could not write external account key to '{}'.)r
   WriteFileContentsErrorOSErrorIOErrorr   BadFileExceptionformat)external_account_keykey_output_files     4lib/surface/publicca/external_account_keys/create.py_ExportExternalAccountKeyr      sU    Q	OB
++w	( Q

%
%7>>OQ QQs
    AAc                   .    \ rS rSrSr\S 5       rS rSrg)Create%   zCreate a new external account key.

## EXAMPLES

To create an external account key:

    $ {command}

To create an external account key and save it to a file:

    $ {command} --key-output-file=./external_account_key.txt
c                 $    U R                  SSS9  g )Nz--key-output-filez=The path where the generated external account key is written.)help)add_argument)parsers    r   ArgsCreate.Args3   s    
L  N    c                 j   [         R                  " U R                  5       5      n[         R                  " U5      U l        [         R
                  " U5      U l        [        R                  R                  R                  R                  SS9nU R                  R                  SR                  U5      S9nU R                  R                  R                  U5      nSR                  UR                   R#                  SS5      UR$                  S9nS	nUR'                  S
5      (       a4  USR                  UR(                  5      -  n[+        XaR(                  5        OUSR                  U5      -  n[,        R.                  R1                  U5        UR                   R#                  SS5      UR$                  S.$ )NT)requiredzprojects/{}/locations/global)parentzb64MacKey: {key}
keyId: {id}zutf-8backslashreplace)keyidzCreated an external account keyr   z and saved it to [{}]z
[{}]
)	b64MacKeykeyId)publicca_base
GetVersionReleaseTrackGetClientInstanceclientGetMessagesModulemessagesr	   VALUEScoreprojectGet9PubliccaProjectsLocationsExternalAccountKeysCreateRequestr   &projects_locations_externalAccountKeysr   r&   decoder'   IsSpecifiedr   r   r   statusPrint)selfargsapi_versionr1   requestr   
key_and_idstatus_messages           r   Run
Create.Run9   sw   **4+<+<+>?K11+>DK!33K@DM$$,,00$0?GmmUU-44W= V ?G  ;;MMTT188 **11';MN%% 9 'J 7N)**/66t7K7KLLn
,@,@A
))*55nJJ^$ !**11';MN &&	 r   )r,   r.   N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r?   __static_attributes__ r   r   r   r   %   s"     N N
r   r   N)rE   
__future__r   r   r   googlecloudsdk.api_lib.publiccar   r(   googlecloudsdk.callioper   googlecloudsdk.corer   r	   googlecloudsdk.core.utilr
   r   CreateCommandr   rH   r   r   <module>rO      s=    ) &  ' A ( . # * *Q-T -r   