
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z ddlm
Z
 ddlmZ ej                  ej                   ej                   ej"                  j$                         G d	 d
ej&                                             Zy)zRCommand for adding an element to an existing named set of a Compute Engine router.    )absolute_import)division)unicode_literals)base_classes)base)flags)route_policy_utilsc                   *    e Zd ZdZdZed        Zd Zy)RemoveNamedSetElementz>Remove an element from a named set of a Compute Engine router.Nc                     t        j                         t        _        t        j                  j	                  |d       |j                  ddd       |j                  ddd       y )	Nupdate)operation_typez
--set-namezName of the match set.T)helprequiredz--set-elementzCEL expression for the element.)r   RouterArgumentr   
ROUTER_ARGAddArgumentadd_argument)clsparsers     7lib/surface/compute/routers/remove_named_set_element.pyArgszRemoveNamedSetElement.Args%   sn    ',';';'=$$$00x 1  )  
 2      c                 J   t        j                  | j                               }|j                  }|j                  j                  }|j                  j
                  j                  }t        j                  j                  ||j                  t        j                  |            }|j                   |j                  di |j                         d|j                   i      j"                  }t%        j&                  ||j(                        }|j*                  j-                  |       |j*                  rg ndg}	|d |j.                  di |j                         d|if}
|j
                  j1                  |	      5  |j3                  |
g      }d d d        |S # 1 sw Y   S xY w)N)scope_listernamedSet)resourceelement_celelementsPatchNamedSet )r   ComputeApiHolderReleaseTrackclientmessagesapitools_clientroutersr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerGetNamedSet ComputeRoutersGetNamedSetRequestAsDictset_namer   r	   FindNamedSetElementOrRiseset_elementr   remove"ComputeRoutersPatchNamedSetRequestIncludeFieldsMakeRequests)selfargsholderr$   r%   service
router_ref	named_setelementcleared_fieldsrequestresults               r   RunzRemoveNamedSetElement.Run6   s   **4+<+<+>?F]]F}}%%Hmm++33G&11CC"88@ D J
 ##111 	
!	
,0MM	
 h	 
 !::(8(8G g&$--RJ<N 	333 	
!	
	
G 
			-	-n	=""G9-f 
>M 
>Ms   ;FF")__name__
__module____qualname____doc__r   classmethodr   r@   r!   r   r   r   r      s$     G*  !r   r   N)rD   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r*   *googlecloudsdk.command_lib.compute.routersr	   HiddenUniverseCompatibleReleaseTracksr#   ALPHAUpdateCommandr   r!   r   r   <module>rP      sw     Y &  ' 7 ( E < I D%%++,7D.. 7 -  7r   