
                             S r SSKJr  SSKJr  SSKJr  SSK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S.r\	R                   R"                  4r\	R&                  " \	R                   R(                  \	R                   R*                  5      \	R,                   " S S\	R.                  5      5       5       r\	R&                  " \	R                   R"                  5      \	R,                   " S S\5      5       5       r\\l        g)zCreate endpoint command.    )absolute_import)division)unicode_literalsN)activation_api)base)
exceptions)activation_flags)labels_utila5  
          Create a firewall endpoint. Successful creation of an endpoint results
          in an endpoint in READY state. Check the progress of endpoint creation
          by using `gcloud network-security firewall-endpoints list`.

          For more examples, refer to the EXAMPLES section below.

        z
            To create a firewall endpoint called `my-endpoint`, in zone
            `us-central1-a` and organization ID 1234, run:

            $ {command} my-endpoint --zone=us-central1-a --organization=1234

        )DESCRIPTIONEXAMPLESc                   8    \ rS rSrSr\S 5       rS rSS jrSr	g)	Create3    Create a Firewall Plus endpoint.c                    U R                  5       [        ;   n[        R                  " U R                  5       UU5        [        R                  " US5        [        R
                  " U5        [        R                  " U5        [        R                  " USS9  [        R                  R                  U5        [        R                  R                  US5        [        R                  " U5        g )N60mF)requiredT)ReleaseTrack_PROJECT_SCOPE_SUPPORTED_TRACKSr	   AddEndpointResource
AddMaxWaitAddDescriptionArgAddEnableJumboFramesArgAddBillingProjectArgr   
ASYNC_FLAGAddToParser
SetDefaultr
   AddCreateLabelsFlags)clsparserproject_scope_supporteds      9lib/surface/network_security/firewall_endpoints/create.pyArgsCreate.Args8   s     	==  ((
 .&&v.,,V4))&5AOO'OOvt,$$V,    c                 $    U R                  U5      $ N)_Run)selfargss     r"   Run
Create.RunJ   s    99T?r%   Nc                 t   UR                   R                  R                  5       nUR                  nUR                  R
                  [        R                  :H  nU(       d(  UR                  (       d  [        R                  " SS5      e[        R                  " U R                  5       U5      n[        R                  " XR                   R"                  R$                  5      nUR&                  n	[(        R*                  " UR,                  S9n
UR/                  UR1                  5       UR3                  5       R5                  5       [7        USS 5      UR                  UU[7        USS 5      U[7        USS 5      [7        USS 5      [7        USS 5      [7        US	S 5      [7        US
S 5      [7        USS 5      [7        USS 5      [7        USS 5      [7        USS 5      S9nU	(       a  UR9                  S5      (       d  SUl        U$ UR=                  UR?                  U5      SR;                  UR5                  5       5      SU
S9$ )Nzbilling-projectzK--billing-project flag must be specified for org-scoped firewall endpoints.)secondsdescriptionenable_jumbo_framesenable_wildfirewildfire_regioncontent_cloud_regionwildfire_lookup_timeoutwildfire_lookup_actionwildfire_analysis_timeoutwildfire_analysis_action enable_wildfire_analysis_loggingblock_partial_http)nameparentr/   billing_project_idlabelstarget_firewall_attachmentr0   endpoint_typer1   r2   r3   r4   r5   r6   r7   r8   r9   formatdefaultz0waiting for firewall endpoint [{}] to be createdT)operation_refmessage
has_resultmax_wait) CONCEPTSfirewall_endpointParseresultconcept_typer:   r	   $PROJECT_ENDPOINT_RESOURCE_COLLECTIONbilling_projectr   RequiredArgumentExceptionr   Clientr   r
   ParseCreateArgsmessagesFirewallEndpointLabelsValueasync_datetime	timedeltarE   CreateEndpointNameParentRelativeNamegetattrIsSpecifiedr@   WaitForOperationGetOperationRef)r)   r*   r>   r?   rI   endpointproject_scopedclientr=   is_asyncrE   	operations               r"   r(   Create._RunM   s   ]],,224F}}H 	  @@	A 
 $"6"600
  ""4#4#4#6GF((oo..::F {{H!!$--8H%%]]_ --/D-6//#=#D*?F#&7>&7>$T+A4H '.G N&t-EtL")-t#
 "),d"
 *14d*
 #4)=tD/ & I4  h''"",,Y7BII!!#
  #  r%    )NN)
__name__
__module____qualname____firstlineno____doc__classmethodr#   r+   r(   __static_attributes__rd   r%   r"   r   r   3   s$     )- -"@r%   r   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )CreateAlpha   r   c                   > [         [        U ]  U5        [        R                  " U5        [        R
                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        g r'   )superrm   r#   r	   AddTargetFirewallAttachmentArgAddEnableWildfireArgAddWildfireRegionArgAddContentCloudRegionArgAddWildfireLookupTimeoutArgAddWildfireLookupActionArgAddWildfireAnalysisTimeoutArgAddWildfireAnalysisActionArg#AddEnableWildfireAnalysisLoggingArgAddBlockPartialHttpArg)r   r    	__class__s     r"   r#   CreateAlpha.Args   s    	+s (33F;))&1))&1--f5008//7226:11&988@++F3r%   c                 b    [        USS 5      nUb  U R                  XSS9$ U R                  XSS9$ )Nr>   THIRD_PARTY)r?   TYPE_UNSPECIFIED)rZ   r(   )r)   r*   r>   s      r"   r+   CreateAlpha.Run   sV    !(*D" "-YY
-    YY
:L   r%   rd   )
re   rf   rg   rh   ri   rj   r#   r+   rk   __classcell__)r{   s   @r"   rm   rm      s$     )4 4 r%   rm   )ri   
__future__r   r   r   rT   :googlecloudsdk.api_lib.network_security.firewall_endpointsr   googlecloudsdk.callioper   r   +googlecloudsdk.command_lib.network_securityr	   $googlecloudsdk.command_lib.util.argsr
   DETAILED_HELPr   ALPHAr   ReleaseTracksBETAGADefaultUniverseOnlyCreateCommandr   rm   detailed_helprd   r%   r"   <module>r      s     &  '  U ( . H <& 	# 
 D%%**D,=,=,@,@AXT X  BXv D%%++,&   -@ % r%   