Skip to content

Conversation

@jbelkins
Copy link
Contributor

@jbelkins jbelkins commented Jun 9, 2023

Issue #

#699 (standard architecture)
#338 (retry behavior 2.0 SEP)

Description of changes

Service client configuration

Service client configuration has been moved from code-generation to client runtime, simplifying generated code immensely.
Overall code generated for the SDK is down ~45,000 lines as a result of this change. The new configuration type mostly shares the same public interface as existing configuration types, so although this is technically a breaking change, it should have no effect on most existing clients.

  • AWSClientConfiguration serves as the configuration for all AWS services.
  • Each service now code-generates only a small, service-specific structure with the service's custom config fields.
  • Code-generated protocols for configuration objects served no purpose and are eliminated.
  • Added retryStrategyOptions (from the matching PR in smithy-swift) for configuration of retry

Follow-up

There are two retry features that will be added in follow-up PRs:

  • Expose the configuration settings for retry
  • Custom error handling for AWS service errors

New/existing dependencies impact assessment, if applicable

No new dependencies were added to this change.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jbelkins jbelkins marked this pull request as ready for review June 12, 2023 15:02
@jbelkins jbelkins requested a review from waahm7 June 12, 2023 15:07
@jbelkins jbelkins merged commit 0f45808 into main Jun 14, 2023
@jbelkins jbelkins deleted the jbe/retry_redo branch June 14, 2023 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants