
                            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\R0                  5      5       5       r\R(                  " \R*                  R4                  5       " S S\5      5       r\R(                  " \R*                  R8                  5       " S S\5      5       rg)z'Create public delegated prefix command.    )absolute_import)division)unicode_literals)base_classes)public_delegated_prefixes)utils)base)flags)	arg_utils)logc                   L    \ rS rSrSr\R                  r\S 5       r	S r
S rSrg)Create   Creates a Compute Engine public delegated prefix.

## EXAMPLES

To create a public delegated prefix:

  $ {command} my-public-delegated-prefix --public-advertised-prefix=my-pap \
    --range=120.120.10.128/27 --global
c                 x    [         R                  " 5       R                  U5        [         R                  " U5        g N)r
   MakePublicDelegatedPrefixesArgAddArgumentAddCreatePdpArgsToParser)clsparsers     7lib/surface/compute/public_delegated_prefixes/create.pyArgsCreate.Args.   s'    	((*66v>	""6*    c                 p   [         R                  " U R                  5       5      n[        R                  " UR
                  UR
                  R                  UR                  5      n[        R                  " 5       R                  UUR                  [        R                  " UR
                  5      S9nUR                  (       aJ  [        R                  " UR                  UR
                  R                  R                   R"                  5      nOS n[%        US5      (       a[  UR&                  (       aJ  [        R                  " UR&                  UR
                  R                  R                   R(                  5      nOS nUR+                  UUR,                  (       a  UR,                  OS UR.                  (       a  UR.                  OS UR0                  UR2                  UR4                  UUR6                  (       a  [9        UR6                  5      OS US9	n[:        R<                  " UR?                  5       S5        U$ )N)scope_listerpurpose)parent_pap_prefixparent_pdp_prefixip_cidr_rangedescriptionenable_live_migrationmodeallocatable_prefix_lengthr   zpublic delegated prefix) r   ComputeApiHolderReleaseTrackr   PublicDelegatedPrefixesClientclientmessages	resourcesr
   r   ResolveAsResourcecompute_flagsGetDefaultScopeListerr$   r   ChoiceToEnumPublicDelegatedPrefixModeValueValuesEnumhasattrr   PurposeValueValuesEnumr   public_advertised_prefixpublic_delegated_prefixranger"   r#   r%   intr   CreatedResourceName)selfargsholder
pdp_clientpdp_ref
input_moder   results           r   _RunCreate._Run3   s   **4+<+<+>?F*HHv}}--v/?/?J 224FF"88G G G yy))
))
--
 
 
6
6
J
Jj
 jtYDLL&&
,,
--
 
 
6
6
M
Mg
 g(( 77'' 66jj$$"88)) #&d&D&D"E  F" (ABMr   c                 $    U R                  U5      $ r   rA   r:   r;   s     r   Run
Create.Runb       99T?r    N)__name__
__module____qualname____firstlineno____doc__compute_apiCOMPUTE_GA_API_VERSION_api_versionclassmethodr   rA   rF   __static_attributes__rI   r   r   r   r      s1     33,+ +-^r   r   c                   0    \ rS rSrSr\R                  rSrg)
CreateBetaf   r   rI   N)	rJ   rK   rL   rM   rN   rO   COMPUTE_BETA_API_VERSIONrQ   rS   rI   r   r   rU   rU   f   s     55,r   rU   c                   T   ^  \ rS rSrSr\R                  r\U 4S j5       r	S r
SrU =r$ )CreateAlphau   r   c                 X   > [         R                  " U5        [        [        U ]  U5        g r   )r
   AddPdpPurposesuperrY   r   )r   r   	__class__s     r   r   CreateAlpha.Args   s     		+s (r   c                 $    U R                  U5      $ r   rD   rE   s     r   rF   CreateAlpha.Run   rH   r   rI   )rJ   rK   rL   rM   rN   rO   COMPUTE_ALPHA_API_VERSIONrQ   rR   r   rF   rS   __classcell__)r^   s   @r   rY   rY   u   s1     66,) ) r   rY   N)rN   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   rO   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r-   <googlecloudsdk.command_lib.compute.public_delegated_prefixes$googlecloudsdk.command_lib.util.apisr   googlecloudsdk.corer   ReleaseTracksr'   GAUniverseCompatibleCreateCommandr   BETArU   ALPHArY   rI   r   r   <module>rq      s    . &  ' 7 D ? ( E N : # D%%(()BT B  *BJ D%%**+6 6 ,6 D%%++,*  -r   