
                             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dlmZ ddlmZ ej(                   G d dej*                               Zy)z%Command to list transfer agent pools.    )absolute_import)division)unicode_literalsN)
list_pager)apis)arg_parsers)base)	list_util)	name_util)
properties)resource_printerc                   6    e Zd ZdZdddZed        Zd Zd Zy)	Listz+List Transfer Service transfer agent pools.zh      List Transfer Service transfer pools in a given project to show their
      configurations.
      aH        To list all agent pools in your current project, run:

        $ {command}

      To list agent pools named "foo" and "bar" in your project, run:

        $ {command} --names=foo,bar

      To list all information about jobs 'foo' and 'bar' formatted as JSON, run:

        $ {command} --names=foo,bar --format=json
      )DESCRIPTIONEXAMPLESc                 |    t        j                  |        | j                  dt        j                         dd       y )Nz--namesNAMESzThe names of the agent pools you want to list. Separate multiple names with commas (e.g., --name=foo,bar). If not specified, all agent pools in your current project will be listed.)typemetavarhelp)r
   add_common_list_flagsadd_argumentr   ArgList)parsers    (lib/surface/transfer/agent_pools/list.pyArgsz	List.Args<   s;    ##F+
  "?	  @    c                 L    t        j                  ||j                  xs d       y)zAPI response display logic.yamlN)r   Printformat)selfargs	resourcess      r   DisplayzList.DisplayH   s    9dkk&;V<r   c                     t        j                  dd      }t        j                  dd      }|j                  r t	        j
                  |j                        }nd}d|i}t        j                  |      }t        j                  |j                  |j                  |t        j                  j                  j                  j!                               |j"                  dd|j$                        }t'        j(                  || j*                  |       y)	zCommand execution logic.transferv1NagentPoolNames)filter	projectIdpageSize
agentPools)
batch_sizebatch_size_attributefieldlimit)r   GetClientInstanceGetMessagesModulenamesr   add_agent_pool_prefixjsondumpsr   YieldFromListprojects_agentPools,StoragetransferProjectsAgentPoolsListRequestr   VALUEScoreprojectGet	page_sizer1   r
   !print_transfer_resources_iteratorr%   )r"   r#   clientmessagesformatted_agent_pool_namesfilter_dictionaryfilter_stringresources_iterators           r   RunzList.RunL   s    ##J5F%%j$7Hzz#,#B#B4::#N #'  	4 JJ01M#11""==  '',,4488: 	> 	< >>'jj	 //0B04dDr   N)	__name__
__module____qualname____doc__detailed_helpstaticmethodr   r%   rG    r   r   r   r   "   s7    3


-, 	@ 	@=Dr   r   )rK   
__future__r   r   r   r6   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   r	   #googlecloudsdk.command_lib.transferr
   r   googlecloudsdk.corer   googlecloudsdk.core.resourcer   UniverseCompatibleCommandr   rN   r   r   <module>rX      sY    , &  '  ' , / ( 9 9 * 9 CD4<< CD CDr   