# Describe EC2 instances

Canonical URL: https://docs.fuse.init.inc/integrations/aws/actions/ec2.instances.describe

Describe EC2 instances by explicit IDs or reviewed filters. Instance IDs cannot be combined with filters or pagination. Requires ec2:DescribeInstances.

Action ID: `ec2.instances.describe`
Provider: AWS (`aws`)
Contract version: 1

## Risk and exposure

- Risk: Read
- Idempotency: Safe — Safe to retry without coordination; repeats do not create additional side effects.
- Availability: Default
- Exposure: REST, SDK, MCP
- MCP hints: readOnly=true, destructive=false, idempotent=true, openWorld=true

## Required scopes

- `ec2:DescribeInstances`

## Input schema fields

- `region`
- `instance_ids`
- `instance_ids[]`
- `filters`
- `filters[]`
- `filters[].name`
- `filters[].values`
- `filters[].values[]`
- `page_size`
- `cursor`

## Output schema fields

- `instances`
- `instances[]`
- `instances[].instance_id`
- `instances[].state`
- `instances[].instance_type`
- `instances[].image_id`
- `instances[].architecture`
- `instances[].availability_zone`
- `instances[].vpc_id`
- `instances[].subnet_id`
- `instances[].private_ip_address`
- `instances[].public_ip_address`
- `instances[].launch_time`
- `instances[].tags`
- `instances[].tags[]`
- `instances[].tags[].key`
- `instances[].tags[].value`
- `next_cursor`

Provider overview: https://docs.fuse.init.inc/integrations/aws
Actions index: https://docs.fuse.init.inc/integrations/aws/actions
Exact canonical JSON contract: https://docs.fuse.init.inc/api/catalog/v1/providers/aws/actions/ec2.instances.describe
Deployment-effective discovery: https://api.fuse.init.inc/v1/tenants/%7Btenant_id%7D/providers/aws/actions
