o
    .&ßa°  ã                   @   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)Úevent_handler© r	   úD/usr/lib/python3/dist-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)Ú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   ÚShapeÚ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   Ú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&   ÚminstrÚmaxstrÚmsgr	   r	   r
   Úadd_to_paramsR   s   
zCountArgument.add_to_paramsN)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r!   r%   Úsetterr(   r.   r7   r	   r	   r	   r
   r   2   s    




r   )ÚloggingÚbotocorer   Úawscli.argumentsr   Ú	getLoggerr8   Úloggerr   r'   r   r   r   r   r	   r	   r	   r
   Ú<module>   s   
û