
    n                     ,   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"                  j$                  e
j"                  j&                         G d
 de
j(                                      Zy)z)Command for updating cross site networks.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)
propertiesc                   0    e Zd ZdZdZed        Zd Zd Zy)UpdatezUpdate a Compute Engine cross site network.

  *{command}* is used to update cross site networks. A cross site network
  encapsulates wire groups.
  Nc                     t        j                  d      | _        | j                  j                  |d       t        j                  |       y )NF)pluralupdate)operation_type)r	   CrossSiteNetworkArgumentCROSS_SITE_NETWORK_ARGAddArgumentAddDescription)clsparsers     ?lib/surface/compute/interconnects/cross_site_networks/update.pyArgszUpdate.Args'   s<    !&!?!?u!MC**6(*K	     c                      y)Nzcompute.crossSiteNetworks )selfs    r   
CollectionzUpdate.Collection-   s    &r   c                    t        j                  | j                               }| j                  j	                  ||j
                        }t        j                  j                  j                  j                         }t        j                  |||j                  |j
                        }|j                  |j                        S )N)compute_client	resources)description)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer    r
   VALUEScoreproject	GetOrFailr   CrossSiteNetworkPatchr!   )r   argsholderrefr'   cross_site_networks         r   Runz
Update.Run0   s    **4+<+<+>?F

%
%
7
7f>N>N
OC$$,,668G00}}""	 ##0@0@#AAr   )	__name__
__module____qualname____doc__r   classmethodr   r   r/   r   r   r   r   r      s,      ! !
'Br   r   N)r3   
__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
   UniverseCompatibleReleaseTracksr#   ALPHABETAUpdateCommandr   r   r   r   <module>r@      s|    0 &  ' 7 S ( V * D%%++T->->-C-CDBT B E Br   