Skip to content

Schemas #1600

@kuhe

Description

@kuhe

This is a tracking issue for implementing schema objects and associated features.

Since schemas are an implementation detail that is not relevant to the typical generated-client consumer, I won't go into a long explanation of what they do. They are instruction objects for request serialization and response deserialization.

Going along with this change, two features are planned:

  • protocol selection can be done at runtime for clients, enabling different communication formats with services supporting more than one protocol without needing to generate separate clients.
  • BigDecimal and BigInteger support for all protocols and formats.

PRs

PoC branch - #1592

#1593 - schema types
#1594 - migrate serde functions
#1595 - schema runtime classes
#1599 - java codegen
#1603 - BigInt and BigDecimal support in CBOR codec

AWS SDK for JavaScript (downstream consumer)

PoC branch - aws/aws-sdk-js-v3#6986

aws/aws-sdk-js-v3#7110 - AWS protocol runtime classes
aws/aws-sdk-js-v3#7117 - AWS protocol codegen and protocol tests

Misc patches

aws/aws-sdk-js-v3#7109 - (chore) import core submodules instead of index
#1613 - namespace of synthetic base exceptions
#1609 - allow schema structIterator to be run on unit schema
#1610 - allow httpPrefixHeader and httpHeader bindings to read from same header
#1620 - authDefinition/protocolDefinition trait filter
#1637 - [Symbol.hasInstance] for Schema classes
aws/aws-sdk-js-v3#7214 - convert S3 feature tests to vitest
#1656 - omit protocol serde codegen from schema-based clients

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions