Amazon EC2 API

Core API for managing Amazon EC2 instances, AMIs, key pairs, security groups, Elastic IPs, launch templates, spot instances, capacity reservations, and other compute resources.

Documentation

Specifications

SDKs

Examples

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/json-ld/amazon-ec2-context.jsonld
🔗
Pricing
https://aws.amazon.com/ec2/pricing/
🔗
StatusPage
https://status.aws.amazon.com/
🔗
FAQ
https://aws.amazon.com/ec2/faqs/
🔗
TermsOfService
https://aws.amazon.com/ec2/sla/
🔗
Security
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security.html
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-amis.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-elastic-ips.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-instances.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-key-pairs.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-launch-templates.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-regions.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-security-groups.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/capabilities/amazon-ec2-spot-instances.yaml

OpenAPI Specification

amazon-ec2-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon EC2 API
  description: >-
    Amazon Elastic Compute Cloud (EC2) provides resizable compute capacity
    in the cloud. This API enables you to launch and manage virtual server
    instances, configure networking and security, and manage storage
    volumes with complete control over your computing resources.
  version: '2016-11-15'
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  termsOfService: https://aws.amazon.com/service-terms/
externalDocs:
  description: Amazon EC2 API Reference
  url: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/
servers:
- url: https://ec2.{region}.amazonaws.com
  description: Amazon EC2 Regional Endpoint
  variables:
    region:
      default: us-east-1
      description: AWS Region
tags:
- name: AMIs
  description: Operations for creating and managing Amazon Machine Images
- name: Elastic IPs
  description: Operations for allocating and managing static IP addresses
- name: Instances
  description: Operations for launching, managing, and terminating EC2 instances
- name: Key Pairs
  description: Operations for managing SSH key pairs used for instance access
- name: Launch Templates
  description: Operations for managing reusable instance launch configurations
- name: Regions
  description: Operations for describing AWS regions and availability zones
- name: Security Groups
  description: Operations for managing security group rules and firewall settings
- name: Spot Instances
  description: Operations for requesting and managing Spot Instances
security:
- sigv4Auth: []
paths:
  /?Action=RunInstances:
    get:
      operationId: runInstances
      summary: Amazon EC2 Launch EC2 Instances
      description: >-
        Launches the specified number of instances using an AMI for which
        you have permissions. You can specify a number of options, or leave
        the default options. When you launch an instance, it enters the
        pending state, then the running state.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/ImageId'
      - $ref: '#/components/parameters/InstanceType'
      - name: MinCount
        in: query
        required: true
        description: The minimum number of instances to launch
        schema:
          type: integer
          minimum: 1
        example: 1
      - name: MaxCount
        in: query
        required: true
        description: The maximum number of instances to launch
        schema:
          type: integer
          minimum: 1
        example: 1
      - name: KeyName
        in: query
        description: The name of the key pair to use for SSH access
        schema:
          type: string
        example: example-resource-name
      - name: SecurityGroupId
        in: query
        description: The IDs of the security groups
        schema:
          type: array
          items:
            type: string
        example:
        - example-cluster-01
      - name: SubnetId
        in: query
        description: The ID of the subnet to launch the instance into
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully launched instances
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/RunInstancesResponse'
              examples:
                runInstances200Example:
                  summary: Default runInstances 200 response
                  x-microcks-default: true
                  value:
                    reservationId: example-id-1234
                    ownerId: example-id-1234
                    instances:
                    - i-0abc123def456789
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
        '403':
          description: Authorization failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeInstances:
    get:
      operationId: describeInstances
      summary: Amazon EC2 Describe EC2 Instances
      description: >-
        Describes the specified instances or all instances. Returns
        information about the instances including instance ID, instance
        type, launch time, placement, monitoring state, and more.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        description: The instance IDs to describe
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      - name: Filter
        in: query
        description: Filters to apply to the results
        schema:
          type: array
          items:
            type: string
        example:
        - example-string
      - name: MaxResults
        in: query
        description: Maximum number of results to return
        schema:
          type: integer
          minimum: 5
          maximum: 1000
        example: 1
      - name: NextToken
        in: query
        description: Token for the next page of results
        schema:
          type: string
        example: example-string
      responses:
        '200':
          description: Successfully described instances
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/DescribeInstancesResponse'
              examples:
                describeInstances200Example:
                  summary: Default describeInstances 200 response
                  x-microcks-default: true
                  value:
                    reservationSet:
                    - reservationId: example-id-1234
                      instancesSet:
                      - example
                    nextToken: example-string
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=StartInstances:
    get:
      operationId: startInstances
      summary: Amazon EC2 Start Stopped Instances
      description: >-
        Starts an Amazon EBS-backed instance that you have previously
        stopped. Instances that use Amazon EBS volumes as their root
        devices can be quickly stopped and started.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        required: true
        description: The IDs of the instances to start
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      responses:
        '200':
          description: Successfully started instances
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=StopInstances:
    get:
      operationId: stopInstances
      summary: Amazon EC2 Stop Running Instances
      description: >-
        Stops an Amazon EBS-backed instance. You can use the stopped
        instance to modify the root volume, change instance type, or
        attach additional EBS volumes.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        required: true
        description: The IDs of the instances to stop
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      - name: Force
        in: query
        description: Forces the instances to stop without graceful shutdown
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: Successfully stopped instances
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=TerminateInstances:
    get:
      operationId: terminateInstances
      summary: Amazon EC2 Terminate Instances
      description: >-
        Shuts down the specified instances. This operation is idempotent;
        if you terminate an instance more than once, each call succeeds.
        Terminated instances remain visible for a short period after
        termination.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        required: true
        description: The IDs of the instances to terminate
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      responses:
        '200':
          description: Successfully terminated instances
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=RebootInstances:
    get:
      operationId: rebootInstances
      summary: Amazon EC2 Reboot Instances
      description: >-
        Requests a reboot of the specified instances. This operation is
        asynchronous; it only queues a request to reboot the specified
        instances.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        required: true
        description: The IDs of the instances to reboot
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      responses:
        '200':
          description: Successfully requested instance reboot
        '400':
          description: Invalid request parameters
        '401':
          description: Authentication failure
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeInstanceStatus:
    get:
      operationId: describeInstanceStatus
      summary: Amazon EC2 Describe Instance Status
      description: >-
        Describes the status of the specified instances or all of your
        instances. Instance status includes status checks, scheduled
        events, and instance state information.
      tags:
      - Instances
      parameters:
      - name: InstanceId
        in: query
        description: The instance IDs to describe
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      - name: IncludeAllInstances
        in: query
        description: Include all instances regardless of running state
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: Successfully described instance status
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=CreateImage:
    get:
      operationId: createImage
      summary: Amazon EC2 Create an AMI from an Instance
      description: >-
        Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance
        that is either running or stopped. The AMI is created with the
        root volume and any additional EBS volumes attached to the instance.
      tags:
      - AMIs
      parameters:
      - name: InstanceId
        in: query
        required: true
        description: The ID of the instance to create the image from
        schema:
          type: string
        example: i-0abc123def456789
      - name: Name
        in: query
        required: true
        description: A name for the new image
        schema:
          type: string
        example: example-resource-name
      - name: Description
        in: query
        description: A description for the new image
        schema:
          type: string
        example: example-string
      - name: NoReboot
        in: query
        description: >-
          If true, Amazon EC2 does not shut down the instance before
          creating the image
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: Successfully created image
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CreateImageResponse'
              examples:
                createImage200Example:
                  summary: Default createImage 200 response
                  x-microcks-default: true
                  value:
                    imageId: ami-0abc123def456789
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeImages:
    get:
      operationId: describeImages
      summary: Amazon EC2 Describe AMIs
      description: >-
        Describes the specified images (AMIs, AKIs, and ARIs) available
        to you or all of the images available to you. Images available
        include public images, private images owned by you, and private
        images owned by others for which you have explicit launch permissions.
      tags:
      - AMIs
      parameters:
      - name: ImageId
        in: query
        description: The image IDs to describe
        schema:
          type: array
          items:
            type: string
        example:
        - ami-0abc123def456789
      - name: Owner
        in: query
        description: >-
          Scopes the results to images with the specified owners
        schema:
          type: array
          items:
            type: string
        example:
        - example-string
      - name: Filter
        in: query
        description: Filters to apply to the results
        schema:
          type: array
          items:
            type: string
        example:
        - example-string
      responses:
        '200':
          description: Successfully described images
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DeregisterImage:
    get:
      operationId: deregisterImage
      summary: Amazon EC2 Deregister an AMI
      description: >-
        Deregisters the specified AMI. After you deregister an AMI, it
        cannot be used to launch new instances. Deregistering does not
        delete the AMI.
      tags:
      - AMIs
      parameters:
      - name: ImageId
        in: query
        required: true
        description: The ID of the AMI to deregister
        schema:
          type: string
        example: ami-0abc123def456789
      responses:
        '200':
          description: Successfully deregistered image
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=CreateSecurityGroup:
    get:
      operationId: createSecurityGroup
      summary: Amazon EC2 Create a Security Group
      description: >-
        Creates a security group. A security group acts as a virtual
        firewall for your instances to control inbound and outbound traffic.
      tags:
      - Security Groups
      parameters:
      - name: GroupName
        in: query
        required: true
        description: The name of the security group
        schema:
          type: string
        example: example-cluster-01
      - name: GroupDescription
        in: query
        required: true
        description: A description for the security group
        schema:
          type: string
        example: example-cluster-01
      - name: VpcId
        in: query
        description: The ID of the VPC for the security group
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully created security group
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeSecurityGroups:
    get:
      operationId: describeSecurityGroups
      summary: Amazon EC2 Describe Security Groups
      description: >-
        Describes the specified security groups or all of your security
        groups. A security group is for use with instances either in the
        EC2-Classic platform or in a specific VPC.
      tags:
      - Security Groups
      parameters:
      - name: GroupId
        in: query
        description: The IDs of the security groups to describe
        schema:
          type: array
          items:
            type: string
        example:
        - example-cluster-01
      - name: GroupName
        in: query
        description: The names of the security groups to describe
        schema:
          type: array
          items:
            type: string
        example:
        - example-cluster-01
      responses:
        '200':
          description: Successfully described security groups
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=AuthorizeSecurityGroupIngress:
    get:
      operationId: authorizeSecurityGroupIngress
      summary: Amazon EC2 Add Inbound Security Group Rules
      description: >-
        Adds the specified inbound (ingress) rules to a security group.
        An inbound rule permits instances to receive traffic from the
        specified IPv4 or IPv6 CIDR address range, or from the instances
        associated with the specified security group.
      tags:
      - Security Groups
      parameters:
      - name: GroupId
        in: query
        required: true
        description: The ID of the security group
        schema:
          type: string
        example: example-cluster-01
      - name: IpProtocol
        in: query
        description: The IP protocol name (tcp, udp, icmp) or number
        schema:
          type: string
        example: example-string
      - name: FromPort
        in: query
        description: The start of port range for TCP and UDP protocols
        schema:
          type: integer
        example: 27017
      - name: ToPort
        in: query
        description: The end of port range for TCP and UDP protocols
        schema:
          type: integer
        example: 27017
      - name: CidrIp
        in: query
        description: The IPv4 CIDR range
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully authorized ingress rules
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DeleteSecurityGroup:
    get:
      operationId: deleteSecurityGroup
      summary: Amazon EC2 Delete a Security Group
      description: >-
        Deletes a security group. If you attempt to delete a security
        group that is associated with an instance, or is referenced by
        another security group, the operation fails.
      tags:
      - Security Groups
      parameters:
      - name: GroupId
        in: query
        description: The ID of the security group to delete
        schema:
          type: string
        example: example-cluster-01
      - name: GroupName
        in: query
        description: The name of the security group to delete
        schema:
          type: string
        example: example-cluster-01
      responses:
        '200':
          description: Successfully deleted security group
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=CreateKeyPair:
    get:
      operationId: createKeyPair
      summary: Amazon EC2 Create a Key Pair
      description: >-
        Creates an ED25519 or 2048-bit RSA key pair with the specified
        name. Amazon EC2 stores the public key and displays the private
        key for you to save to a file.
      tags:
      - Key Pairs
      parameters:
      - name: KeyName
        in: query
        required: true
        description: A unique name for the key pair
        schema:
          type: string
        example: example-resource-name
      - name: KeyType
        in: query
        description: The type of key pair (rsa or ed25519)
        schema:
          type: string
          enum:
          - rsa
          - ed25519
        example: rsa
      responses:
        '200':
          description: Successfully created key pair
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeKeyPairs:
    get:
      operationId: describeKeyPairs
      summary: Amazon EC2 Describe Key Pairs
      description: >-
        Describes the specified key pairs or all of your key pairs.
      tags:
      - Key Pairs
      parameters:
      - name: KeyName
        in: query
        description: The key pair names to describe
        schema:
          type: array
          items:
            type: string
        example:
        - example-resource-name
      - name: KeyPairId
        in: query
        description: The IDs of the key pairs
        schema:
          type: array
          items:
            type: string
        example:
        - example-id-1234
      responses:
        '200':
          description: Successfully described key pairs
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DeleteKeyPair:
    get:
      operationId: deleteKeyPair
      summary: Amazon EC2 Delete a Key Pair
      description: >-
        Deletes the specified key pair by removing the public key from
        Amazon EC2.
      tags:
      - Key Pairs
      parameters:
      - name: KeyName
        in: query
        description: The name of the key pair to delete
        schema:
          type: string
        example: example-resource-name
      - name: KeyPairId
        in: query
        description: The ID of the key pair to delete
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully deleted key pair
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=AllocateAddress:
    get:
      operationId: allocateAddress
      summary: Amazon EC2 Allocate an Elastic IP Address
      description: >-
        Allocates an Elastic IP address to your AWS account. After you
        allocate the Elastic IP address you can associate it with an
        instance or network interface.
      tags:
      - Elastic IPs
      parameters:
      - name: Domain
        in: query
        description: Set to vpc to allocate the address for use with instances in a VPC
        schema:
          type: string
          enum:
          - vpc
          - standard
        example: vpc
      responses:
        '200':
          description: Successfully allocated address
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=AssociateAddress:
    get:
      operationId: associateAddress
      summary: Amazon EC2 Associate an Elastic IP Address
      description: >-
        Associates an Elastic IP address with an instance or a network
        interface. This is an idempotent operation.
      tags:
      - Elastic IPs
      parameters:
      - name: AllocationId
        in: query
        description: The allocation ID for the Elastic IP address
        schema:
          type: string
        example: example-id-1234
      - name: InstanceId
        in: query
        description: The ID of the instance to associate with
        schema:
          type: string
        example: i-0abc123def456789
      - name: NetworkInterfaceId
        in: query
        description: The ID of the network interface
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully associated address
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=ReleaseAddress:
    get:
      operationId: releaseAddress
      summary: Amazon EC2 Release an Elastic IP Address
      description: >-
        Releases the specified Elastic IP address. After releasing an
        Elastic IP address, it is released to the IP address pool.
      tags:
      - Elastic IPs
      parameters:
      - name: AllocationId
        in: query
        description: The allocation ID of the Elastic IP address
        schema:
          type: string
        example: example-id-1234
      responses:
        '200':
          description: Successfully released address
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=CreateLaunchTemplate:
    get:
      operationId: createLaunchTemplate
      summary: Amazon EC2 Create a Launch Template
      description: >-
        Creates a launch template. A launch template contains the
        parameters to launch an instance. When you launch an instance
        using RunInstances, you can specify a launch template instead
        of providing the launch parameters in the request.
      tags:
      - Launch Templates
      parameters:
      - name: LaunchTemplateName
        in: query
        required: true
        description: A name for the launch template
        schema:
          type: string
        example: example-resource-name
      - name: VersionDescription
        in: query
        description: A description for the first version of the launch template
        schema:
          type: string
        example: 5.0.0
      responses:
        '200':
          description: Successfully created launch template
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeLaunchTemplates:
    get:
      operationId: describeLaunchTemplates
      summary: Amazon EC2 Describe Launch Templates
      description: >-
        Describes one or more launch templates.
      tags:
      - Launch Templates
      parameters:
      - name: LaunchTemplateId
        in: query
        description: The IDs of the launch templates
        schema:
          type: array
          items:
            type: string
        example:
        - example-id-1234
      - name: LaunchTemplateName
        in: query
        description: The names of the launch templates
        schema:
          type: array
          items:
            type: string
        example:
        - example-resource-name
      responses:
        '200':
          description: Successfully described launch templates
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=RequestSpotInstances:
    get:
      operationId: requestSpotInstances
      summary: Amazon EC2 Request Spot Instances
      description: >-
        Creates a Spot Instance request. For more information about Spot
        Instances, see Spot Instances in the Amazon EC2 User Guide.
      tags:
      - Spot Instances
      parameters:
      - name: SpotPrice
        in: query
        description: The maximum price per unit hour for a Spot Instance
        schema:
          type: string
        example: example-string
      - name: InstanceCount
        in: query
        description: The maximum number of Spot Instances to launch
        schema:
          type: integer
        example: 1
      - name: Type
        in: query
        description: The Spot Instance request type
        schema:
          type: string
          enum:
          - one-time
          - persistent
        example: one-time
      responses:
        '200':
          description: Successfully created Spot Instance request
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeSpotInstanceRequests:
    get:
      operationId: describeSpotInstanceRequests
      summary: Amazon EC2 Describe Spot Instance Requests
      description: >-
        Describes the specified Spot Instance requests. You can use
        DescribeSpotInstanceRequests to find a running Spot Instance by
        querying for the Spot Instance request ID.
      tags:
      - Spot Instances
      parameters:
      - name: SpotInstanceRequestId
        in: query
        description: The IDs of the Spot Instance requests
        schema:
          type: array
          items:
            type: string
        example:
        - i-0abc123def456789
      responses:
        '200':
          description: Successfully described Spot Instance requests
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeRegions:
    get:
      operationId: describeRegions
      summary: Amazon EC2 Describe AWS Regions
      description: >-
        Describes the Regions that are enabled for your account, or all
        Regions. For a list of the Regions supported by Amazon EC2, see
        the Amazon EC2 Regions and Endpoints.
      tags:
      - Regions
      parameters:
      - name: RegionName
        in: query
        description: The names of the Regions
        schema:
          type: array
          items:
            type: string
        example:
        - example-resource-name
      - name: AllRegions
        in: query
        description: Indicates whether to display all Regions including disabled
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: Successfully described regions
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=DescribeAvailabilityZones:
    get:
      operationId: describeAvailabilityZones
      summary: Amazon EC2 Describe Availability Zones
      description: >-
        Describes the Availability Zones, Local Zones, and Wavelength
        Zones that are available to you. The results include zones only
        for the Region you are currently using.
      tags:
      - Regions
      parameters:
      - name: ZoneName
        in: query
        description: The names of the Availability Zones
        schema:
          type: array
          items:
            type: string
        example:
        - example-resource-name
      - name: ZoneId
        in: query
        description: The IDs of the Availability Zones
        schema:
          type: array
          items:
            type: string
        example:
        - example-id-1234
      responses:
        '200':
          description: Successfully described availability zones
        '400':
          description: Invalid request parameters
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    sigv4Auth:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication
  parameters:
    ImageId:
      name: ImageId
      in: query
      required: true
      description: The ID of the AMI to launch
      schema:
        type: string
    InstanceType:
      name: InstanceType
      in: query
      description: >-
        The instance type such as t2.micro, m5.large, c5.xlarge
      schema:
        type: string
  schemas:
    RunInstancesResponse:
      type: object
      description: Response from the RunInstances action
      properties:
        reservationId:
          type: string
          description: The ID of the reservation
          example: example-id-1234
        ownerId:
          type: string
          description: The ID of the AWS account that owns the reservation
          example: example-id-1234
        instances:
          type: array
          description: The instances launched
          items:
            $ref: '#/components/schemas/Instance'
          example:
          - i-0abc123def456789
    DescribeInstancesResponse:
      type: object
      description: Response from the DescribeInstances action
      properties:
        reservationSet:
          type: array
          description: Information about the reservations
          items:
            type: object
            pr

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-ec2/refs/heads/main/openapi/amazon-ec2-openapi.yml