
                            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SKJr  SSKJr  S r\R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       r\R$                  " \R&                  R0                  5       " S S\5      5       rg)zCImplementation of buckets list command for getting info on buckets.    )absolute_import)division)unicode_literals)	cloud_api)base)errors)flags)storage_url)wildcard_iterator)full_resource_formatter)resource_utilc                     U R                  SSSS9  [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        g)z$Adds common arguments to the parser.urls*z!Specifies URL of buckets to List.)nargshelpN)add_argumentr	   add_additional_headers_flagadd_raw_display_flag add_uri_support_to_list_commandsparsers    #lib/surface/storage/buckets/list.py_add_common_argsr      sI    CA   ##F+V$((0    c                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g	)
List)   Lists Cloud Storage buckets.z)
      List Cloud Storage buckets.
      a  

      List all Google Cloud Storage buckets in default project:

        $ {command}

      List buckets beginning with ``b'':

        $ {command} gs://b*

      List buckets with JSON formatting, only returning the ``name'' key:

        $ {command} --format="json(name)"
      )DESCRIPTIONEXAMPLESc                     [        U 5        g N)r   r   s    r   Args	List.ArgsB   s
    Vr   c              #     #    UR                   (       a  / nUR                    Hy  n[        R                  " U5      nUR                  5       (       d:  UR	                  5       (       d%  [
        R                  " SR                  U5      5      eUR                  U5        M{     O/[        R                  " [        R                  R                  5      /nU H~  n[        R                  " UR                  [        R                   R"                  S[%        USS5      S9 H3  n[&        R(                  " U[*        R,                  UR.                  S9v   M5     M     g 7f)NzURL does not match buckets: {}Tsoft_deletedF)fields_scopeget_bucket_metadatasoft_deleted_buckets)display_raw_keys)r   r
   storage_url_from_stringis_provider	is_bucketr   InvalidUrlErrorformatappendCloudUrlProviderPrefixGCSr   get_wildcard_iterator
url_stringr   FieldsScopeFULLgetattrr   get_display_dict_for_resourcer   BucketDisplayTitlesAndDefaultsraw)selfargsr   r6   urlbuckets         r   RunList.RunF   s    yyd		*11*=!!S]]__&&.55jA  	C " "";#=#=#A#ABCd%;;
.. ,,11"&t^UC	& 99#BB!XX
 	
 s   EE N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr$   rA   __static_attributes__rC   r   r   r   r   )   s1     %

	-(  
r   r   c                   (    \ rS rSrSr\S 5       rSrg)	ListAlphaa   r   c                 F    [        U 5        [        R                  " U 5        g r#   )r   r	   add_soft_deleted_flagr   s    r   r$   ListAlpha.Argse   s    V	'r   rC   N)rD   rE   rF   rG   rH   rJ   r$   rK   rC   r   r   rM   rM   a   s    $( (r   rM   N)rH   
__future__r   r   r   googlecloudsdk.api_lib.storager   googlecloudsdk.callioper   "googlecloudsdk.command_lib.storager   r	   r
   r   ,googlecloudsdk.command_lib.storage.resourcesr   r   r   ReleaseTracksReleaseTrackGAUniverseCompatibleListCommandr   ALPHArM   rC   r   r   <module>r]      s    J &  ' 4 ( 5 4 : @ P F1 D%%(()3
4 3
  *3
l D%%++,( ( -(r   