You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::LexModelBuildingService::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::LexModelBuildingService::Client
- Defined in:
- (unknown)
Overview
An API client for Amazon Lex Model Building Service. To construct a client, you need to configure a :region
and :credentials
.
lexmodelbuildingservice = Aws::LexModelBuildingService::Client.new(
region: region_name,
credentials: credentials,
# ...
)
See #initialize for a full list of supported configuration options.
Region
You can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
Credentials
Default credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
- The shared credentials ini file at
~/.aws/credentials
(more information) - From an instance profile when running on EC2
You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and
:secret_access_key
:
# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))
Aws::LexModelBuildingService::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
Constructor collapse
-
#initialize(options = {}) ⇒ Aws::LexModelBuildingService::Client
constructor
Constructs an API client.
API Operations collapse
-
#create_bot_version(options = {}) ⇒ Types::CreateBotVersionResponse
Creates a new version of the bot based on the
$LATEST
version. -
#create_intent_version(options = {}) ⇒ Types::CreateIntentVersionResponse
Creates a new version of an intent based on the
$LATEST
version of the intent. -
#create_slot_type_version(options = {}) ⇒ Types::CreateSlotTypeVersionResponse
Creates a new version of a slot type based on the
$LATEST
version of the specified slot type. -
#delete_bot(options = {}) ⇒ Struct
Deletes all versions of the bot, including the
$LATEST
version. -
#delete_bot_alias(options = {}) ⇒ Struct
Deletes an alias for the specified bot.
-
#delete_bot_channel_association(options = {}) ⇒ Struct
Deletes the association between an Amazon Lex bot and a messaging platform.
This operation requires permission for the
.lex:DeleteBotChannelAssociation
action. -
#delete_bot_version(options = {}) ⇒ Struct
Deletes a specific version of a bot.
-
#delete_intent(options = {}) ⇒ Struct
Deletes all versions of the intent, including the
$LATEST
version. -
#delete_intent_version(options = {}) ⇒ Struct
Deletes a specific version of an intent.
-
#delete_slot_type(options = {}) ⇒ Struct
Deletes all versions of the slot type, including the
$LATEST
version. -
#delete_slot_type_version(options = {}) ⇒ Struct
Deletes a specific version of a slot type.
-
#delete_utterances(options = {}) ⇒ Struct
Deletes stored utterances.
Amazon Lex stores the utterances that users send to your bot.
-
#get_bot(options = {}) ⇒ Types::GetBotResponse
Returns metadata information for a specific bot.
-
#get_bot_alias(options = {}) ⇒ Types::GetBotAliasResponse
Returns information about an Amazon Lex bot alias.
-
#get_bot_aliases(options = {}) ⇒ Types::GetBotAliasesResponse
Returns a list of aliases for a specified Amazon Lex bot.
This operation requires permissions for the
.lex:GetBotAliases
action. -
#get_bot_channel_association(options = {}) ⇒ Types::GetBotChannelAssociationResponse
Returns information about the association between an Amazon Lex bot and a messaging platform.
This operation requires permissions for the
.lex:GetBotChannelAssociation
action. -
#get_bot_channel_associations(options = {}) ⇒ Types::GetBotChannelAssociationsResponse
Returns a list of all of the channels associated with the specified bot.
-
#get_bot_versions(options = {}) ⇒ Types::GetBotVersionsResponse
Gets information about all of the versions of a bot.
The
GetBotVersions
operation returns aBotMetadata
object for each version of a bot. -
#get_bots(options = {}) ⇒ Types::GetBotsResponse
Returns bot information as follows:
-
If you provide the
nameContains
field, the response includes information for the$LATEST
version of all bots whose name contains the specified string. -
If you don't specify the
nameContains
field, the operation returns information about the$LATEST
version of all of your bots.
This operation requires permission for the
.lex:GetBots
action. -
-
#get_builtin_intent(options = {}) ⇒ Types::GetBuiltinIntentResponse
Returns information about a built-in intent.
This operation requires permission for the
.lex:GetBuiltinIntent
action. -
#get_builtin_intents(options = {}) ⇒ Types::GetBuiltinIntentsResponse
Gets a list of built-in intents that meet the specified criteria.
This operation requires permission for the
.lex:GetBuiltinIntents
action. -
#get_builtin_slot_types(options = {}) ⇒ Types::GetBuiltinSlotTypesResponse
Gets a list of built-in slot types that meet the specified criteria.
For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.
This operation requires permission for the
.lex:GetBuiltInSlotTypes
action. -
#get_export(options = {}) ⇒ Types::GetExportResponse
Exports the contents of a Amazon Lex resource in a specified format.
-
#get_import(options = {}) ⇒ Types::GetImportResponse
Gets information about an import job started with the
StartImport
operation..
-
#get_intent(options = {}) ⇒ Types::GetIntentResponse
Returns information about an intent.
-
#get_intent_versions(options = {}) ⇒ Types::GetIntentVersionsResponse
Gets information about all of the versions of an intent.
The
GetIntentVersions
operation returns anIntentMetadata
object for each version of an intent. -
#get_intents(options = {}) ⇒ Types::GetIntentsResponse
Returns intent information as follows:
-
If you specify the
nameContains
field, returns the$LATEST
version of all intents that contain the specified string. -
If you don't specify the
nameContains
field, returns information about the$LATEST
version of all intents.
-
-
#get_slot_type(options = {}) ⇒ Types::GetSlotTypeResponse
Returns information about a specific version of a slot type.
-
#get_slot_type_versions(options = {}) ⇒ Types::GetSlotTypeVersionsResponse
Gets information about all versions of a slot type.
The
GetSlotTypeVersions
operation returns aSlotTypeMetadata
object for each version of a slot type. -
#get_slot_types(options = {}) ⇒ Types::GetSlotTypesResponse
Returns slot type information as follows:
-
If you specify the
nameContains
field, returns the$LATEST
version of all slot types that contain the specified string. -
If you don't specify the
nameContains
field, returns information about the$LATEST
version of all slot types.
-
-
#get_utterances_view(options = {}) ⇒ Types::GetUtterancesViewResponse
Use the
GetUtterancesView
operation to get information about the utterances that your users have made to your bot. -
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Gets a list of tags associated with the specified resource.
-
#put_bot(options = {}) ⇒ Types::PutBotResponse
Creates an Amazon Lex conversational bot or replaces an existing bot.
-
#put_bot_alias(options = {}) ⇒ Types::PutBotAliasResponse
Creates an alias for the specified version of the bot or replaces an alias for the specified bot.
-
#put_intent(options = {}) ⇒ Types::PutIntentResponse
Creates an intent or replaces an existing intent.
To define the interaction between the user and your bot, you use one or more intents.
-
#put_slot_type(options = {}) ⇒ Types::PutSlotTypeResponse
Creates a custom slot type or replaces an existing custom slot type.
To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume.
-
#start_import(options = {}) ⇒ Types::StartImportResponse
Starts a job to import a resource to Amazon Lex.
.
-
#tag_resource(options = {}) ⇒ Struct
Adds the specified tags to the specified resource.
-
#untag_resource(options = {}) ⇒ Struct
Removes tags from a bot, bot alias or bot channel.
.
Instance Method Summary collapse
-
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
-
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters.
Methods inherited from Seahorse::Client::Base
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options = {}) ⇒ Aws::LexModelBuildingService::Client
Constructs an API client.
Instance Method Details
#create_bot_version(options = {}) ⇒ Types::CreateBotVersionResponse
Creates a new version of the bot based on the $LATEST
version. If the $LATEST
version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version.
You can update only the $LATEST
version of the bot. You can't update the numbered versions that you create with the CreateBotVersion
operation.
When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.
This operation requires permission for the lex:CreateBotVersion
action.
#create_intent_version(options = {}) ⇒ Types::CreateIntentVersionResponse
Creates a new version of an intent based on the $LATEST
version of the intent. If the $LATEST
version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created.
You can update only the $LATEST
version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion
operation.
When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.
This operation requires permissions to perform the lex:CreateIntentVersion
action.
#create_slot_type_version(options = {}) ⇒ Types::CreateSlotTypeVersionResponse
Creates a new version of a slot type based on the $LATEST
version of the specified slot type. If the $LATEST
version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.
You can update only the $LATEST
version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion
operation.
When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.
This operation requires permissions for the lex:CreateSlotTypeVersion
action.
#delete_bot(options = {}) ⇒ Struct
Deletes all versions of the bot, including the $LATEST
version. To delete a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot
operation doesn't immediately remove the bot schema. Instead, it is marked for deletion and removed later.
Amazon Lex stores utterances indefinitely for improving the ability of your bot to respond to user inputs. These utterances are not removed when the bot is deleted. To remove the utterances, use the DeleteUtterances operation.
If a bot has an alias, you can't delete it. Instead, the DeleteBot
operation returns a ResourceInUseException
exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot
operation is successful.
This operation requires permissions for the lex:DeleteBot
action.
#delete_bot_alias(options = {}) ⇒ Struct
Deletes an alias for the specified bot.
You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot
operation returns a ResourceInUseException
exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias
operation is successful.
#delete_bot_channel_association(options = {}) ⇒ Struct
Deletes the association between an Amazon Lex bot and a messaging platform.
This operation requires permission for the lex:DeleteBotChannelAssociation
action.
#delete_bot_version(options = {}) ⇒ Struct
Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.
This operation requires permissions for the lex:DeleteBotVersion
action.
#delete_intent(options = {}) ⇒ Struct
Deletes all versions of the intent, including the $LATEST
version. To delete a specific version of the intent, use the DeleteIntentVersion operation.
You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first.
If you get the ResourceInUseException
exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent
is successful.
This operation requires permission for the lex:DeleteIntent
action.
#delete_intent_version(options = {}) ⇒ Struct
Deletes a specific version of an intent. To delete all versions of a intent, use the DeleteIntent operation.
This operation requires permissions for the lex:DeleteIntentVersion
action.
#delete_slot_type(options = {}) ⇒ Struct
Deletes all versions of the slot type, including the $LATEST
version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation.
You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.
If you get the ResourceInUseException
exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType
call is successful.
This operation requires permission for the lex:DeleteSlotType
action.
#delete_slot_type_version(options = {}) ⇒ Struct
Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation.
This operation requires permissions for the lex:DeleteSlotTypeVersion
action.
#delete_utterances(options = {}) ⇒ Struct
Deletes stored utterances.
Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the ability of your bot to respond to user input.
Use the DeleteUtterances
operation to manually delete stored utterances for a specific user. When you use the DeleteUtterances
operation, utterances stored for improving your bot's ability to respond to user input are deleted immediately. Utterances stored for use with the GetUtterancesView
operation are deleted after 15 days.
This operation requires permissions for the lex:DeleteUtterances
action.
#get_bot(options = {}) ⇒ Types::GetBotResponse
Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.
This operation requires permissions for the lex:GetBot
action.
#get_bot_alias(options = {}) ⇒ Types::GetBotAliasResponse
Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.
This operation requires permissions for the lex:GetBotAlias
action.
#get_bot_aliases(options = {}) ⇒ Types::GetBotAliasesResponse
Returns a list of aliases for a specified Amazon Lex bot.
This operation requires permissions for the lex:GetBotAliases
action.
#get_bot_channel_association(options = {}) ⇒ Types::GetBotChannelAssociationResponse
Returns information about the association between an Amazon Lex bot and a messaging platform.
This operation requires permissions for the lex:GetBotChannelAssociation
action.
#get_bot_channel_associations(options = {}) ⇒ Types::GetBotChannelAssociationsResponse
Returns a list of all of the channels associated with the specified bot.
The GetBotChannelAssociations
operation requires permissions for the lex:GetBotChannelAssociations
action.
#get_bot_versions(options = {}) ⇒ Types::GetBotVersionsResponse
Gets information about all of the versions of a bot.
The GetBotVersions
operation returns a BotMetadata
object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions
operation returns four BotMetadata
objects in the response, one for each numbered version and one for the $LATEST
version.
The GetBotVersions
operation always returns at least one version, the $LATEST
version.
This operation requires permissions for the lex:GetBotVersions
action.
#get_bots(options = {}) ⇒ Types::GetBotsResponse
Returns bot information as follows:
-
If you provide the
nameContains
field, the response includes information for the$LATEST
version of all bots whose name contains the specified string. -
If you don't specify the
nameContains
field, the operation returns information about the$LATEST
version of all of your bots.
This operation requires permission for the lex:GetBots
action.
#get_builtin_intent(options = {}) ⇒ Types::GetBuiltinIntentResponse
Returns information about a built-in intent.
This operation requires permission for the lex:GetBuiltinIntent
action.
#get_builtin_intents(options = {}) ⇒ Types::GetBuiltinIntentsResponse
Gets a list of built-in intents that meet the specified criteria.
This operation requires permission for the lex:GetBuiltinIntents
action.
#get_builtin_slot_types(options = {}) ⇒ Types::GetBuiltinSlotTypesResponse
Gets a list of built-in slot types that meet the specified criteria.
For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.
This operation requires permission for the lex:GetBuiltInSlotTypes
action.
#get_export(options = {}) ⇒ Types::GetExportResponse
Exports the contents of a Amazon Lex resource in a specified format.
#get_import(options = {}) ⇒ Types::GetImportResponse
Gets information about an import job started with the StartImport
operation.
#get_intent(options = {}) ⇒ Types::GetIntentResponse
Returns information about an intent. In addition to the intent name, you must specify the intent version.
This operation requires permissions to perform the lex:GetIntent
action.
#get_intent_versions(options = {}) ⇒ Types::GetIntentVersionsResponse
Gets information about all of the versions of an intent.
The GetIntentVersions
operation returns an IntentMetadata
object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions
operation returns four IntentMetadata
objects in the response, one for each numbered version and one for the $LATEST
version.
The GetIntentVersions
operation always returns at least one version, the $LATEST
version.
This operation requires permissions for the lex:GetIntentVersions
action.
#get_intents(options = {}) ⇒ Types::GetIntentsResponse
Returns intent information as follows:
-
If you specify the
nameContains
field, returns the$LATEST
version of all intents that contain the specified string. -
If you don't specify the
nameContains
field, returns information about the$LATEST
version of all intents.
The operation requires permission for the lex:GetIntents
action.
#get_slot_type(options = {}) ⇒ Types::GetSlotTypeResponse
Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version.
This operation requires permissions for the lex:GetSlotType
action.
#get_slot_type_versions(options = {}) ⇒ Types::GetSlotTypeVersionsResponse
Gets information about all versions of a slot type.
The GetSlotTypeVersions
operation returns a SlotTypeMetadata
object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions
operation returns four SlotTypeMetadata
objects in the response, one for each numbered version and one for the $LATEST
version.
The GetSlotTypeVersions
operation always returns at least one version, the $LATEST
version.
This operation requires permissions for the lex:GetSlotTypeVersions
action.
#get_slot_types(options = {}) ⇒ Types::GetSlotTypesResponse
Returns slot type information as follows:
-
If you specify the
nameContains
field, returns the$LATEST
version of all slot types that contain the specified string. -
If you don't specify the
nameContains
field, returns information about the$LATEST
version of all slot types.
The operation requires permission for the lex:GetSlotTypes
action.
#get_utterances_view(options = {}) ⇒ Types::GetUtterancesViewResponse
Use the GetUtterancesView
operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.
For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView
operation to see the requests that they have made and whether they have been successful. You might find that the utterance "I want flowers" is not being recognized. You could add this utterance to the OrderFlowers
intent so that your bot recognizes that utterance.
After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.
Utterance statistics are generated once a day. Data is available for the last 15 days. You can request information for up to 5 versions of your bot in each request. Amazon Lex returns the most frequent utterances received by the bot in the last 15 days. The response contains information about a maximum of 100 utterances for each version.
If you set childDirected
field to true when you created your bot, or if you opted out of participating in improving Amazon Lex, utterances are not available.
This operation requires permissions for the lex:GetUtterancesView
action.
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Gets a list of tags associated with the specified resource. Only bots, bot aliases, and bot channels can have tags associated with them.
#put_bot(options = {}) ⇒ Types::PutBotResponse
Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or update a bot you are only required to specify a name, a locale, and whether the bot is directed toward children under age 13. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with the minimum information, the bot is created or updated but Amazon Lex returns the response
FAILED
. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.
If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST
version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds
and privacySettings
fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.
This operation requires permissions for the lex:PutBot
action. For more information, see security-iam.
#put_bot_alias(options = {}) ⇒ Types::PutBotAliasResponse
Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases.
This operation requires permissions for the lex:PutBotAlias
action.
#put_intent(options = {}) ⇒ Types::PutIntentResponse
Creates an intent or replaces an existing intent.
To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza
intent.
To create an intent or replace an existing intent, you must provide the following:
-
Intent name. For example,
OrderPizza
. -
Sample utterances. For example, "Can I order a pizza, please." and "I want to order a pizza."
-
Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.
-
How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.
You can specify other optional information in the request, such as:
-
A confirmation prompt to ask the user to confirm an intent. For example, "Shall I order your pizza?"
-
A conclusion statement to send to the user after the intent has been fulfilled. For example, "I placed your pizza order."
-
A follow-up prompt that asks the user for additional activity. For example, asking "Do you want to order a drink with your pizza?"
If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST
version of the intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the $LATEST
version of an intent, the status
field of any bot that uses the $LATEST
version of the intent is set to NOT_BUILT
.
For more information, see how-it-works.
This operation requires permissions for the lex:PutIntent
action.
#put_slot_type(options = {}) ⇒ Types::PutSlotTypeResponse
Creates a custom slot type or replaces an existing custom slot type.
To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.
If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST
version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. When you update the $LATEST
version of a slot type, if a bot uses the $LATEST
version of an intent that contains the slot type, the bot's status
field is set to NOT_BUILT
.
This operation requires permissions for the lex:PutSlotType
action.
#start_import(options = {}) ⇒ Types::StartImportResponse
Starts a job to import a resource to Amazon Lex.
#tag_resource(options = {}) ⇒ Struct
Adds the specified tags to the specified resource. If a tag key already exists, the existing value is replaced with the new value.
#untag_resource(options = {}) ⇒ Struct
Removes tags from a bot, bot alias or bot channel.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
Basic Usage
Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success
or :failure
from these callbacks,
it will terminate the waiter.
started_at = Time.now
client.wait_until(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter
fails, it raises an error. All errors raised extend from
Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name | Client Method | Default Delay: | Default Max Attempts: |
---|