Class: Aws::EC2::Waiters::InstanceStatusOk

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

Returns a new instance of InstanceStatusOk.

Parameters:

  • options (Hash)

Options Hash (options):

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


598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'lib/aws-sdk-ec2/waiters.rb', line 598

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_instance_status,
      acceptors: [
        {
          "state" => "success",
          "matcher" => "pathAll",
          "argument" => "instance_statuses[].instance_status.status",
          "expected" => "ok"
        },
        {
          "matcher" => "error",
          "expected" => "InvalidInstanceID.NotFound",
          "state" => "retry"
        }
      ]
    )
  }.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.



629
630
631
# File 'lib/aws-sdk-ec2/waiters.rb', line 629

def waiter
  @waiter
end

Instance Method Details

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

Returns a response object which responds to the following methods:

Options Hash (params):

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

    The filters.

    • ‘availability-zone` - The Availability Zone of the instance.

    • ‘event.code` - The code for the scheduled event (`instance-reboot` | `system-reboot` | `system-maintenance` | `instance-retirement` | `instance-stop`).

    • ‘event.description` - A description of the event.

    • ‘event.instance-event-id` - The ID of the event whose date and time you are modifying.

    • ‘event.not-after` - The latest end time for the scheduled event (for example, `2014-09-15T17:15:20.000Z`).

    • ‘event.not-before` - The earliest start time for the scheduled event (for example, `2014-09-15T17:15:20.000Z`).

    • ‘event.not-before-deadline` - The deadline for starting the event (for example, `2014-09-15T17:15:20.000Z`).

    • ‘instance-state-code` - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

    • ‘instance-state-name` - The state of the instance (`pending` | `running` | `shutting-down` | `terminated` | `stopping` | `stopped`).

    • ‘instance-status.reachability` - Filters on instance status where the name is `reachability` (`passed` | `failed` | `initializing` | `insufficient-data`).

    • ‘instance-status.status` - The status of the instance (`ok` | `impaired` | `initializing` | `insufficient-data` | `not-applicable`).

    • ‘system-status.reachability` - Filters on system status where the name is `reachability` (`passed` | `failed` | `initializing` | `insufficient-data`).

    • ‘system-status.status` - The system status of the instance (`ok` | `impaired` | `initializing` | `insufficient-data` | `not-applicable`).

    • ‘attached-ebs-status.status` - The status of the attached EBS volume for the instance (`ok` | `impaired` | `initializing` | `insufficient-data` | `not-applicable`).

  • :instance_ids (Array<String>)

    The instance IDs.

    Default: Describes all your instances.

    Constraints: Maximum 100 explicitly specified instance IDs.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination].

    You cannot specify this parameter and the instance IDs parameter in the same request.

    [1]: docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :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`.

  • :include_all_instances (Boolean)

    When ‘true`, includes the health status for all instances. When `false`, includes the health status for running instances only.

    Default: ‘false`

Returns:



624
625
626
# File 'lib/aws-sdk-ec2/waiters.rb', line 624

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