HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/awscli/customizations/__pycache__/waiters.cpython-36.opt-1.pyc
3

�T_N&�@s�ddlmZddlmZddlmZddlmZmZm	Z	dd�Z
dd�Zd	d
�ZGdd�de�Z
Gd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de	�ZdS)�)�
xform_name)�DataNotFoundError)�ServiceOperation)�BasicCommand�	BasicHelp�BasicDocHandlercCs|jdt�dS)Nzbuilding-command-table)�register�add_waiters)Zcli�r
�/usr/lib/python3.6/waiters.py�register_add_waiterssrcKsHt|dd�}|dk	rDt||�}|dkr*dS|j}|rDt|||�|d<dS)N�
service_model�wait)�getattr�#get_waiter_model_from_service_model�waiter_names�WaitCommand)�
command_table�sessionZcommand_object�kwargsr
�waiter_modelrr
r
rr	sr	cCs.y|j|j|j�}Wntk
r(dSX|S)N)Zget_waiter_model�service_name�api_versionr)rr
�modelr
r
rr+srcs@eZdZdZdZ�fdd�Zdd�Z�fdd�Zd	d
�Z�Z	S)rrzqWait until a particular condition is satisfied. Each subcommand polls an API until the listed requirement is met.cs4||_||_t||j|jd�|_tt|�j|�dS)N)rrr
)�_model�_service_model�WaiterStateCommandBuilder�waiter_cmd_builder�superr�__init__)�selfrrr
)�	__class__r
rr:szWaitCommand.__init__cCs|jdkrtd��dS)NzVusage: aws [options] <command> <subcommand> [parameters]
aws: error: too few arguments)Z
subcommand�
ValueError)r Zparsed_args�parsed_globalsr
r
r�	_run_mainDs
zWaitCommand._run_maincs(tt|�j�}|jj|�|j|�|S)N)rr�_build_subcommand_tabler�build_all_waiter_state_cmdsZ_add_lineage)r �subcommand_table)r!r
rr%Is
z#WaitCommand._build_subcommand_tablecCst|j||j|jtd�S)N)r�	arg_tableZevent_handler_class)r�_sessionr'r(�WaiterCommandDocHandler)r r
r
r�create_help_commandOszWaitCommand.create_help_command)
�__name__�
__module__�__qualname__�NAME�DESCRIPTIONrr$r%r+�
__classcell__r
r
)r!rr4s
rc@s$eZdZdd�Zdd�Zdd�ZdS)rcCs||_||_||_dS)N)r)rr)r rrr
r
r
rrWsz"WaiterStateCommandBuilder.__init__cCs2|jj}x$|D]}t|d�}|j|�||<qWdS)z�This adds waiter state commands to the subcommand table passed in.

        This is the method that adds waiter state commands like
        ``instance-running`` to ``ec2 wait``.
        �-N)rrr�_build_waiter_state_cmd)r r'r�waiter_name�waiter_cli_namer
r
rr&\s

z5WaiterStateCommandBuilder.build_all_waiter_state_cmdsc	Cs^|jj|�}t|d�}|j}|jj|�}t|dt|j|�|j|d�}t	|�}|j
�}||_|S)Nr2r)�name�parent_nameZoperation_callerr�operation_model)r�
get_waiterr�	operationrr8�WaiterStateCommand�WaiterCallerr)�WaiterStateDocBuilder�build_waiter_state_descriptionr0)	r r4�
waiter_configr5�operation_namer8Zwaiter_state_commandZwaiter_state_doc_builder�descriptionr
r
rr3hs

z1WaiterStateCommandBuilder._build_waiter_state_cmdN)r,r-r.rr&r3r
r
r
rrVsrc@sDeZdZdddddd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)r=z
%s is thrown z%s z%s for all elements z%s for any element z%s response is received )�error�path�pathAll�pathAnyZstatuscCs
||_dS)N)�_waiter_config)r r?r
r
rr�szWaiterStateDocBuilder.__init__cCsj|jj}|sNd}x*|jjD]}|jdkr||j|�7}PqW||j|jj�7}||j|jj|jj	�7}|S)NzWait until �success)
rFrAZ	acceptors�state�_build_success_description�_build_operation_descriptionr:�_build_polling_description�delay�max_attempts)r rA�acceptorr
r
rr>�s
z4WaiterStateDocBuilder.build_waiter_state_descriptioncCs<|j}|j|}d}|dkr.d|j}||}||j}|S)NrCrErDzJMESPath query %s returns )rCrErD)�matcher�SUCCESS_DESCRIPTIONSZargumentZexpected)r rNrOZsuccess_descriptionZresource_descriptionZfull_success_descriptionr
r
rrI�s

z0WaiterStateDocBuilder._build_success_descriptioncCst|�jdd�}d|S)N�_r2zwhen polling with ``%s``.)r�replace)r r:r@r
r
rrJ�sz2WaiterStateDocBuilder._build_operation_descriptioncCsd||f}|S)Nz� It will poll every %s seconds until a successful state has been reached. This will exit with a return code of 255 after %s failed checks.r
)r rLrMrAr
r
rrK�s
z0WaiterStateDocBuilder._build_polling_descriptionN)	r,r-r.rPrr>rIrJrKr
r
r
rr=�sr=c@seZdZdd�Zdd�ZdS)r<cCs||_||_dS)N)r)�_waiter_name)r rr4r
r
rr�szWaiterCaller.__init__cCs:|jj||j|j|jd�}|jt|j��}|jf|�dS)N)Zregion_name�endpoint_urlZverifyr)	r)Z
create_clientZregionrTZ
verify_sslr9rrSr)r rr@Z
parametersr#ZclientZwaiterr
r
r�invoke�s
zWaiterCaller.invokeN)r,r-r.rrUr
r
r
rr<�sr<cs eZdZdZ�fdd�Z�ZS)r;�cs$tt|�j�}|j|j_d|j_|S)N)rr;r+r0Z_operation_modelZ
documentationZoutput_shape)r �help_command)r!r
rr+�s
z&WaiterStateCommand.create_help_command)r,r-r.r0r+r1r
r
)r!rr;�sr;c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)r*cKsdS)Nr
)r rWrr
r
r�doc_synopsis_start�sz*WaiterCommandDocHandler.doc_synopsis_startcKsdS)Nr
)r �arg_namerWrr
r
r�doc_synopsis_option�sz+WaiterCommandDocHandler.doc_synopsis_optioncKsdS)Nr
)r rWrr
r
r�doc_synopsis_end�sz(WaiterCommandDocHandler.doc_synopsis_endcKsdS)Nr
)r rWrr
r
r�doc_options_start�sz)WaiterCommandDocHandler.doc_options_startcKsdS)Nr
)r rWrr
r
r�doc_options_end�sz'WaiterCommandDocHandler.doc_options_endcKsdS)Nr
)r rYrWrr
r
r�
doc_option�sz"WaiterCommandDocHandler.doc_optionN)	r,r-r.rXrZr[r\r]r^r
r
r
rr*�sr*N)ZbotocorerZbotocore.exceptionsrZawscli.clidriverrZawscli.customizations.commandsrrrrr	rr�objectrr=r<r;r*r
r
r
r�<module>
s	"1>