o
    !d                     @   sb   d dl Z d dlmZ d dlmZ e eZdZde Z	dd Z
dd	 Zd
d ZG dd deZdS )    N)model)BaseCLIArgument   aY  
<p>Number of instances to launch. If a single number is provided, it
is assumed to be the minimum to launch (defaults to %d).  If a range is
provided in the form <code>min:max</code> then the first number is
interpreted as the minimum number of instances to launch and the second
is interpreted as the maximum number of instances to launch.</p>c                 C   s   |  dt |  dt d S )Nz)building-argument-table.ec2.run-instancesz'before-parameter-build.ec2.RunInstances)registerec2_add_countset_default_count)Zevent_handler r   Fusr/lib/python3.10/site-packages/awscli/customizations/ec2/addcount.pyregister_count_events    s   r
   c                 K   s   t d| d< | d= | d= d S )Ncountz	min-countz	max-count)CountArgument)Zargument_tablekwargsr   r   r	   r   '   s   
r   c                 K   s   |  dt |  dt d S )NMaxCountMinCount)
setdefaultDEFAULT)paramsr   r   r   r	   r   -   s   r   c                   @   sb   e Zd Zdd Zedd Zedd Zedd Zejd	d Zed
d Z	dd Z
dd ZdS )r   c                 C   s"   t dddi| _|| _d| _d S )Nr   typestringF)r   ZShapeZargument_model_name	_required)selfnamer   r   r	   __init__4   s   
zCountArgument.__init__c                 C   s
   d| j  S )Nz--)r   r   r   r   r	   cli_name9      
zCountArgument.cli_namec                 C   s   dS )Nr   r   r   r   r   r	   cli_type_name=      zCountArgument.cli_type_namec                 C   s   | j S Nr   r   r   r   r	   requiredA   s   zCountArgument.requiredc                 C   s
   || _ d S r   r    )r   valuer   r   r	   r!   E   r   c                 C   s   t S r   )HELPr   r   r   r	   documentationI   r   zCountArgument.documentationc                 C   s   |j | j| jdd d S )NzNumber of instances to launch)metavarhelp)add_argumentr   Zpy_name)r   parserr   r   r	   add_to_parserM   s   
zCountArgument.add_to_parserc                 C   s`   |d u rd S z d|v r| d\}}n||}}t||d< t||d< W d S    d}t|)N:r   r   z<count parameter should be of form min[:max] (e.g. 1 or 1:10))splitint
ValueError)r   
parametersr"   ZminstrZmaxstrmsgr   r   r	   add_to_paramsR   s   
zCountArgument.add_to_paramsN)__name__
__module____qualname__r   propertyr   r   r!   setterr$   r)   r0   r   r   r   r	   r   2   s    




r   )loggingZbotocorer   Zawscli.argumentsr   	getLoggerr1   loggerr   r#   r
   r   r   r   r   r   r   r	   <module>   s   
