
                             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dlmZ dd	lmZ e
j                   G d
 de
j                               Zy)z0Command to create a Transfer Service agent pool.    )absolute_import)division)unicode_literals)agent_pools_util)apis)base)agent_pools_flag_util)	name_utilc                   0    e Zd ZdZdddZed        Zd Zy)Createz%Create a Transfer Service agent pool.zs      Create an agent pool -- a group of agents used to connect to a source or
      destination filesystem.
      a        To create an agent pool with name 'my-pool', display name 'daily backups',
      and no bandwidth limit, run:

          $ {command} my-pool --display-name='daily backups'

      To create an agent pool with name 'my-pool', display name 'daily backups',
      and a bandwidth limit of 50 MB/s, run:

          $ {command} my-pool --display-name="daily backups" --bandwidth-limit=50

      )DESCRIPTIONEXAMPLESc                 V    t        j                  |        | j                  ddd       y )Nz
--no-async
store_truez{Block other tasks in your terminal until the pool has been created. If not included, pool creation will run asynchronously.)actionhelp)r	   setup_parseradd_argument)parsers    *lib/surface/transfer/agent_pools/create.pyArgszCreate.Args7   s0    &&v.
L  M    c                 <   t        j                  dd      }t        j                  dd      }t        j                  |j
                        }t        j                  |j
                        }t        j                  |      }|j                  |j                  |      }|j                  r!|j                  |j                        |_        |j                  j                  |j                  |||            }|j                   rt#        j$                  |      }	|	S |}	|	S )Ntransferv1)displayNamename)	limitMbps)	agentPoolagentPoolId	projectId)r   GetClientInstanceGetMessagesModuler
   add_agent_pool_prefixr   remove_agent_pool_prefix"get_agent_pool_project_from_string	AgentPooldisplay_namebandwidth_limitBandwidthLimitbandwidthLimitprojects_agentPoolsr   .StoragetransferProjectsAgentPoolsCreateRequestno_asyncr   block_until_created)
selfargsclientmessagesformatted_agent_pool_nameagent_pool_idagent_pool_projectagent_pool_objectinitial_resultfinal_results
             r   Runz
Create.Run@   s   ##J5F%%j$7H ) ? ?		 J66tyyAM"EE!# !**%%,E + G)1)@)@(( *A **& //66??'%( 	@ 	*+N }}%99
#%l
  $lr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r:    r   r   r   r      s1    -



-, M Mr   r   N)r>   
__future__r   r   r   googlecloudsdk.api_lib.transferr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   #googlecloudsdk.command_lib.transferr	   r
   UniverseCompatibleCommandr   rA   r   r   <module>rI      sG    7 &  ' < , ( E 9 =T\\ = =r   