MCPcopy Index your code
hub / github.com/coder/coder / mergeAIProviderSettings

Function mergeAIProviderSettings

coderd/ai_providers.go:762–777  ·  view source on GitHub ↗

mergeAIProviderSettings overlays a patch onto an existing settings value. Write-only fields (Bedrock AccessKey and AccessKeySecret) use pointers so the patch can distinguish "omitted, keep existing" (nil) from "explicitly clear" (pointer to empty string) - e.g. when an admin migrates from static AWS

(existing, patch codersdk.AIProviderSettings)

Source from the content-addressed store, hash-verified

760// admin migrates from static AWS credentials to IAM role-based auth
761// in a single PATCH.
762func mergeAIProviderSettings(existing, patch codersdk.AIProviderSettings) codersdk.AIProviderSettings {
763 if patch.Bedrock == nil {
764 // Patch carries no type-specific data; treat as a clear.
765 return codersdk.AIProviderSettings{}
766 }
767 merged := *patch.Bedrock
768 if existing.Bedrock != nil {
769 if merged.AccessKey == nil {
770 merged.AccessKey = existing.Bedrock.AccessKey
771 }
772 if merged.AccessKeySecret == nil {
773 merged.AccessKeySecret = existing.Bedrock.AccessKeySecret
774 }
775 }
776 return codersdk.AIProviderSettings{Bedrock: &merged}
777}

Callers 1

aiProvidersUpdateMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected