
    !                        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
KJr  SS
KJr  SSKJr  SSS.r\R,                  \R.                  " \R0                  R2                  \R0                  R4                  \R0                  R6                  5       " S S\R8                  5      5       5       rg)z)Command for deleting cross site networks.    )absolute_import)division)unicode_literals)base_classes)utils)client)base)scope)flags)
propertiesz{        *{command}* is used to delete wire groups.

        For an example, refer to the *EXAMPLES* section below.
        zp        To delete a wire group, run:

          $ {command} example-wg --cross-site-network=example-csn
        )DESCRIPTIONEXAMPLESc                   <    \ rS rSrSr\rSr\S 5       r	S r
S rSrg)Delete.   zTDelete Compute Engine wire groups.

*{command}* deletes Compute Engine wire groups.
Nc                     [         R                  " 5       U l        U R                  R                  U5        [        R
                  " SS9U l        U R                  R                  USS9  g )NT)pluraldelete)operation_type)cross_site_network_flags(CrossSiteNetworkArgumentForOtherResourceCROSS_SITE_NETWORK_ARGAddArgumentr   WireGroupArgumentWIRE_GROUPS_ARG)clsparsers     7lib/surface/compute/interconnects/wire_groups/delete.pyArgsDelete.Args=   sZ     	!IIK  **6211>C##F8#D    c                     g)Nzcompute.wireGroups )selfs    r   
CollectionDelete.CollectionF   s    r!   c                 L   [         R                  " U R                  5       5      nU R                  R	                  UUR
                  [        R                  R                  SUR                  0S9n[        R                  R                  R                  R                  5       n[        R                   " U5        / nU HL  n["        R$                  " UUUR                  UR"                  S9nUR'                  UR)                  SS95        MN     UR"                  R+                  U5      $ )NcrossSiteNetwork)default_scopeadditional_params)projectcross_site_networkcompute_clientT)only_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr,   r   VALUEScorer+   	GetOrFailr   PromptForDeletionr   	WireGroupextendr   MakeRequests)r$   argsholderrefsr+   requestsref
wire_groups           r   Run
Delete.RunI   s    **4+<+<+>?F11#--44-t/F/FG	 2 D $$,,668G	D!H##
!44	j ooj''d'CD  ==%%h//r!   r#   )__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpr   classmethodr   r%   rC   __static_attributes__r#   r!   r   r   r   .   s1    
 !-/E E 0r!   r   N)rI   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   8googlecloudsdk.api_lib.compute.interconnects.wire_groupsr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r3   Dgooglecloudsdk.command_lib.compute.interconnects.cross_site_networksr   r   <googlecloudsdk.command_lib.compute.interconnects.wire_groupsgooglecloudsdk.corer   rJ   UniverseCompatibleReleaseTracksr0   ALPHABETAGADeleteCommandr   r#   r!   r   <module>r\      s     0 &  ' 7 0 K ( E r N *
 T..33T5F5F5I5I-0T -0 -0r!   