
    L                     j   d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	lmZ d
ddZe	j                   e	j                   e	j"                  j$                  e	j"                  j&                  e	j"                  j(                         G d de	j*                                      Zee_        y)z Create deployment group command.    )absolute_import)division)unicode_literalsN)api)base)deployment_group_flags)labels_utila_  
          Create an intercept deployment group. Successful creation of a deployment group results
          in a deployment group in ACTIVE state. Check the progress of deployment group creation
          by using `gcloud network-security intercept-deployment-groups list`.

          For more examples, refer to the EXAMPLES section below.

        a/  
            To create a intercept deployment group called `my-deployment-group`, in project ID `my-project`, run:
            $ {command} my-deployment-group --project=my-project --location=global --network=my-network

            OR

            $ {command} my-deployment-group --project=my-project --location=global
            --network=projects/my-project/global/networks/my-network

            OR

            $ {command} projects/my-project/locations/global/interceptDeploymentGroups/my-deployment-group
            --network=projects/my-project/global/networks/my-network

            OR

            $ {command} projects/my-project/locations/global/interceptDeploymentGroups/my-deployment-group
            --network=projects/my-project/global/networks/my-network --description='new description'

        )DESCRIPTIONEXAMPLESc                   &    e Zd ZdZed        Zd Zy)Createz%Create an Intercept Deployment Group.c                 t   t        j                  | j                         |       t        j                  |       t        j                  |d       t        j
                  |       t        j                  j                  |       t        j                  j                  |d       t        j                  |       y )N20mT)r   AddDeploymentGroupResourceReleaseTrackAddNetworkResource
AddMaxWaitAddDescriptionArgr   
ASYNC_FLAGAddToParser
SetDefaultr	   AddCreateLabelsFlags)clsparsers     Blib/surface/network_security/intercept_deployment_groups/create.pyArgszCreate.ArgsC   s    55F --f5%% ,,V4OO'OOvt,$$V,    c                    t        j                  | j                               }|j                  j                  j                         }|j                  j                  j                         }t        j                  ||j                  j                  j                        }|j                  }t        j                  |j                        }|j!                  |j#                         |j%                         j'                         |j'                         |t)        |dd             }|r|j+                  d      sd|_        |S |j/                  |j1                  |      dj-                  |j'                               d|      S )	N)secondsdescription)deployment_group_idparentnetworklabelsr    formatdefaultz9waiting for intercept deployment group [{}] to be createdT)operation_refmessage
has_resultmax_wait)r   Clientr   CONCEPTSintercept_deployment_groupParser#   r	   ParseCreateArgsmessagesInterceptDeploymentGroupLabelsValueasync_datetime	timedeltar*   CreateDeploymentGroupNameParentRelativeNamegetattrIsSpecifiedr%   WaitForOperationGetOperationRef)	selfargsclientdeployment_groupr#   r$   is_asyncr*   	operations	            r   Runz
Create.RunR   sK   ZZ))+,F}}??EEGmm##))+G((foo66BBF {{H!!$--8H ,,,113&&(557$$&D-6 - I  h'"",,Y7GNN --/  # 	 	r   N)__name__
__module____qualname____doc__classmethodr   rD    r   r   r   r   <   s    
 .- -%r   r   )rH   
__future__r   r   r   r4   Cgooglecloudsdk.api_lib.network_security.intercept_deployment_groupsr   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>rX      s    ' &  '  S ( X <@ T..33T5F5F5I5I7T 7 7t % r   