
                            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 ej                    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ddde_        y)z$Command for listing Filestore zones.    )absolute_import)division)unicode_literals)filestore_client)base)locations_util)flags)
properties)	resourcesc                   >    e Zd ZdZej
                  Zed        Zd Z	y)ListList all Filestore zones.c                     | j                   j                  t        j                         d }| j                   j	                  |       y )Nc                     t        j                         }|j                  | j                  t         j                        }|j                         S N
collection)r   GetFilestoreRegistryParsenameLOCATIONS_COLLECTIONSelfLinkresourceregistryrefs      #lib/surface/filestore/zones/list.pyUriFunczList.Args.<locals>.UriFunc(   sA    !668hNN
--$4$I$I  c \\^    display_info	AddFormatr	   LOCATIONS_LIST_FORMAT
AddUriFuncparserr   s     r   Argsz	List.Args$   s7    
!!%"="=> ""7+r   c                 p   t         j                  j                  t        j                  j
                  j                  j                         d      }t        j                  | j                        }t        |j                  |d             }t        t        j                  ||j                              S )Nzfile.projectsr   )version)limit)r   REGISTRYr   r
   VALUEScoreproject	GetOrFailr   FilestoreClient_API_VERSIONlistListLocationsr   %ExtractZonesFromLocationsListResponser*   )selfargsproject_refclientall_locationss        r   RunzList.Run1   s    $$**&&002 + K --d6G6GHF--k-FGM<<	
 r   N)
__name__
__module____qualname____doc__r   V1_API_VERSIONr1   staticmethodr'   r:    r   r   r   r      s)     "!00,
, 
,
r   r   c                   8    e Zd ZdZej
                  Zed        Zy)ListBetar   c                     | j                   j                  t        j                         d }| j                   j	                  |       y )Nc                     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>.UriFuncH   sN    !66

+
+h NN
--$4$I$I  c \\^r   r    r%   s     r   r'   zListBeta.ArgsD   7    
!!%"="=> ""7+r   N)	r;   r<   r=   r>   r   rF   r1   r@   r'   rA   r   r   rC   rC   >   s"    !!22,, ,r   rC   c                   8    e Zd ZdZej
                  Zed        Zy)	ListAlphar   c                     | j                   j                  t        j                         d }| j                   j	                  |       y )Nc                     t        j                  t         j                        }|j                  | j                  t         j
                        }|j                         S r   )r   r   ALPHA_API_VERSIONr   r   r   r   r   s      r   r   zListAlpha.Args.<locals>.UriFunc^   sN    !66

,
,h NN
--$4$I$I  c \\^r   r    r%   s     r   r'   zListAlpha.ArgsZ   rG   r   N)	r;   r<   r=   r>   r   rL   r1   r@   r'   rA   r   r   rI   rI   T   s"    !!33,, ,r   rI   r   zThe following command lists a maximum of five Filestore zones sorted
alphabetically by name in descending order:

  $ {command} --limit=5 --sort-by=~name
)DESCRIPTIONEXAMPLESN)r>   
__future__r   r   r    googlecloudsdk.api_lib.filestorer   googlecloudsdk.callioper   $googlecloudsdk.command_lib.filestorer   .googlecloudsdk.command_lib.filestore.locationsr	   googlecloudsdk.corer
   r   UniverseCompatibleReleaseTracksReleaseTrackGAListCommandr   BETArC   ALPHArI   detailed_helprA   r   r   <module>r]      s    + &  ' = ( ? @ * ) D%%(()4  * > D%%**+,t , ,,* D%%++,, , -,, / r   