
    d                        S 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KJ	r	  SSK
Jr  SSKJr  S	S
0r\	R                  \	R                   " \	R"                  R$                  5       " S S\	R&                  5      5       5       r\	R                   " \	R"                  R*                  5       " S S\5      5       r\	R                   " \	R"                  R.                  5       " S S\5      5       rg)z&Update network endpoint group command.    )absolute_import)division)unicode_literals)base_classes)network_endpoint_groups)base)flagsEXAMPLESa  
To add two endpoints to a network endpoint group:

  $ {command} my-neg --zone=us-central1-a --add-endpoint=instance=my-instance1,ip=127.0.0.1,port=1234 --add-endpoint=instance=my-instance2

To remove two endpoints from a network endpoint group:

  $ {command} my-neg --zone=us-central1-a --remove-endpoint=instance=my-instance1,ip=127.0.0.1,port=1234 --remove-endpoint=instance=my-instance2
c                   2    \ rS rSrSr\r\S 5       rS r	Sr
g)Update'   /Update a Compute Engine network endpoint group.c                 x    [         R                  " 5       R                  U5        [         R                  " U5        g )N)r	   MakeNetworkEndpointGroupsArgAddArgumentAddUpdateNegArgsToParser)clsparsers     5lib/surface/compute/network_endpoint_groups/update.pyArgsUpdate.Args.   s'    	&&(44V<	""6*    c                    [         R                  " U R                  5       5      nUR                  nUR                  R                  nUR
                  n[        R                  " 5       R                  UU[        R                  " UR                  5      S9n[        R                  " X4U5      nUR                  S5      (       a  UR                  OS nUR                  S5      (       a  UR                  OS nUR!                  XgUS9$ )N)scope_listeradd_endpointremove_endpoint)add_endpointsremove_endpoints)r   ComputeApiHolderReleaseTrackclientmessages	resourcesr	   r   ResolveAsResourcecompute_flagsGetDefaultScopeListerr   NetworkEndpointGroupsClientIsSpecifiedr   r   r   )	selfargsholderr!   r"   r#   neg_refr   r   s	            r   Run
Update.Run3   s    **4+<+<+>?F]]F}}%%H  I002DD"88G E G %@@)F "--n==4  !% 0 01B C C  ==?O   r    N)__name__
__module____qualname____firstlineno____doc__DETAILED_HELPdetailed_helpclassmethodr   r-   __static_attributes__r/   r   r   r   r   '   s#     8-+ +r   r   c                       \ rS rSrSrSrg)
BetaUpdateM   r   r/   Nr0   r1   r2   r3   r4   r8   r/   r   r   r:   r:   M       7r   r:   c                       \ rS rSrSrSrg)AlphaUpdateR   r   r/   Nr<   r/   r   r   r?   r?   R   r=   r   r?   N)r4   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r%   :googlecloudsdk.command_lib.compute.network_endpoint_groupsr5   UniverseCompatibleReleaseTracksr    GAUpdateCommandr   BETAr:   ALPHAr?   r/   r   r   <module>rL      s    - &  ' 7 B ( E L    D%%(()!T ! * !H D%%**+8 8 ,8 D%%++,8& 8 -8r   