
                            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	0S
S0SSS.S.S.rSS	0SS0SSS.S.S.rSS	0SSS.SSS.S.S.rSS	0SS0SSS.S.S.rSS	0SS0SSS.S.S.rSS0SSSS.0S.rSSS.S
S0SSS.S.S.rSSS.SS0SSS.S.S.rSSS.SSS.SSS.S.S.rSSS.SS0SSS.S.S.rSSS.SS0SSS.S.S.rSSS.SSSS.0S.r\\\\\\\\\\\\S.rS rS rg)z<Helpers for building x509 parameters using a preset profile.    )absolute_import)division)unicode_literals)base)messages)
exceptionsisCaF
clientAuthT)digitalSignaturekeyEncipherment)extendedKeyUsagebaseKeyUsage)	caOptionskeyUsagecodeSigning)r   contentCommitment)
serverAuthr
   r   emailProtectionr   )certSigncrlSign)r	   maxIssuerPathLength)leaf_client_tlsleaf_code_signing	leaf_mtlsleaf_server_tls
leaf_smimeroot_unconstrained subordinate_client_tls_pathlen_0"subordinate_code_signing_pathlen_0subordinate_mtls_pathlen_0 subordinate_server_tls_pathlen_0subordinate_smime_pathlen_0#subordinate_unconstrained_pathlen_0c                  <    [        [        R                  5       5      $ )zDReturns the possible string options for the use-preset-profile flag.)sorted_PRESET_PROFILESkeys     ;lib/googlecloudsdk/command_lib/privateca/preset_profiles.pyGetPresetProfileOptionsr+      s    	 %%'	((r)   c                     U [         ;  a  [        R                  " SS5      e[        R                  " S5      n[
        R                  " [         U    UR                  5      $ )zParses the profile name string into the corresponding API X509Parameters.

Args:
  profile_name: The preset profile name.

Returns:
  An X509Parameters object.
z--use-preset-profilez5The preset profile that was specified does not exist.v1)r&   r   InvalidArgumentExceptionprivateca_baseGetMessagesModulemessages_utilDictToMessageWithErrorCheckX509Parameters)profile_namer   s     r*   GetPresetX509Parametersr5      s]     ))

-
-?A A --d3(		2	2|$h&=&=
? ?r)   N)__doc__
__future__r   r   r    googlecloudsdk.api_lib.privatecar   r/   googlecloudsdk.api_lib.utilr   r1   googlecloudsdk.callioper   _LEAF_CLIENT_TLS_LEAF_CODE_SIGNING
_LEAF_MTLS_LEAF_SERVER_TLS_LEAF_SMIME_ROOT_UNCONSTRAINED!_SUBORDINATE_CLIENT_TLS_PATHLEN_0#_SUBORDINATE_CODE_SIGNING_PATHLEN_0_SUBORDINATE_MTLS_PATHLEN_0!_SUBORDINATE_SERVER_TLS_PATHLEN_0_SUBORDINATE_SMIME_PATHLEN_0$_SUBORDINATE_UNCONSTRAINED_PATHLEN_0r&   r+   r5   r(   r)   r*   <module>rG      s   C &  ' C A . 	
 $
 !%#
		 " 	
 4
 !%!%
		 " 	
 

 !%#
		
$ 	
 $
 !%#
		 " 	
 t
 !%!%
		" 	 	
	
    $
 
	% !$   4
 
	' #$   

 
	 &   $
 
	% !$   t
 
	  $  
 	
( $ (+'-(I*M"=(I#?+O  )
?r)   