Method: Fog::Compute::AWS::Real#describe_instance_status

Defined in:
lib/fog/aws/requests/compute/describe_instance_status.rb

#describe_instance_status(filters = {}) ⇒ Object

Raises:

  • (ArgumentError)

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/fog/aws/requests/compute/describe_instance_status.rb', line 10

def describe_instance_status(filters = {})
  raise ArgumentError.new("Filters must be a hash, but is a #{filters.class}.") unless filters.is_a?(Hash)
  next_token = filters.delete('nextToken') || filters.delete('NextToken')
  max_results = filters.delete('maxResults') || filters.delete('MaxResults')
  all_instances = filters.delete('includeAllInstances') || filters.delete('IncludeAllInstances')

  params = Fog::AWS.indexed_request_param('InstanceId', filters.delete('InstanceId'))

  params.merge!(Fog::AWS.indexed_filters(filters))

  params['NextToken'] = next_token if next_token
  params['MaxResults'] = max_results if max_results
  params['IncludeAllInstances'] = all_instances if all_instances

  request({
    'Action'    => 'DescribeInstanceStatus',
    :idempotent => true,
    :parser     => Fog::Parsers::Compute::AWS::DescribeInstanceStatus.new
  }.merge!(params))
end