Skip to content

docs: Detail AWS SDK v2 support #835

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 14, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ For more details about the design and architecture of the AWS Encryption SDK, se

[Security issue notifications](./CONTRIBUTING.md#security-issue-notifications)

See [Support Policy](./SUPPORT_POLICY.rst) for for details on the current support status of all major versions of this library.
See [Support Policy](./SUPPORT_POLICY.rst) for details on the current support status of all major versions of this library.

## Getting Started

Expand Down Expand Up @@ -37,12 +37,14 @@ To use the AWS Encryption SDK for Java you must have:
### Optional Prerequisites

#### AWS Integration
You don't need an Amazon Web Services (AWS) account to use the AWS Encryption SDK, but some of the [example code][examples] require an AWS account, an AWS KMS key, and the AWS SDK for Java 1.x. (The AWS Encryption SDK for Java does not support the AWS SDK for Java 2.x.)
You don't need an Amazon Web Services (AWS) account to use the AWS Encryption SDK, but some [example code][examples] require an AWS account, an AWS KMS key, and the AWS SDK for Java (either 1.x or 2.x).

* **To create an AWS account**, go to [Sign In or Create an AWS Account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html) and then choose **I am a new user.** Follow the instructions to create an AWS account.

* **To create a symmetric encryption KMS key in AWS KMS**, see [Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).

* **To download and install the AWS SDK for Java 2.x**, see [Installing the AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/getting-started.html).

* **To download and install the AWS SDK for Java 1.x**, see [Installing the AWS SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html).

#### Amazon Corretto Crypto Provider
Expand Down Expand Up @@ -133,7 +135,7 @@ public class StringExample {
}
```

You can find more examples in the [examples directory][examples].
You can find more examples in the [example directory][examples].

## Public API

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ public Builder discoveryMrkRegion(Region discoveryMrkRegion) {
* <p>Because the regional client supplier fully controls the client construction process, it is
* not possible to configure the client through methods such as {@link
* #builderSupplier(Supplier)}; if you try to use these in combination, an {@link
* IllegalStateException} will be thrown.
* IllegalStateException} will be thrown.</p>
*
* <p>Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface.</p>
*
* @see KmsMasterKeyProvider.Builder#customRegionalClientSupplier(RegionalClientSupplier)
*/
Expand All @@ -125,6 +127,8 @@ public Builder customRegionalClientSupplier(RegionalClientSupplier regionalClien
* KmsClientBuilder} to configure KMS clients. Note that the region set on this builder will be
* ignored, but all other settings will be propagated into the regional clients.
*
* <p>Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface.</p>
*
* @see KmsMasterKeyProvider.Builder#builderSupplier(Supplier)
*/
public Builder builderSupplier(Supplier<KmsClientBuilder> supplier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,9 @@ public Builder defaultRegion(Region defaultRegion) {
* <p>Because the regional client supplier fully controls the client construction process, it is
* not possible to configure the client through methods such as {@link
* #builderSupplier(Supplier)}; if you try to use these in combination, an {@link
* IllegalStateException} will be thrown.
* IllegalStateException} will be thrown.</p>
*
* <p>Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface.</p>
*
* @param regionalClientSupplier
* @return
Expand All @@ -108,7 +110,9 @@ public Builder customRegionalClientSupplier(RegionalClientSupplier regionalClien
*
* <p>Trying to use this method in combination with {@link
* #customRegionalClientSupplier(RegionalClientSupplier)} will cause an {@link
* IllegalStateException} to be thrown.
* IllegalStateException} to be thrown.</p>
*
* <p>Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface.</p>
*
* @param supplier Should return a new {@link KmsClientBuilder} on each invocation.
* @return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ public interface RegionalClientSupplier {
* Supplies an {@link KmsClient} instance to use for a given {@link Region}. The {@link
* KmsMasterKeyProvider} will not cache the result of this function.
*
* <p>Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface.</p>
*
* @param region The region to get a client for
* @return The client to use, or null if this region cannot or should not be used.
*/
Expand Down