Skip to content

GH-1220 Document HTTP proxy configuration for AWS clients#1639

Open
BK202503 wants to merge 1 commit into
awspring:mainfrom
BK202503:gh-1220-document-proxy
Open

GH-1220 Document HTTP proxy configuration for AWS clients#1639
BK202503 wants to merge 1 commit into
awspring:mainfrom
BK202503:gh-1220-document-proxy

Conversation

@BK202503

Copy link
Copy Markdown

Closes #1220.

What

Adds a subsection under "Customizing AWS Clients" in core.adoc that shows how to wire an HTTP proxy through AwsSyncClientCustomizer / AwsAsyncClientCustomizer, with examples for both the Apache (sync) and Netty (async) HTTP clients in AWS SDK v2.

Why

#1220 (opened by @maciejwalkowiak) flagged that proxy configuration is undocumented in Spring Cloud AWS 3.x. Users migrating from 2.x — where AWS SDK v1's ClientConfiguration#setProxyHost covered both sync and async — hit two specific gotchas that the docs now call out:

  1. The two ProxyConfiguration classes live in different packages — software.amazon.awssdk.http.apache.ProxyConfiguration for the sync (Apache) client and software.amazon.awssdk.http.nio.netty.ProxyConfiguration for the async (Netty) client.
  2. The builder APIs are slightly different — Apache takes a full URI via endpoint(URI), Netty takes host(String) and port(int) separately.

The section reuses the same code-block style as the surrounding "Customizing AWS Clients" examples and points at the per-client customizer interfaces (e.g. S3ClientCustomizer) when only a single integration needs to go through the proxy. nonProxyHosts(Set<String>) is shown with 169.254.169.254 to call out the EC2 instance metadata service case.

Validation

  • asciidoctor docs/src/main/asciidoc/core.adoc renders the file with zero warnings; the new subsection appears as <h4> nested under the existing <h3> "Customizing AWS Clients", with the GraalVM section unchanged as the next sibling.
  • Diff is docs-only — no production code or test changes.

AI agent disclosure

I used an AI coding agent (Claude Code) to draft this docs section. I have read every line, verified the AWS SDK v2 ProxyConfiguration APIs against the SDK Javadoc, confirmed the import paths match what other tests in the repo already use (software.amazon.awssdk.http.apache.ApacheHttpClient etc.), and will be the one responding to review.

Add a subsection under "Customizing AWS Clients" in core.adoc that shows
how to wire an HTTP proxy through `AwsSyncClientCustomizer` /
`AwsAsyncClientCustomizer`. Covers both the Apache (synchronous) and
Netty (asynchronous) HTTP clients in AWS SDK v2 — they live in different
packages and have slightly different builder APIs (`endpoint(URI)` vs.
`host(String) + port(int)`), which catches users migrating from Spring
Cloud AWS 2.x where AWS SDK v1's `ClientConfiguration#setProxyHost`
covered both.

Notes `nonProxyHosts(Set<String>)` for excluding the EC2 instance
metadata service (169.254.169.254), and points to the per-client
customizer interfaces (e.g. `S3ClientCustomizer`) when only one
integration needs to go through the proxy.

Closes awspring#1220.

Signed-off-by: BK202503 <199436087+BK202503@users.noreply.github.com>
@github-actions github-actions Bot added the type: documentation Documentation or Samples related issue label Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: documentation Documentation or Samples related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document how to configure proxy

1 participant