
                             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0rS r\R                  " \R                  R                  5      \R                    " S	 S
\R"                  5      5       5       rg)z&Delete instant snapshot group command.    )base_classes)utils)base)flagsbriefz!Delete an instant snapshot group.c                 z    [         R                  " SS9[        l        [        R                  R	                  U SS9  g)z?A helper function to build args based on different API version.T)pluraldelete)operation_typeN)	isg_flagsMakeInstantSnapshotGroupArgDeleteISG_ARGAddArgument)parsers    5lib/surface/compute/instant_snapshot_groups/delete.py_CommonArgsr      s+    88E&...VH=    c                   T    \ rS rSrSrS rS r\S 5       r\SS j5       r	S r
S rS	rg
)r   #   z/Delete a Compute Engine instant snapshot group.c                     [        S U 5       5      n[        S U 5       5      nU(       a  U(       d  gU(       a  U(       d  gg)z!Gets common scope for references.c              3   :   #    U  H  n[        US 5      v   M     g7f)zoneNhasattr.0refs     r   	<genexpr>4Delete._GetCommonScopeNameForRefs.<locals>.<genexpr>*   s     84C73''4   c              3   :   #    U  H  n[        US 5      v   M     g7f)regionNr   r   s     r   r   r    +   s     <tWS(++tr!   r   r#   N)any)selfrefshas_zone
has_regions       r   _GetCommonScopeNameForRefs!Delete._GetCommonScopeNameForRefs(   s5    8488H<t<<J
	Hr   c                    UR                   n/ nU H  nUR                  5       S:X  a@  UR                  nUR                  UR	                  5       UR
                  UR                  S9nO|UR                  5       S:X  a@  UR                  nUR                  UR	                  5       UR
                  UR                  S9nO([        SR                  UR                  5       5      5      eUR                  USU45        M     U$ )z>Returns a list of delete messages for instant snapshot groups.zcompute.instantSnapshotGroups)instantSnapshotGroupprojectr   z#compute.regionInstantSnapshotGroups)r,   r-   r#   zUnknown reference type {0}r   )MESSAGES_MODULE
CollectioninstantSnapshotGroups)ComputeInstantSnapshotGroupsDeleteRequestNamer-   r   regionInstantSnapshotGroups/ComputeRegionInstantSnapshotGroupsDeleteRequestr#   
ValueErrorformatappend)r%   clientisg_refsmessagesrequestsisg_refservicerequests           r   _CreateDeleteRequestsDelete._CreateDeleteRequests4   s     %%HH				!@	@..DD!(OO E  #HH44JJ!(OO>> K #
 5<< " # 	# oow'23# $ Or   c                     [        U5        g N)r   )clsr   s     r   ArgsDelete.ArgsM   s
    r   c                 J    [         R                  " U R                  5       5      $ rB   )r   ComputeApiHolderReleaseTrack)rC   no_https     r   _GetApiHolderDelete._GetApiHolderQ   s    (()9)9);<<r   c                    [         R                  " U R                  5       5      nUR                  n[        R
                  R                  UUR                  [        R                  " U5      S9nU R                  U5      n[        R                  " XES S9  [        U R                  UR                  U5      5      nUR!                  U5      $ )N)scope_lister)
scope_nameprompt_title)r   rG   rH   r8   r   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr)   r   PromptForDeletionlistr?   apitools_clientMakeRequests)r%   argsholderr8   r<   rN   r;   s          r   _RunDelete._RunU   s    **4+<+<+>?F]]Fnn.."88@ / G 009J	GN""6#9#97CEH x((r   c                 $    U R                  U5      $ rB   )rZ   )r%   rX   s     r   Run
Delete.Runh   s    99T?r    N)F)__name__
__module____qualname____firstlineno____doc__r)   r?   classmethodrD   rJ   rZ   r]   __static_attributes__r_   r   r   r   r   #   sC     8
2   = =)&r   r   N)rd   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   rR   :googlecloudsdk.command_lib.compute.instant_snapshot_groupsr   DETAILED_HELPr   ReleaseTracksrH   ALPHADefaultUniverseOnlyDeleteCommandr   r_   r   r   <module>rp      sv    - 7 0 ( E Y 0
> D%%++,DT D  -Dr   