
    3
                        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
 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)flagsc                   *    e Zd ZdZdZed        Zd Zy)AddNamedSetElementzDAdds an element to an existing 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 set.T)helprequiredz--new-set-elementzCEL expression for the element.)r   RouterArgumentr
   
ROUTER_ARGAddArgumentadd_argument)clsparsers     4lib/surface/compute/routers/add_named_set_element.pyArgszAddNamedSetElement.Args$   sg    $)$8$8$:!!!--fX-N
#  
 2      c                    t        j                  | j                               }|j                  }|j                  j                  }|j                  j
                  j                  }t        j                  j                  ||j                  t        j                  |            }|j                   |j                  di |j                         d|j                   i      j"                  }|j%                  |j&                        }|j(                  j+                  |       |d |j,                  di |j                         d|if}	|j/                  |	g      d   S )N)scope_listernamedSet)
expressionPatchNamedSetr    )r   ComputeApiHolderReleaseTrackclientmessagesapitools_clientroutersr
   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerGetNamedSet ComputeRoutersGetNamedSetRequestAsDictset_nameresourceExprnew_set_elementelementsappend"ComputeRoutersPatchNamedSetRequestMakeRequests)
selfargsholderr!   r"   service
router_ref	named_setnew_elementrequests
             r   RunzAddNamedSetElement.Run3   sC   **4+<+<+>?F]]F}}%%Hmm++33G#..@@"88@ A J
 ##111 	
!	
,0MM	
 h	 
 --4+?+?-@Kk*333 	
!	
	
G y)!,,r   )__name__
__module____qualname____doc__r   classmethodr   r<   r   r   r   r
   r
      s$     M* -r   r
   N)r@   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r'   *googlecloudsdk.command_lib.compute.routersHiddenUniverseCompatibleReleaseTracksr    ALPHAUpdateCommandr
   r   r   r   <module>rL      st     Y &  ' 7 ( E < D%%++,.-++ .- -  .-r   