
                            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 ej$                   ej&                  ej(                  j*                         G d dej,                                      Z ej&                  ej(                  j0                         G d de             Z ej&                  ej(                  j4                         G d de             Zddde_        y)z(Command for listing Filestore instances.    )absolute_import)division)unicode_literals)filestore_client)base)flags)concept_parsers)
properties)	resourcesc                   >    e Zd ZdZej
                  Zed        Zd Z	y)ListList Filestore instances.c                 V   t        j                  t        j                  d      g      j	                  |        t        j                  |        t        j                  |        | j                  j                  t
        j                         d }| j                  j                  |       y )N(The location in which to list instances.c                     t        j                         }|j                  | j                  t         j                        }|j                         S N
collection)r   GetFilestoreRegistryParsenameINSTANCES_COLLECTIONSelfLinkresourceregistryrefs      'lib/surface/filestore/instances/list.pyUriFunczList.Args.<locals>.UriFunc0   s@    !668hNN
--$4$I$I  Kc\\^    r	   ConceptParserr   "GetListingLocationPresentationSpecAddToParserinstances_flagsAddLocationArgAddRegionArgdisplay_info	AddFormatINSTANCES_LIST_FORMAT_V1_ALPAH
AddUriFuncparserr   s     r   Argsz	List.Args&   s    !!5#K#K2$4 #5 66Ak&6I""6*  (
!!66 ""7+r    c                    t         j                  j                  j                  j	                          |j
                  j                  j                         j                         }|j                  =|j                  1|j                  d      }|j                  |d<   dj                  |      }t        j                  | j                        }t        |j!                  ||j"                              S zRun the list command./)version)limit)r
   VALUEScoreproject	GetOrFailCONCEPTSzoner   RelativeNamelocationsplitjoinr   FilestoreClient_API_VERSIONlistListInstancesr4   selfargslocation_reflocation_listclients        r   RunzList.Run8   s     "",,.==%%++-::<LyyT]]6"((-m--mBXXm,l--d6G6GHF$$\$DEEr    N)
__name__
__module____qualname____doc__r   V1_API_VERSIONr@   staticmethodr.   rI    r    r   r   r      s*     "!00,, ,"Fr    r   c                   8    e Zd ZdZej
                  Zed        Zy)ListBetar   c                 V   t        j                  t        j                  d      g      j	                  |        t        j                  |        t        j                  |        | j                  j                  t
        j                         d }| j                  j                  |       y )Nr   c                     t        j                  t         j                        }|j                  | j                  t         j
                        }|j                         S r   )r   r   BETA_API_VERSIONr   r   r   r   r   s      r   r   zListBeta.Args.<locals>.UriFuncX   sK    !66

+
+-hNN
--$4$I$I  Kc\\^r    )r	   r"   r   r#   r$   r%   r&   r'   r(   r)   INSTANCES_LIST_FORMAT_BETAr+   r,   s     r   r.   zListBeta.ArgsL   s    !!006	8#  {6""6*  (
!!22 ""7+r    N)	rJ   rK   rL   rM   r   rU   r@   rO   r.   rP   r    r   rR   rR   F   s"    !!22,, ,r    rR   c                   >    e Zd ZdZej
                  Zed        Zd Z	y)	ListAlphar   c                 V   t        j                  t        j                  d      g      j	                  |        t        j                  |        t        j                  |        | j                  j                  t
        j                         d }| j                  j                  |       y )Nr   c                    t         j                  j                         }|j                  t        j
                  t        j                         |j                  | j                  t        j                        }|j                         S )N)api_versionr   )r   REGISTRYCloneRegisterApiByNamer   API_NAMEALPHA_API_VERSIONr   r   r   r   r   s      r   r   zListAlpha.Args.<locals>.UriFuncr   sm    ##))+h  

#
#&88 ! : NN
--$4$I$I  Kc\\^r    r!   r,   s     r   r.   zListAlpha.Argsh   s    !!5#K#K2$4 #5 66Ak&6I""6*  (
!!66 ""7+r    c                     t         j                  j                  j                  j	                          |j
                  j                  j                         j                         }|j                  Y|j                  d      }|j                  |j                  |d<   n|j                  |j                  |d<   dj                  |      }t        j                  | j                        }t!        |j#                  ||j$                              S r0   )r
   r5   r6   r7   r8   r9   r:   r   r;   r=   regionr<   r>   r   r?   r@   rA   rB   r4   rC   s        r   rI   zListAlpha.Run}   s     "",,.==%%++-::<L yy"((-m		  KKb==$ MMbXXm,l--d6G6GHF$$\$DEEr    N)
rJ   rK   rL   rM   r   r`   r@   rO   r.   rI   rP   r    r   rX   rX   b   s(    !!33,, ,(Fr    rX    zThe following command lists a maximum of five Filestore instances sorted
alphabetically by name in descending order:

  $ {command} --limit=5 --sort-by=~name
)DESCRIPTIONEXAMPLESN)rM   
__future__r   r   r    googlecloudsdk.api_lib.filestorer   googlecloudsdk.callioper   $googlecloudsdk.command_lib.filestorer   .googlecloudsdk.command_lib.filestore.instancesr%   (googlecloudsdk.command_lib.util.conceptsr	   googlecloudsdk.corer
   r   UniverseCompatibleReleaseTracksReleaseTrackGAListCommandr   BETArR   ALPHArX   detailed_helprP   r    r   <module>ru      s     / &  ' = ( 6 S D * ) D%%(()"F4 "F * "FJ D%%**+,t , ,,6 D%%++,*F *F -*F^ 			
 r    