Class: Aws::EC2::Waiters::VolumeAvailable

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ VolumeAvailable

Returns a new instance of VolumeAvailable.

Parameters:

  • options (Hash)

Options Hash (options):

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


1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
# File 'lib/aws-sdk-ec2/waiters.rb', line 1001

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 40,
    delay: 15,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_volumes,
      acceptors: [
        {
          "expected" => "available",
          "matcher" => "pathAll",
          "state" => "success",
          "argument" => "volumes[].state"
        },
        {
          "expected" => "deleted",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "volumes[].state"
        }
      ]
    )
  }.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.



1033
1034
1035
# File 'lib/aws-sdk-ec2/waiters.rb', line 1033

def waiter
  @waiter
end

Instance Method Details

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

Returns a response object which responds to the following methods:

Options Hash (params):

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

    One or more filters.

    • ‘attachment.attach-time` - The time stamp when the attachment initiated.

    • ‘attachment.delete-on-termination` - Whether the volume is deleted on instance termination.

    • ‘attachment.device` - The device name that is exposed to the instance (for example, `/dev/sda1`).

    • ‘attachment.instance-id` - The ID of the instance the volume is attached to.

    • ‘attachment.status` - The attachment state (`attaching` | `attached` | `detaching` | `detached`).

    • ‘availability-zone` - The Availability Zone in which the volume was created.

    • ‘create-time` - The time stamp when the volume was created.

    • ‘encrypted` - The encryption status of the volume.

    • ‘size` - The size of the volume, in GiB.

    • ‘snapshot-id` - The snapshot from which the volume was created.

    • ‘status` - The status of the volume (`creating` | `available` | `in-use` | `deleting` | `deleted` | `error`).

    • ‘tag`:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify `tag:Purpose` for the filter name and `X` for the filter value.

    • ‘tag-key` - The key of a tag assigned to the resource. This filter is independent of the `tag-value` filter. For example, if you use both the filter “tag-key=Purpose” and the filter “tag-value=X”, you get any resources assigned both the tag key Purpose (regardless of what the tag’s value is), and the tag value X (regardless of what the tag’s key is). If you want to list only resources where Purpose is X, see the ‘tag`:key=value filter.

    • ‘tag-value` - The value of a tag assigned to the resource. This filter is independent of the `tag-key` filter.

    • ‘volume-id` - The volume ID.

    • ‘volume-type` - The Amazon EBS volume type. This can be `gp2` for General Purpose SSD, `io1` for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for Magnetic volumes.

  • :volume_ids (Array<String>)

    One or more volume IDs.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is ‘DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.

  • :max_results (Integer)

    The maximum number of volume results returned by ‘DescribeVolumes` in paginated output. When this parameter is used, `DescribeVolumes` only returns `MaxResults` results in a single page along with a `NextToken` response element. The remaining results of the initial request can be seen by sending another `DescribeVolumes` request with the returned `NextToken` value. This value can be between 5 and 500; if `MaxResults` is given a value larger than 500, only 500 results are returned. If this parameter is not used, then `DescribeVolumes` returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

  • :next_token (String)

    The ‘NextToken` value returned from a previous paginated `DescribeVolumes` request where `MaxResults` was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the `NextToken` value. This value is `null` when there are no more results to return.

Returns:



1028
1029
1030
# File 'lib/aws-sdk-ec2/waiters.rb', line 1028

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