Skip to content

Add support for config resolver#738

Closed
ubaskota wants to merge 1 commit into
smithy-lang:config_integration_implementationfrom
ubaskota:config_resolver_implementation
Closed

Add support for config resolver#738
ubaskota wants to merge 1 commit into
smithy-lang:config_integration_implementationfrom
ubaskota:config_resolver_implementation

Conversation

@ubaskota

Copy link
Copy Markdown
Contributor

Issue #, if available:

Description of changes:
This change implements the async config resolution pipeline with AsyncAwsConfig using a resolve() classmethod as the only construction path. It adds SharedConfigContext for holding env vars and memoized config file data, FieldSpec for per-field resolution metadata, and provenance tracking via ConfigSource. Resolvers for region and retry_strategy_options are included along with validators for both fields.

Testing:

  • Added unit and end-to-end tests covering env var resolution, profile resolution, explicit overrides, defaults, provenance tracking, validator enforcement, and construction blocking, and verified that they all pass.
  • All existing tests pass

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ubaskota
ubaskota requested a review from a team as a code owner July 13, 2026 05:19
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/resolvers.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/resolvers.py
# Conflicts:
#	packages/smithy-aws-core/src/smithy_aws_core/config/exceptions.py
@ubaskota
ubaskota force-pushed the config_resolver_implementation branch from 34efc14 to feb09c2 Compare July 21, 2026 17:55

@jonathan343 jonathan343 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Ujjwal. Overall, everything seems functional after testing with different direct, env var, and config file setups.

I let some comments calling out some gaps and bugs in the implementation. Let me know if you have any questions. I'll continue to think about if this is the optimal interface we want to expose.

Comment thread packages/smithy-aws-core/tests/unit/config/test_resolver.py
Comment thread packages/smithy-aws-core/tests/unit/config/test_resolver.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/resolvers.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/resolvers.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/validators.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/resolvers.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/aws_config.py
Comment thread packages/smithy-aws-core/src/smithy_aws_core/config/context.py
@arandito
arandito deleted the branch smithy-lang:config_integration_implementation July 22, 2026 17:50
@arandito arandito closed this Jul 22, 2026
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.

4 participants