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