
                             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	  \	R                  " SSS	S
\	R                  S9rS rS rS rS rS rS rS rS rg)z;Flags for the `compute public-delegated-prefixes` commands.    )absolute_import)division)unicode_literals)base)flags--public-delegated-prefixpublic delegated prefix%compute.globalPublicDelegatedPrefixescompute.publicDelegatedPrefixes)nameresource_nameglobal_collectionregional_collectionregion_explanationc                  .    [         R                  " SSSS9$ )Nr	   r   r
   )r   r   r   compute_flagsResourceArgument     Ilib/googlecloudsdk/command_lib/compute/public_delegated_prefixes/flags.pyMakePublicDelegatedPrefixesArgr   !   s    		'	'-;?
 r   c                  ,    [         R                  " SSS9$ )Nr	   r   )r   r   r   r   r   r   &MakeRegionalPublicDelegatedPrefixesArgr   )   s    		'	'-;
 r   c                 :   U R                  SS9nUR                  SSS9  UR                  SSS9  U R                  SSS	S
9  U R                  SSS9  U R                  SSSSS9  / SQn[        R                  " SUSS9R	                  U 5        U R                  SSS9  g)z8Adds flags for public delegated prefixes create command.T)requiredz--public-advertised-prefixzDPublic advertised prefix that this delegated prefix is created from.helpr   zLRegional Public delegated prefix that this delegated prefix is created from.--rangezIP range from this public delegated prefix that should be delegated, in CIDR format. It must be smaller than parent public advertised prefix range.)r   r   --descriptionz,Description of this public delegated prefix.z--enable-live-migration
store_trueNzESpecify if this public delegated prefix is meant to be live migrated.actiondefaultr   
delegationz&external-ipv6-forwarding-rule-creationz!external-ipv6-subnetwork-creationz!internal-ipv6-subnetwork-creation--mode$Specifies the mode of this IPv6 PDP.choiceshelp_str--allocatable-prefix-lengthz4The allocatable prefix length supported by this PDP.)add_mutually_exclusive_groupadd_argumentr   ChoiceArgumentAddToParser)parserparent_prefix_argsmode_choicess      r   AddCreatePdpArgsToParserr4   0   s    ::D:I!!"
P "  !!! "  	%	   	J   	  , 5 K#A  r   c                 *    U R                  S/ SQSS9  g)z8Adds flags for global public delegated prefixes purpose.z	--purpose)$APPLICATION_AND_PROXY_LOAD_BALANCERS-PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0-PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1zxThe purpose of the public delegated prefix. This field can only be set for the top-level global public delegated prefix.)r*   r   Nr.   r1   s    r   AddPdpPurposer;   f   s#    C  r   c                     U R                  SSR                  U5      S9  [        R                  U SR                  U5      S9  g)zCAdds common flags for delegate sub prefixes create/delete commands.r   z'Name of the delegated sub prefix to {}.r   z{} the delegate sub prefix for)operation_typeN)r.   format PUBLIC_DELEGATED_PREFIX_FLAG_ARGAddArgument)r1   verbs     r   _AddCommonSubPrefixArgsrB   v   sL    <CCDI   #..=DDTJ / r   c                    [        U S5        U R                  SSS9  U R                  SSS9  U R                  SSS9  U R                  S	S
SS9  / SQn[        R                  " SUSS9R	                  U 5        U R                  SSS9  g)z4Adds flags for delegate sub prefixes create command.creater   zIPv4 range from this public delegated prefix that should be delegated, in CIDR format. If not specified, the entire range ofthe public advertised prefix is delegated.r   r    z2Description of the delegated sub prefix to create.z--delegatee-projectzProject to delegate the IPv4 range specified in `--range` to. If empty, the sub-range is delegated to the same/existing project.z--create-addressesr!   znSpecify if the sub prefix is delegated to create address resources in the delegatee project. Default is false.)r#   r   r%   r'   r(   r)   r,   z?Specify allocatable prefix length supported by this sub prefix.N)rB   r.   r   r/   r0   )r1   r3   s     r   AddCreateSubPrefixArgsrE      s    &(+7   	P   	O   	B	  , 5 K#L  r   c                     [        U S5        g)z4Adds flags for delegate sub prefixes delete command.deleteN)rB   r:   s    r   AddDeleteSubPrefixArgsrH      s    &(+r   c                 L    U R                  SSSSS9  U R                  SSSSS9  g )Nz--announce-prefixr!   Fz:Specify if the prefix will be announced. Default is false.r"   z--withdraw-prefixz:Specify if the prefix will be withdrawn. Default is false.r9   r:   s    r   AddUpdatePrefixArgsrJ      sB    G	   	G	  r   N)__doc__
__future__r   r   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r   r   REGION_PROPERTY_EXPLANATIONr?   r   r   r4   r;   rB   rE   rH   rJ   r   r   r   <module>rP      sj    B &  ' ( E#0#A#A	$+=9$@@$  3l +\,
r   