Amazon EC2 · Capability

Amazon EC2 API — AMIs

Amazon EC2 API — AMIs. 3 operations. Lead operation: Amazon EC2 Create an AMI from an Instance. Self-contained Naftiko capability covering one Amazon Ec2 business surface.

Run with Naftiko Amazon Ec2AMIs

What You Can Do

GET
Createimage — Amazon EC2 Create an AMI from an Instance
/v1/action-createimage
GET
Deregisterimage — Amazon EC2 Deregister an AMI
/v1/action-deregisterimage
GET
Describeimages — Amazon EC2 Describe AMIs
/v1/action-describeimages

MCP Tools

amazon-ec2-create-ami-instance

Amazon EC2 Create an AMI from an Instance

read-only idempotent
amazon-ec2-deregister-ami

Amazon EC2 Deregister an AMI

read-only idempotent
amazon-ec2-describe-amis

Amazon EC2 Describe AMIs

read-only idempotent

Capability Spec

amazon-ec2-amis.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon EC2 API — AMIs
  description: 'Amazon EC2 API — AMIs. 3 operations. Lead operation: Amazon EC2 Create an AMI from an Instance. Self-contained
    Naftiko capability covering one Amazon Ec2 business surface.'
  tags:
  - Amazon Ec2
  - AMIs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_EC2_API_KEY: AMAZON_EC2_API_KEY
capability:
  consumes:
  - type: http
    namespace: amazon-ec2-amis
    baseUri: https://ec2.{region}.amazonaws.com
    description: Amazon EC2 API — AMIs business capability. Self-contained, no shared references.
    resources:
    - name: ?Action=CreateImage
      path: /?Action=CreateImage
      operations:
      - name: createimage
        method: GET
        description: Amazon EC2 Create an AMI from an Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: string
          description: The ID of the instance to create the image from
          required: true
        - name: Name
          in: query
          type: string
          description: A name for the new image
          required: true
        - name: Description
          in: query
          type: string
          description: A description for the new image
        - name: NoReboot
          in: query
          type: boolean
          description: If true, Amazon EC2 does not shut down the instance before creating the image
    - name: ?Action=DeregisterImage
      path: /?Action=DeregisterImage
      operations:
      - name: deregisterimage
        method: GET
        description: Amazon EC2 Deregister an AMI
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ImageId
          in: query
          type: string
          description: The ID of the AMI to deregister
          required: true
    - name: ?Action=DescribeImages
      path: /?Action=DescribeImages
      operations:
      - name: describeimages
        method: GET
        description: Amazon EC2 Describe AMIs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ImageId
          in: query
          type: array
          description: The image IDs to describe
        - name: Owner
          in: query
          type: array
          description: Scopes the results to images with the specified owners
        - name: Filter
          in: query
          type: array
          description: Filters to apply to the results
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_EC2_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: amazon-ec2-amis-rest
    port: 8080
    description: REST adapter for Amazon EC2 API — AMIs. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/action-createimage
      name: action-createimage
      description: REST surface for ?Action=CreateImage.
      operations:
      - method: GET
        name: createimage
        description: Amazon EC2 Create an AMI from an Instance
        call: amazon-ec2-amis.createimage
        with:
          InstanceId: rest.InstanceId
          Name: rest.Name
          Description: rest.Description
          NoReboot: rest.NoReboot
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-deregisterimage
      name: action-deregisterimage
      description: REST surface for ?Action=DeregisterImage.
      operations:
      - method: GET
        name: deregisterimage
        description: Amazon EC2 Deregister an AMI
        call: amazon-ec2-amis.deregisterimage
        with:
          ImageId: rest.ImageId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-describeimages
      name: action-describeimages
      description: REST surface for ?Action=DescribeImages.
      operations:
      - method: GET
        name: describeimages
        description: Amazon EC2 Describe AMIs
        call: amazon-ec2-amis.describeimages
        with:
          ImageId: rest.ImageId
          Owner: rest.Owner
          Filter: rest.Filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-ec2-amis-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon EC2 API — AMIs. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: amazon-ec2-create-ami-instance
      description: Amazon EC2 Create an AMI from an Instance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-amis.createimage
      with:
        InstanceId: tools.InstanceId
        Name: tools.Name
        Description: tools.Description
        NoReboot: tools.NoReboot
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-deregister-ami
      description: Amazon EC2 Deregister an AMI
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-amis.deregisterimage
      with:
        ImageId: tools.ImageId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-describe-amis
      description: Amazon EC2 Describe AMIs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-amis.describeimages
      with:
        ImageId: tools.ImageId
        Owner: tools.Owner
        Filter: tools.Filter
      outputParameters:
      - type: object
        mapping: $.