
    
                     D   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 d
ddZe
j                    e
j"                  e
j$                  j&                  e
j$                  j(                         G d de
j*                                      Zee_        y)z)Command for creating cross site networks.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)
propertiesz        *{command}* is used to create cross site networks. A cross site network
        contains wire groups.

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

          $ {command} example-cross-site-network --project=my-project --description="Example cross site network"
        )DESCRIPTIONEXAMPLESc                   0    e Zd ZdZdZed        Zd Zd Zy)CreatezCreate a Compute Engine cross site network.

  *{command}* is used to cross site networks. A cross site network
  contains wire groups.
  Nc                     t        j                  d      | _        | j                  j                  |d       t        j                  |       y )NF)pluralcreate)operation_type)r	   CrossSiteNetworkArgumentCROSS_SITE_NETWORK_ARGAddArgumentAddDescription)clsparsers     ?lib/surface/compute/interconnects/cross_site_networks/create.pyArgszCreate.Args7   s<    !&!?!?u!MC**6(*K	     c                      y)Nzcompute.crossSiteNetworks )selfs    r   
CollectionzCreate.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   CrossSiteNetworkr   r#   )r   argsholderrefr)   cross_site_networks         r   Runz
Create.Run@   s    **4+<+<+>?F

%
%
7
7f>N>N
OC$$,,668G00}}""	 $$$$ %  r   )	__name__
__module____qualname____doc__r   classmethodr   r   r0   r   r   r   r   r   ,   s+      ! !
'r   r   N)r4   
__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
   DETAILED_HELPUniverseCompatibleReleaseTracksr%   ALPHABETACreateCommandr   detailed_helpr   r   r   <module>rC      s    0 &  ' 7 S ( V *" D%%++T->->-C-CDT  E D % r   