You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::ServerlessApplicationRepository::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWSServerlessApplicationRepository. To construct a client, you need to configure a :region and :credentials.

serverlessapplicationrepository = Aws::ServerlessApplicationRepository::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'] and ENV['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::ServerlessApplicationRepository::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.

Attribute Summary collapse

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

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::ServerlessApplicationRepository::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean) —

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true —

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials) —

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean) —

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String) —

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer) —

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer) —

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer) —

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean) —

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info —

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter) —

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil —

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String) —

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true —

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String) —

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3 —

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false —

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true —

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#create_application(options = {}) ⇒ Types::CreateApplicationResponse

Creates an application, optionally including an AWS SAM file to create the first application version in the same call.

Examples:

Request syntax with placeholder values


resp = client.create_application({
  author: "__string", # required
  description: "__string", # required
  home_page_url: "__string",
  labels: ["__string"],
  license_body: "__string",
  license_url: "__string",
  name: "__string", # required
  readme_body: "__string",
  readme_url: "__string",
  semantic_version: "__string",
  source_code_archive_url: "__string",
  source_code_url: "__string",
  spdx_license_id: "__string",
  template_body: "__string",
  template_url: "__string",
})

Response structure


resp.application_id #=> String
resp.author #=> String
resp.creation_time #=> String
resp.description #=> String
resp.home_page_url #=> String
resp.is_verified_author #=> true/false
resp.labels #=> Array
resp.labels[0] #=> String
resp.license_url #=> String
resp.name #=> String
resp.readme_url #=> String
resp.spdx_license_id #=> String
resp.verified_author_url #=> String
resp.version.application_id #=> String
resp.version.creation_time #=> String
resp.version.parameter_definitions #=> Array
resp.version.parameter_definitions[0].allowed_pattern #=> String
resp.version.parameter_definitions[0].allowed_values #=> Array
resp.version.parameter_definitions[0].allowed_values[0] #=> String
resp.version.parameter_definitions[0].constraint_description #=> String
resp.version.parameter_definitions[0].default_value #=> String
resp.version.parameter_definitions[0].description #=> String
resp.version.parameter_definitions[0].max_length #=> Integer
resp.version.parameter_definitions[0].max_value #=> Integer
resp.version.parameter_definitions[0].min_length #=> Integer
resp.version.parameter_definitions[0].min_value #=> Integer
resp.version.parameter_definitions[0].name #=> String
resp.version.parameter_definitions[0].no_echo #=> true/false
resp.version.parameter_definitions[0].referenced_by_resources #=> Array
resp.version.parameter_definitions[0].referenced_by_resources[0] #=> String
resp.version.parameter_definitions[0].type #=> String
resp.version.required_capabilities #=> Array
resp.version.required_capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND", "CAPABILITY_RESOURCE_POLICY"
resp.version.resources_supported #=> true/false
resp.version.semantic_version #=> String
resp.version.source_code_archive_url #=> String
resp.version.source_code_url #=> String
resp.version.template_url #=> String

Options Hash (options):

  • :author (required, String)
  • :description (required, String)
  • :home_page_url (String)
  • :labels (Array<String>)
  • :license_body (String)
  • :license_url (String)
  • :name (required, String)
  • :readme_body (String)
  • :readme_url (String)
  • :semantic_version (String)
  • :source_code_archive_url (String)
  • :source_code_url (String)
  • :spdx_license_id (String)
  • :template_body (String)
  • :template_url (String)

Returns:

See Also:

#create_application_version(options = {}) ⇒ Types::CreateApplicationVersionResponse

Creates an application version.

Examples:

Request syntax with placeholder values


resp = client.create_application_version({
  application_id: "__string", # required
  semantic_version: "__string", # required
  source_code_archive_url: "__string",
  source_code_url: "__string",
  template_body: "__string",
  template_url: "__string",
})

Response structure


resp.application_id #=> String
resp.creation_time #=> String
resp.parameter_definitions #=> Array
resp.parameter_definitions[0].allowed_pattern #=> String
resp.parameter_definitions[0].allowed_values #=> Array
resp.parameter_definitions[0].allowed_values[0] #=> String
resp.parameter_definitions[0].constraint_description #=> String
resp.parameter_definitions[0].default_value #=> String
resp.parameter_definitions[0].description #=> String
resp.parameter_definitions[0].max_length #=> Integer
resp.parameter_definitions[0].max_value #=> Integer
resp.parameter_definitions[0].min_length #=> Integer
resp.parameter_definitions[0].min_value #=> Integer
resp.parameter_definitions[0].name #=> String
resp.parameter_definitions[0].no_echo #=> true/false
resp.parameter_definitions[0].referenced_by_resources #=> Array
resp.parameter_definitions[0].referenced_by_resources[0] #=> String
resp.parameter_definitions[0].type #=> String
resp.required_capabilities #=> Array
resp.required_capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND", "CAPABILITY_RESOURCE_POLICY"
resp.resources_supported #=> true/false
resp.semantic_version #=> String
resp.source_code_archive_url #=> String
resp.source_code_url #=> String
resp.template_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :semantic_version (required, String)
  • :source_code_archive_url (String)
  • :source_code_url (String)
  • :template_body (String)
  • :template_url (String)

Returns:

See Also:

#create_cloud_formation_change_set(options = {}) ⇒ Types::CreateCloudFormationChangeSetResponse

Creates an AWS CloudFormation change set for the given application.

Examples:

Request syntax with placeholder values


resp = client.create_cloud_formation_change_set({
  application_id: "__string", # required
  capabilities: ["__string"],
  change_set_name: "__string",
  client_token: "__string",
  description: "__string",
  notification_arns: ["__string"],
  parameter_overrides: [
    {
      name: "__string", # required
      value: "__string", # required
    },
  ],
  resource_types: ["__string"],
  rollback_configuration: {
    monitoring_time_in_minutes: 1,
    rollback_triggers: [
      {
        arn: "__string", # required
        type: "__string", # required
      },
    ],
  },
  semantic_version: "__string",
  stack_name: "__string", # required
  tags: [
    {
      key: "__string", # required
      value: "__string", # required
    },
  ],
  template_id: "__string",
})

Response structure


resp.application_id #=> String
resp.change_set_id #=> String
resp.semantic_version #=> String
resp.stack_id #=> String

Options Hash (options):

  • :application_id (required, String)
  • :capabilities (Array<String>)
  • :change_set_name (String)
  • :client_token (String)
  • :description (String)
  • :notification_arns (Array<String>)
  • :parameter_overrides (Array<Types::ParameterValue>)
  • :resource_types (Array<String>)
  • :rollback_configuration (Types::RollbackConfiguration) —

    This property corresponds to the AWS CloudFormation RollbackConfiguration Data Type.

  • :semantic_version (String)
  • :stack_name (required, String)
  • :tags (Array<Types::Tag>)
  • :template_id (String)

Returns:

See Also:

#create_cloud_formation_template(options = {}) ⇒ Types::CreateCloudFormationTemplateResponse

Creates an AWS CloudFormation template.

Examples:

Request syntax with placeholder values


resp = client.create_cloud_formation_template({
  application_id: "__string", # required
  semantic_version: "__string",
})

Response structure


resp.application_id #=> String
resp.creation_time #=> String
resp.expiration_time #=> String
resp.semantic_version #=> String
resp.status #=> String, one of "PREPARING", "ACTIVE", "EXPIRED"
resp.template_id #=> String
resp.template_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :semantic_version (String)

Returns:

See Also:

#delete_application(options = {}) ⇒ Struct

Deletes the specified application.

Examples:

Request syntax with placeholder values


resp = client.delete_application({
  application_id: "__string", # required
})

Options Hash (options):

  • :application_id (required, String)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#get_application(options = {}) ⇒ Types::GetApplicationResponse

Gets the specified application.

Examples:

Request syntax with placeholder values


resp = client.get_application({
  application_id: "__string", # required
  semantic_version: "__string",
})

Response structure


resp.application_id #=> String
resp.author #=> String
resp.creation_time #=> String
resp.description #=> String
resp.home_page_url #=> String
resp.is_verified_author #=> true/false
resp.labels #=> Array
resp.labels[0] #=> String
resp.license_url #=> String
resp.name #=> String
resp.readme_url #=> String
resp.spdx_license_id #=> String
resp.verified_author_url #=> String
resp.version.application_id #=> String
resp.version.creation_time #=> String
resp.version.parameter_definitions #=> Array
resp.version.parameter_definitions[0].allowed_pattern #=> String
resp.version.parameter_definitions[0].allowed_values #=> Array
resp.version.parameter_definitions[0].allowed_values[0] #=> String
resp.version.parameter_definitions[0].constraint_description #=> String
resp.version.parameter_definitions[0].default_value #=> String
resp.version.parameter_definitions[0].description #=> String
resp.version.parameter_definitions[0].max_length #=> Integer
resp.version.parameter_definitions[0].max_value #=> Integer
resp.version.parameter_definitions[0].min_length #=> Integer
resp.version.parameter_definitions[0].min_value #=> Integer
resp.version.parameter_definitions[0].name #=> String
resp.version.parameter_definitions[0].no_echo #=> true/false
resp.version.parameter_definitions[0].referenced_by_resources #=> Array
resp.version.parameter_definitions[0].referenced_by_resources[0] #=> String
resp.version.parameter_definitions[0].type #=> String
resp.version.required_capabilities #=> Array
resp.version.required_capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND", "CAPABILITY_RESOURCE_POLICY"
resp.version.resources_supported #=> true/false
resp.version.semantic_version #=> String
resp.version.source_code_archive_url #=> String
resp.version.source_code_url #=> String
resp.version.template_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :semantic_version (String)

Returns:

See Also:

#get_application_policy(options = {}) ⇒ Types::GetApplicationPolicyResponse

Retrieves the policy for the application.

Examples:

Request syntax with placeholder values


resp = client.get_application_policy({
  application_id: "__string", # required
})

Response structure


resp.statements #=> Array
resp.statements[0].actions #=> Array
resp.statements[0].actions[0] #=> String
resp.statements[0].principal_org_i_ds #=> Array
resp.statements[0].principal_org_i_ds[0] #=> String
resp.statements[0].principals #=> Array
resp.statements[0].principals[0] #=> String
resp.statements[0].statement_id #=> String

Options Hash (options):

  • :application_id (required, String)

Returns:

See Also:

#get_cloud_formation_template(options = {}) ⇒ Types::GetCloudFormationTemplateResponse

Gets the specified AWS CloudFormation template.

Examples:

Request syntax with placeholder values


resp = client.get_cloud_formation_template({
  application_id: "__string", # required
  template_id: "__string", # required
})

Response structure


resp.application_id #=> String
resp.creation_time #=> String
resp.expiration_time #=> String
resp.semantic_version #=> String
resp.status #=> String, one of "PREPARING", "ACTIVE", "EXPIRED"
resp.template_id #=> String
resp.template_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :template_id (required, String)

Returns:

See Also:

#list_application_dependencies(options = {}) ⇒ Types::ListApplicationDependenciesResponse

Retrieves the list of applications nested in the containing application.

Examples:

Request syntax with placeholder values


resp = client.list_application_dependencies({
  application_id: "__string", # required
  max_items: 1,
  next_token: "__string",
  semantic_version: "__string",
})

Response structure


resp.dependencies #=> Array
resp.dependencies[0].application_id #=> String
resp.dependencies[0].semantic_version #=> String
resp.next_token #=> String

Options Hash (options):

  • :application_id (required, String)
  • :max_items (Integer)
  • :next_token (String)
  • :semantic_version (String)

Returns:

See Also:

#list_application_versions(options = {}) ⇒ Types::ListApplicationVersionsResponse

Lists versions for the specified application.

Examples:

Request syntax with placeholder values


resp = client.list_application_versions({
  application_id: "__string", # required
  max_items: 1,
  next_token: "__string",
})

Response structure


resp.next_token #=> String
resp.versions #=> Array
resp.versions[0].application_id #=> String
resp.versions[0].creation_time #=> String
resp.versions[0].semantic_version #=> String
resp.versions[0].source_code_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :max_items (Integer)
  • :next_token (String)

Returns:

See Also:

#list_applications(options = {}) ⇒ Types::ListApplicationsResponse

Lists applications owned by the requester.

Examples:

Request syntax with placeholder values


resp = client.list_applications({
  max_items: 1,
  next_token: "__string",
})

Response structure


resp.applications #=> Array
resp.applications[0].application_id #=> String
resp.applications[0].author #=> String
resp.applications[0].creation_time #=> String
resp.applications[0].description #=> String
resp.applications[0].home_page_url #=> String
resp.applications[0].labels #=> Array
resp.applications[0].labels[0] #=> String
resp.applications[0].name #=> String
resp.applications[0].spdx_license_id #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_items (Integer)
  • :next_token (String)

Returns:

See Also:

#put_application_policy(options = {}) ⇒ Types::PutApplicationPolicyResponse

Sets the permission policy for an application. For the list of actions supported for this operation, see Application Permissions .

Examples:

Request syntax with placeholder values


resp = client.put_application_policy({
  application_id: "__string", # required
  statements: [ # required
    {
      actions: ["__string"], # required
      principal_org_i_ds: ["__string"],
      principals: ["__string"], # required
      statement_id: "__string",
    },
  ],
})

Response structure


resp.statements #=> Array
resp.statements[0].actions #=> Array
resp.statements[0].actions[0] #=> String
resp.statements[0].principal_org_i_ds #=> Array
resp.statements[0].principal_org_i_ds[0] #=> String
resp.statements[0].principals #=> Array
resp.statements[0].principals[0] #=> String
resp.statements[0].statement_id #=> String

Options Hash (options):

Returns:

See Also:

#unshare_application(options = {}) ⇒ Struct

Unshares an application from an AWS Organization.

This operation can be called only from the organization's master account.

Examples:

Request syntax with placeholder values


resp = client.unshare_application({
  application_id: "__string", # required
  organization_id: "__string", # required
})

Options Hash (options):

  • :application_id (required, String)
  • :organization_id (required, String)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#update_application(options = {}) ⇒ Types::UpdateApplicationResponse

Updates the specified application.

Examples:

Request syntax with placeholder values


resp = client.update_application({
  application_id: "__string", # required
  author: "__string",
  description: "__string",
  home_page_url: "__string",
  labels: ["__string"],
  readme_body: "__string",
  readme_url: "__string",
})

Response structure


resp.application_id #=> String
resp.author #=> String
resp.creation_time #=> String
resp.description #=> String
resp.home_page_url #=> String
resp.is_verified_author #=> true/false
resp.labels #=> Array
resp.labels[0] #=> String
resp.license_url #=> String
resp.name #=> String
resp.readme_url #=> String
resp.spdx_license_id #=> String
resp.verified_author_url #=> String
resp.version.application_id #=> String
resp.version.creation_time #=> String
resp.version.parameter_definitions #=> Array
resp.version.parameter_definitions[0].allowed_pattern #=> String
resp.version.parameter_definitions[0].allowed_values #=> Array
resp.version.parameter_definitions[0].allowed_values[0] #=> String
resp.version.parameter_definitions[0].constraint_description #=> String
resp.version.parameter_definitions[0].default_value #=> String
resp.version.parameter_definitions[0].description #=> String
resp.version.parameter_definitions[0].max_length #=> Integer
resp.version.parameter_definitions[0].max_value #=> Integer
resp.version.parameter_definitions[0].min_length #=> Integer
resp.version.parameter_definitions[0].min_value #=> Integer
resp.version.parameter_definitions[0].name #=> String
resp.version.parameter_definitions[0].no_echo #=> true/false
resp.version.parameter_definitions[0].referenced_by_resources #=> Array
resp.version.parameter_definitions[0].referenced_by_resources[0] #=> String
resp.version.parameter_definitions[0].type #=> String
resp.version.required_capabilities #=> Array
resp.version.required_capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND", "CAPABILITY_RESOURCE_POLICY"
resp.version.resources_supported #=> true/false
resp.version.semantic_version #=> String
resp.version.source_code_archive_url #=> String
resp.version.source_code_url #=> String
resp.version.template_url #=> String

Options Hash (options):

  • :application_id (required, String)
  • :author (String)
  • :description (String)
  • :home_page_url (String)
  • :labels (Array<String>)
  • :readme_body (String)
  • :readme_url (String)

Returns:

See Also:

#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

Parameters:

  • waiter_name (Symbol) —

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {}) —

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean) —

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError) —

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError) —

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError) —

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError) —

    Raised when you request to wait for an unknown state.

#waiter_names ⇒ Array<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>) —

    the list of supported waiters.