Skip to content

Migrate Sts to Smithy for multi auth + add configurable Sigv4aSignerRegionSet#3793

Open
sbaluja wants to merge 8 commits intomainfrom
sts-smithy
Open

Migrate Sts to Smithy for multi auth + add configurable Sigv4aSignerRegionSet#3793
sbaluja wants to merge 8 commits intomainfrom
sts-smithy

Conversation

@sbaluja
Copy link
Copy Markdown
Collaborator

@sbaluja sbaluja commented Apr 9, 2026

Issue #, if available:

Description of changes:

  • STS migrates to SmithyClient
  • Expose Sigv4aSignerRegionSet as a clientConfig option
  • Disable InvokeServiceOperation for SmithyRestXML codegen (it is not generated in Smithy Headers, and is not generated for SmithyJson clients i.e bedrock); we should enable this correctly for smithy in a separate PR

Check all that applies:

  • Did a review by yourself.
  • Added proper tests to cover this PR. (If tests are not applicable, explain.)
  • Checked if this PR is a breaking (APIs have been changed) change.
  • Checked if this PR will not introduce cross-platform inconsistent behavior.
  • Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

  • Linux
  • Windows
  • Android
  • MacOS
  • IOS
  • Other Platforms

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

@sbaluja sbaluja marked this pull request as draft April 9, 2026 17:36
@sbaluja sbaluja marked this pull request as ready for review April 9, 2026 17:43
Copy link
Copy Markdown
Collaborator

@sbiscigl sbiscigl left a comment

Choose a reason for hiding this comment

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

Looks like the build is failing, otherwise LGTM. If you have time address the comma-delim join re-usable method.

for (size_t i = 0; i < m_clientConfig->sigV4aSigningRegionSet.size(); ++i) {
ss << m_clientConfig->sigV4aSigningRegionSet[i];
if (i != m_clientConfig->sigV4aSigningRegionSet.size() - 1) {
ss << ",";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

oh you need to construct a comma delim list, theres a nice little trick for that using std::accumulate. we do it in other places when we need that.

std::accumulate(std::begin(m_clientConfig->sigV4aSigningRegionSet), 
  std::end(m_clientConfig->sigV4aSigningRegionSet), 
  Aws::String{},
  [](const Aws::String &acc, const Aws::String &item) -> Aws::String {
    const auto value = item;
    return acc.empty() ? value : acc + "," + value;
  })

Might even be worth it to create a StringUtils::Join(...) function that we can use in the future.

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