
                             S r SSKJr  SSKJr  SSKJr  SSK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S r " S S\R&                  5      rg)zbigtable backups list command.    )absolute_import)division)unicode_literalsN)
list_pager)util)base)
exceptions)	arguments)	resourcesc                 n    [         R                  R                  U R                  SS9R	                  5       $ )Nz1bigtableadmin.projects.instances.clusters.backups)
collection)r   REGISTRYParseRelativeNamenameSelfLink)resources    $lib/surface/bigtable/backups/list.py_GetUriFunctionr      s3    				-	-mmD 
. 
FFNhjQ    c                 T    U R                  S5      nUR                  S5      nUS   nU$ )z Get Cluster ID from backup name.r   /)getsplit)r   backup_nameresultscluster_names       r   _TransformClusterr   %   s1     V$+c"',	r   c                   x    \ rS rSrSr\R                  " S5      \R                  " S5      S.r\S 5       r	S r
Srg	)
ListBackups/   zList existing Bigtable backups.z5
          List existing Bigtable backups.
          z
          To list all backups in an instance, run:

            $ {command} --instance=INSTANCE_NAME

          To list all backups in a cluster, run:

            $ {command} --instance=INSTANCE_NAME --cluster=CLUSTER_NAME
          )DESCRIPTIONEXAMPLESc                     [         R                  " U S5        U R                  R                  S5        U R                  R	                  [
        5        U R                  R                  S[        05        g)z Register flags for this command.zto list backups forz
          table(
            name.basename():sort=1:label=NAME,
            cluster():label=CLUSTER,
            sourceTable.basename():label=TABLE,
            expireTime:label=EXPIRE_TIME,
            state
          )
        clusterN)r
   AddBackupResourceArgdisplay_info	AddFormat
AddUriFuncr   AddTransformsr   )parsers    r   ArgsListBackups.ArgsC   s^     ""6+@A
!! #  ""?3
%%y2C&DEr   c              #   d  #    [         R                  " 5       nUR                  R                  R	                  5       nUR                  R
                  R	                  5       nU(       a  UR                  5       nOiU(       aK  UR                  S5      (       a!  UR                  5       S-   UR
                  -   nO+UR                  5       S-   nO[        R                  " SS5      e[         R                  " 5       R                  US9n[        R                  " UR                  USSS	9 H  nUv   M	     g7f)
zThis is what gets called when the user runs this command.

Args:
  args: an argparse namespace. All the arguments that were provided to this
    command invocation.

Yields:
  Some value that we want to have printed later.
r%   z
/clusters/z/clusters/-z
--instancez--instance must be specified)parentbackupsN)fieldbatch_size_attribute)r   GetAdminClientCONCEPTSinstanceParser%   RelativeNameIsSpecifiedr	   InvalidArgumentExceptionGetAdminMessages8BigtableadminProjectsInstancesClustersBackupsListRequestr   YieldFromList#projects_instances_clusters_backups)selfargscliinstance_refcluster_refcluster_strmsgbackups           r   RunListBackups.RunS   s
     


C==))//1L--''--/K,,.k				)	$	$"//1L@4<<O"//1MA//0NP P 		A	A 
B 
   **//!	#
 l#s   D.D0 N)__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpstaticmethodr,   rF   __static_attributes__rH   r   r   r    r    /   sM    ' //   //  -" F F!r   r    )rM   
__future__r   r   r   rN   apitools.base.pyr   googlecloudsdk.api_lib.bigtabler   googlecloudsdk.callioper   r	   #googlecloudsdk.command_lib.bigtabler
   googlecloudsdk.corer   r   r   ListCommandr    rH   r   r   <module>rZ      sG    % &  '  ' 0 ( . 9 )QE$"" Er   