HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/awscli/customizations/__pycache__/waiters.cpython-38.pyc
U

<�^	&�@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|�dt�dS)Nzbuilding-command-table)�register�add_waiters)Zcli�r
�?/usr/lib/python3/dist-packages/awscli/customizations/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	cCs0z|�|j|j�}Wntk
r*YdSX|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|��|�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�|�|�|�|Sr)rr�_build_subcommand_tabler�build_all_waiter_state_cmdsZ_add_lineage)r!�subcommand_tabler"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_commandOs
�zWaitCommand.create_help_command)
�__name__�
__module__�__qualname__�NAME�DESCRIPTIONr r&r'r-�
__classcell__r
r
r"rr4s
rc@s$eZdZdd�Zdd�Zdd�ZdS)rcCs||_||_||_dSr)r+rr)r!rrr
r
r
rr Wsz"WaiterStateCommandBuilder.__init__cCs.|jj}|D]}t|d�}|�|�||<qdS)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^|j�|�}t|d�}|j}|j�|�}t|dt|j|�|j|d�}t	|�}|�
�}||_|S)Nr4r)�name�parent_nameZoperation_callerr�operation_model)r�
get_waiterr�	operationrr:�WaiterStateCommand�WaiterCallerr+�WaiterStateDocBuilder�build_waiter_state_descriptionr2)	r!r6�
waiter_configr7�operation_namer:Zwaiter_state_commandZwaiter_state_doc_builder�descriptionr
r
rr5hs

�	z1WaiterStateCommandBuilder._build_waiter_state_cmdN)r.r/r0r r(r5r
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
||_dSr)�_waiter_config)r!rAr
r
rr �szWaiterStateDocBuilder.__init__cCsh|jj}|sLd}|jjD] }|jdkr||�|�7}q:q||�|jj�7}||�|jj|jj	�7}|S)NzWait until Zsuccess)
rHrCZ	acceptors�state�_build_success_description�_build_operation_descriptionr<�_build_polling_description�delay�max_attempts)r!rC�acceptorr
r
rr@�s
��z4WaiterStateDocBuilder.build_waiter_state_descriptioncCs<|j}|j|}d}|dkr.d|j}||}||j}|S)N)rErGrFzJMESPath query %s returns )�matcher�SUCCESS_DESCRIPTIONSZargumentZexpected)r!rOrPZsuccess_descriptionZresource_descriptionZfull_success_descriptionr
r
rrJ�s
�
z0WaiterStateDocBuilder._build_success_descriptioncCst|��dd�}d|S)N�_r4zwhen polling with ``%s``.)r�replace)r!r<rBr
r
rrK�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!rMrNrCr
r
rrL�s
��z0WaiterStateDocBuilder._build_polling_descriptionN)	r.r/r0rQr r@rJrKrLr
r
r
rr?�s�r?c@seZdZdd�Zdd�ZdS)r>cCs||_||_dSr)r+�_waiter_name)r!rr6r
r
rr �szWaiterCaller.__init__cCs:|jj||j|j|jd�}|�t|j��}|jf|�dS)N)Zregion_name�endpoint_urlZverifyr)	r+Z
create_clientZregionrUZ
verify_sslr;rrTr)r!rrBZ
parametersr%ZclientZwaiterr
r
r�invoke�s�zWaiterCaller.invokeN)r.r/r0r rVr
r
r
rr>�sr>cs eZdZdZ�fdd�Z�ZS)r=�cs$tt|���}|j|j_d|j_|Sr)rr=r-r2Z_operation_modelZ
documentationZoutput_shape)r!�help_commandr"r
rr-�s
z&WaiterStateCommand.create_help_command)r.r/r0r2r-r3r
r
r"rr=�sr=c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)r,cKsdSrr
�r!rXrr
r
r�doc_synopsis_start�sz*WaiterCommandDocHandler.doc_synopsis_startcKsdSrr
�r!Zarg_namerXrr
r
r�doc_synopsis_option�sz+WaiterCommandDocHandler.doc_synopsis_optioncKsdSrr
rYr
r
r�doc_synopsis_end�sz(WaiterCommandDocHandler.doc_synopsis_endcKsdSrr
rYr
r
r�doc_options_start�sz)WaiterCommandDocHandler.doc_options_startcKsdSrr
r[r
r
r�
doc_option�sz"WaiterCommandDocHandler.doc_optionN)r.r/r0rZr\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>