
    '                     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 mirroring deployment command.    )absolute_import)division)unicode_literalsN)api)base)deployment_flags)labels_utila@  
          Create a mirroring deployment. Successful creation of a deployment results
          in a deployment in ACTIVE state. Check the progress of deployment creation
          by using `gcloud network-security mirroring-deployments list`.

          For more examples, refer to the EXAMPLES section below.

        a  
            To create a mirroring 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 --mirroring-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
            --mirroring-deployment-group=projects/my-project/locations/global/mirroringDeploymentGroups/my-deployment-group

            OR

            $ {command} projects/my-project/locations/us-central1/mirroringDeployments/my-deployment
            --forwarding-rule=projects/my-project/regions/us-central1/forwardingRules/my-forwarding-rule
            --mirroring-deployment-group=projects/my-project/locations/global/mirroringDeploymentGroups/my-deployment-group

            OR

            $ {command} projects/my-project/locations/us-central1/mirroringDeployments/my-deployment
            --forwarding-rule=projects/my-project/regions/us-central1/forwardingRules/my-forwarding-rule
            --mirroring-deployment-group=projects/my-project/locations/global/mirroringDeploymentGroups/my-deployment-group
            --description="my-description"
        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)Create@   zCreate a Mirroring 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#AddMirroringDeploymentGroupResource
AddMaxWaitAddDescriptionArgr   
ASYNC_FLAGAddToParser
SetDefaultr	   AddCreateLabelsFlags)clsparsers     <lib/surface/network_security/mirroring_deployments/create.pyArgsCreate.ArgsF   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SS 5      UR)                  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_ruler#   mirroring_deployment_grouplabelsformatdefaultz3waiting for mirroring deployment [{}] to be createdT)operation_refmessage
has_resultmax_wait)r   Clientr   CONCEPTSmirroring_deploymentParser&   r'   r	   ParseCreateArgsmessagesMirroringDeploymentLabelsValueasync_datetime	timedeltar.   CreateDeploymentNameParentRelativeNamegetattrIsSpecifiedr)   WaitForOperationGetOperationRef)
selfargsclient
deploymentr&   r'   r(   is_asyncr.   	operations
             r   Run
Create.RunV   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D-6#=#J#J#L ( I  h''"",,Y7AHH'')  # 	 	r     N)	__name__
__module____qualname____firstlineno____doc__classmethodr   rH   __static_attributes__rJ   r    r   r   r   @   s     '- -'r    r   )rO   
__future__r   r   r   r8   =googlecloudsdk.api_lib.network_security.mirroring_deploymentsr   googlecloudsdk.callioper   +googlecloudsdk.command_lib.network_securityr   $googlecloudsdk.command_lib.util.argsr	   DETAILED_HELPDefaultUniverseOnlyReleaseTracksr   ALPHABETAGACreateCommandr   detailed_helprJ   r    r   <module>r_      s    + &  '  M ( H <!H D%%++T->->-C-C%%((*:T :* :z % r    