Skip to content

feat(aws): implement phase 1C compute and network operations - #183

Merged
skyoo2003 merged 1 commit into
mainfrom
feat/phase-1c-ec2-integrations
Oct 9, 2026
Merged

skyoo2003 merged 1 commit into
mainfrom
feat/phase-1c-ec2-integrations

Conversation

@skyoo2003

Copy link
Copy Markdown
Owner

Summary

This PR implements Phase 1C: Compute & Network Integrations as outlined in the AWS Phase 1 full implementation plan.

Key Changes

  1. Smithy Parser Protocol Detection (internal/codegen/parser.go):

    • Added support for aws.protocols#ec2Query, properly detecting and classifying the protocol as "ec2-query" instead of "".
  2. Codegen CRUD Admission (internal/codegen/gen_crud_meta.go):

    • Admitted "ec2-query" in engineServable alongside query, rest-xml, rest-json, and json-*.
    • Updated codegen test to assert admission and verb classification for EC2 operations.
  3. CRUD Engine EC2 Protocol Support (internal/shared/crud/crud.go, xml.go):

    • Defined protocolEC2Query = "ec2-query".
    • Updated Servable, NeedsBody, xmlProtocol, and Handle to parse URL/body form Action parameters and serialize to XML with text/xml Content-Type.
    • Updated encodeXML to generate the native EC2 XML envelope (<OperationResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/"><requestId>...</requestId>) with <item> list element wrappers (per EC2 Query specification).
    • Added EC2 error envelope (<Response><Errors><Error><Code>...</Code><Message>...</Message></Error></Errors><RequestID>...</RequestID></Response>).
  4. Gateway Router Integration (internal/gateway/router.go):

    • Updated extractOperationName to support ec2-query Action parameter extraction without consuming request body.
    • Added awsEC2QueryError envelope and text/xml Content-Type for ec2-query gateway error responses.
  5. EC2 Provider Wiring (internal/services/ec2/provider.go):

    • Changed default case in HandleRequest from hardcoded NotImplemented XML error to return nil, plugin.ErrUnhandledOp.
    • Allows wiresCRUDEngine to detect wiring and enables seamless gateway fallback to the generic CRUD engine.
  6. Manifest Regeneration & Coverage Impact:

    • Regenerated manifest_gen.go, registry_gen.go, and services.json.
    • EC2 unimplemented operations dropped from 691 to 193 (498 operations promoted to auto-crud).
    • Total global unimplemented baseline reduced from 3,009 to 2,511.
    • Updated published figures in docs/coverage.md and roadmap in docs/roadmap.md.

Verification

  • go test ./internal/codegen/...: PASS
  • go test ./internal/shared/crud/...: PASS
  • go test ./internal/gateway/...: PASS
  • go test ./internal/services/ec2/...: PASS
  • go test ./cmd/devcloud/...: PASS (including published figure verification)
  • Full go test ./internal/...: PASS (all 431 services pass)

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests Test code and test infrastructure codegen Smithy codegen and generated code services AWS service implementations labels Oct 8, 2026
@skyoo2003
skyoo2003 force-pushed the feat/phase-1c-ec2-integrations branch from a05e035 to 27c8fb5 Compare October 9, 2026 05:51
@skyoo2003
skyoo2003 force-pushed the feat/phase-1c-ec2-integrations branch from 27c8fb5 to e1f0bae Compare October 9, 2026 06:11
@skyoo2003
skyoo2003 merged commit fdadf64 into main Oct 9, 2026
11 checks passed
@skyoo2003
skyoo2003 deleted the feat/phase-1c-ec2-integrations branch October 9, 2026 06:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codegen Smithy codegen and generated code documentation Improvements or additions to documentation services AWS service implementations tests Test code and test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant