Class: Aws::Redshift::Waiters::SnapshotAvailable

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ SnapshotAvailable

Returns a new instance of SnapshotAvailable.

Parameters:

  • options (Hash)

Options Hash (options):

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


229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# File 'lib/aws-sdk-redshift/waiters.rb', line 229

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 20,
    delay: 15,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_cluster_snapshots,
      acceptors: [
        {
          "expected" => "available",
          "matcher" => "pathAll",
          "state" => "success",
          "argument" => "snapshots[].status"
        },
        {
          "expected" => "failed",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "snapshots[].status"
        },
        {
          "expected" => "deleted",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "snapshots[].status"
        }
      ]
    )
  }.merge(options))
end

Instance Attribute Details

#waiterObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



267
268
269
# File 'lib/aws-sdk-redshift/waiters.rb', line 267

def waiter
  @waiter
end

Instance Method Details

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

Returns a response object which responds to the following methods:

Options Hash (params):

  • :cluster_identifier (String)

    The identifier of the cluster which generated the requested snapshots.

  • :snapshot_identifier (String)

    The snapshot identifier of the snapshot about which to return information.

  • :snapshot_arn (String)

    The Amazon Resource Name (ARN) of the snapshot associated with the message to describe cluster snapshots.

  • :snapshot_type (String)

    The type of snapshots for which you are requesting information. By default, snapshots of all types are returned.

    Valid Values: ‘automated` | `manual`

  • :start_time (Time, DateTime, Date, Integer, String)

    A value that requests only snapshots created at or after the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the [ISO8601 Wikipedia page.]

    Example: ‘2012-07-16T18:00:00Z`

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :end_time (Time, DateTime, Date, Integer, String)

    A time value that requests only snapshots created at or before the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the [ISO8601 Wikipedia page.]

    Example: ‘2012-07-16T18:00:00Z`

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :max_records (Integer)

    The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified ‘MaxRecords` value, a value is returned in a `marker` field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

    Default: ‘100`

    Constraints: minimum 20, maximum 100.

  • :marker (String)

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSnapshots request exceed the value specified in ‘MaxRecords`, Amazon Web Services returns a value in the `Marker` field of the response. You can retrieve the next set of response records by providing the returned marker value in the `Marker` parameter and retrying the request.

  • :owner_account (String)

    The Amazon Web Services account used to create or copy the snapshot. Use this field to filter the results to snapshots owned by a particular account. To describe snapshots you own, either specify your Amazon Web Services account, or do not specify the parameter.

  • :tag_keys (Array<String>)

    A tag key or keys for which you want to return all matching cluster snapshots that are associated with the specified key or keys. For example, suppose that you have snapshots that are tagged with keys called ‘owner` and `environment`. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag keys associated with them.

  • :tag_values (Array<String>)

    A tag value or values for which you want to return all matching cluster snapshots that are associated with the specified tag value or values. For example, suppose that you have snapshots that are tagged with values called ‘admin` and `test`. If you specify both of these tag values in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag values associated with them.

  • :cluster_exists (Boolean)

    A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows:

    • If ‘ClusterExists` is set to `true`, `ClusterIdentifier` is required.

    • If ‘ClusterExists` is set to `false` and `ClusterIdentifier` isn’t specified, all snapshots associated with deleted clusters (orphaned snapshots) are returned.

    • If ‘ClusterExists` is set to `false` and `ClusterIdentifier` is specified for a deleted cluster, snapshots associated with that cluster are returned.

    • If ‘ClusterExists` is set to `false` and `ClusterIdentifier` is specified for an existing cluster, no snapshots are returned.

  • :sorting_entities (Array<Types::SnapshotSortingEntity>)

Returns:



262
263
264
# File 'lib/aws-sdk-redshift/waiters.rb', line 262

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