
                             d Z ddlmZ ddlmZ ddlmZ ddl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 Zd Z G d dej&                        Zy)zbigtable backups list command.    )absolute_import)division)unicode_literalsN)
list_pager)util)base)
exceptions)	arguments)	resourcesc                 t    t         j                  j                  | j                  d      j	                         S )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    | j                  d      }|j                  d      }|d   }|S )z Get Cluster ID from backup name.r   /)getsplit)r   backup_nameresultscluster_names       r   _TransformClusterr   %   s1     V$+c"',	r   c                   p    e Zd ZdZ ej
                  d       ej
                  d      dZed        Zd Z	y)ListBackupsz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                     t        j                  | d       | j                  j                  d       | j                  j	                  t
               | j                  j                  dt        i       y)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   ArgszListBackups.ArgsC   s^     ""6+@A
!! #  ""?3
%%y2C&DEr   c              #   F  K   t        j                         }|j                  j                  j	                         }|j                  j
                  j	                         }|r|j                         }n^|rF|j                  d      r!|j                         dz   |j
                  z   }n*|j                         dz   }nt        j                  dd      t        j                         j                  |      }t        j                  |j                  |dd	      D ]  }|  yw)
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   RunzListBackups.RunS   s     


C==))//1L--''--/K,,.k				)	$"//1L@4<<O"//1MA//0NP P 		A	A 
B 
   **//!	#
 l#s   DD!N)
__name__
__module____qualname____doc__textwrapdedentdetailed_helpstaticmethodr+   rD    r   r   r    r    /   sQ    ' (//   (//  -" F F!r   r    )rH   
__future__r   r   r   rI   apitools.base.pyr   googlecloudsdk.api_lib.bigtabler   googlecloudsdk.callioper   r	   #googlecloudsdk.command_lib.bigtabler
   googlecloudsdk.corer   r   r   ListCommandr    rM   r   r   <module>rU      sG    % &  '  ' 0 ( . 9 )QE$"" Er   