Class: Aws::RDS::Waiters::DBClusterSnapshotAvailable

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) ⇒ DBClusterSnapshotAvailable

Returns a new instance of DBClusterSnapshotAvailable.

Parameters:

  • options (Hash)

Options Hash (options):

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


89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/waiters.rb', line 89

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_cluster_snapshots,
      acceptors: [
        {
          "expected" => "available",
          "matcher" => "pathAll",
          "state" => "success",
          "argument" => "db_cluster_snapshots[].status"
        },
        {
          "expected" => "deleted",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_cluster_snapshots[].status"
        },
        {
          "expected" => "deleting",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_cluster_snapshots[].status"
        },
        {
          "expected" => "failed",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_cluster_snapshots[].status"
        },
        {
          "expected" => "incompatible-restore",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_cluster_snapshots[].status"
        },
        {
          "expected" => "incompatible-parameters",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "db_cluster_snapshots[].status"
        }
      ]
    )
  }.merge(options))
end

Instance Method Details

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

Returns a response object which responds to the following methods:

Parameters:

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

    a customizable set of options

Options Hash (params):

  • :db_cluster_identifier (String)

    The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match the identifier of an existing DBCluster.

    ^

  • :db_cluster_snapshot_identifier (String)

    A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

    Constraints:

    • If supplied, must match the identifier of an existing DBClusterSnapshot.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

  • :snapshot_type (String)

    The type of DB cluster snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB cluster snapshots that have been taken by my AWS account.

    • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

    • public - Return all DB cluster snapshots that have been marked as public.

    If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter.

    The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

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

    A filter that specifies one or more DB cluster snapshots to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs).

    • db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

    • snapshot-type - Accepts types of DB cluster snapshots.

    • engine - Accepts names of database engines.

  • :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 you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

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

  • :include_shared (Boolean)

    A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

  • :include_public (Boolean)

    A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

    You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

Returns:



140
141
142
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/waiters.rb', line 140

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