Amazon EC2 · Capability

Amazon EC2 API — Elastic IPs

Amazon EC2 API — Elastic IPs. 3 operations. Lead operation: Amazon EC2 Allocate an Elastic IP Address. Self-contained Naftiko capability covering one Amazon Ec2 business surface.

Run with Naftiko Amazon Ec2Elastic IPs

What You Can Do

GET
Allocateaddress — Amazon EC2 Allocate an Elastic IP Address
/v1/action-allocateaddress
GET
Associateaddress — Amazon EC2 Associate an Elastic IP Address
/v1/action-associateaddress
GET
Releaseaddress — Amazon EC2 Release an Elastic IP Address
/v1/action-releaseaddress

MCP Tools

amazon-ec2-allocate-elastic-ip

Amazon EC2 Allocate an Elastic IP Address

read-only idempotent
amazon-ec2-associate-elastic-ip

Amazon EC2 Associate an Elastic IP Address

read-only idempotent
amazon-ec2-release-elastic-ip

Amazon EC2 Release an Elastic IP Address

read-only idempotent

Capability Spec

amazon-ec2-elastic-ips.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon EC2 API — Elastic IPs
  description: 'Amazon EC2 API — Elastic IPs. 3 operations. Lead operation: Amazon EC2 Allocate an Elastic IP Address. Self-contained
    Naftiko capability covering one Amazon Ec2 business surface.'
  tags:
  - Amazon Ec2
  - Elastic IPs
  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-elastic-ips
    baseUri: https://ec2.{region}.amazonaws.com
    description: Amazon EC2 API — Elastic IPs business capability. Self-contained, no shared references.
    resources:
    - name: ?Action=AllocateAddress
      path: /?Action=AllocateAddress
      operations:
      - name: allocateaddress
        method: GET
        description: Amazon EC2 Allocate an Elastic IP Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Domain
          in: query
          type: string
          description: Set to vpc to allocate the address for use with instances in a VPC
    - name: ?Action=AssociateAddress
      path: /?Action=AssociateAddress
      operations:
      - name: associateaddress
        method: GET
        description: Amazon EC2 Associate an Elastic IP Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: AllocationId
          in: query
          type: string
          description: The allocation ID for the Elastic IP address
        - name: InstanceId
          in: query
          type: string
          description: The ID of the instance to associate with
        - name: NetworkInterfaceId
          in: query
          type: string
          description: The ID of the network interface
    - name: ?Action=ReleaseAddress
      path: /?Action=ReleaseAddress
      operations:
      - name: releaseaddress
        method: GET
        description: Amazon EC2 Release an Elastic IP Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: AllocationId
          in: query
          type: string
          description: The allocation ID of the Elastic IP address
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_EC2_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: amazon-ec2-elastic-ips-rest
    port: 8080
    description: REST adapter for Amazon EC2 API — Elastic IPs. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/action-allocateaddress
      name: action-allocateaddress
      description: REST surface for ?Action=AllocateAddress.
      operations:
      - method: GET
        name: allocateaddress
        description: Amazon EC2 Allocate an Elastic IP Address
        call: amazon-ec2-elastic-ips.allocateaddress
        with:
          Domain: rest.Domain
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-associateaddress
      name: action-associateaddress
      description: REST surface for ?Action=AssociateAddress.
      operations:
      - method: GET
        name: associateaddress
        description: Amazon EC2 Associate an Elastic IP Address
        call: amazon-ec2-elastic-ips.associateaddress
        with:
          AllocationId: rest.AllocationId
          InstanceId: rest.InstanceId
          NetworkInterfaceId: rest.NetworkInterfaceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-releaseaddress
      name: action-releaseaddress
      description: REST surface for ?Action=ReleaseAddress.
      operations:
      - method: GET
        name: releaseaddress
        description: Amazon EC2 Release an Elastic IP Address
        call: amazon-ec2-elastic-ips.releaseaddress
        with:
          AllocationId: rest.AllocationId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-ec2-elastic-ips-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon EC2 API — Elastic IPs. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: amazon-ec2-allocate-elastic-ip
      description: Amazon EC2 Allocate an Elastic IP Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-elastic-ips.allocateaddress
      with:
        Domain: tools.Domain
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-associate-elastic-ip
      description: Amazon EC2 Associate an Elastic IP Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-elastic-ips.associateaddress
      with:
        AllocationId: tools.AllocationId
        InstanceId: tools.InstanceId
        NetworkInterfaceId: tools.NetworkInterfaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-release-elastic-ip
      description: Amazon EC2 Release an Elastic IP Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-elastic-ips.releaseaddress
      with:
        AllocationId: tools.AllocationId
      outputParameters:
      - type: object
        mapping: $.