
                         $   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Z ej                  ej                  j                  ej                  j                  ej                  j                          G d	 d
ej"                               Zy)+Lists AlloyDB instances in a given cluster.    )absolute_import)division)unicode_literals)api_util)base)
propertieszg
    table(
        name,
        instanceType:label="INSTANCE_TYPE",
        state:label=STATUS
    )
c                   0    e Zd ZdZdddZed        Zd Zy)Listr   z{description}zi        To list instances, run:

          $ {command} --cluster=my-cluster --region=us-central1
        )DESCRIPTIONEXAMPLESc                     | j                  d      }|j                  dddd       |j                  dddd	       | j                  j                  t               y
)zxSpecifies additional command flags.

    Args:
      parser: argparse.Parser: Parser object for command line inputs
    Cluster)helpz--regionT-zRegional location (e.g. asia-east1, us-east1) of CLUSTER. See the full list of regions at https://cloud.google.com/sql/docs/instance-locations. Default: list clusters in all regions.)requireddefaultr   z	--clusterzAlloyDB cluster IDN)add_argument_groupadd_argumentdisplay_info	AddFormat_INSTANCE_FORMAT)parsercluster_argss     %lib/surface/alloydb/instances/list.pyArgsz	List.Args3   sp     ,,),<L7	  9 "	  %
 !!"23    c                    t        j                  | j                               }|j                  }|j                  }|j
                  j                  dt        j                  j                  j                  j                  |j                  |j                        }t        j                  |j                  |j!                  |j#                               d|j$                  |j&                  d      }|S )zConstructs and sends request.

    Args:
      args: argparse.Namespace, An object that contains the values for the
          arguments specified in the .Args() method.

    Returns:
      ProcessHttpResponse of the request made.
    z#alloydb.projects.locations.clusters)
projectsIdlocationsId
clustersId)parent	instancespageSize)fieldlimit
batch_sizebatch_size_attribute)r   AlloyDBClientReleaseTrackalloydb_clientalloydb_messagesresource_parserCreater	   VALUEScoreproject	GetOrFailregioncluster YieldFromListHandlingUnreachable%projects_locations_clusters_instances4AlloydbProjectsLocationsClustersInstancesListRequestRelativeNamer&   	page_size)selfargsclientr+   r,   cluster_refresults          r   RunzList.RunJ   s     ##D$5$5$78F**N..((//-$$))11;;KK<<	 0 !K 66<<	=	=++- 
> 
/jj>>')F Mr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r?    r   r   r   r   #   s1     4 		- 4 4,r   r   N)rC   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   googlecloudsdk.callioper   googlecloudsdk.corer	   r   ReleaseTracksr*   ALPHABETAGAListCommandr   rF   r   r   <module>rP      s    2 '  ' 3 ( *  D%%++T->->-C-C%%((*B4 B*Br   