DescribeInstanceStatusCommand

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances  and Troubleshoot instances with failed status checks  in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances  in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle  in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { EC2Client, DescribeInstanceStatusCommand } from "@aws-sdk/client-ec2"; // ES Modules import
// const { EC2Client, DescribeInstanceStatusCommand } = require("@aws-sdk/client-ec2"); // CommonJS import
const client = new EC2Client(config);
const input = { // DescribeInstanceStatusRequest
  InstanceIds: [ // InstanceIdStringList
    "STRING_VALUE",
  ],
  MaxResults: Number("int"),
  NextToken: "STRING_VALUE",
  DryRun: true || false,
  Filters: [ // FilterList
    { // Filter
      Name: "STRING_VALUE",
      Values: [ // ValueStringList
        "STRING_VALUE",
      ],
    },
  ],
  IncludeAllInstances: true || false,
};
const command = new DescribeInstanceStatusCommand(input);
const response = await client.send(command);
// { // DescribeInstanceStatusResult
//   InstanceStatuses: [ // InstanceStatusList
//     { // InstanceStatus
//       AvailabilityZone: "STRING_VALUE",
//       OutpostArn: "STRING_VALUE",
//       Operator: { // OperatorResponse
//         Managed: true || false,
//         Principal: "STRING_VALUE",
//       },
//       Events: [ // InstanceStatusEventList
//         { // InstanceStatusEvent
//           InstanceEventId: "STRING_VALUE",
//           Code: "instance-reboot" || "system-reboot" || "system-maintenance" || "instance-retirement" || "instance-stop",
//           Description: "STRING_VALUE",
//           NotAfter: new Date("TIMESTAMP"),
//           NotBefore: new Date("TIMESTAMP"),
//           NotBeforeDeadline: new Date("TIMESTAMP"),
//         },
//       ],
//       InstanceId: "STRING_VALUE",
//       InstanceState: { // InstanceState
//         Code: Number("int"),
//         Name: "pending" || "running" || "shutting-down" || "terminated" || "stopping" || "stopped",
//       },
//       InstanceStatus: { // InstanceStatusSummary
//         Details: [ // InstanceStatusDetailsList
//           { // InstanceStatusDetails
//             ImpairedSince: new Date("TIMESTAMP"),
//             Name: "reachability",
//             Status: "passed" || "failed" || "insufficient-data" || "initializing",
//           },
//         ],
//         Status: "ok" || "impaired" || "insufficient-data" || "not-applicable" || "initializing",
//       },
//       SystemStatus: {
//         Details: [
//           {
//             ImpairedSince: new Date("TIMESTAMP"),
//             Name: "reachability",
//             Status: "passed" || "failed" || "insufficient-data" || "initializing",
//           },
//         ],
//         Status: "ok" || "impaired" || "insufficient-data" || "not-applicable" || "initializing",
//       },
//       AttachedEbsStatus: { // EbsStatusSummary
//         Details: [ // EbsStatusDetailsList
//           { // EbsStatusDetails
//             ImpairedSince: new Date("TIMESTAMP"),
//             Name: "reachability",
//             Status: "passed" || "failed" || "insufficient-data" || "initializing",
//           },
//         ],
//         Status: "ok" || "impaired" || "insufficient-data" || "not-applicable" || "initializing",
//       },
//     },
//   ],
//   NextToken: "STRING_VALUE",
// };

Example Usage

 Loading code editorLoading code editor

DescribeInstanceStatusCommand Input

Parameter
Type
Description
DryRun
boolean | undefined

Checks whether you have the required permissions for the operation, 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.

Filters
Filter[] | undefined

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).

  • operator.managed - A Boolean that indicates whether this is a managed instance.

  • operator.principal - The principal that manages the instance. Only valid for managed instances, where managed is true.

  • 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).

IncludeAllInstances
boolean | undefined

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

Default: false

InstanceIds
string[] | undefined

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

MaxResults
number | undefined

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.

NextToken
string | undefined

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

DescribeInstanceStatusCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
InstanceStatuses
InstanceStatus[] | undefined

Information about the status of the instances.

NextToken
string | undefined

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Throws

Name
Fault
Details
EC2ServiceException
Base exception class for all service exceptions from EC2 service.