
    
                     P   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
lmZ dd
lmZ ddlmZ ej*                   ej,                  ej.                  j0                  ej.                  j2                         G d dej4                                      Zy)z)Command for deleting cross site networks.    )absolute_import)division)unicode_literals)base_classes)utils)client)base)scope)flags)
propertiesc                   0    e Zd ZdZdZed        Zd Zd Zy)DeletezXDelete Compute Engine wire groups.

  *{command}* deletes Compute Engine wire groups.
  Nc                     t        j                         | _        | j                  j                  |       t	        j
                  d      | _        | j                  j                  |d       y )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ArgszDelete.Args*   sZ     	!IIK  **6211>C##F8#D    c                      y)Nzcompute.wireGroups )selfs    r   
CollectionzDelete.Collection3   s    r   c                 T   t        j                  | j                               }| j                  j	                  ||j
                  t        j                  j                  d|j                  i      }t        j                  j                  j                  j                         }t        j                   |       g }|D ]P  }t#        j$                  |||j                  |j"                        }|j'                  |j)                  d             R |j"                  j+                  |      S )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   Runz
Delete.Run6   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   )	__name__
__module____qualname____doc__r   classmethodr   r!   r>   r   r   r   r   r       s,    
 /E E 0r   r   N)rB   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   8googlecloudsdk.api_lib.compute.interconnects.wire_groupsr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r.   Dgooglecloudsdk.command_lib.compute.interconnects.cross_site_networksr   r   <googlecloudsdk.command_lib.compute.interconnects.wire_groupsgooglecloudsdk.corer   UniverseCompatibleReleaseTracksr+   ALPHABETADeleteCommandr   r   r   r   <module>rQ      s     0 &  ' 7 0 K ( E r N * D%%++T->->-C-CD*0T *0 E *0r   