
    ]                     n   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  \	R$                  " \	R&                  R(                  \	R&                  R*                  \	R&                  R,                  5      \	R.                   " S S\	R0                  5      5       5       rg)z(Create public advertised prefix command.    )absolute_import)division)unicode_literals)base_classes)public_advertised_prefixes)base)flags)	arg_utils)logc                   .    \ rS rSrSr\S 5       rS rSrg)Create   a  Creates a Compute Engine public advertised prefix.

## EXAMPLES

To create a public advertised prefix:

  $ {command} my-public-advertised-prefix --range=120.120.10.0/24 \
    --dns-verification-ip=120.120.10.15

To create a v2 public advertised prefix:

  $ {command} my-v2-public-advertised-prefix --range=120.120.10.0/24 \
    --dns-verification-ip=120.120.10.15 --pdp-scope=REGIONAL
c                 x    [         R                  " 5       R                  U5        [         R                  " U5        g )N)r	   MakePublicAdvertisedPrefixesArgAddArgumentAddCreatePapArgsToParser)clsparsers     8lib/surface/compute/public_advertised_prefixes/create.pyArgsCreate.Args2   s'    	))+77?	""6*    c           	      ,   [         R                  " U R                  5       5      nUR                  R                  n[
        R                  " UR                  X2R                  5      n[        R                  " 5       R                  UUR                  [        R                  " UR                  5      S9nUR                  nS nUR                  (       a+  [        R                   " UR                  UR"                  5      nS nUR$                  (       a  UR$                  nUR'                  UUR(                  UUR*                  UR,                  (       a  UR/                  UR,                  5      OS US9n	[0        R2                  " UR5                  5       S5        U	$ )N)scope_lister)ip_cidr_rangedns_verification_ipdescription	pdp_scopeipv6_access_typezpublic advertised prefix)r   ComputeApiHolderReleaseTrackclientmessagesr   PublicAdvertisedPrefixesClient	resourcesr	   r   ResolveAsResourcecompute_flagsGetDefaultScopeListerPublicAdvertisedPrefixr   r
   ChoiceToEnumIpv6AccessTypeValueValuesEnumr   r   ranger   r   PdpScopeValueValuesEnumr   CreatedResourceName)
selfargsholderr#   
pap_clientpap_refpapinput_ipv6_access_typeinput_dns_verification_ipresults
             r   Run
Create.Run7   sN   **4+<+<+>?F}}%%H+JJx!1!1J 335GG"88G H G 
)
)C!(55




+
+ 
 !%"&":":jj5$$>> --dnn=/  	F (BCMr    N)	__name__
__module____qualname____firstlineno____doc__classmethodr   r9   __static_attributes__r;   r   r   r   r      s     
 + +#r   r   N)r@   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r'   =googlecloudsdk.command_lib.compute.public_advertised_prefixes$googlecloudsdk.command_lib.util.apisr
   googlecloudsdk.corer   ReleaseTracksr!   ALPHABETAGAUniverseCompatibleCreateCommandr   r;   r   r   <module>rP      s    / &  ' 7 E ( E O : # T..33T5F5F5I5I 8T 8 8r   