xref: /aosp_15_r20/external/aws-sdk-java-v2/docs/LaunchChangelog.md (revision 8a52c7834d808308836a99fc2a6e0ed8db339086)
1# 1.11 to 2.0 Changelog
2
3- [1. Clients](#1-clients)
4    - [1.1. Client Creation Defaults](#11-client-creation-defaults)
5    - [1.2. AWS Client Configuration: Custom Regions, Credentials and Endpoints](#12-aws-client-configuration-custom-regions-credentials-and-endpoints)
6        - [1.2.1. Client Regions](#121-client-regions)
7        - [1.2.2. Client Credentials](#122-client-credentials)
8    - [1.3. SDK Client Configuration](#13-sdk-client-configuration)
9        - [1.3.1. Client HTTP Configuration](#131-client-http-configuration)
10        - [1.3.2. Client HTTP Proxy Configuration](#132-client-http-proxy-configuration)
11        - [1.3.3. Client Override Configuration](#133-client-override-configuration)
12        - [1.3.4. Client Override Retry Configuration](#134-client-override-retry-configuration)
13        - [1.3.5. Async Configuration](#135-async-configuration)
14        - [1.3.6. Other Options](#136-other-options)
15- [2. Operations, Request and Response Changes](#2-operations-request-and-response-changes)
16    - [2.1. Streaming Operations](#21-streaming-operations)
17- [3. Exception Changes](#3-exception-changes)
18- [4. Service Changes](#4-service-changes)
19    - [4.1. S3 Changes](#41-s3-changes)
20        - [4.1.1. S3 Operation Migration](#411-s3-operation-migration)
21    - [4.2. SNS Changes](#42-sns-changes)
22    - [4.3. SQS Changes](#43-sqs-changes)
23- [5. Profile File Changes](#5-profile-file-changes)
24- [6. Conversion Tables](#6-conversion-tables)
25    - [6.1. Environment Variables and System Properties](#61-environment-variables-and-system-properties)
26    - [6.2. Credential Providers](#62-credential-providers)
27    - [6.3. Client Names](#63-client-names)
28- [7. High-Level Libraries](#7-high-level-libraries)
29
30# 1. Clients
31
32Clients, like the `DynamoDbClient` are the most direct way of communicating with AWS services. See [7. High-Level Libraries](#7-high-level-libraries) for the status of high-level libraries like S3 Transfer Manager, the Dynamo DB Mapper, S3 Encryption Client and waiters.
33
34In 2.0, the following changes have been made to the clients:
35
361. Clients can no longer be mutated.
372. Clients can no longer be created by their default constructor. The static `create` or `builder` methods must be used instead: `new AmazonDynamoDBClient` is now `DynamoDbClient.create` and `AmazonDynamoDBClient.builder` is now `DynamoDbClient.builder`.
383. Client builders no longer contain static methods. The static methods on the clients must be used: `AmazonDynamoDBClientBuilder.defaultClient` is now `DynamoDbClient.create` and `AmazonDynamoDBClientBuilder.standard` is now `DynamoDbClient.builder`.
394. Client classes have been renamed. See [6.3. Client Names](#63-client-names) for the 2.0-equivalent client names.
405. Async clients now use non-blocking IO.
416. Async operations now return `CompletableFuture`.
427. Async clients now use an internal executor only for calling `complete` on the `CompletableFuture` and retries.
43
44## 1.1. Client Creation Defaults
45
46In 2.0, the following changes have been made to the default client creation logic:
47
481. The default credential provider chain for S3 no longer includes anonymous credentials. Anonymous access to S3 must be specified manually using the `AnonymousCredentialsProvider`.
492. The following environment variables related to default client creation have been changed:
50   1. `AWS_CBOR_DISABLED` is now `CBOR_ENABLED`
51   2. `AWS_ION_BINARY_DISABLE` is now `BINARY_ION_ENABLED`
523. The following system properties related to default client creation have been changed:
53   1. `com.amazonaws.sdk.disableEc2Metadata` is now `aws.disableEc2Metadata`.
54   2. `com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` is now `aws.ec2MetadataServiceEndpoint`.
55   3. `com.amazonaws.sdk.disableCbor` is now `aws.cborEnabled`.
56   4. `com.amazonaws.sdk.disableIonBinary` is now `aws.binaryIonEnabled`.
57   5. The following system properties no longer supported: `com.amazonaws.sdk.disableCertChecking`, `com.amazonaws.sdk.enableDefaultMetrics`, `com.amazonaws.sdk.enableThrottledRetry`, `com.amazonaws.regions.RegionUtils.fileOverride`, `com.amazonaws.regions.RegionUtils.disableRemote`, `com.amazonaws.services.s3.disableImplicitGlobalClients`, `com.amazonaws.sdk.enableInRegionOptimizedMode`
584. Loading region configuration from a custom `endpoints.json` file is no longer supported.
595. The default credentials logic has been modified. See `com.amazonaws.auth.DefaultAWSCredentialsProviderChain` changes below for more information.
606. Profile file format has changed to more closely match the CLI's behavior. See [5. Profile File Changes](#5-profile-file-changes).
61
62## 1.2. AWS Client Configuration: Custom Regions, Credentials and Endpoints
63
64In 2.0, regions, credentials and endpoints must be specified using the client builder.
65
66| Setting     | 1.x (Client)                                                                                  | 1.x (Builder)                                                                                                                                  | 2.0                                                                                                         |
67|-------------|-----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
68| Region      | `new AmazonDynamoDBClient()`<br />`.withRegion(Regions.US_EAST_1)`                            | `AmazonDynamoDBClientBuilder.standard()`<br />`.withRegion(Regions.US_EAST_1)`<br />`.build()`                                                 | `DynamoDbClient.builder()`<br />`.region(Region.US_EAST_1)`<br />`.build()`                                 |
69| Credentials | `new AmazonDynamoDBClient(credentials)`                                                       | `AmazonDynamoDBClientBuilder.standard()`<br />`.withCredentials(credentials)`<br />`.build()`                                                  | `DynamoDbClient.builder()`<br />`.credentials(credentials)`<br />`.build()`                                 |
70| Endpoint    | `new AmazonDynamoDBClient()`<br />`.withRegion(signingRegion)`<br />`.withEndpoint(endpoint)` | `AmazonDynamoDBClientBuilder.standard()`<br />`.withEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion))`<br />`.build()` | `DynamoDbClient.builder()`<br />`.region(signingRegion)`<br />`.endpointOverride(endpoint)`<br />`.build()` |
71
72### 1.2.1. Client Regions
73
74In 2.0, the following changes have been made related to regions:
75
761. When using a service that does not currently have region-specific endpoints, you must use `Region.AWS_GLOBAL` or `Region.AWS_CN_GLOBAL` instead of a region-specific endpoint.
772. `com.amazonaws.regions.Regions` changes:
78    1. This class has been replaced with `software.amazon.awssdk.regions.Region`.
79    2. `Regions.fromName` is now `Region.of`.
80    3. `Regions.getName` is now `Region.id`.
81    4. The following `Regions` methods and fields are no longer supported: `DEFAULT_REGION`, `getDescription`, `getCurrentRegion`, `name`.
823. `com.amazonaws.regions.Region` changes:
83    1. For region identification:
84        1. This class has been replaced with `software.amazon.awssdk.regions.Region`, created with `Region.of`.
85        2. `Region.getName` is now `Region.id`.
86    2. For region metadata:
87        1. This class has been replaced with `software.amazon.awssdk.regions.RegionMetadata`, created with `RegionMetadata.of`.
88        2. `Region.getName` is now `RegionMetadata.name`.
89        3. `Region.getDomain` is now `RegionMetadata.domain`.
90        4. `Region.getPartition` is now `RegionMetadata.partition`.
91    3. For service metadata:
92        1. This class has been replaced with `software.amazon.awssdk.regions.ServiceMetadata`, created by calling `ServiceMetadata.of` (or the `serviceMetadata` method on any service client).
93        2. `Region.getServiceEndpoint` is now `ServiceMetadata.endpointFor(Region)`.
94        3. `Region.isServiceSupported` is now `ServiceMetadata.regions().contains(Region)`.
95    4. The following `Region` methods are no longer supported: `hasHttpsEndpoint`, `hasHttpEndpoint`, `getAvailableEndpoints`, `createClient`.
96
97### 1.2.2. Client Credentials
98
99In 2.0, the following changes have been made related to the credentials providers:
100
1011. `com.amazonaws.auth.AWSCredentialsProvider` changes:
102    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.AwsCredentialsProvider`.
103    2. `AWSCredentialsProvider.getCredentials` is now `AwsCredentialsProvider.resolveCredentials`.
104    3. The following `AWSCredentialsProvider` methods are no longer supported: `refresh`.
1052. `com.amazonaws.auth.DefaultAWSCredentialsProviderChain` changes:
106    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider`.
107    2. `new DefaultAWSCredentialsProviderChain` is now `DefaultCredentialsProvider.create`.
108    3. System properties are treated as higher-priority than environment variables.
109    4. See `EnvironmentVariableCredentialsProvider`, `SystemPropertiesCredentialsProvider`, `ProfileCredentialsProvider` and `EC2ContainerCredentialsProviderWrapper` below for more changes.
110    5. The following `DefaultAWSCredentialsProviderChain` methods are no longer supported: `getInstance`.
1113. `com.amazonaws.auth.AWSStaticCredentialsProvider` changes:
112    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.StaticCredentialsProvider`.
113    2. `new AWSStaticCredentialsProvider` is now `StaticCredentialsProvider.create`.
1144. `com.amazonaws.auth.EnvironmentVariableCredentialsProvider` changes:
115    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider`.
116    2. `new EnvironmentVariableCredentialsProvider` is now `EnvironmentVariableCredentialsProvider.create`.
117    3. The `AWS_ACCESS_KEY` environment variable is now `AWS_ACCESS_KEY_ID`.
118    4. The `AWS_SECRET_KEY` environment variable is now `AWS_SECRET_ACCESS_KEY`.
1195. `com.amazonaws.auth.SystemPropertiesCredentialsProvider` changes:
120    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.SystemPropertyCredentialsProvider`.
121    2. `new SystemPropertiesCredentialsProvider` is now `SystemPropertyCredentialsProvider.create`.
122    3. The `aws.secretKey` system property is now `aws.secretAccessKey`.
1236. `com.amazonaws.auth.profile.ProfileCredentialsProvider` changes:
124    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider`.
125    2. `new ProfileCredentialsProvider` is now `ProfileCredentialsProvider.create`.
126    3. Custom profile file paths are now specified via `ProfileCredentialsProvider.builder`.
127    4. The `AWS_CREDENTIAL_PROFILES_FILE` environment variable is now `AWS_SHARED_CREDENTIALS_FILE`.
128    5. Profile file format has changed to more closely match the CLI's behavior. See [5. Profile File Changes](#5-profile-file-changes).
1297. `com.amazonaws.auth.ContainerCredentialsProvider` changes:
130    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider`.
131    2. Async refresh is specified via `ContainerCredentialsProvider.builder`.
132    3. `new ContainerCredentialsProvider` is now `ContainerCredentialsProvider.create`.
1338. `com.amazonaws.auth.InstanceProfileCredentialsProvider` changes:
134    1. This class has been replaced with `software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider`.
135    2. Async refresh is specified via `InstanceProfileCredentialsProvider.builder`.
136    3. `new InstanceProfileCredentialsProvider` is now `InstanceProfileCredentialsProvider.create`.
137    4. The `com.amazonaws.sdk.disableEc2Metadata` system property is now `aws.disableEc2Metadata`.
138    5. The `com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` system property is now `aws.ec2MetadataServiceEndpoint`.
139    6. The following `AWSCredentialsProvider` methods are no longer supported: `getInstance`.
1409. `com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider` changes:
141    1. This class has been replaced with `software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider`.
142    2. Async refresh is no longer the default, but can be specified via `StsAssumeRoleCredentialsProvider.builder`.
143    3. `new STSAssumeRoleSessionCredentialsProvider` and `new STSAssumeRoleSessionCredentialsProvider.Builder` are now `StsAssumeRoleCredentialsProvider.builder`.
144    4. All builder configuration has been replaced in favor of specifying a `StsClient` and `AssumeRoleRequest` request.
14510. `com.amazonaws.auth.STSSessionCredentialsProvider` changes:
146    1. This class has been replaced with `software.amazon.awssdk.services.sts.auth.StsGetSessionTokenCredentialsProvider`.
147    2. Async refresh is no longer the default, but can be specified via `StsGetSessionTokenCredentialsProvider.builder`.
148    3. `new STSAssumeRoleSessionCredentialsProvider` is now `StsGetSessionTokenCredentialsProvider.builder`.
149    4. All constructor parameters have been replaced in favor of specifying a `StsClient` and `GetSessionTokenRequest` request in a builder.
15011. `com.amazonaws.auth.WebIdentityFederationSessionCredentialsProvider` changes:
151    1. This class has been replaced with `software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider`.
152    2. Async refresh is no longer the default, but can be specified via `StsAssumeRoleWithWebIdentityCredentialsProvider.builder`.
153    3. `new WebIdentityFederationSessionCredentialsProvider` is now `StsAssumeRoleWithWebIdentityCredentialsProvider.builder`.
154    4. All constructor parameters have been replaced in favor of specifying a `StsClient` and `AssumeRoleWithWebIdentityRequest` request in a builder.
15512. `com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper` has been removed in favor of `software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider` and `software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider`.
15613. `com.amazonaws.services.s3.S3CredentialsProviderChain` has been removed in favor of `software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider` and `software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider`.
15714. `com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider` and `com.amazonaws.auth.PropertiesFileCredentialsProvider` have been removed.
158
159## 1.3. SDK Client Configuration
160
161In 1.x, SDK client configuration was modified by setting a `ClientConfiguration` instance on the client or client builder:
162
163| 1.x (Client)                                    | 1.x (Builder)                                                                                                 |
164|-------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
165| `new AmazonDynamoDBClient(clientConfiguration)` | `AmazonDynamoDBClientBuilder.standard()`<br />`.withClientConfiguration(clientConfiguration)`<br />`.build()` |
166
167In 2.0, SDK client configuration is split into separate configuration settings:
168
169**Synchronous Configuration**
170
171```Java
172ProxyConfiguration.Builder proxyConfig =
173        ProxyConfiguration.builder();
174
175ApacheHttpClient.Builder httpClientBuilder =
176        ApacheHttpClient.builder()
177                        .proxyConfiguration(proxyConfig.build());
178
179ClientOverrideConfiguration.Builder overrideConfig =
180        ClientOverrideConfiguration.builder();
181
182DynamoDbClient client =
183        DynamoDbClient.builder()
184                      .httpClientBuilder(httpClientBuilder)
185                      .overrideConfiguration(overrideConfig.build())
186                      .build();
187```
188
189**Asynchronous Configuration**
190
191```Java
192NettyNioAsyncHttpClient.Builder httpClientBuilder =
193        NettyNioAsyncHttpClient.builder();
194
195ClientOverrideConfiguration.Builder overrideConfig =
196        ClientOverrideConfiguration.builder();
197
198ClientAsyncConfiguration.Builder asyncConfig =
199        ClientAsyncConfiguration.builder();
200
201DynamoDbAsyncClient client =
202        DynamoDbAsyncClient.builder()
203                           .httpClientBuilder(httpClientBuilder)
204                           .overrideConfiguration(overrideConfig.build())
205                           .asyncConfiguration(asyncConfig.build())
206                           .build();
207```
208
209### 1.3.1. Client HTTP Configuration
210
2111. It is now possible to change which HTTP client is used at runtime by specifying an implementation via `clientBuilder.httpClientBuilder`.
2122. HTTP clients passed to `clientBuilder.httpClient` are not closed by default, allowing them to be shared between AWS clients.
2133. HTTP for async clients now use non-blocking IO.
2144. Some operations now utilize HTTP/2 for performance improvements.
215
216| Setting                   | 1.x                                                                                                             | 2.0 (Sync, Apache)                                                                      | 2.0 (Async, Netty)                                                                             |
217|---------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
218|                           | `ClientConfiguration clientConfig =`<br />`new ClientConfiguration()`                                           | `ApacheHttpClient.Builder httpClientBuilder =`<br />`ApacheHttpClient.builder()`        | `NettyNioAsyncHttpClient.Builder httpClientBuilder =`<br />`NettyNioAsyncHttpClient.builder()` |
219| Max Connections           | `clientConfig.setMaxConnections(...)`<br />`clientConfig.withMaxConnections(...)`                               | `httpClientBuilder.maxConnections(...)`                                                 | `httpClientBuilder.maxConcurrency(...)`                                                        |
220| Connection Timeout        | `clientConfig.setConnectionTimeout(...)`<br />`clientConfig.withConnectionTimeout(...)`                         | `httpClientBuilder.connectionTimeout(...)`                                              | `httpClientBuilder.connectionTimeout(...)`                                                     |
221| Socket Timeout            | `clientConfig.setSocketTimeout(...)`<br />`clientConfig.withSocketTimeout(...)`                                 | `httpClientBuilder.socketTimeout(...)`                                                  | `httpClientBuilder.writeTimeout(...)` <br /> `httpClientBuilder.readTimeout(...)`              |
222| Connection TTL            | `clientConfig.setConnectionTTL(...)`<br />`clientConfig.withConnectionTTL(...)`                                 | `httpClientBuilder.connectionTimeToLive(...)`                                           | `httpClientBuilder.connectionTimeToLive(...)`                                                  |
223| Connection Max Idle       | `clientConfig.setConnectionMaxIdleMillis(...)`<br />`clientConfig.withConnectionMaxIdleMillis(...)`             | `httpClientBuilder.connectionMaxIdleTime(...)`                                          | `httpClientBuilder.connectionMaxIdleTime(...)`                                                 |
224| Validate After Inactivity | `clientConfig.setValidateAfterInactivityMillis(...)`<br />`clientConfig.withValidateAfterInactivityMillis(...)` | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))    | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))           |
225| Local Address             | `clientConfig.setLocalAddress(...)`<br />`clientConfig.withLocalAddress(...)`                                   | `httpClientBuilder.localAddress(...)`                                                   | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/857)                             |
226| Expect-Continue Enabled   | `clientConfig.setUseExpectContinue(...)`<br />`clientConfig.withUseExpectContinue(...)`                         | `httpClientBuilder.expectContinueEnabled(...)`                                          | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))           |
227| Connection Reaper         | `clientConfig.setUseReaper(...)`<br />`clientConfig.withReaper(...)`                                            | `httpClientBuilder.useIdleConnectionReaper(...)`                                        | `httpClientBuilder.useIdleConnectionReaper(...)`                                               |
228|                           | `AmazonDynamoDBClientBuilder.standard()`<br />`.withClientConfiguration(clientConfiguration)`<br />`.build()`   | `DynamoDbClient.builder()`<br />`.httpClientBuilder(httpClientBuilder)`<br />`.build()` | `DynamoDbAsyncClient.builder()`<br />`.httpClientBuilder(httpClientBuilder)`<br />`.build()`   |
229
230
231### 1.3.2. Client HTTP Proxy Configuration
232
233| Setting                               | 1.x                                                                                                           | 2.0 (Sync, Apache)                                                                   | 2.0 (Async, Netty)                                                                   |
234|---------------------------------------|---------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
235|                                       | `ClientConfiguration clientConfig =`<br />`new ClientConfiguration()`                                         | `ProxyConfiguration.Builder proxyConfig =`<br />`ProxyConfiguration.builder()`       | `ProxyConfiguration.Builder proxyConfig =`<br />`ProxyConfiguration.builder()`       |
236| Proxy Host                            | `clientConfig.setProxyHost(...)`<br />`clientConfig.withProxyHost(...)`                                       | `proxyConfig.endpoint(...)`                                                          | `proxyConfig.host(...)`                                                              |
237| Proxy Port                            | `clientConfig.setProxyPort(...)`<br />`clientConfig.withProxyPort(...)`                                       | `proxyConfig.endpoint(...)`                                                          | `proxyConfig.port(...)`                                                              |
238| Proxy Username                        | `clientConfig.setProxyUsername(...)`<br />`clientConfig.withProxyUsername(...)`                               | `proxyConfig.username(...)`                                                          | `proxyConfig.username(...)`                                                          |
239| Proxy Password                        | `clientConfig.setProxyPassword(...)`<br />`clientConfig.withProxyPassword(...)`                               | `proxyConfig.password(...)`                                                          | `proxyConfig.password(...)`                                                          |
240| Proxy Domain                          | `clientConfig.setProxyDomain(...)`<br />`clientConfig.withProxyDomain(...)`                                   | `proxyConfig.ntlmDomain(...)`                                                        | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
241| Proxy Workstation                     | `clientConfig.setProxyWorkspace(...)`<br />`clientConfig.withProxyWorkstation(...)`                           | `proxyConfig.ntlmWorkstation(...)`                                                   | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
242| Proxy Authentication Methods          | `clientConfig.setProxyAuthenticationMethods(...)`<br />`clientConfig.withProxyAuthenticationMethods(...)`     | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/858)                   | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
243| Preemptive Basic Proxy Authentication | `clientConfig.setPreemptiveBasicProxyAuth(...)`<br />`clientConfig.withPreemptiveBasicProxyAuth(...)`         | `proxyConfig.preemptiveBasicAuthenticationEnabled(...)`                              | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
244| Non Proxy Hosts                       | `clientConfig.setNonProxyHosts(...)`<br />`clientConfig.withNonProxyHosts(...)`                               | `proxyConfig.nonProxyHosts(...)`                                                     | `proxyConfig.nonProxyHosts(...)`                                                     |
245| Disable Socket Proxy                  | `clientConfig.setDisableSocketProxy(...)`<br />`clientConfig.withDisableSocketProxy(...)`                     | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
246|                                       | `AmazonDynamoDBClientBuilder.standard()`<br />`.withClientConfiguration(clientConfiguration)`<br />`.build()` | `httpClientBuilder.proxyConfiguration(proxyConfig.build())`                          | `httpClientBuilder.proxyConfiguration(proxyConfig.build())`                          |
247
248### 1.3.3. Client Override Configuration
249
250| Setting                      | 1.x                                                                                                           | 2.0                                                                                                                                                                         |
251|------------------------------|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
252|                              | `ClientConfiguration clientConfig =`<br />`new ClientConfiguration()`                                         | `ClientOverrideConfiguration.Builder overrideConfig =`<br />`ClientOverrideConfiguration.builder()`                                                                         |
253| User Agent Prefix            | `clientConfig.setUserAgentPrefix(...)`<br />`clientConfig.withUserAgentPrefix(...)`                           | `overrideConfig.advancedOption(SdkAdvancedClientOption.USER_AGENT_PREFIX, ...)`                                                                                             |
254| User Agent Suffix            | `clientConfig.setUserAgentSuffix(...)`<br />`clientConfig.withUserAgentSuffix(...)`                           | `overrideConfig.advancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, ...)`                                                                                             |
255| Signer                       | `clientConfig.setSignerOverride(...)`<br />`clientConfig.withSignerOverride(...)`                             | `overrideConfig.advancedOption(SdkAdvancedClientOption.SIGNER, ...)`                                                                                                        |
256| Additional Headers           | `clientConfig.addHeader(...)`<br />`clientConfig.withHeader(...)`                                             | `overrideConfig.putHeader(...)`                                                                                                                                             |
257| Request Timeout              | `clientConfig.setRequestTimeout(...)`<br />`clientConfig.withRequestTimeout(...)`                             | `overrideConfig.apiCallAttemptTimeout(...)`                                                                                                                                 |
258| Client Execution Timeout     | `clientConfig.setClientExecutionTimeout(...)`<br />`clientConfig.withClientExecutionTimeout(...)`             | `overrideConfig.apiCallTimeout(...)`                                                                                                                                        |
259| Use Gzip                     | `clientConfig.setUseGzip(...)`<br />`clientConfig.withGzip(...)`                                              | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
260| Socket Buffer Size Hint      | `clientConfig.setSocketBufferSizeHints(...)`<br />`clientConfig.withSocketBufferSizeHints(...)`               | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
261| Cache Response Metadata      | `clientConfig.setCacheResponseMetadata(...)`<br />`clientConfig.withCacheResponseMetadata(...)`               | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
262| Response Metadata Cache Size | `clientConfig.setResponseMetadataCacheSize(...)`<br />`clientConfig.withResponseMetadataCacheSize(...)`       | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
263| DNS Resolver                 | `clientConfig.setDnsResolver(...)`<br />`clientConfig.withDnsResolver(...)`                                   | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
264| TCP Keepalive                | `clientConfig.setUseTcpKeepAlive(...)`<br />`clientConfig.withTcpKeepAlive(...)`                              | This option is now in the HTTP Client configuration: <br />`- ApacheHttpClient.builder().tcpKeepAlive(true)`<br /> `- NettyNioAsyncHttpClient.builder().tcpKeepAlive(true)` |
265| Secure Random                | `clientConfig.setSecureRandom(...)`<br />`clientConfig.withSecureRandom(...)`                                 | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                                        |
266|                              | `AmazonDynamoDBClientBuilder.standard()`<br />`.withClientConfiguration(clientConfiguration)`<br />`.build()` | `DynamoDbClient.builder()`<br />`.httpClientBuilder(httpClientBuilder)`<br />`.build()`                                                                                     |
267
268### 1.3.4. Client Override Retry Configuration
269
270Retry configuration has changed in 2.0 to be controlled entirely through the `RetryPolicy` in the `ClientOverrideConfiguration`.
271
272| Setting                                   | 1.x                                                                                                                             | 2.0                                                                |
273|-------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
274|                                           | `ClientConfiguration clientConfig =`<br />`new ClientConfiguration()`                                                           | `RetryPolicy.Builder retryPolicy =`<br />`RetryPolicy.builder()`   |
275| Max Error Retry                           | `clientConfig.setMaxErrorRetry(...)`<br />`clientConfig.withMaxErrorRetry(...)`                                                 | `retryPolicy.numRetries(...)`                                      |
276| Use Throttled Retries                     | `clientConfig.setUseThrottleRetries(...)`<br />`clientConfig.withUseThrottleRetries(...)`                                       | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/645) |
277| Max Consecutive Retries Before Throttling | `clientConfig.setMaxConsecutiveRetriesBeforeThrottling(...)`<br />`clientConfig.withMaxConsecutiveRetriesBeforeThrottling(...)` | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/645) |
278|                                           | `AmazonDynamoDBClientBuilder.standard()`<br />`.withClientConfiguration(clientConfiguration)`<br />`.build()`                   | `overrideConfig.retryPolicy(retryPolicy.build())`                  | |
279
280### 1.3.5. Async Configuration
281
2821. Async executors passed to `asyncConfig.advancedOption(SdkAdvancedAsyncClientOption.FUTURE_COMPLETION_EXECUTOR, ...)` must be shut down by the user.
283
284| Setting  | 1.x                                                                                            | 2.0                                                                                            |
285|----------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
286|          |                                                                                                | `ClientAsyncConfiguration.Builder asyncConfig =`<br />`ClientAsyncConfiguration.builder()`     |
287| Executor | `AmazonDynamoDBAsyncClientBuilder.standard()`<br />`.withExecutorFactory(...)`<br />`.build()` | `asyncConfig.advancedOption(SdkAdvancedAsyncClientOption.FUTURE_COMPLETION_EXECUTOR, ...)`     |
288|          |                                                                                                | `AmazonDynamoDBAsyncClientBuilder.standard()`<br />`.withExecutorFactory(...)`<br />`.build()` | `DynamoDbAsyncClient.builder()`<br />`.asyncConfiguration(asyncConfig.build())`<br />`.build()` |
289
290### 1.3.6. Other Options
291
292These `ClientConfiguration` options from 1.x have changed in 2.0 of the SDK and don't have direct equivalents.
293
294| Setting  | 1.x                                                                                       | 2.0 Equivalent                                                                                                                                                               |
295|----------|-------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
296| Protocol | `clientConfig.setProtocol(Protocol.HTTP)`<br />`clientConfig.withProtocol(Protocol.HTTP)` | The protocol is now HTTPS by default, and can only be modified by setting an HTTP endpoint on the client builder: `clientBuilder.endpointOverride(URI.create("http://..."))` |
297
298# 2. Operations, Request and Response Changes
299
300Requests, like `DynamoDbClient`'s `PutItemRequest` are passed to a client operation, like `DynamoDbClient.putItem`. These operations return a response from the AWS service, like a `PutItemResponse`.
301
302In 2.0, the following changes have been made to the operations:
303
3041. Operations with multiple response pages now have a `Paginator` method for automatically iterating over all items in the response.
3052. Requests and responses can no longer be mutated.
3063. Requests and responses can no longer be created by their default constructor. The static `builder` method must be used instead: `new PutItemRequest().withTableName(...)` is now `PutItemRequest.builder().tableName(...).build()`.
3074. Operations and requests support a short-hand method of creating requests: `dynamoDbClient.putItem(request -> request.tableName(...))`.
308
309## 2.1. Streaming Operations
310
311Streaming operations, like `S3Client`'s `getObject` and `putObject` accept a stream of bytes or return a stream of bytes, without loading the entire payload into memory.
312
3131. Streaming operation request objects no longer include the payload.
3142. Sync streaming request methods now accept request payloads as a `RequestBody` that simplifies common loading logic: eg. `RequestBody.fromFile(...)`.
3153. Async streaming request methods now accept request payloads as an `AsyncRequestBody` that simplifies common loading logic: eg. `AsyncRequestBody.fromFile(...)`.
3164. Sync streaming response methods now specify response handling as a `ResponseTransformer` that simplifies common transformation logic: eg. `ResponseTransformer.toFile(...)`.
3175. Async streaming response methods now specify response handling as an `AsyncResponseTransformer` that simplifies common transformation logic: eg. `AsyncResponseTransformer.toFile(...)`.
3186. Streaming response operations now have an `AsBytes` method to load the response into memory and simplify common in-memory type conversions.
319
320# 3. Exception Changes
321
322In 2.0, the following changes have been made related to exceptions:
323
3241. `com.amazonaws.SdkBaseException` and `com.amazonaws.AmazonClientException` changes:
325    1. These classes have combined and replaced with `software.amazon.awssdk.core.exception.SdkException`.
326    2. `AmazonClientException.isRetryable` is now `SdkException.retryable`.
3272. `com.amazonaws.SdkClientException` changes:
328    1. This class has been replaced with `software.amazon.awssdk.core.exception.SdkClientException`.
329    2. This class now extends `software.amazon.awssdk.core.exception.SdkException`.
3303. `com.amazonaws.AmazonServiceException` changes:
331    1. This class has been replaced with `software.amazon.awssdk.awscore.exception.AwsServiceException`.
332    2. This class now extends `software.amazon.awssdk.core.exception.SdkServiceException`, a new exception type that extends `software.amazon.awssdk.core.exception.SdkException`.
333    3. `AmazonServiceException.getRequestId` is now `SdkServiceException.requestId`.
334    4. `AmazonServiceException.getServiceName` is now `AwsServiceException.awsErrorDetails().serviceName`.
335    5. `AmazonServiceException.getErrorCode` is now `AwsServiceException.awsErrorDetails().errorCode`.
336    6. `AmazonServiceException.getErrorMessage` is now `AwsServiceException.awsErrorDetails().errorMessage`.
337    7. `AmazonServiceException.getStatusCode` is now `AwsServiceException.awsErrorDetails().sdkHttpResponse().statusCode`.
338    8. `AmazonServiceException.getHttpHeaders` is now `AwsServiceException.awsErrorDetails().sdkHttpResponse().headers`.
339    9. `AmazonServiceException.rawResponse` is now `AwsServiceException.awsErrorDetails().rawResponse`.
340    10. `AmazonServiceException.getErrorType` is no longer supported.
341
342# 4. Service Changes
343
344## 4.1. S3 Changes
345
346The S3 client in 2.0 is drastically different from the client in 1.11, because it is now generated from models like every other service.
347
3481. Cross-region access is no longer supported. A client may now only access buckets in the region with which the client has been configured.
3492. Anonymous access is disabled by default and must be enabled using the `AnonymousCredentialsProvider`.
350
351### 4.1.1. S3 Operation Migration
352
353| 1.x Operation                          | 2.0 Operation                                                                                                                                                                                 |
354|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
355| `abortMultipartUpload`                 | `abortMultipartUpload`                                                                                                                                                                        |
356| `changeObjectStorageClass`             | `copyObject`                                                                                                                                                                                  |
357| `completeMultipartUpload`              | `completeMultipartUpload`                                                                                                                                                                     |
358| `copyObject`                           | `copyObject`                                                                                                                                                                                  |
359| `copyPart`                             | `uploadPartCopy`                                                                                                                                                                              |
360| `createBucket`                         | `createBucket`                                                                                                                                                                                |
361| `deleteBucket`                         | `deleteBucket`                                                                                                                                                                                |
362| `deleteBucketAnalyticsConfiguration`   | `deleteBucketAnalyticsConfiguration`                                                                                                                                                          |
363| `deleteBucketCrossOriginConfiguration` | `deleteBucketCors`                                                                                                                                                                            |
364| `deleteBucketEncryption`               | `deleteBucketEncryption`                                                                                                                                                                      |
365| `deleteBucketInventoryConfiguration`   | `deleteBucketInventoryConfiguration`                                                                                                                                                          |
366| `deleteBucketLifecycleConfiguration`   | `deleteBucketLifecycle`                                                                                                                                                                       |
367| `deleteBucketMetricsConfiguration`     | `deleteBucketMetricsConfiguration`                                                                                                                                                            |
368| `deleteBucketPolicy`                   | `deleteBucketPolicy`                                                                                                                                                                          |
369| `deleteBucketReplicationConfiguration` | `deleteBucketReplication`                                                                                                                                                                     |
370| `deleteBucketTaggingConfiguration`     | `deleteBucketTagging`                                                                                                                                                                         |
371| `deleteBucketWebsiteConfiguration`     | `deleteBucketWebsite`                                                                                                                                                                         |
372| `deleteObject`                         | `deleteObject`                                                                                                                                                                                |
373| `deleteObjectTagging`                  | `deleteObjectTagging`                                                                                                                                                                         |
374| `deleteObjects`                        | `deleteObjects`                                                                                                                                                                               |
375| `deleteVersion`                        | `deleteObject`                                                                                                                                                                                |
376| `disableRequesterPays`                 | `putBucketRequestPayment`                                                                                                                                                                     |
377| `doesBucketExist`                      | `headBucket`                                                                                                                                                                                  |
378| `doesBucketExistV2`                    | `headBucket`                                                                                                                                                                                  |
379| `doesObjectExist`                      | `headObject`                                                                                                                                                                                  |
380| `enableRequesterPays`                  | `putBucketRequestPayment`                                                                                                                                                                     |
381| `generatePresignedUrl`                 | [S3Presigner](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-s3-presign.html)                                                                                       |
382| `getBucketAccelerateConfiguration`     | `getBucketAccelerateConfiguration`                                                                                                                                                            |
383| `getBucketAcl`                         | `getBucketAcl`                                                                                                                                                                                |
384| `getBucketAnalyticsConfiguration`      | `getBucketAnalyticsConfiguration`                                                                                                                                                             |
385| `getBucketCrossOriginConfiguration`    | `getBucketCors`                                                                                                                                                                               |
386| `getBucketEncryption`                  | `getBucketEncryption`                                                                                                                                                                         |
387| `getBucketInventoryConfiguration`      | `getBucketInventoryConfiguration`                                                                                                                                                             |
388| `getBucketLifecycleConfiguration`      | `getBucketLifecycle` or `getBucketLifecycleConfiguration`                                                                                                                                     |
389| `getBucketLocation`                    | `getBucketLocation`                                                                                                                                                                           |
390| `getBucketLoggingConfiguration`        | `getBucketLogging`                                                                                                                                                                            |
391| `getBucketMetricsConfiguration`        | `getBucketMetricsConfiguration`                                                                                                                                                               |
392| `getBucketNotificationConfiguration`   | `getBucketNotification` or `getBucketNotificationConfiguration`                                                                                                                               |
393| `getBucketPolicy`                      | `getBucketPolicy`                                                                                                                                                                             |
394| `getBucketReplicationConfiguration`    | `getBucketReplication`                                                                                                                                                                        |
395| `getBucketTaggingConfiguration`        | `getBucketTagging`                                                                                                                                                                            |
396| `getBucketVersioningConfiguration`     | `getBucketVersioning`                                                                                                                                                                         |
397| `getBucketWebsiteConfiguration`        | `getBucketWebsite`                                                                                                                                                                            |
398| `getObject`                            | `getObject`                                                                                                                                                                                   |
399| `getObjectAcl`                         | `getObjectAcl`                                                                                                                                                                                |
400| `getObjectAsString`                    | `getObjectAsBytes().asUtf8String`                                                                                                                                                             |
401| `getObjectMetadata`                    | `headObject`                                                                                                                                                                                  |
402| `getObjectTagging`                     | `getObjectTagging`                                                                                                                                                                            |
403| `getResourceUrl`                       | [S3Utilities#getUrl](https://github.com/aws/aws-sdk-java-v2/blob/7428f629753c603f96dd700ca686a7b169fc4cd4/services/s3/src/main/java/software/amazon/awssdk/services/s3/S3Utilities.java#L140) |
404| `getS3AccountOwner`                    | `listBuckets`                                                                                                                                                                                 |
405| `getUrl`                               | [S3Utilities#getUrl](https://github.com/aws/aws-sdk-java-v2/blob/7428f629753c603f96dd700ca686a7b169fc4cd4/services/s3/src/main/java/software/amazon/awssdk/services/s3/S3Utilities.java#L140) |
406| `headBucket`                           | `headBucket`                                                                                                                                                                                  |
407| `initiateMultipartUpload`              | `createMultipartUpload`                                                                                                                                                                       |
408| `isRequesterPaysEnabled`               | `getBucketRequestPayment`                                                                                                                                                                     |
409| `listBucketAnalyticsConfigurations`    | `listBucketAnalyticsConfigurations`                                                                                                                                                           |
410| `listBucketInventoryConfigurations`    | `listBucketInventoryConfigurations`                                                                                                                                                           |
411| `listBucketMetricsConfigurations`      | `listBucketMetricsConfigurations`                                                                                                                                                             |
412| `listBuckets`                          | `listBuckets`                                                                                                                                                                                 |
413| `listMultipartUploads`                 | `listMultipartUploads`                                                                                                                                                                        |
414| `listNextBatchOfObjects`               | `listObjectsV2Paginator`                                                                                                                                                                      |
415| `listNextBatchOfVersions`              | `listObjectVersionsPaginator`                                                                                                                                                                 |
416| `listObjects`                          | `listObjects`                                                                                                                                                                                 |
417| `listObjectsV2`                        | `listObjectsV2`                                                                                                                                                                               |
418| `listParts`                            | `listParts`                                                                                                                                                                                   |
419| `listVersions`                         | `listObjectVersions`                                                                                                                                                                          |
420| `putObject`                            | `putObject`                                                                                                                                                                                   |
421| `restoreObject`                        | `restoreObject`                                                                                                                                                                               |
422| `restoreObjectV2`                      | `restoreObject`                                                                                                                                                                               |
423| `selectObjectContent`                  | `selectObjectContent`                                                                                                                                                                         |
424| `setBucketAccelerateConfiguration`     | `putBucketAccelerateConfiguration`                                                                                                                                                            |
425| `setBucketAcl`                         | `putBucketAcl`                                                                                                                                                                                |
426| `setBucketAnalyticsConfiguration`      | `putBucketAnalyticsConfiguration`                                                                                                                                                             |
427| `setBucketCrossOriginConfiguration`    | `putBucketCors`                                                                                                                                                                               |
428| `setBucketEncryption`                  | `putBucketEncryption`                                                                                                                                                                         |
429| `setBucketInventoryConfiguration`      | `putBucketInventoryConfiguration`                                                                                                                                                             |
430| `setBucketLifecycleConfiguration`      | `putBucketLifecycle` or `putBucketLifecycleConfiguration`                                                                                                                                     |
431| `setBucketLoggingConfiguration`        | `putBucketLogging`                                                                                                                                                                            |
432| `setBucketMetricsConfiguration`        | `putBucketMetricsConfiguration`                                                                                                                                                               |
433| `setBucketNotificationConfiguration`   | `putBucketNotification` or `putBucketNotificationConfiguration`                                                                                                                               |
434| `setBucketPolicy`                      | `putBucketPolicy`                                                                                                                                                                             |
435| `setBucketReplicationConfiguration`    | `putBucketReplication`                                                                                                                                                                        |
436| `setBucketTaggingConfiguration`        | `putBucketTagging`                                                                                                                                                                            |
437| `setBucketVersioningConfiguration`     | `putBucketVersioning`                                                                                                                                                                         |
438| `setBucketWebsiteConfiguration`        | `putBucketWebsite`                                                                                                                                                                            |
439| `setObjectAcl`                         | `putObjectAcl`                                                                                                                                                                                |
440| `setObjectRedirectLocation`            | `copyObject`                                                                                                                                                                                  |
441| `setObjectTagging`                     | `putObjectTagging`                                                                                                                                                                            |
442| `uploadPart`                           | `uploadPart`                                                                                                                                                                                  |
443
444## 4.2. SNS Changes
445
4461. An SNS client may no longer access SNS topics in regions different than the one with which the client was configured.
447
448## 4.3. SQS Changes
449
4501. An SQS client may no longer access SQS queues in regions different than the one with which the client was configured.
451
452## 4.4. RDS Changes
453
4541. The class`RdsIamAuthTokenGenerator` has been replaced with `RdsUtilities#generateAuthenticationToken`.
455
456# 5. Profile File Changes
457
458The parsing of the `~/.aws/config` and `~/.aws/credentials` has changed to more closely emulate that used by the AWS CLI.
459
4601. A `~/` or `~` followed by the file system's default path separator at the start of the path is resolved by checking, in order, `$HOME`, `$USERPROFILE` (Windows only), `$HOMEDRIVE$HOMEPATH` (Windows only), and then the `user.home` system property.
4612. The `AWS_CREDENTIAL_PROFILES_FILE` environment variable is now `AWS_SHARED_CREDENTIALS_FILE`.
4623. Profile definitions in configuration files without a `profile` prefix are silently dropped.
4634. Profile names that do not consist of alphanumeric, underscore or dash characters are silently dropped (after the `profile` prefix has been removed for configuration files).
4645. Profiles duplicated within the same file have their properties merged.
4656. Profiles duplicated in both the configuration and credentials files have their properties merged.
4667. If both `[profile foo]` and `[foo]` are specified in the same file, their properties are NOT merged.
4678. If both `[profile foo]` and `[foo]` are specified in the configuration file, `[profile foo]`'s properties are used.
4689. Properties duplicated within the same file and profile use the later property in the file.
46910. Both `;` and `#` are supported for defining a comment.
47011. In profile definitions, `;` and `#` define a comment, even if they are adjacent to the closing bracket.
47112. In property values, `;` and `#` define a comment only if they are preceded by whitespace.
47213. In property values, `;` and `#` and all following content are included in the value if they are not preceded by whitespace.
47314. Role-based credentials are the highest-priority credentials, and are always used if the user specifies the `role_arn` property.
47415. Session-based credentials are the next-highest-priority credentials, and are always used if role-based credentials were not used and the user specifies the `aws_access_key_id` and `aws_session_token` properties.
47516. Basic credentials are used if role-based and session-based credentials are not used and the user specified the `aws_access_key_id` property.
476
477# 6. Conversion Tables
478
479## 6.1. Environment Variables and System Properties
480
481| 1.x Environment Variable                      | 1.x System Property                                      | 2.0 Environment Variable                                                             | 2.0 System Property                                                                  |
482|-----------------------------------------------|----------------------------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
483| `AWS_ACCESS_KEY_ID`<br />`AWS_ACCESS_KEY`     | `aws.accessKeyId`                                        | `AWS_ACCESS_KEY_ID`                                                                  | `aws.accessKeyId`                                                                    |
484| `AWS_SECRET_KEY`<br />`AWS_SECRET_ACCESS_KEY` | `aws.secretKey`                                          | `AWS_SECRET_ACCESS_KEY`                                                              | `aws.secretAccessKey`                                                                |
485| `AWS_SESSION_TOKEN`                           | `aws.sessionToken`                                       | `AWS_SESSION_TOKEN`                                                                  | `aws.sessionToken`                                                                   |
486| `AWS_REGION`                                  | `aws.region`                                             | `AWS_REGION`                                                                         | `aws.region`                                                                         |
487| `AWS_CONFIG_FILE`                             |                                                          | `AWS_CONFIG_FILE`                                                                    | `aws.configFile`                                                                     |
488| `AWS_CREDENTIAL_PROFILES_FILE`                |                                                          | `AWS_SHARED_CREDENTIALS_FILE`                                                        | `aws.sharedCredentialsFile`                                                          |
489| `AWS_PROFILE`                                 | `aws.profile`                                            | `AWS_PROFILE`                                                                        | `aws.profile`                                                                        |
490| `AWS_EC2_METADATA_DISABLED`                   | `com.amazonaws.sdk.disableEc2Metadata`                   | `AWS_EC2_METADATA_DISABLED`                                                          | `aws.disableEc2Metadata`                                                             |
491|                                               | `com.amazonaws.sdk.ec2MetadataServiceEndpointOverride`   | `AWS_EC2_METADATA_SERVICE_ENDPOINT`                                                  | `aws.ec2MetadataServiceEndpoint`                                                     |
492| `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`      |                                                          | `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`                                             | `aws.containerCredentialsPath`                                                       |
493| `AWS_CONTAINER_CREDENTIALS_FULL_URI`          |                                                          | `AWS_CONTAINER_CREDENTIALS_FULL_URI`                                                 | `aws.containerCredentialsFullUri`                                                    |
494| `AWS_CONTAINER_AUTHORIZATION_TOKEN`           |                                                          | `AWS_CONTAINER_AUTHORIZATION_TOKEN`                                                  | `aws.containerAuthorizationToken`                                                    |
495| `AWS_CBOR_DISABLED`                           | `com.amazonaws.sdk.disableCbor`                          | `CBOR_ENABLED`                                                                       | `aws.cborEnabled`                                                                    |
496| `AWS_ION_BINARY_DISABLE`                      | `com.amazonaws.sdk.disableIonBinary`                     | `BINARY_ION_ENABLED`                                                                 | `aws.binaryIonEnabled`                                                               |
497| `AWS_EXECUTION_ENV`                           |                                                          | `AWS_EXECUTION_ENV`                                                                  | `aws.executionEnvironment`                                                           |
498|                                               | `com.amazonaws.sdk.disableCertChecking`                  | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
499|                                               | `com.amazonaws.sdk.enableDefaultMetrics`                 | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/23)                    | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/23)                    |
500|                                               | `com.amazonaws.sdk.enableThrottledRetry`                 | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/645)                   | [Not Supported](https://github.com/aws/aws-sdk-java-v2/issues/645)                   |
501|                                               | `com.amazonaws.regions.RegionUtils.fileOverride`         | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
502|                                               | `com.amazonaws.regions.RegionUtils.disableRemote`        | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
503|                                               | `com.amazonaws.services.s3.disableImplicitGlobalClients` | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
504|                                               | `com.amazonaws.sdk.enableInRegionOptimizedMode`          | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new)) |
505
506## 6.2. Credential Providers
507
508| 1.x Credential Provider                                              | 2.0 Credential Provider                                                                                                                                 |
509|----------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
510| `com.amazonaws.auth.AWSCredentialsProvider`                          | `software.amazon.awssdk.auth.credentials.AwsCredentialsProvider`                                                                                        |
511| `com.amazonaws.auth.DefaultAWSCredentialsProviderChain`              | `software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider`                                                                                    |
512| `com.amazonaws.auth.AWSStaticCredentialsProvider`                    | `software.amazon.awssdk.auth.credentials.StaticCredentialsProvider`                                                                                     |
513| `com.amazonaws.auth.EnvironmentVariableCredentialsProvider`          | `software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider`                                                                        |
514| `com.amazonaws.auth.SystemPropertiesCredentialsProvider`             | `software.amazon.awssdk.auth.credentials.SystemPropertyCredentialsProvider`                                                                             |
515| `com.amazonaws.auth.profile.ProfileCredentialsProvider`              | `software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider`                                                                                    |
516| `com.amazonaws.auth.ContainerCredentialsProvider`                    | `software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider`                                                                                  |
517| `com.amazonaws.auth.InstanceProfileCredentialsProvider`              | `software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider`                                                                            |
518| `com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider`         | `software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider`                                                                             |
519| `com.amazonaws.auth.STSSessionCredentialsProvider`                   | `software.amazon.awssdk.services.sts.auth.StsGetSessionTokenCredentialsProvider`                                                                        |
520| `com.amazonaws.auth.WebIdentityFederationSessionCredentialsProvider` | `software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider`                                                              |
521| `com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper`          | `software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider` and `software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider` |
522| `com.amazonaws.services.s3.S3CredentialsProviderChain`               | `software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider` and `software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider`         |
523| `com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider`      | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                    |
524| `com.amazonaws.auth.PropertiesFileCredentialsProvider`               | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                                                                    |
525
526## 6.3. Client Names
527
528| 1.x Client                                                                                         | 2.0 Client                                                                                                   |
529|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
530| `amazonaws.services.acmpca.AWSACMPCAAsyncClient`                                                   | `software.amazon.awssdk.services.acm.AcmAsyncClient`                                                         |
531| `amazonaws.services.acmpca.AWSACMPCAClient`                                                        | `software.amazon.awssdk.services.acm.AcmClient`                                                              |
532| `amazonaws.services.alexaforbusiness.AmazonAlexaForBusinessAsyncClient`                            | `software.amazon.awssdk.services.alexaforbusiness.AlexaForBusinessAsyncClient`                               |
533| `amazonaws.services.alexaforbusiness.AmazonAlexaForBusinessClient`                                 | `software.amazon.awssdk.services.alexaforbusiness.AlexaForBusinessClient`                                    |
534| `amazonaws.services.apigateway.AmazonApiGatewayAsyncClient`                                        | `software.amazon.awssdk.services.apigateway.ApiGatewayAsyncClient`                                           |
535| `amazonaws.services.apigateway.AmazonApiGatewayClient`                                             | `software.amazon.awssdk.services.apigateway.ApiGatewayClient`                                                |
536| `amazonaws.services.applicationautoscaling.AWSApplicationAutoScalingAsyncClient`                   | `software.amazon.awssdk.services.applicationautoscaling.ApplicationAutoScalingAsyncClient`                   |
537| `amazonaws.services.applicationautoscaling.AWSApplicationAutoScalingClient`                        | `software.amazon.awssdk.services.applicationautoscaling.ApplicationAutoScalingClient`                        |
538| `amazonaws.services.applicationdiscovery.AWSApplicationDiscoveryAsyncClient`                       | `software.amazon.awssdk.services.applicationdiscovery.ApplicationDiscoveryAsyncClient`                       |
539| `amazonaws.services.applicationdiscovery.AWSApplicationDiscoveryClient`                            | `software.amazon.awssdk.services.applicationdiscovery.ApplicationDiscoveryClient`                            |
540| `amazonaws.services.appstream.AmazonAppStreamAsyncClient`                                          | `software.amazon.awssdk.services.appstream.AppStreamAsyncClient`                                             |
541| `amazonaws.services.appstream.AmazonAppStreamClient`                                               | `software.amazon.awssdk.services.appstream.AppStreamClient`                                                  |
542| `amazonaws.services.appsync.AWSAppSyncAsyncClient`                                                 | `software.amazon.awssdk.services.appsync.AppSyncAsyncClient`                                                 |
543| `amazonaws.services.appsync.AWSAppSyncClient`                                                      | `software.amazon.awssdk.services.appsync.AppSyncClient`                                                      |
544| `amazonaws.services.athena.AmazonAthenaAsyncClient`                                                | `software.amazon.awssdk.services.athena.AthenaAsyncClient`                                                   |
545| `amazonaws.services.athena.AmazonAthenaClient`                                                     | `software.amazon.awssdk.services.athena.AthenaClient`                                                        |
546| `amazonaws.services.autoscaling.AmazonAutoScalingAsyncClient`                                      | `software.amazon.awssdk.services.autoscaling.AutoScalingAsyncClient`                                         |
547| `amazonaws.services.autoscaling.AmazonAutoScalingClient`                                           | `software.amazon.awssdk.services.autoscaling.AutoScalingClient`                                              |
548| `amazonaws.services.autoscalingplans.AWSAutoScalingPlansAsyncClient`                               | `software.amazon.awssdk.services.autoscalingplans.AutoScalingPlansAsyncClient`                               |
549| `amazonaws.services.autoscalingplans.AWSAutoScalingPlansClient`                                    | `software.amazon.awssdk.services.autoscalingplans.AutoScalingPlansClient`                                    |
550| `amazonaws.services.batch.AWSBatchAsyncClient`                                                     | `software.amazon.awssdk.services.batch.BatchAsyncClient`                                                     |
551| `amazonaws.services.batch.AWSBatchClient`                                                          | `software.amazon.awssdk.services.batch.BatchClient`                                                          |
552| `amazonaws.services.budgets.AWSBudgetsAsyncClient`                                                 | `software.amazon.awssdk.services.budgets.BudgetsAsyncClient`                                                 |
553| `amazonaws.services.budgets.AWSBudgetsClient`                                                      | `software.amazon.awssdk.services.budgets.BudgetsClient`                                                      |
554| `amazonaws.services.certificatemanager.AWSCertificateManagerAsyncClient`                           | `software.amazon.awssdk.services.acm.AcmAsyncClient`                                                         |
555| `amazonaws.services.certificatemanager.AWSCertificateManagerClient`                                | `software.amazon.awssdk.services.acm.AcmClient`                                                              |
556| `amazonaws.services.cloud9.AWSCloud9AsyncClient`                                                   | `software.amazon.awssdk.services.cloud9.Cloud9AsyncClient`                                                   |
557| `amazonaws.services.cloud9.AWSCloud9Client`                                                        | `software.amazon.awssdk.services.cloud9.Cloud9Client`                                                        |
558| `amazonaws.services.clouddirectory.AmazonCloudDirectoryAsyncClient`                                | `software.amazon.awssdk.services.clouddirectory.CloudDirectoryAsyncClient`                                   |
559| `amazonaws.services.clouddirectory.AmazonCloudDirectoryClient`                                     | `software.amazon.awssdk.services.clouddirectory.CloudDirectoryClient`                                        |
560| `amazonaws.services.cloudformation.AmazonCloudFormationAsyncClient`                                | `software.amazon.awssdk.services.cloudformation.CloudFormationAsyncClient`                                   |
561| `amazonaws.services.cloudformation.AmazonCloudFormationClient`                                     | `software.amazon.awssdk.services.cloudformation.CloudFormationClient`                                        |
562| `amazonaws.services.cloudfront.AmazonCloudFrontAsyncClient`                                        | `software.amazon.awssdk.services.cloudfront.CloudFrontAsyncClient`                                           |
563| `amazonaws.services.cloudfront.AmazonCloudFrontClient`                                             | `software.amazon.awssdk.services.cloudfront.CloudFrontClient`                                                |
564| `amazonaws.services.cloudhsm.AWSCloudHSMAsyncClient`                                               | `software.amazon.awssdk.services.cloudhsm.CloudHsmAsyncClient`                                               |
565| `amazonaws.services.cloudhsm.AWSCloudHSMClient`                                                    | `software.amazon.awssdk.services.cloudhsm.CloudHsmClient`                                                    |
566| `amazonaws.services.cloudhsmv2.AWSCloudHSMV2AsyncClient`                                           | `software.amazon.awssdk.services.cloudhsmv2.CloudHsmV2AsyncClient`                                           |
567| `amazonaws.services.cloudhsmv2.AWSCloudHSMV2Client`                                                | `software.amazon.awssdk.services.cloudhsmv2.CloudHsmV2Client`                                                |
568| `amazonaws.services.cloudsearchdomain.AmazonCloudSearchDomainAsyncClient`                          | `software.amazon.awssdk.services.cloudsearchdomain.CloudSearchDomainAsyncClient`                             |
569| `amazonaws.services.cloudsearchdomain.AmazonCloudSearchDomainClient`                               | `software.amazon.awssdk.services.cloudsearchdomain.CloudSearchDomainClient`                                  |
570| `amazonaws.services.cloudsearchv2.AmazonCloudSearchAsyncClient`                                    | `software.amazon.awssdk.services.cloudsearch.CloudSearchAsyncClient`                                         |
571| `amazonaws.services.cloudsearchv2.AmazonCloudSearchClient`                                         | `software.amazon.awssdk.services.cloudsearch.CloudSearchClient`                                              |
572| `amazonaws.services.cloudtrail.AWSCloudTrailAsyncClient`                                           | `software.amazon.awssdk.services.cloudtrail.CloudTrailAsyncClient`                                           |
573| `amazonaws.services.cloudtrail.AWSCloudTrailClient`                                                | `software.amazon.awssdk.services.cloudtrail.CloudTrailClient`                                                |
574| `amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClient`                                        | `software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClient`                                           |
575| `amazonaws.services.cloudwatch.AmazonCloudWatchClient`                                             | `software.amazon.awssdk.services.cloudwatch.CloudWatchClient`                                                |
576| `amazonaws.services.cloudwatchevents.AmazonCloudWatchEventsAsyncClient`                            | `software.amazon.awssdk.services.cloudwatchevents.CloudWatchEventsAsyncClient`                               |
577| `amazonaws.services.cloudwatchevents.AmazonCloudWatchEventsClient`                                 | `software.amazon.awssdk.services.cloudwatchevents.CloudWatchEventsClient`                                    |
578| `amazonaws.services.codebuild.AWSCodeBuildAsyncClient`                                             | `software.amazon.awssdk.services.codebuild.CodeBuildAsyncClient`                                             |
579| `amazonaws.services.codebuild.AWSCodeBuildClient`                                                  | `software.amazon.awssdk.services.codebuild.CodeBuildClient`                                                  |
580| `amazonaws.services.codecommit.AWSCodeCommitAsyncClient`                                           | `software.amazon.awssdk.services.codecommit.CodeCommitAsyncClient`                                           |
581| `amazonaws.services.codecommit.AWSCodeCommitClient`                                                | `software.amazon.awssdk.services.codecommit.CodeCommitClient`                                                |
582| `amazonaws.services.codedeploy.AmazonCodeDeployAsyncClient`                                        | `software.amazon.awssdk.services.codedeploy.CodeDeployAsyncClient`                                           |
583| `amazonaws.services.codedeploy.AmazonCodeDeployClient`                                             | `software.amazon.awssdk.services.codedeploy.CodeDeployClient`                                                |
584| `amazonaws.services.codepipeline.AWSCodePipelineAsyncClient`                                       | `software.amazon.awssdk.services.codepipeline.CodePipelineAsyncClient`                                       |
585| `amazonaws.services.codepipeline.AWSCodePipelineClient`                                            | `software.amazon.awssdk.services.codepipeline.CodePipelineClient`                                            |
586| `amazonaws.services.codestar.AWSCodeStarAsyncClient`                                               | `software.amazon.awssdk.services.codestar.CodeStarAsyncClient`                                               |
587| `amazonaws.services.codestar.AWSCodeStarClient`                                                    | `software.amazon.awssdk.services.codestar.CodeStarClient`                                                    |
588| `amazonaws.services.cognitoidentity.AmazonCognitoIdentityAsyncClient`                              | `software.amazon.awssdk.services.cognitoidentity.CognitoIdentityAsyncClient`                                 |
589| `amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient`                                   | `software.amazon.awssdk.services.cognitoidentity.CognitoIdentityClient`                                      |
590| `amazonaws.services.cognitoidp.AWSCognitoIdentityProviderAsyncClient`                              | `software.amazon.awssdk.services.cognitoidentityprovider.CognitoIdentityProviderAsyncClient`                 |
591| `amazonaws.services.cognitoidp.AWSCognitoIdentityProviderClient`                                   | `software.amazon.awssdk.services.cognitoidentityprovider.CognitoIdentityProviderClient`                      |
592| `amazonaws.services.cognitosync.AmazonCognitoSyncAsyncClient`                                      | `software.amazon.awssdk.services.cognitosync.CognitoSyncAsyncClient`                                         |
593| `amazonaws.services.cognitosync.AmazonCognitoSyncClient`                                           | `software.amazon.awssdk.services.cognitosync.CognitoSyncClient`                                              |
594| `amazonaws.services.comprehend.AmazonComprehendAsyncClient`                                        | `software.amazon.awssdk.services.comprehend.ComprehendAsyncClient`                                           |
595| `amazonaws.services.comprehend.AmazonComprehendClient`                                             | `software.amazon.awssdk.services.comprehend.ComprehendClient`                                                |
596| `amazonaws.services.config.AmazonConfigAsyncClient`                                                | `software.amazon.awssdk.services.config.ConfigAsyncClient`                                                   |
597| `amazonaws.services.config.AmazonConfigClient`                                                     | `software.amazon.awssdk.services.config.ConfigClient`                                                        |
598| `amazonaws.services.connect.AmazonConnectAsyncClient`                                              | `software.amazon.awssdk.services.connect.ConnectAsyncClient`                                                 |
599| `amazonaws.services.connect.AmazonConnectClient`                                                   | `software.amazon.awssdk.services.connect.ConnectClient`                                                      |
600| `amazonaws.services.costandusagereport.AWSCostAndUsageReportAsyncClient`                           | `software.amazon.awssdk.services.costandusagereport.CostAndUsageReportAsyncClient`                           |
601| `amazonaws.services.costandusagereport.AWSCostAndUsageReportClient`                                | `software.amazon.awssdk.services.costandusagereport.CostAndUsageReportClient`                                |
602| `amazonaws.services.costexplorer.AWSCostExplorerAsyncClient`                                       | `software.amazon.awssdk.services.costexplorer.CostExplorerAsyncClient`                                       |
603| `amazonaws.services.costexplorer.AWSCostExplorerClient`                                            | `software.amazon.awssdk.services.costexplorer.CostExplorerClient`                                            |
604| `amazonaws.services.databasemigrationservice.AWSDatabaseMigrationServiceAsyncClient`               | `software.amazon.awssdk.services.databasemigration.DatabaseMigrationAsyncClient`                             |
605| `amazonaws.services.databasemigrationservice.AWSDatabaseMigrationServiceClient`                    | `software.amazon.awssdk.services.databasemigration.DatabaseMigrationClient`                                  |
606| `amazonaws.services.datapipeline.DataPipelineAsyncClient`                                          | `software.amazon.awssdk.services.datapipeline.DataPipelineAsyncClient`                                       |
607| `amazonaws.services.datapipeline.DataPipelineClient`                                               | `software.amazon.awssdk.services.datapipeline.DataPipelineAsyncClient`                                       |
608| `amazonaws.services.dax.AmazonDaxAsyncClient`                                                      | `software.amazon.awssdk.services.dax.DaxAsyncClient`                                                         |
609| `amazonaws.services.dax.AmazonDaxClient`                                                           | `software.amazon.awssdk.services.dax.DaxClient`                                                              |
610| `amazonaws.services.devicefarm.AWSDeviceFarmAsyncClient`                                           | `software.amazon.awssdk.services.devicefarm.DeviceFarmAsyncClient`                                           |
611| `amazonaws.services.devicefarm.AWSDeviceFarmClient`                                                | `software.amazon.awssdk.services.devicefarm.DeviceFarmClient`                                                |
612| `amazonaws.services.directconnect.AmazonDirectConnectAsyncClient`                                  | `software.amazon.awssdk.services.directconnect.DirectConnectAsyncClient`                                     |
613| `amazonaws.services.directconnect.AmazonDirectConnectClient`                                       | `software.amazon.awssdk.services.directconnect.DirectConnectClient`                                          |
614| `amazonaws.services.directory.AWSDirectoryServiceAsyncClient`                                      | `software.amazon.awssdk.services.directory.DirectoryAsyncClient`                                             |
615| `amazonaws.services.directory.AWSDirectoryServiceClient`                                           | `software.amazon.awssdk.services.directory.DirectoryClient`                                                  |
616| `amazonaws.services.dlm.AmazonDLMAsyncClient`                                                      | `software.amazon.awssdk.services.dlm.DlmAsyncClient`                                                         |
617| `amazonaws.services.dlm.AmazonDLMClient`                                                           | `software.amazon.awssdk.services.dlm.DlmClient`                                                              |
618| `amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClient`                                          | `software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient`                                               |
619| `amazonaws.services.dynamodbv2.AmazonDynamoDBClient`                                               | `software.amazon.awssdk.services.dynamodb.DynamoDbClient`                                                    |
620| `amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsAsyncClient`                                   | `software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsAsyncClient`                                |
621| `amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsClient`                                        | `software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient`                                     |
622| `amazonaws.services.ec2.AmazonEC2AsyncClient`                                                      | `software.amazon.awssdk.services.ec2.Ec2AsyncClient`                                                         |
623| `amazonaws.services.ec2.AmazonEC2Client`                                                           | `software.amazon.awssdk.services.ec2.Ec2Client`                                                              |
624| `amazonaws.services.ecr.AmazonECRAsyncClient`                                                      | `software.amazon.awssdk.services.ecr.EcrAsyncClient`                                                         |
625| `amazonaws.services.ecr.AmazonECRClient`                                                           | `software.amazon.awssdk.services.ecr.EcrClient`                                                              |
626| `amazonaws.services.ecs.AmazonECSAsyncClient`                                                      | `software.amazon.awssdk.services.ecs.EcsAsyncClient`                                                         |
627| `amazonaws.services.ecs.AmazonECSClient`                                                           | `software.amazon.awssdk.services.ecs.EcsClient`                                                              |
628| `amazonaws.services.eks.AmazonEKSAsyncClient`                                                      | `software.amazon.awssdk.services.eks.EksAsyncClient`                                                         |
629| `amazonaws.services.eks.AmazonEKSClient`                                                           | `software.amazon.awssdk.services.eks.EksClient`                                                              |
630| `amazonaws.services.elasticache.AmazonElastiCacheAsyncClient`                                      | `software.amazon.awssdk.services.elasticache.ElastiCacheAsyncClient`                                         |
631| `amazonaws.services.elasticache.AmazonElastiCacheClient`                                           | `software.amazon.awssdk.services.elasticache.ElastiCacheClient`                                              |
632| `amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkAsyncClient`                               | `software.amazon.awssdk.services.elasticbeanstalk.ElasticBeanstalkAsyncClient`                               |
633| `amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient`                                    | `software.amazon.awssdk.services.elasticbeanstalk.ElasticBeanstalkClient`                                    |
634| `amazonaws.services.elasticfilesystem.AmazonElasticFileSystemAsyncClient`                          | `software.amazon.awssdk.services.efs.EfsAsyncClient`                                                         |
635| `amazonaws.services.elasticfilesystem.AmazonElasticFileSystemClient`                               | `software.amazon.awssdk.services.efs.EfsClient`                                                              |
636| `amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingAsyncClient`                    | `software.amazon.awssdk.services.elasticloadbalancing.ElasticLoadBalancingAsyncClient`                       |
637| `amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingClient`                         | `software.amazon.awssdk.services.elasticloadbalancing.ElasticLoadBalancingClient`                            |
638| `amazonaws.services.elasticloadbalancingv2.AmazonElasticLoadBalancingAsyncClient`                  | `software.amazon.awssdk.services.elasticloadbalancingv2.ElasticLoadBalancingV2AsyncClient`                   |
639| `amazonaws.services.elasticloadbalancingv2.AmazonElasticLoadBalancingClient`                       | `software.amazon.awssdk.services.elasticloadbalancingv2.ElasticLoadBalancingV2Client`                        |
640| `amazonaws.services.elasticmapreduce.AmazonElasticMapReduceAsyncClient`                            | `software.amazon.awssdk.services.emr.EmrAsyncClient`                                                         |
641| `amazonaws.services.elasticmapreduce.AmazonElasticMapReduceClient`                                 | `software.amazon.awssdk.services.emr.EmrClient`                                                              |
642| `amazonaws.services.elasticsearch.AWSElasticsearchAsyncClient`                                     | `software.amazon.awssdk.services.elasticsearch.ElasticsearchAsyncClient`                                     |
643| `amazonaws.services.elasticsearch.AWSElasticsearchClient`                                          | `software.amazon.awssdk.services.elasticsearch.ElasticsearchClient`                                          |
644| `amazonaws.services.elastictranscoder.AmazonElasticTranscoderAsyncClient`                          | `software.amazon.awssdk.services.elastictranscoder.ElasticTranscoderAsyncClient`                             |
645| `amazonaws.services.elastictranscoder.AmazonElasticTranscoderClient`                               | `software.amazon.awssdk.services.elastictranscoder.ElasticTranscoderClient`                                  |
646| `amazonaws.services.fms.AWSFMSAsyncClient`                                                         | `software.amazon.awssdk.services.fms.FmsAsyncClient`                                                         |
647| `amazonaws.services.fms.AWSFMSClient`                                                              | `software.amazon.awssdk.services.fms.FmsClient`                                                              |
648| `amazonaws.services.gamelift.AmazonGameLiftAsyncClient`                                            | `software.amazon.awssdk.services.gamelift.GameLiftAsyncClient`                                               |
649| `amazonaws.services.gamelift.AmazonGameLiftClient`                                                 | `software.amazon.awssdk.services.gamelift.GameLiftClient`                                                    |
650| `amazonaws.services.glacier.AmazonGlacierAsyncClient`                                              | `software.amazon.awssdk.services.glacier.GlacierAsyncClient`                                                 |
651| `amazonaws.services.glacier.AmazonGlacierClient`                                                   | `software.amazon.awssdk.services.glacier.GlacierClient`                                                      |
652| `amazonaws.services.glue.AWSGlueAsyncClient`                                                       | `software.amazon.awssdk.services.glue.GlueAsyncClient`                                                       |
653| `amazonaws.services.glue.AWSGlueClient`                                                            | `software.amazon.awssdk.services.glue.GlueClient`                                                            |
654| `amazonaws.services.greengrass.AWSGreengrassAsyncClient`                                           | `software.amazon.awssdk.services.greengrass.GreengrassAsyncClient`                                           |
655| `amazonaws.services.greengrass.AWSGreengrassClient`                                                | `software.amazon.awssdk.services.greengrass.GreengrassClient`                                                |
656| `amazonaws.services.guardduty.AmazonGuardDutyAsyncClient`                                          | `software.amazon.awssdk.services.guardduty.GuardDutyAsyncClient`                                             |
657| `amazonaws.services.guardduty.AmazonGuardDutyClient`                                               | `software.amazon.awssdk.services.guardduty.GuardDutyClient`                                                  |
658| `amazonaws.services.health.AWSHealthAsyncClient`                                                   | `software.amazon.awssdk.services.health.HealthAsyncClient`                                                   |
659| `amazonaws.services.health.AWSHealthClient`                                                        | `software.amazon.awssdk.services.health.HealthClient`                                                        |
660| `amazonaws.services.identitymanagement.AmazonIdentityManagementAsyncClient`                        | `software.amazon.awssdk.services.iam.IamAsyncClient`                                                         |
661| `amazonaws.services.identitymanagement.AmazonIdentityManagementClient`                             | `software.amazon.awssdk.services.iam.IamClient`                                                              |
662| `amazonaws.services.importexport.AmazonImportExportAsyncClient`                                    | `software.amazon.awssdk.services.importexport.ImportExportAsyncClient`                                       |
663| `amazonaws.services.importexport.AmazonImportExportClient`                                         | `software.amazon.awssdk.services.importexport.ImportExportClient`                                            |
664| `amazonaws.services.inspector.AmazonInspectorAsyncClient`                                          | `software.amazon.awssdk.services.inspector.InspectorAsyncClient`                                             |
665| `amazonaws.services.inspector.AmazonInspectorClient`                                               | `software.amazon.awssdk.services.inspector.InspectorClient`                                                  |
666| `amazonaws.services.iot.AWSIotAsyncClient`                                                         | `software.amazon.awssdk.services.iot.IotAsyncClient`                                                         |
667| `amazonaws.services.iot.AWSIotClient`                                                              | `software.amazon.awssdk.services.iot.IotClient`                                                              |
668| `amazonaws.services.iot1clickdevices.AWSIoT1ClickDevicesAsyncClient`                               | `software.amazon.awssdk.services.iot1clickdevices.Iot1ClickDevicesAsyncClient`                               |
669| `amazonaws.services.iot1clickdevices.AWSIoT1ClickDevicesClient`                                    | `software.amazon.awssdk.services.iot1clickdevices.Iot1ClickDevicesClient`                                    |
670| `amazonaws.services.iot1clickprojects.AWSIoT1ClickProjectsAsyncClient`                             | `software.amazon.awssdk.services.iot1clickprojects.Iot1ClickProjectsAsyncClient`                             |
671| `amazonaws.services.iot1clickprojects.AWSIoT1ClickProjectsClient`                                  | `software.amazon.awssdk.services.iot1clickprojects.Iot1ClickProjectsClient`                                  |
672| `amazonaws.services.iotanalytics.AWSIoTAnalyticsAsyncClient`                                       | `software.amazon.awssdk.services.iotanalytics.IotAnalyticsAsyncClient`                                       |
673| `amazonaws.services.iotanalytics.AWSIoTAnalyticsClient`                                            | `software.amazon.awssdk.services.iotanalytics.IotAnalyticsClient`                                            |
674| `amazonaws.services.iotdata.AWSIotDataAsyncClient`                                                 | `software.amazon.awssdk.services.iotdata.IotDataAsyncClient`                                                 |
675| `amazonaws.services.iotdata.AWSIotDataClient`                                                      | `software.amazon.awssdk.services.iotdata.IotDataClient`                                                      |
676| `amazonaws.services.iotjobsdataplane.AWSIoTJobsDataPlaneAsyncClient`                               | `software.amazon.awssdk.services.iotdataplane.IotDataPlaneAsyncClient`                                       |
677| `amazonaws.services.iotjobsdataplane.AWSIoTJobsDataPlaneClient`                                    | `software.amazon.awssdk.services.iotdataplane.IotDataPlaneClient`                                            |
678| `amazonaws.services.kinesis.AmazonKinesisAsyncClient`                                              | `software.amazon.awssdk.services.kinesis.KinesisAsyncClient`                                                 |
679| `amazonaws.services.kinesis.AmazonKinesisClient`                                                   | `software.amazon.awssdk.services.kinesis.KinesisClient`                                                      |
680| `amazonaws.services.kinesisanalytics.AmazonKinesisAnalyticsAsyncClient`                            | `software.amazon.awssdk.services.kinesisanalytics.KinesisAnalyticsAsyncClient`                               |
681| `amazonaws.services.kinesisanalytics.AmazonKinesisAnalyticsClient`                                 | `software.amazon.awssdk.services.kinesisanalytics.KinesisAnalyticsClient`                                    |
682| `amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseAsyncClient`                              | `software.amazon.awssdk.services.firehose.FirehoseAsyncClient`                                               |
683| `amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseClient`                                   | `software.amazon.awssdk.services.firehose.FirehoseClient`                                                    |
684| `amazonaws.services.kinesisvideo.AmazonKinesisVideoArchivedMediaAsyncClient`                       | `software.amazon.awssdk.services.kinesisvideoarchivedmedia.KinesisVideoArchivedMediaAsyncClient`             |
685| `amazonaws.services.kinesisvideo.AmazonKinesisVideoArchivedMediaClient`                            | `software.amazon.awssdk.services.kinesisvideoarchivedmedia.KinesisVideoArchivedMediaClient`                  |
686| `amazonaws.services.kinesisvideo.AmazonKinesisVideoAsyncClient`                                    | `software.amazon.awssdk.services.kinesisvideo.KinesisVideoAsyncClient`                                       |
687| `amazonaws.services.kinesisvideo.AmazonKinesisVideoClient`                                         | `software.amazon.awssdk.services.kinesisvideo.KinesisVideoClient`                                            |
688| `amazonaws.services.kinesisvideo.AmazonKinesisVideoMediaAsyncClient`                               | `software.amazon.awssdk.services.kinesisvideomedia.KinesisVideoMediaAsyncClient`                             |
689| `amazonaws.services.kinesisvideo.AmazonKinesisVideoMediaClient`                                    | `software.amazon.awssdk.services.kinesisvideomedia.KinesisVideoMediaClient`                                  |
690| `amazonaws.services.kinesisvideo.AmazonKinesisVideoPutMediaClient`                                 | Not Supported ([Request Feature](https://github.com/aws/aws-sdk-java-v2/issues/new))                         |
691| `amazonaws.services.kms.AWSKMSAsyncClient`                                                         | `software.amazon.awssdk.services.kms.KmsAsyncClient`                                                         |
692| `amazonaws.services.kms.AWSKMSClient`                                                              | `software.amazon.awssdk.services.kms.KmsClient`                                                              |
693| `amazonaws.services.lambda.AWSLambdaAsyncClient`                                                   | `software.amazon.awssdk.services.lambda.LambdaAsyncClient`                                                   |
694| `amazonaws.services.lambda.AWSLambdaClient`                                                        | `software.amazon.awssdk.services.lambda.LambdaClient`                                                        |
695| `amazonaws.services.lexmodelbuilding.AmazonLexModelBuildingAsyncClient`                            | `software.amazon.awssdk.services.lexmodelbuilding.LexModelBuildingAsyncClient`                               |
696| `amazonaws.services.lexmodelbuilding.AmazonLexModelBuildingClient`                                 | `software.amazon.awssdk.services.lexmodelbuilding.LexModelBuildingClient`                                    |
697| `amazonaws.services.lexruntime.AmazonLexRuntimeAsyncClient`                                        | `software.amazon.awssdk.services.lexruntime.LexRuntimeAsyncClient`                                           |
698| `amazonaws.services.lexruntime.AmazonLexRuntimeClient`                                             | `software.amazon.awssdk.services.lexruntime.LexRuntimeClient`                                                |
699| `amazonaws.services.lightsail.AmazonLightsailAsyncClient`                                          | `software.amazon.awssdk.services.lightsail.LightsailAsyncClient`                                             |
700| `amazonaws.services.lightsail.AmazonLightsailClient`                                               | `software.amazon.awssdk.services.lightsail.LightsailClient`                                                  |
701| `amazonaws.services.logs.AWSLogsAsyncClient`                                                       | `software.amazon.awssdk.services.logs.LogsAsyncClient`                                                       |
702| `amazonaws.services.logs.AWSLogsClient`                                                            | `software.amazon.awssdk.services.logs.LogsClient`                                                            |
703| `amazonaws.services.machinelearning.AmazonMachineLearningAsyncClient`                              | `software.amazon.awssdk.services.machinelearning.MachineLearningAsyncClient`                                 |
704| `amazonaws.services.machinelearning.AmazonMachineLearningClient`                                   | `software.amazon.awssdk.services.machinelearning.MachineLearningClient`                                      |
705| `amazonaws.services.macie.AmazonMacieAsyncClient`                                                  | `software.amazon.awssdk.services.macie.MacieAsyncClient`                                                     |
706| `amazonaws.services.macie.AmazonMacieClient`                                                       | `software.amazon.awssdk.services.macie.MacieClient`                                                          |
707| `amazonaws.services.marketplacecommerceanalytics.AWSMarketplaceCommerceAnalyticsAsyncClient`       | `software.amazon.awssdk.services.marketplacecommerceanalytics.MarketplaceCommerceAnalyticsAsyncClient`       |
708| `amazonaws.services.marketplacecommerceanalytics.AWSMarketplaceCommerceAnalyticsClient`            | `software.amazon.awssdk.services.marketplacecommerceanalytics.MarketplaceCommerceAnalyticsClient`            |
709| `amazonaws.services.marketplaceentitlement.AWSMarketplaceEntitlementAsyncClient`                   | `software.amazon.awssdk.services.marketplaceentitlement.MarketplaceEntitlementAsyncClient`                   |
710| `amazonaws.services.marketplaceentitlement.AWSMarketplaceEntitlementClient`                        | `software.amazon.awssdk.services.marketplaceentitlement.MarketplaceEntitlementClient`                        |
711| `amazonaws.services.marketplacemetering.AWSMarketplaceMeteringAsyncClient`                         | `software.amazon.awssdk.services.marketplacemetering.MarketplaceMeteringAsyncClient`                         |
712| `amazonaws.services.marketplacemetering.AWSMarketplaceMeteringClient`                              | `software.amazon.awssdk.services.marketplacemetering.MarketplaceMeteringClient`                              |
713| `amazonaws.services.mediaconvert.AWSMediaConvertAsyncClient`                                       | `software.amazon.awssdk.services.mediaconvert.MediaConvertAsyncClient`                                       |
714| `amazonaws.services.mediaconvert.AWSMediaConvertClient`                                            | `software.amazon.awssdk.services.mediaconvert.MediaConvertClient`                                            |
715| `amazonaws.services.medialive.AWSMediaLiveAsyncClient`                                             | `software.amazon.awssdk.services.medialive.MediaLiveAsyncClient`                                             |
716| `amazonaws.services.medialive.AWSMediaLiveClient`                                                  | `software.amazon.awssdk.services.medialive.MediaLiveClient`                                                  |
717| `amazonaws.services.mediapackage.AWSMediaPackageAsyncClient`                                       | `software.amazon.awssdk.services.mediapackage.MediaPackageAsyncClient`                                       |
718| `amazonaws.services.mediapackage.AWSMediaPackageClient`                                            | `software.amazon.awssdk.services.mediapackage.MediaPackageClient`                                            |
719| `amazonaws.services.mediastore.AWSMediaStoreAsyncClient`                                           | `software.amazon.awssdk.services.mediastore.MediaStoreAsyncClient`                                           |
720| `amazonaws.services.mediastore.AWSMediaStoreClient`                                                | `software.amazon.awssdk.services.mediastore.MediaStoreClient`                                                |
721| `amazonaws.services.mediastoredata.AWSMediaStoreDataAsyncClient`                                   | `software.amazon.awssdk.services.mediastoredata.MediaStoreDataAsyncClient`                                   |
722| `amazonaws.services.mediastoredata.AWSMediaStoreDataClient`                                        | `software.amazon.awssdk.services.mediastoredata.MediaStoreDataClient`                                        |
723| `amazonaws.services.mediatailor.AWSMediaTailorAsyncClient`                                         | `software.amazon.awssdk.services.mediatailor.MediaTailorAsyncClient`                                         |
724| `amazonaws.services.mediatailor.AWSMediaTailorClient`                                              | `software.amazon.awssdk.services.mediatailor.MediaTailorClient`                                              |
725| `amazonaws.services.migrationhub.AWSMigrationHubAsyncClient`                                       | `software.amazon.awssdk.services.migrationhub.MigrationHubAsyncClient`                                       |
726| `amazonaws.services.migrationhub.AWSMigrationHubClient`                                            | `software.amazon.awssdk.services.migrationhub.MigrationHubClient`                                            |
727| `amazonaws.services.mobile.AWSMobileAsyncClient`                                                   | `software.amazon.awssdk.services.mobile.MobileAsyncClient`                                                   |
728| `amazonaws.services.mobile.AWSMobileClient`                                                        | `software.amazon.awssdk.services.mobile.MobileClient`                                                        |
729| `amazonaws.services.mq.AmazonMQAsyncClient`                                                        | `software.amazon.awssdk.services.mq.MqAsyncClient`                                                           |
730| `amazonaws.services.mq.AmazonMQClient`                                                             | `software.amazon.awssdk.services.mq.MqClient`                                                                |
731| `amazonaws.services.mturk.AmazonMTurkAsyncClient`                                                  | `software.amazon.awssdk.services.mturk.MTurkAsyncClient`                                                     |
732| `amazonaws.services.mturk.AmazonMTurkClient`                                                       | `software.amazon.awssdk.services.mturk.MTurkClient`                                                          |
733| `amazonaws.services.neptune.AmazonNeptuneAsyncClient`                                              | `software.amazon.awssdk.services.neptune.NeptuneAsyncClient`                                                 |
734| `amazonaws.services.neptune.AmazonNeptuneClient`                                                   | `software.amazon.awssdk.services.neptune.NeptuneClient`                                                      |
735| `amazonaws.services.opsworks.AWSOpsWorksAsyncClient`                                               | `software.amazon.awssdk.services.opsworks.OpsWorksAsyncClient`                                               |
736| `amazonaws.services.opsworks.AWSOpsWorksClient`                                                    | `software.amazon.awssdk.services.opsworks.OpsWorksClient`                                                    |
737| `amazonaws.services.opsworkscm.AWSOpsWorksCMAsyncClient`                                           | `software.amazon.awssdk.services.opsworkscm.OpsWorksCmAsyncClient`                                           |
738| `amazonaws.services.opsworkscm.AWSOpsWorksCMClient`                                                | `software.amazon.awssdk.services.opsworkscm.OpsWorksCmClient`                                                |
739| `amazonaws.services.organizations.AWSOrganizationsAsyncClient`                                     | `software.amazon.awssdk.services.organizations.OrganizationsAsyncClient`                                     |
740| `amazonaws.services.organizations.AWSOrganizationsClient`                                          | `software.amazon.awssdk.services.organizations.OrganizationsClient`                                          |
741| `amazonaws.services.pi.AWSPIAsyncClient`                                                           | `software.amazon.awssdk.services.pi.PiAsyncClient`                                                           |
742| `amazonaws.services.pi.AWSPIClient`                                                                | `software.amazon.awssdk.services.pi.PiClient`                                                                |
743| `amazonaws.services.pinpoint.AmazonPinpointAsyncClient`                                            | `software.amazon.awssdk.services.pinpoint.PinpointAsyncClient`                                               |
744| `amazonaws.services.pinpoint.AmazonPinpointClient`                                                 | `software.amazon.awssdk.services.pinpoint.PinpointClient`                                                    |
745| `amazonaws.services.polly.AmazonPollyAsyncClient`                                                  | `software.amazon.awssdk.services.polly.PollyAsyncClient`                                                     |
746| `amazonaws.services.polly.AmazonPollyClient`                                                       | `software.amazon.awssdk.services.polly.PollyClient`                                                          |
747| `amazonaws.services.pricing.AWSPricingAsyncClient`                                                 | `software.amazon.awssdk.services.pricing.PricingAsyncClient`                                                 |
748| `amazonaws.services.pricing.AWSPricingClient`                                                      | `software.amazon.awssdk.services.pricing.PricingClient`                                                      |
749| `amazonaws.services.rds.AmazonRDSAsyncClient`                                                      | `software.amazon.awssdk.services.rds.RdsAsyncClient`                                                         |
750| `amazonaws.services.rds.AmazonRDSClient`                                                           | `software.amazon.awssdk.services.rds.RdsClient`                                                              |
751| `amazonaws.services.redshift.AmazonRedshiftAsyncClient`                                            | `software.amazon.awssdk.services.redshift.RedshiftAsyncClient`                                               |
752| `amazonaws.services.redshift.AmazonRedshiftClient`                                                 | `software.amazon.awssdk.services.redshift.RedshiftClient`                                                    |
753| `amazonaws.services.rekognition.AmazonRekognitionAsyncClient`                                      | `software.amazon.awssdk.services.rekognition.RekognitionAsyncClient`                                         |
754| `amazonaws.services.rekognition.AmazonRekognitionClient`                                           | `software.amazon.awssdk.services.rekognition.RekognitionClient`                                              |
755| `amazonaws.services.resourcegroups.AWSResourceGroupsAsyncClient`                                   | `software.amazon.awssdk.services.resourcegroups.ResourceGroupsAsyncClient`                                   |
756| `amazonaws.services.resourcegroups.AWSResourceGroupsClient`                                        | `software.amazon.awssdk.services.resourcegroups.ResourceGroupsClient`                                        |
757| `amazonaws.services.resourcegroupstaggingapi.AWSResourceGroupsTaggingAPIAsyncClient`               | `software.amazon.awssdk.services.resourcegroupstaggingapi.ResourceGroupsTaggingApiAsyncClient`               |
758| `amazonaws.services.resourcegroupstaggingapi.AWSResourceGroupsTaggingAPIClient`                    | `software.amazon.awssdk.services.resourcegroupstaggingapi.ResourceGroupsTaggingApiClient`                    |
759| `amazonaws.services.route53.AmazonRoute53AsyncClient`                                              | `software.amazon.awssdk.services.route53.Route53AsyncClient`                                                 |
760| `amazonaws.services.route53.AmazonRoute53Client`                                                   | `software.amazon.awssdk.services.route53.Route53Client`                                                      |
761| `amazonaws.services.route53domains.AmazonRoute53DomainsAsyncClient`                                | `software.amazon.awssdk.services.route53domains.Route53DomainsAsyncClient`                                   |
762| `amazonaws.services.route53domains.AmazonRoute53DomainsClient`                                     | `software.amazon.awssdk.services.route53domains.Route53DomainsClient`                                        |
763| `amazonaws.services.s3.AmazonS3Client`                                                             | `software.amazon.awssdk.services.s3.S3Client`                                                                |
764| `amazonaws.services.sagemaker.AmazonSageMakerAsyncClient`                                          | `software.amazon.awssdk.services.sagemaker.SageMakerAsyncClient`                                             |
765| `amazonaws.services.sagemaker.AmazonSageMakerClient`                                               | `software.amazon.awssdk.services.sagemaker.SageMakerClient`                                                  |
766| `amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeAsyncClient`                            | `software.amazon.awssdk.services.sagemakerruntime.SageMakerRuntimeAsyncClient`                               |
767| `amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeClient`                                 | `software.amazon.awssdk.services.sagemakerruntime.SageMakerRuntimeClient`                                    |
768| `amazonaws.services.secretsmanager.AWSSecretsManagerAsyncClient`                                   | `software.amazon.awssdk.services.secretsmanager.SecretsManagerAsyncClient`                                   |
769| `amazonaws.services.secretsmanager.AWSSecretsManagerClient`                                        | `software.amazon.awssdk.services.secretsmanager.SecretsManagerClient`                                        |
770| `amazonaws.services.securitytoken.AWSSecurityTokenServiceAsyncClient`                              | `software.amazon.awssdk.services.sts.StsAsyncClient`                                                         |
771| `amazonaws.services.securitytoken.AWSSecurityTokenServiceClient`                                   | `software.amazon.awssdk.services.sts.StsClient`                                                              |
772| `amazonaws.services.serverlessapplicationrepository.AWSServerlessApplicationRepositoryAsyncClient` | `software.amazon.awssdk.services.serverlessapplicationrepository.ServerlessApplicationRepositoryAsyncClient` |
773| `amazonaws.services.serverlessapplicationrepository.AWSServerlessApplicationRepositoryClient`      | `software.amazon.awssdk.services.serverlessapplicationrepository.ServerlessApplicationRepositoryClient`      |
774| `amazonaws.services.servermigration.AWSServerMigrationAsyncClient`                                 | `software.amazon.awssdk.services.sms.SmsAsyncClient`                                                         |
775| `amazonaws.services.servermigration.AWSServerMigrationClient`                                      | `software.amazon.awssdk.services.sms.SmsClient`                                                              |
776| `amazonaws.services.servicecatalog.AWSServiceCatalogAsyncClient`                                   | `software.amazon.awssdk.services.servicecatalog.ServiceCatalogAsyncClient`                                   |
777| `amazonaws.services.servicecatalog.AWSServiceCatalogClient`                                        | `software.amazon.awssdk.services.servicecatalog.ServiceCatalogClient`                                        |
778| `amazonaws.services.servicediscovery.AWSServiceDiscoveryAsyncClient`                               | `software.amazon.awssdk.services.servicediscovery.ServiceDiscoveryAsyncClient`                               |
779| `amazonaws.services.servicediscovery.AWSServiceDiscoveryClient`                                    | `software.amazon.awssdk.services.servicediscovery.ServiceDiscoveryClient`                                    |
780| `amazonaws.services.shield.AWSShieldAsyncClient`                                                   | `software.amazon.awssdk.services.shield.ShieldAsyncClient`                                                   |
781| `amazonaws.services.shield.AWSShieldClient`                                                        | `software.amazon.awssdk.services.shield.ShieldClient`                                                        |
782| `amazonaws.services.simpledb.AmazonSimpleDBAsyncClient`                                            | `software.amazon.awssdk.services.simpledb.SimpleDbAsyncClient`                                               |
783| `amazonaws.services.simpledb.AmazonSimpleDBClient`                                                 | `software.amazon.awssdk.services.simpledb.SimpleDbClient`                                                    |
784| `amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsyncClient`                               | `software.amazon.awssdk.services.ses.SesAsyncClient`                                                         |
785| `amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient`                                    | `software.amazon.awssdk.services.ses.SesClient`                                                              |
786| `amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementAsyncClient`                 | `software.amazon.awssdk.services.ssm.SsmAsyncClient`                                                         |
787| `amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient`                      | `software.amazon.awssdk.services.ssm.SsmClient`                                                              |
788| `amazonaws.services.simpleworkflow.AmazonSimpleWorkflowAsyncClient`                                | `software.amazon.awssdk.services.swf.SwfAsyncClient`                                                         |
789| `amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient`                                     | `software.amazon.awssdk.services.swf.SwfClient`                                                              |
790| `amazonaws.services.snowball.AmazonSnowballAsyncClient`                                            | `software.amazon.awssdk.services.snowball.SnowballAsyncClient`                                               |
791| `amazonaws.services.snowball.AmazonSnowballClient`                                                 | `software.amazon.awssdk.services.snowball.SnowballClient`                                                    |
792| `amazonaws.services.sns.AmazonSNSAsyncClient`                                                      | `software.amazon.awssdk.services.sns.SnsAsyncClient`                                                         |
793| `amazonaws.services.sns.AmazonSNSClient`                                                           | `software.amazon.awssdk.services.sns.SnsClient`                                                              |
794| `amazonaws.services.sqs.AmazonSQSAsyncClient`                                                      | `software.amazon.awssdk.services.sqs.SqsAsyncClient`                                                         |
795| `amazonaws.services.sqs.AmazonSQSClient`                                                           | `software.amazon.awssdk.services.sqs.SqsClient`                                                              |
796| `amazonaws.services.stepfunctions.AWSStepFunctionsAsyncClient`                                     | `software.amazon.awssdk.services.sfn.SfnAsyncClient`                                                         |
797| `amazonaws.services.stepfunctions.AWSStepFunctionsClient`                                          | `software.amazon.awssdk.services.sfn.SfnClient`                                                              |
798| `amazonaws.services.storagegateway.AWSStorageGatewayAsyncClient`                                   | `software.amazon.awssdk.services.storagegateway.StorageGatewayAsyncClient`                                   |
799| `amazonaws.services.storagegateway.AWSStorageGatewayClient`                                        | `software.amazon.awssdk.services.storagegateway.StorageGatewayClient`                                        |
800| `amazonaws.services.support.AWSSupportAsyncClient`                                                 | `software.amazon.awssdk.services.support.SupportAsyncClient`                                                 |
801| `amazonaws.services.support.AWSSupportClient`                                                      | `software.amazon.awssdk.services.support.SupportClient`                                                      |
802| `amazonaws.services.transcribe.AmazonTranscribeAsyncClient`                                        | `software.amazon.awssdk.services.transcribe.TranscribeAsyncClient`                                           |
803| `amazonaws.services.transcribe.AmazonTranscribeClient`                                             | `software.amazon.awssdk.services.transcribe.TranscribeClient`                                                |
804| `amazonaws.services.translate.AmazonTranslateAsyncClient`                                          | `software.amazon.awssdk.services.translate.TranslateAsyncClient`                                             |
805| `amazonaws.services.translate.AmazonTranslateClient`                                               | `software.amazon.awssdk.services.translate.TranslateClient`                                                  |
806| `amazonaws.services.waf.AWSWAFAsyncClient`                                                         | `software.amazon.awssdk.services.waf.WafAsyncClient`                                                         |
807| `amazonaws.services.waf.AWSWAFClient`                                                              | `software.amazon.awssdk.services.waf.WafClient`                                                              |
808| `amazonaws.services.waf.AWSWAFRegionalAsyncClient`                                                 | `software.amazon.awssdk.services.waf.regional.WafRegionalAsyncClient`                                        |
809| `amazonaws.services.waf.AWSWAFRegionalClient`                                                      | `software.amazon.awssdk.services.waf.regional.WafRegionalClient`                                             |
810| `amazonaws.services.workdocs.AmazonWorkDocsAsyncClient`                                            | `software.amazon.awssdk.services.workdocs.WorkDocsAsyncClient`                                               |
811| `amazonaws.services.workdocs.AmazonWorkDocsClient`                                                 | `software.amazon.awssdk.services.workdocs.WorkDocsClient`                                                    |
812| `amazonaws.services.workmail.AmazonWorkMailAsyncClient`                                            | `software.amazon.awssdk.services.workmail.WorkMailAsyncClient`                                               |
813| `amazonaws.services.workmail.AmazonWorkMailClient`                                                 | `software.amazon.awssdk.services.workmail.WorkMailClient`                                                    |
814| `amazonaws.services.workspaces.AmazonWorkspacesAsyncClient`                                        | `software.amazon.awssdk.services.workspaces.WorkSpacesAsyncClient`                                           |
815| `amazonaws.services.workspaces.AmazonWorkspacesClient`                                             | `software.amazon.awssdk.services.workspaces.WorkSpacesClient`                                                |
816| `amazonaws.services.xray.AWSXRayAsyncClient`                                                       | `software.amazon.awssdk.services.xray.XRayAsyncClient`                                                       |
817| `amazonaws.services.xray.AWSXRayClient`                                                            | `software.amazon.awssdk.services.xray.XRayClient`                                                            |
818
819# 7. High-Level Libraries
820
821All high-level libraries will be re-designed to match the 2.0 programming model and re-introduced over time.
822The following libraries are available in 2.0:
823
824| 1.x                                         | 2.0                                                                                                                                                        | Since version |
825|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
826| DynamoDBMapper                              | [DynamoDbEnhancedClient](https://github.com/aws/aws-sdk-java-v2/blob/464be97535cc82a4adb2e5b9fdadd9d4ac739ef8/services-custom/dynamodb-enhanced/README.md) | 2.12.0        |
827| Waiters                                     | [Waiters](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/waiters.html)                                                                    | 2.15.0        |
828| CloudFrontUrlSigner, CloudFrontCookieSigner | [CloudFrontUtilities](https://aws.amazon.com/blogs/developer/amazon-cloudfront-signed-urls-and-cookies-are-now-supported-in-aws-sdk-for-java-2-x/)         | 2.18.33       |
829| TransferManager                             | [S3TransferManager](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/transfer-manager.html)                                                 | 2.19.0        |
830| IAM Policy Builder                          | [IAM Policy Builder](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/feature-iam-policy-builder.html)                                      | 2.20.126      |
831