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

Class: Aws::RDS::Waiters::DBInstanceAvailable

Inherits:
Object
  • Object
show all
Defined in:
gems/aws-sdk-rds/lib/aws-sdk-rds/waiters.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ DBInstanceAvailable

Returns a new instance of DBInstanceAvailable

Parameters:

  • options (Hash)

Options Hash (options):

  • :client (required, Client)
  • :max_attempts (Integer) — default: 60
  • :delay (Integer) — default: 30
  • :before_attempt (Proc)
  • :before_wait (Proc)


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/waiters.rb', line 21

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 60,
    delay: 30,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_db_instances,
      acceptors: [
        {
          "expected" => "available",
          "matcher" => "pathAll",
          "state" => "success",
          "argument" => "db_instances[].db_instance_status"
        },
        {
          "expected" => "deleted",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_instances[].db_instance_status"
        },
        {
          "expected" => "deleting",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_instances[].db_instance_status"
        },
        {
          "expected" => "failed",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_instances[].db_instance_status"
        },
        {
          "expected" => "incompatible-restore",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_instances[].db_instance_status"
        },
        {
          "expected" => "incompatible-parameters",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_instances[].db_instance_status"
        }
      ]
    )
  }.merge(options))
end

Instance Method Details

#wait(params = {}) ⇒ Types::DBInstanceMessage

Returns a response object which responds to the following methods:

Parameters:

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

    a customizable set of options

Options Hash (params):

  • :db_instance_identifier (String)

    The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

  • :filters (Array<Types::Filter>)

    A filter that specifies one or more DB instances to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB Clusters identified by these ARNs.

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include information about the DB instances identified by these ARNs.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:



72
73
74
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/waiters.rb', line 72

def wait(params = {})
  @waiter.wait(client: @client, params: params)
end