
    
                     `   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S.r\
R                   \
R"                  " \
R$                  R&                  \
R$                  R(                  \
R$                  R*                  5       " S S\
R,                  5      5       5       rg)z)Command for updating cross site networks.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)
propertiesz        *{command}* is used to update cross site networks.

        For an example, refer to the *EXAMPLES* section below.
        z        To update a cross site network's description, run:

          $ {command} example-csn --description="New description"
        )DESCRIPTIONEXAMPLESc                   <    \ rS rSrSr\rSr\S 5       r	S r
S rSrg)Update*   zUpdate a Compute Engine cross site network.

*{command}* is used to update cross site networks. A cross site network
encapsulates wire groups.
Nc                     [         R                  " SS9U l        U R                  R                  USS9  [         R                  " U5        g )NF)pluralupdate)operation_type)r	   CrossSiteNetworkArgumentCROSS_SITE_NETWORK_ARGAddArgumentAddDescription)clsparsers     ?lib/surface/compute/interconnects/cross_site_networks/update.pyArgsUpdate.Args:   s<    !&!?!?u!MC**6(*K	     c                     g)Nzcompute.crossSiteNetworks )selfs    r   
CollectionUpdate.Collection@   s    &r   c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  5      n[        R                  R                  R                  R                  5       n[        R                  " UUUR                  UR
                  S9nUR                  UR                  S9$ )N)compute_client	resources)description)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer%   r
   VALUEScoreproject	GetOrFailr   CrossSiteNetworkPatchr&   )r    argsholderrefr,   cross_site_networks         r   Run
Update.RunC   s    **4+<+<+>?F

%
%
7
7>N>N
OC$$,,668G00}}""	 ##0@0@#AAr   r   )__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpr   classmethodr   r!   r4   __static_attributes__r   r   r   r   r   *   s1    
 !-! !
'Br   r   N)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   @googlecloudsdk.api_lib.compute.interconnects.cross_site_networksr   googlecloudsdk.callioper   Dgooglecloudsdk.command_lib.compute.interconnects.cross_site_networksr	   googlecloudsdk.corer
   r;   UniverseCompatibleReleaseTracksr(   ALPHABETAGAUpdateCommandr   r   r   r   <module>rK      s    0 &  ' 7 S ( V *
 T..33T5F5F5I5I BT  B  Br   