
                         &   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S
KJr  SSKJr  \R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       rg)zCreate a new CA pool.    )absolute_import)division)unicode_literals)base)request_utils)flags)
operations)resource_args)labels_util)logc                   .    \ rS rSrSr\S 5       rS rSrg)Create   a  Create a new CA Pool.

## EXAMPLES

To create a CA pool in the dev ops tier:

    $ {command} my-pool --location=us-west1 \
        --tier=devops

To create a CA pool and restrict what it can issue:

    $ {command} my-pool --location=us-west1 \
        --issuance-policy=policy.yaml

To create a CA pool that doesn't publicly publish CA certificates and CRLs:

    $ {command} my-pool --location=us-west1 \
        --issuance-policy=policy.yaml \
        --no-publish-ca-cert \
        --no-publish-crl
c                    [         R                  " U S5        [        R                  " U 5        [        R                  " U SS9  [        R
                  " U 5        [        R                  " U 5        [        R                  " U 5        g )Nz	to createF)use_update_help_text)	r
   AddCaPoolPositionalResourceArgr   AddTierFlagAddPublishingOptionsFlagsAddCaPoolIssuancePolicyFlagAddEncryptionKeyFlagr   AddCreateLabelsFlags)parsers    %lib/surface/privateca/pools/create.pyArgsCreate.Args8   sZ    00E	f	##FG	%%f-	v&$$V,    c           	      |   [         R                  " S5      n[         R                  " S5      nUR                  R                  R                  5       n[        R                  " U5      n[        R                  " U5      n[        R                  " U5      n[        R                  " XR                  R                  5      n[        R                  " U5      n	UR                  UUUUU	S9n
UR                  R!                  UR#                  U
UR%                  5       UR'                  5       R)                  5       [*        R,                  " 5       S95      n[.        R0                  " USSS9n[.        R2                  " UUR                  5      n[4        R6                  R9                  SR;                  UR<                  5      5        g )Nv1)issuancePolicypublishingOptionstierlabelsencryptionSpec)caPoolcaPoolIdparent	requestIdzCreating CA Pool.)api_versionzCreated CA Pool [{}].)privateca_baseGetClientInstanceGetMessagesModuleCONCEPTSca_poolParser   ParseIssuancePolicyParsePublishingOptionsParseTierFlagr   ParseCreateArgsCaPoolLabelsValueParseEncryptionSpecprojects_locations_caPoolsr   .PrivatecaProjectsLocationsCaPoolsCreateRequestNameParentRelativeNamer   GenerateRequestIdr	   AwaitGetMessageFromResponser   statusPrintformatname)selfargsclientmessagesca_pool_refissuance_policypublishing_optionsr!   r"   encryption_specnew_ca_pool	operationca_pool_responser-   s                 r   Run
Create.RunA   sm   --d3F//5H--''--/K//5O55d;t$D((/J/JKF//5O//&,& " (K 1188?? %%'%%'446#557	 	@ 	9:I "''&D://0@08AG JJ,33GLLABr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rM   __static_attributes__rO   r   r   r   r      s!    , - -Cr   r   N)rT   
__future__r   r   r    googlecloudsdk.api_lib.privatecar   r)   r   googlecloudsdk.calliope$googlecloudsdk.command_lib.privatecar   r	   r
   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   ReleaseTracksReleaseTrackGADefaultUniverseOnlyCreateCommandr   rO   r   r   <module>rb      st     &  ' C : ( 6 ; > < # D%%(()<CT <C  *<Cr   