
    '                     j   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S.r\	R                  \	R                   " \	R"                  R$                  \	R"                  R&                  \	R"                  R(                  5       " S S\	R*                  5      5       5       r\\l        g)z$Create intercept deployment command.    )absolute_import)division)unicode_literalsN)api)base)deployment_flags)labels_utilaA  
          Create an intercept deployment. Successful creation of a deployment results
          in a deployment in ACTIVE state. Check the progress of deployment creation
          by using `gcloud network-security intercept-deployments list`.

          For more examples, refer to the EXAMPLES section below.

        a  
            To create an intercept deployment called `my-deployment`, in project ID `my-project` and zone `us-central1-a`, run:
            $ {command} my-deployment --project=my-project --location=us-central1-a --deployment-group-location=global
            --forwarding-rule=my-forwarding-rule --forwarding-rule-location=us-central1 --intercept-deployment-group=my-deployment-group

            OR

            $ {command} my-deployment --project=my-project --location=us-central1-a
            --forwarding-rule=projects/my-project/regions/us-central1/forwardingRules/my-forwarding-rule
            --intercept-deployment-group=projects/my-project/locations/global/interceptDeploymentGroups/my-deployment-group

            OR

            $ {command} projects/my-project/locations/us-central1/interceptDeployments/my-deployment
            --forwarding-rule=projects/my-project/regions/us-central1/forwardingRules/my-forwarding-rule
            --intercept-deployment-group=projects/my-project/locations/global/interceptDeploymentGroups/my-deployment-group

            OR

            $ {command} projects/my-project/locations/us-central1/interceptDeployments/my-deployment
            --forwarding-rule=projects/my-project/regions/us-central1/forwardingRules/my-forwarding-rule
            --intercept-deployment-group=projects/my-project/locations/global/interceptDeploymentGroups/my-deployment-group
            --description="my-description"

        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)CreateA   zCreate an Intercept Deployment.c                    [         R                  " U R                  5       U5        [         R                  " U5        [         R                  " U R                  5       U5        [         R
                  " US5        [         R                  " U5        [        R                  R                  U5        [        R                  R                  US5        [        R                  " U5        g )N20mT)r   AddDeploymentResourceReleaseTrackAddForwardingRuleResource#AddInterceptDeploymentGroupResource
AddMaxWaitAddDescriptionArgr   
ASYNC_FLAGAddToParser
SetDefaultr	   AddCreateLabelsFlags)clsparsers     <lib/surface/network_security/intercept_deployments/create.pyArgsCreate.ArgsH   s    **3+;+;+=vF..v688F  &&v.OO'OOvt,$$V,    c                 p   [         R                  " U R                  5       5      nUR                  R                  R                  5       nUR                  R                  R                  5       nUR                  R                  R                  5       n[        R                  " XR                  R                  R                  5      nUR                  n[        R                  " UR                   S9nUR#                  UR%                  5       UR'                  5       R)                  5       UR)                  5       UR)                  5       [+        USS 5      US9n	U(       a  UR-                  S5      (       d  SUl        U	$ UR1                  UR3                  U	5      SR/                  UR)                  5       5      SUS9$ )	N)secondsdescription)deployment_idparentforwarding_ruleintercept_deployment_groupr#   labelsformatdefaultz3waiting for intercept deployment [{}] to be createdT)operation_refmessage
has_resultmax_wait)r   Clientr   CONCEPTSintercept_deploymentParser&   r'   r	   ParseCreateArgsmessagesInterceptDeploymentLabelsValueasync_datetime	timedeltar.   CreateDeploymentNameParentRelativeNamegetattrIsSpecifiedr)   WaitForOperationGetOperationRef)
selfargsclient
deploymentr&   r'   r(   is_asyncr.   	operations
             r   Run
Create.RunX   sp   ZZ))+,F3399;Jmm3399;O00668  ((oo11==F {{H!!$--8H'' oo'  "//1'446#=#J#J#LD-6 ( I  h''"",,Y7AHH'')  # 	 	r     N)	__name__
__module____qualname____firstlineno____doc__classmethodr   rH   __static_attributes__rJ   r    r   r   r   A   s    
 (- -'r    r   )rO   
__future__r   r   r   r8   =googlecloudsdk.api_lib.network_security.intercept_deploymentsr   googlecloudsdk.callioper   5googlecloudsdk.command_lib.network_security.interceptr   $googlecloudsdk.command_lib.util.argsr	   DETAILED_HELPDefaultUniverseOnlyReleaseTracksr   ALPHABETAGACreateCommandr   detailed_helprJ   r    r   <module>r_      s    + &  '  M ( R <"J T..33T5F5F5I5I:T : :z % r    