
                            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 Z
d	 Zd
 Z e	j                  e	j                  j                        e	j                    G d de	j"                                      Z ej&                  d      e_         e	j                  e	j                  j*                         G d de             Z e	j                  e	j                  j.                         G d de             Zy)zCommand for listing snapshots.    )absolute_import)division)unicode_literals)base_classes)lister)basec                 d    | j                   j                  d       t        j                  |        y)zSet Args for GA.zp      table(
        name,
        diskSizeGb,
        sourceDisk.scope():label=SRC_DISK,
        status
      )N)display_info	AddFormatr   AddBaseListerArgsparsers    %lib/surface/compute/snapshots/list.py_GAArgsr      s+     !  	6"    c                 j    | j                   j                  d       t        j                  | dd       yz Set Args based on Release Track.z      table(
        name,
        location().yesno(no="GLOBAL"):label=LOCATION,
        diskSizeGb,
        sourceDisk.scope():label=SRC_DISK,
        status
      )T)global_regionalNr
   r   r   AddMultiScopeListerFlagsr   s    r   	_BetaArgsr   &   /     !  	!!&$Fr   c                 j    | j                   j                  d       t        j                  | dd       yr   r   r   s    r   
_AlphaArgsr   3   r   r   c                   .    e Zd ZdZed        Zd ZddZy)ListList Compute Engine snapshots.c                     t        |        y N)r   r   s    r   Argsz	List.ArgsE   s	    FOr   c                 $    | j                  |      S r    _Runselfargss     r   RunzList.RunI   s    99T?r   c                 :   t        j                  | j                               }|j                  }|rt	        j
                  ||j                        }t	        j                  ||j                  j                  |j                  j                  |j                  j                        }t	        j                  ||      S t	        j                  ||j                        }t	        j                  ||j                  j                        }t	        j                  ||      S )N)global_serviceregional_serviceaggregation_service)r   ComputeApiHolderReleaseTrackclientr   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_client	snapshotsregionSnapshotsInvokeParseNamesAndRegexpFlagsGlobalLister)r&   r'   support_regionholderr/   request_datalist_implementations          r   r$   z	List._RunL   s    **4+<+<+>?F]]F00v7G7GHl"33
//99!11AA$44>>	 ]]<)<==44T6;K;KLl"//
&((22 ]]<)<==r   N)F)__name__
__module____qualname____doc__staticmethodr!   r(   r$    r   r   r   r   @   s#     ' >r   r   r4   c                   &    e Zd ZdZed        Zd Zy)ListBetar   c                     t        |       y r    )r   clsr   s     r   r!   zListBeta.Argsl   s
    fr   c                 (    | j                  |d      S NT)r9   r#   r%   s     r   r(   zListBeta.Runp       99T$9//r   Nr=   r>   r?   r@   classmethodr!   r(   rB   r   r   rD   rD   h   s    & 0r   rD   c                   &    e Zd ZdZed        Zd Zy)	ListAlphar   c                     t        |       y r    )r   rF   s     r   r!   zListAlpha.Argsx   s
    vr   c                 (    | j                  |d      S rI   r#   r%   s     r   r(   zListAlpha.Run|   rJ   r   NrK   rB   r   r   rN   rN   t   s    & 0r   rN   N)r@   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r   r   r   ReleaseTracksr.   GAUniverseCompatibleListCommandr   GetGlobalListerHelpdetailed_helpBETArD   ALPHArN   rB   r   r   <module>r\      s    % &  ' 7 1 (	#
G
G D%%(() >4  >  * >F 6\55kB  D%%**+0t 0 ,0 D%%++,0 0 -0r   