
                         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 endpoint group association command.    )absolute_import)division)unicode_literalsN)api)base) endpoint_group_association_flags)labels_utilaf  
          Create an intercept endpoint group association. Successful creation of an association results
          in an association in ACTIVE state. Check the progress of association creation
          by using `gcloud network-security intercept-endpoint-group-associations list`.

          For more examples, refer to the EXAMPLES section below.

        a  
            To create an intercept endpoint group association called `my-association`, in project ID `my-project`, run:

            $ {command} my-association --project=my-project --location=global --intercept-endpoint-group=my-endpoint-group --network=my-network

            OR

            $ {command} my-association --project=my-project --location=global --intercept-endpoint-group=my-endpoint-group --network=projects/my-project/global/networks/my-network

            OR

            $ {command} projects/my-project/locations/global/interceptEndpointGroupAssociations/my-association --intercept-endpoint-group=projects/my-project/locations/global/interceptEndpointGroups/my-endpoint-group --network=projects/my-project/global/networks/my-network

        )DESCRIPTIONEXAMPLESc                   &    e Zd ZdZed        Zd Zy)Createz/Create an Intercept Endpoint Group Association.c                    t        j                  | j                         |       t        j                  | j                         |       t        j                  |       t        j
                  |d       t        j                  j                  |       t        j                  j                  |d       t        j                  |       y )N20mT)r   #AddEndpointGroupAssociationResourceReleaseTrack!AddInterceptEndpointGroupResourceAddNetworkResource
AddMaxWaitr   
ASYNC_FLAGAddToParser
SetDefaultr	   AddCreateLabelsFlags)clsparsers     Llib/surface/network_security/intercept_endpoint_group_associations/create.pyArgszCreate.Args=   s    $HHF %FFF %77?$// 	OO'OOvt,$$V,    c                 R   t        j                  | j                               }|j                  j                  j                         }|j                  j                  j                         }|j                  j                  j                         }t        j                  ||j                  j                  j                        }|j                  }t        j                  |j                         }|j#                  |j%                         |j'                         j)                         |j)                         |j)                         |      }	|r|j+                  d      sd|_        |	S |j/                  |j1                  |	      dj-                  |j)                               d|      S )N)seconds)association_idparentintercept_endpoint_groupnetworklabelsformatdefaultzCwaiting for intercept endpoint group association [{}] to be createdT)operation_refmessage
has_resultmax_wait)r   Clientr   CONCEPTS$intercept_endpoint_group_associationParser"   r#   r	   ParseCreateArgsmessages!InterceptEndpointGroupAssociationLabelsValueasync_datetime	timedeltar*   CreateEndpointGroupAssociationNameParentRelativeNameIsSpecifiedr%   WaitForOperationGetOperationRef)
selfargsclientassociationr"   r#   r$   is_asyncr*   	operations
             r   Runz
Create.RunN   s]   ZZ))+,F--DDJJLK#}}EEKKMmm##))+G((foo??KKF {{H!!$--8H55"'')!!#002!9!F!F!H$$& 6 I  h'"",,Y7vk6689 #  r   N)__name__
__module____qualname____doc__classmethodr   rC    r   r   r   r   6   s    
 8- - #r   r   )rG   
__future__r   r   r   r4   Mgooglecloudsdk.api_lib.network_security.intercept_endpoint_group_associationsr   googlecloudsdk.callioper   5googlecloudsdk.command_lib.network_security.interceptr   $googlecloudsdk.command_lib.util.argsr	   DETAILED_HELPDefaultUniverseOnlyReleaseTracksr   ALPHABETAGACreateCommandr   detailed_helprI   r   r   <module>rW      s    1 &  '  ] ( b <4 T..33T5F5F5I5I7T 7 7t % r   