def _build_waiter_state_cmd(self, waiter_name):
# Get the waiter
waiter_config = self._model.get_waiter(waiter_name)
# Create the cli name for the waiter operation
waiter_cli_name = xform_name(waiter_name, '-')
# Obtain the name of the service operation that is used to implement
# the specified waiter.
operation_name = waiter_config.operation
# Create an operation object to make a command for the waiter. The
# operation object is used to generate the arguments for the waiter
# state command.
operation_model = self._service_model.operation_model(operation_name)
waiter_state_command = WaiterStateCommand(
name=waiter_cli_name, parent_name='wait',
operation_caller=WaiterCaller(self._session, waiter_name),
session=self._session,
operation_model=operation_model,
)
# Build the top level description for the waiter state command.
# Most waiters do not have a description so they need to be generated
# using the waiter configuration.
waiter_state_doc_builder = WaiterStateDocBuilder(waiter_config)
description = waiter_state_doc_builder.build_waiter_state_description()
waiter_state_command.DESCRIPTION = description
return waiter_state_command
评论列表
文章目录