feat(coderd_ai_provider): expose server-generated Bedrock external_id#382
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
b83f8f5 to
5a64dd6
Compare
6c79a69 to
96ee5a8
Compare
5a64dd6 to
5115b2e
Compare
96ee5a8 to
3064f9c
Compare
5115b2e to
c11b48c
Compare
5ad0b47 to
624a890
Compare
74c2545 to
3eb783b
Compare
624a890 to
9d3295e
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3eb783b42d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
3cc5c6b to
d10c7c7
Compare
|
@codex review re: Preserve null external IDs from unsupported servers Added a test case to prove this is a non-issue |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
d10c7c7 to
1991453
Compare
9d3295e to
638623d
Compare
1991453 to
4c53540
Compare
4c53540 to
7482cff
Compare

coder/coder#26869 added a server-generated STS external ID to Bedrock AI provider settings: when
role_arnis set, the server generates an ID and sends it on every AssumeRole call, so operators can require it in the role's trust policy via ansts:ExternalIdcondition (the standard confused-deputy mitigation). This exposes it oncoderd_ai_provideras a read-onlysettings.bedrock.external_idattribute, so the trust policy can reference it in the same Terraform config that manages the provider.Design notes:
role_arnis later cleared), plans unknown whilerole_arnis set or unknown, and pins null otherwise.UseStateForUnknownwould be wrong here per the "computed value derived from mutable config" anti-pattern: the empty-to-setrole_arntransition would produce "inconsistent result after apply".Builds on #381 (SDK bump). Follows up #372 (
role_arn).Closes AIGOV-504