
                             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 r
/ SQrSS
 jrSS jr  SS jrSS jr SS jrS r SS jrS rS rg	)zFlags for IDS commands.    )ids_api)arg_parsers)concepts)concept_parsers)presentation_specsc                 &    U R                  SSSS9  g)zAdds --description flag.z--descriptionFzDescription of the endpoint.requiredhelpNadd_argument)parsers    +lib/googlecloudsdk/command_lib/ids/flags.pyAddDescriptionArgr      s    ,J  L    )INFORMATIONALLOWMEDIUMHIGHCRITICALNc                 F    U=(       d    [         nU R                  SUUSS9  g)zAdds --severity flag.z
--severityz)Minimum severity of threats to report on.)r
   choicesr   N)DEFAULT_SEVERITIESr   )r   r
   severity_levelsr   s       r   AddSeverityArgr   "   s,    11'6	  8r   c                 P    U R                  S[        R                  " 5       USSS9  g )Nz--threat-exceptionszexc1,exc2,...zZList of threat IDs to be excepted from alerting. Passing empty list clears the exceptions.)typer
   metavarr   )r   r   ArgList)r   r
   s     r   AddThreatExceptionsArgr    ,   s/     2  r   c                 $    U R                  SXS9  g)zAdds --network flag.z	--networkr	   Nr   r   r
   	help_texts      r   AddNetworkArgr$   7   s     	kHEr   c                 (    U R                  SUSUS9  g )Nz--zone-)r
   defaultr   r   r"   s      r   
AddZoneArgr(   >   s    h3YOr   c           	      ,    U R                  SSSSUSS9  g )Nz--enable-traffic-logsenable_traffic_logsF
store_true)destr
   r'   r   actionr   )r   r#   s     r   AddTrafficLogsArgr.   B   s)    
 	   r   c                    Sn[         R                  " SS[         R                  " SS5      [         R                  " SSSS9[         R                  S9n[        R
                  " UUS	S
S9n[        R                  " U/5      R                  U 5      $ )zAdds Endpoint resource.endpointz ids.projects.locations.endpointsName of the {resource}zoneZone of the {resource}.
locationIdparameter_name)
endpointIdr4   	projectIdTz	endpoint.nameconcept_specr
   
group_help)	r   ResourceSpec ResourceParameterAttributeConfig DEFAULT_PROJECT_ATTRIBUTE_CONFIGr   ResourcePresentationSpecr   ConceptParserAddToParserr   r:   resource_specpresentation_specs       r   AddEndpointResourcerF   P   s    	$''(::
.0::
+LJ99;- )AA 	
 
	&	&(9':	;	G	G	OOr   c           	      R    U R                  SSSUU[        R                  " 5       S9  g)zAdds --max-wait flag.z
--max-waitmax_waitF)r,   r
   r'   r   r   N)r   r   Duration)r   default_max_waitr#   s      r   
AddMaxWaitrK   c   s2     	!  #r   c                    ^  U 4S j$ )Nc                 J   > [         R                  " T5      U R                  -   $ )N)r   GetEffectiveApiEndpointr:   )xrelease_tracks    r   <lambda> MakeGetUriFunc.<locals>.<lambda>t   s    722=AAFFJr    )rP   s   `r   MakeGetUriFuncrT   s   s	    	JJr   c                    Sn[         R                  " SS[         R                  [         R                  " SSSS9[         R                  " SS5      S9n[        R
                  " UUS	S
S9n[        R                  " U/5      R                  U 5      $ )zAdds Operation resource.	operationz!ids.projects.locations.operationsr2   r3   locationsIdr5   r1   )
projectsIdrW   operationsIdTz
operation.r9   )	r   r=   r?   r>   r   r@   r   rA   rB   rC   s       r   AddOperationResourcerZ   w   s    	$'')::;;
+MK<<
/12- )AA 	
 
	&	&(9':	;	G	G	OOr   )TN)F)Tz"Name of the VPC network to monitor)TzZone of the endpoint)zWhether to enable traffic logs on the endpoint. Enabling traffic logs can generate a large number of logs which can increase costs in Cloud Logging.)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.)__doc__googlecloudsdk.api_lib.idsr   googlecloudsdk.callioper    googlecloudsdk.calliope.conceptsr   (googlecloudsdk.command_lib.util.conceptsr   r   r   r   r   r    r$   r(   r.   rF   rK   rT   rZ   rS   r   r   <module>r`      so     / / 5 D GL L 8  @FP'P*O# KPr   