
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ dd	lmZ dd
lmZ ddlmZ dZdZd Z	 ddZd ZddZddZ	 ddZ	 	 ddZd dZdefdZdefdZy)!z*Flags for Firewall Plus Endpoint commands.    )absolute_import)division)unicode_literals)activation_api)actions)arg_parsers)concepts)concept_parsers)presentation_specs)
propertiesFIREWALL_ENDPOINTz`The Google Cloud project ID to use for API enablement check, quota, and endpoint uptime billing.c                 j   t        j                  |       }t        j                  dd|t        j                  ddd      t        j                  ddd	      t        j                  d
dd            }t        j                  t        |dd      }t        j                  |g      j                  |      S )z%Adds Firewall Plus endpoint resource.z9networksecurity.organizations.locations.firewallEndpointszfirewall endpointorganizationz"Organization ID of the {resource}.organizationsId)parameter_namezonezZone of the {resource}.locationsIdzendpoint-namezName of the {resource}firewallEndpointsId)api_versionr   r   r   TzFirewall Plus.)nameconcept_specrequired
group_help)r   GetApiVersionr	   ResourceSpec ResourceParameterAttributeConfigr   ResourcePresentationSpecENDPOINT_RESOURCE_NAMEr
   ConceptParserAddToParser)release_trackparserr   resource_specpresentation_specs        Clib/googlecloudsdk/command_lib/network_security/activation_flags.pyAddEndpointResourcer&   %   s    ,,];+''A??

.*
 ;;

#&
 #CC

".-( )AA! !	 
	&	&(9':	;	G	G	OO    c           	      V    | j                  ddd||t        j                                y)zAdds --max-wait flag.z
--max-waitmax_waitF)destr   defaulthelptypeN)add_argumentr   Duration)r"   default_max_wait	help_texts      r%   
AddMaxWaitr2   E   s2     	!  r'   c                       fdS )Nc                 H    t        j                        | j                  z   S )N)r   GetEffectiveApiEndpointr   )xr!   s    r%   <lambda>z MakeGetUriFunc.<locals>.<lambda>W   s    66}ENr'    )r!   s   `r%   MakeGetUriFuncr9   U   s    Nr'   c                 ,    | j                  dd|       y )Nz--organizationTr   r,   r.   r"   r1   s     r%   AddOrganizationArgr>   [   s    &IFr'   c                 ,    | j                  dd|       y )Nz--descriptionFr;   r<   r=   s     r%   AddDescriptionArgr@   _   s    oIFr'   c                 ,    | j                  dd|       y )Nz--target-firewall-attachmentFr;   r<   r=   s     r%   AddTargetFirewallAttachmentArgrB   c   s     	$u9  r'   Fc                 .    | j                  d||d       y )Nz--enable-jumbo-frames
store_truer   r,   actionr<   r"   r   r1   s      r%   AddEnableJumboFramesArgrH   l   s#    
 		  r'   Tc                 ,    | j                  d||       y )Nz--zoner;   r<   rG   s      r%   
AddZoneArgrJ   y   s    h	Br'   c                     | j                  d||t        j                  t        j                  j
                  j                               y)zAdd billing project argument to parser.

  Args:
    parser: ArgumentInterceptor, An argparse parser.
    required: bool, whether to make this argument required.
    help_text: str, help text to overwrite the generic --billing-project help
      text.
  z--billing-projectrE   Nr.   r   StorePropertyr   VALUESbillingquota_projectrG   s      r%   AddBillingProjectArgrQ   }   s@     	"":#4#4#<#<#J#JK	  r'   c           	          | j                  d||dt        j                  t        j                  j
                  j                               y)a  Add update billing project argument to parser.

  Args:
    parser: ArgumentInterceptor, An argparse parser.
    required: bool, whether to make this argument required.
    help_text: str, help text to display on the --update-billing-project help
      text.
  z--update-billing-projectBILLING_PROJECT)r   r,   metavarrF   NrL   rG   s      r%   AddUpdateBillingProjectArgrU      sC     	 "":#4#4#<#<#J#JK  r'   N)zTime to synchronously wait for the operation to complete, after which the operation continues asynchronously. Ignored if --no-async isn't specified. See $ gcloud topic datetimes for information on time formats.)zOrganization of the endpoint)zDescription of the endpoint)zGTarget firewall attachment where third party endpoint forwards traffic.)FzeEnable jumbo frames for the firewall endpoint. To disable jumbo frames, use --no-enable-jumbo-frames.)TzZone of the endpoint)__doc__
__future__r   r   r   :googlecloudsdk.api_lib.network_security.firewall_endpointsr   googlecloudsdk.callioper   r    googlecloudsdk.calliope.conceptsr	   (googlecloudsdk.command_lib.util.conceptsr
   r   googlecloudsdk.corer   r   BILLING_HELP_TESTr&   r2   r9   r>   r@   rB   rH   rJ   rQ   rU   r8   r'   r%   <module>r^      s    1 &  ' U + / 5 D G * -   PF c GG X u
C > r'   