
    ;                     L   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 Z e
j"                  e
j$                  j&                         G d de
j(                               Z e
j"                  e
j$                  j,                         G d de             Z e
j"                  e
j$                  j0                         G d de             Z ej4                  dej6                  j8                  ej6                  j:                  g      e_        y)zList instant snapshot command.    )absolute_import)division)unicode_literals)base_classes)lister)utils)base)
completers)flagsc                 2   | j                   j                  t        j                         | j                   j	                  t        j                                t        j                  | dd       | j                   j                  t        j                         y )NT)zonalregional)display_info	AddFormat	ips_flagsMULTISCOPE_LIST_FORMAT
AddUriFuncr   MakeGetUriFuncr   AddMultiScopeListerFlagsAddCacheUpdaterr
   InstantSnapshotsCompleter)parsers    -lib/surface/compute/instant_snapshots/list.py_CommonArgsr      se    	 @ @A  !5!5!78!!&tD%%j&J&JK    c                   ,    e Zd ZdZed        Zd Zd Zy)Listz1List Compute Engine persistent instant snapshots.c                     t        |       y Nr   clsr   s     r   Argsz	List.Args(   
    r   c                 v   t        j                  | j                               }|j                  }t	        j
                  ||j                        }t	        j                  ||j                  j                  |j                  j                  |j                  j                        }t	        j                  ||      S )N)zonal_serviceregional_serviceaggregation_service)r   ComputeApiHolderReleaseTrackclientr   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_clientinstantSnapshotsregionInstantSnapshotsInvoke)selfargsholderr+   request_datalist_implementations         r   _Runz	List._Run,   s    **4+<+<+>?F]]F..tV5E5EFL 11,,==//FF"22CC	E ==':;;r   c                 $    | j                  |      S r   r8   r3   r4   s     r   RunzList.Run:       99T?r   N)__name__
__module____qualname____doc__classmethodr#   r8   r<    r   r   r   r   $   s!    9 <r   r   c                   &    e Zd ZdZed        Zd Zy)ListBetaz9List Compute Engine persistent instant snapshots in beta.c                     t        |       y r   r    r!   s     r   r#   zListBeta.ArgsB   r$   r   c                 $    | j                  |      S r   r:   r;   s     r   r<   zListBeta.RunF   r=   r   Nr>   r?   r@   rA   rB   r#   r<   rC   r   r   rE   rE   >   s    A r   rE   c                   &    e Zd ZdZed        Zd Zy)	ListAlphaz:List Compute Engine persistent instant snapshots in alpha.c                     t        |       y r   r    r!   s     r   r#   zListAlpha.ArgsN   r$   r   c                 $    | j                  |      S r   r:   r;   s     r   r<   zListAlpha.RunR   r=   r   NrH   rC   r   r   rJ   rJ   J   s    B r   rJ   zinstant snapshots)scopesN)rA   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   4googlecloudsdk.command_lib.compute.instant_snapshotsr   r   r   ReleaseTracksr*   GAListCommandr   BETArE   ALPHArJ   GetMultiScopeListerHelp	ScopeTypezonal_scoperegional_scopedetailed_helprC   r   r   <module>r]      s
   % &  ' 7 1 0 ( 9 SL D%%(()4  *2 D%%**+t  , D%%++,  - :\99**-- r   