
                             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
rSrSS0rS rS rS r\	R,                  " \	R.                  R0                  5      \	R2                   " S S\	R4                  5      5       5       r\	R,                  " \	R.                  R8                  5       " S S\5      5       r\	R,                  " \	R.                  R<                  5       " S S\5      5       rg)zCommand for deleting snapshots.    )absolute_import)division)unicode_literals)base_classes)utils)base)flags)scopezcompute.regionSnapshotsDeleteEXAMPLESa          To delete Compute Engine snapshots with the names 'snapshot-1'
        and 'snapshot-2', run:

          $ {command} snapshot-1 snapshot-2

        To list all snapshots that were created before a specific date, use
        the --filter flag with the `{parent_command} list` command.

          $ {parent_command} list --filter="creationTimestamp<'2017-01-01'"

        For more information on how to use --filter with the list command,
        run $ gcloud topic filters.
        c                 z    [         R                  " SS9[        l        [        R                  R	                  U SS9  g)z3A helper function to build args for GA API version.Tpluraldeleteoperation_typeN)r	   MakeSnapshotArgr   SnapshotArgAddArgumentparsers    'lib/surface/compute/snapshots/delete.py_GAArgsr   2   s.    ,,D9&   A    c                 z    [         R                  " SS9[        l        [        R                  R	                  U SS9  g)z5A helper function to build args for Beta API version.Tr   r   r   Nr	   #MakeSnapshotArgForRegionalSnapshotsr   r   r   r   s    r   	_BetaArgsr   8   .    @@M&   Ar   c                 z    [         R                  " SS9[        l        [        R                  R	                  U SS9  g)z6A helper function to build args for Alpha API version.Tr   r   r   Nr   r   s    r   
_AlphaArgsr!   >   r   r   c                   <    \ rS rSrSr\r\S 5       rS r	SS jr
Srg)	r   D   z\Delete Compute Engine snapshots.

*{command}* deletes one or more Compute Engine snapshots.
c                     [        U 5        g N)r   r   s    r   ArgsDelete.ArgsN   s	    FOr   c                 $    U R                  U5      $ r%   _Runselfargss     r   Run
Delete.RunR   s    99T?r   c                 *   [         R                  " U R                  5       5      nUR                  n[        R
                  R                  UUR                  [        R                  " U5      [        R                  R                  S9n[        R                  " U5        / nU H  nU(       a}  UR                  5       [         :X  ae  UR#                  UR$                  R&                  [(        UR*                  R-                  UR.                  UR0                  UR2                  S945        M  UR#                  UR$                  R4                  [(        UR*                  R7                  UR.                  UR0                  S945        M     UR9                  U5      $ )N)scope_listerdefault_scope)projectsnapshotregion)r3   r4   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListercompute_scope	ScopeEnumGLOBALr   PromptForDeletion
CollectionREGIONAL_SNAPSHOT_COLLECTIONappendapitools_clientregionSnapshotsDELETEmessages#ComputeRegionSnapshotsDeleteRequestr3   r4   r5   	snapshotsComputeSnapshotsDeleteRequestMakeRequests)r,   r-   support_regionholderr8   snapshot_refsrequestssnapshot_refs           r   r*   Delete._RunU   sR   **4+<+<+>?F]]F&&88"88@#--44	 9 M 
M*H%
%%'+GG""22OO??$,,%..#** @ 
 	 	"",,OO99$,,|7L7L : 
 	 &. x((r    N)F)__name__
__module____qualname____firstlineno____doc__DETAILED_HELPdetailed_helpstaticmethodr&   r.   r*   __static_attributes__rR   r   r   r   r   D   s*    
  - $)r   c                   .    \ rS rSrSr\S 5       rS rSrg)
DeleteBeta|    Delete Compute Engine snapshots.c                     [        U 5        g r%   )r   r   s    r   r&   DeleteBeta.Args   s
    fr   c                 "    U R                  USS9$ NT)rL   r)   r+   s     r   r.   DeleteBeta.Run       99   r   rR   N	rS   rT   rU   rV   rW   rZ   r&   r.   r[   rR   r   r   r]   r]   |   s    ( r   r]   c                   .    \ rS rSrSr\S 5       rS rSrg)DeleteAlpha   r_   c                     [        U 5        g r%   )r!   r   s    r   r&   DeleteAlpha.Args   s
    vr   c                 "    U R                  USS9$ rc   r)   r+   s     r   r.   DeleteAlpha.Run   re   r   rR   Nrf   rR   r   r   rh   rh      s    ( r   rh   N) rW   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r;   r
   r=   ,googlecloudsdk.command_lib.compute.snapshotsrB   rF   rX   r   r   r!   ReleaseTracksr7   GAUniverseCompatibleDeleteCommandr   BETAr]   ALPHArh   rR   r   r   <module>ry      s    & &  ' 7 0 ( E E >8 	 	&BBB D%%(()3)T 3)  *3)l D%%**+  , D%%++,&  -r   