
    y                     p   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
 r\R                  " \R                  R                   5      \R"                   " S S\R$                  5      5       5       r\R                  " \R                  R(                  5       " S S\5      5       rg)zCImplementation of buckets list command for getting info on buckets.    )	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.Args?   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   r3   urlbuckets         r   RunList.RunC   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!   r>   __static_attributes__r@   r   r   r   r   &   s1     %

	-(  
r   r   c                   (    \ rS rSrSr\S 5       rSrg)	ListAlpha^   r   c                 F    [        U 5        [        R                  " U 5        g r    )r   r   add_soft_deleted_flagr   s    r   r!   ListAlpha.Argsb   s    V	'r   r@   N)rA   rB   rC   rD   rE   rG   r!   rH   r@   r   r   rJ   rJ   ^   s    $( (r   rJ   N)rE   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   ALPHArJ   r@   r   r   <module>rY      s    J 5 ( 5 4 : @ P F1 D%%(()3
4 3
  *3
l D%%++,( ( -(r   