HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/awscli/customizations/__pycache__/waiters.cpython-310.pyc
o

.&�aN&�@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)�cli�r�?/usr/lib/python3/dist-packages/awscli/customizations/waiters.py�register_add_waiterssr
cKsPt|dd�}|dur$t||�}|durdS|j}|r&t|||�|d<dSdSdS)N�
service_model�wait)�getattr�#get_waiter_model_from_service_model�waiter_names�WaitCommand)�
command_table�session�command_object�kwargsr�waiter_modelrrrrr	s���r	cCs,z|�|j|j�}W|StyYdSw�N)�get_waiter_model�service_name�api_versionr)rr�modelrrrr+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__rrr#:s�zWaitCommand.__init__cCs|jdur	td��dS)NzVusage: aws [options] <command> <subcommand> [parameters]
aws: error: too few arguments)�
subcommand�
ValueError)r$�parsed_args�parsed_globalsrrr�	_run_mainDs
�zWaitCommand._run_maincs(tt|���}|j�|�|�|�|Sr)r"r�_build_subcommand_tabler!�build_all_waiter_state_cmds�_add_lineage)r$�subcommand_tabler%rrr,Is
z#WaitCommand._build_subcommand_tablecCst|j||j|jtd�S)N)r�	arg_table�event_handler_class)r�_sessionr/r0�WaiterCommandDocHandler)r$rrr�create_help_commandOs
�zWaitCommand.create_help_command)
�__name__�
__module__�__qualname__�NAME�DESCRIPTIONr#r+r,r4�
__classcell__rrr%rr4s
rc@s$eZdZdd�Zdd�Zdd�ZdS)r cCs||_||_||_dSr)r2rr)r$rrrrrrr#Ws
z"WaiterStateCommandBuilder.__init__cCs.|jj}|D]}t|d�}|�|�||<qdS)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_namerrrr-\s
��z5WaiterStateCommandBuilder.build_all_waiter_state_cmdsc	Cs^|j�|�}t|d�}|j}|j�|�}t|dt|j|�|j|d�}t	|�}|�
�}||_|S)Nr;r)�name�parent_name�operation_callerr�operation_model)r�
get_waiterr�	operationrrB�WaiterStateCommand�WaiterCallerr2�WaiterStateDocBuilder�build_waiter_state_descriptionr9)	r$r=�
waiter_configr>�operation_namerB�waiter_state_command�waiter_state_doc_builder�descriptionrrrr<hs

�	z1WaiterStateCommandBuilder._build_waiter_state_cmdN)r5r6r7r#r-r<rrrrr Vsr c@sDeZdZdddddd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)rGz
%s is thrown z%s z%s for all elements z%s for any element z%s response is received )�error�path�pathAll�pathAny�statuscCs
||_dSr)�_waiter_config)r$rIrrrr#�s
zWaiterStateDocBuilder.__init__cCsh|jj}|s&d}|jjD]}|jdkr||�|�7}nq||�|jj�7}||�|jj|jj	�7}|S)NzWait until �success)
rSrM�	acceptors�state�_build_success_description�_build_operation_descriptionrD�_build_polling_description�delay�max_attempts)r$rM�acceptorrrrrH�s
���z4WaiterStateDocBuilder.build_waiter_state_descriptioncCs<|j}|j|}d}|dvrd|j}||}||j}|S)N)rOrQrPzJMESPath query %s returns )�matcher�SUCCESS_DESCRIPTIONS�argument�expected)r$r\r]�success_description�resource_description�full_success_descriptionrrrrW�s
�
z0WaiterStateDocBuilder._build_success_descriptioncCst|��dd�}d|S)N�_r;zwhen polling with ``%s``.)r�replace)r$rDrJrrrrX�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$rZr[rMrrrrY�s
��z0WaiterStateDocBuilder._build_polling_descriptionN)	r5r6r7r^r#rHrWrXrYrrrrrG�s�rGc@seZdZdd�Zdd�ZdS)rFcCs||_||_dSr)r2�_waiter_name)r$rr=rrrr#�s
zWaiterCaller.__init__cCs>|jj||j|j|jd�}|�t|j��}|jdi|��dS)N)�region_name�endpoint_url�verifyrr)	r2�
create_client�regionrh�
verify_sslrCrrfr)r$rrJ�
parametersr*�client�waiterrrr�invoke�s�zWaiterCaller.invokeN)r5r6r7r#rprrrrrF�srFcs eZdZdZ�fdd�Z�ZS)rE�cs$tt|���}|j|j_d|j_|Sr)r"rEr4r9�_operation_model�
documentation�output_shape)r$�help_commandr%rrr4�s
z&WaiterStateCommand.create_help_command)r5r6r7r9r4r:rrr%rrE�srEc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)r3cK�dSrr�r$rurrrr�doc_synopsis_start��z*WaiterCommandDocHandler.doc_synopsis_startcKrvrr�r$�arg_namerurrrr�doc_synopsis_option�ryz+WaiterCommandDocHandler.doc_synopsis_optioncKrvrrrwrrr�doc_synopsis_end�ryz(WaiterCommandDocHandler.doc_synopsis_endcKrvrrrwrrr�doc_options_start�ryz)WaiterCommandDocHandler.doc_options_startcKrvrrrwrrr�doc_options_end�ryz'WaiterCommandDocHandler.doc_options_endcKrvrrrzrrr�
doc_option�ryz"WaiterCommandDocHandler.doc_optionN)	r5r6r7rxr|r}r~rr�rrrrr3�sr3N)�botocorer�botocore.exceptionsr�awscli.clidriverr�awscli.customizations.commandsrrrr
r	rr�objectr rGrFrEr3rrrr�<module>s	"1>