1.
Design Overview
2.
Tenets
3.
Design FAQ
4.
Smithy
4.1.
Simple Shapes
4.2.
Recursive Shapes
4.3.
Aggregate Shapes
4.4.
Backwards Compatibility
5.
Client
5.1.
What is the 'orchestrator' and why does it exist?
5.2.
Identity and Auth
5.3.
Detailed error explanations
6.
Server
6.1.
Middleware
6.2.
Instrumentation
6.3.
Accessing Un-modelled Data
6.4.
The Anatomy of a Service
6.5.
Generating Common Service Code
7.
RFCs
7.1.
RFC-0001: Sharing configuration between multiple clients
7.2.
RFC-0002: Supporting multiple HTTP versions for SDKs that use Event Stream
7.3.
RFC-0003: API for Pre-signed URLs
7.4.
RFC-0004: Retry Behavior
7.5.
RFC-0005: Smithy Rust service framework
7.6.
RFC-0006: Service-specific middleware
7.7.
RFC-0007: Split release process
7.8.
RFC-0008: Paginators
7.9.
RFC-0009: Example Consolidation
7.10.
RFC-0010: Waiters
7.11.
RFC-0011: Publishing Alpha to Crates.io
7.12.
RFC-0012: Independent Crate Versioning
7.13.
RFC-0013: Body Callback APIs
7.14.
RFC-0014: Fine-grained timeout configuration
7.15.
RFC-0015: How Cargo "features" should be used in the SDK and runtime crates
7.16.
RFC-0016: Supporting Flexible Checksums
7.17.
RFC-0017: Customizable Client Operations
7.18.
RFC-0018: Logging in the Presence of Sensitive Data
7.19.
RFC-0019: Event Streams Errors
7.20.
RFC-0020: Service Builder Improvements
7.21.
RFC-0021: Dependency Versions
7.22.
RFC-0022: Error Context and Compatibility
7.23.
RFC-0023: Evolving the new service builder API
7.24.
RFC-0024: RequestID
7.25.
RFC-0025: Constraint traits
7.26.
RFC-0026: Client Crate Organization
7.27.
RFC-0027: Endpoints 2.0
7.28.
RFC-0028: SDK Credential Cache Type Safety
7.29.
RFC-0029: Finding New Home for Credential Types
7.30.
RFC-0030: Serialization And Deserialization
7.31.
RFC-0031: Providing Fallback Credentials on Timeout
7.32.
RFC-0032: Better Constraint Violations
7.33.
RFC-0033: Improving access to request IDs in SDK clients
7.34.
RFC-0034: Smithy Orchestrator
7.35.
RFC-0035: Collection Defaults
7.36.
RFC-0036: HTTP Dependency Exposure
7.37.
RFC-0037: The HTTP Wrapper
7.38.
RFC-0038: User-configurable retry classification
7.39.
RFC-0039: Forward Compatible Errors
7.40.
RFC-0040: Behavior Versions
7.41.
RFC-0041: Improve client error ergonomics
7.42.
RFC-0042: File-per-change changelog
7.43.
RFC-0043: Identity Cache Partitions
7.44.
RFC-0044: Environment-defined service configuration
8.
Contributing
8.1.
Writing and debugging a low-level feature that relies on HTTP
Light
Rust
Coal
Navy
Ayu
Smithy Rust
Contributing
This is a collection of written resources for smithy-rs and SDK contributors.
Writing and debugging a low-level feature that relies on HTTP