public static class KmsMasterKeyProvider.Builder extends Object implements Cloneable
Modifier and Type | Method and Description |
---|---|
KmsMasterKeyProvider |
buildDiscovery()
Builds the master key provider in Discovery Mode.
|
KmsMasterKeyProvider |
buildDiscovery(DiscoveryFilter filter)
Builds the master key provider in Discovery Mode with a
DiscoveryFilter . |
KmsMasterKeyProvider.Builder |
builderSupplier(Supplier<software.amazon.awssdk.services.kms.KmsClientBuilder> supplier)
Configures the
KmsMasterKeyProvider to use settings from this KmsClientBuilder to configure KMS clients. |
KmsMasterKeyProvider |
buildStrict(List<String> keyIds)
Builds the master key provider in Strict Mode.
|
KmsMasterKeyProvider |
buildStrict(String... keyIds)
Builds the master key provider in strict mode.
|
KmsMasterKeyProvider.Builder |
clone() |
KmsMasterKeyProvider.Builder |
customRegionalClientSupplier(RegionalClientSupplier regionalClientSupplier)
Provides a custom factory function that will vend KMS clients.
|
KmsMasterKeyProvider.Builder |
defaultRegion(software.amazon.awssdk.regions.Region defaultRegion)
Sets the default region.
|
protected void |
snoopClientCache(ConcurrentHashMap<software.amazon.awssdk.regions.Region,software.amazon.awssdk.services.kms.KmsClient> map) |
public KmsMasterKeyProvider.Builder clone()
public KmsMasterKeyProvider.Builder defaultRegion(software.amazon.awssdk.regions.Region defaultRegion)
MasterKeyProvider.getMasterKey(String)
that are not full ARNs, but are instead
bare key IDs or aliases.
If the default region is not specified, only full key ARNs will be usable.
defaultRegion
- The default region to use.public KmsMasterKeyProvider.Builder customRegionalClientSupplier(RegionalClientSupplier regionalClientSupplier)
Because the regional client supplier fully controls the client construction process, it is
not possible to configure the client through methods such as builderSupplier(Supplier)
; if you try to use these in combination, an IllegalStateException
will be thrown.
Note: The AWS Encryption SDK for Java does not support the KmsAsyncClient
interface.
regionalClientSupplier
- public KmsMasterKeyProvider.Builder builderSupplier(Supplier<software.amazon.awssdk.services.kms.KmsClientBuilder> supplier)
KmsMasterKeyProvider
to use settings from this 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.
Trying to use this method in combination with customRegionalClientSupplier(RegionalClientSupplier)
will cause an IllegalStateException
to be thrown.
Note: The AWS Encryption SDK for Java does not support the KmsAsyncClient
interface.
supplier
- Should return a new KmsClientBuilder
on each invocation.public KmsMasterKeyProvider buildDiscovery()
public KmsMasterKeyProvider buildDiscovery(DiscoveryFilter filter)
DiscoveryFilter
. In Discovery
Mode the KMS Master Key Provider will attempt to decrypt using any key identifier it
discovers in the encrypted message that is accepted by the filter
. KMS Master Key
Providers in Discovery Mode will not encrypt data keys.filter
- public KmsMasterKeyProvider buildStrict(List<String> keyIds)
keyIds
. KMS Master Key Providers in
Strict Mode will encrypt data keys using the keys listed in keyIds
In Strict Mode, one or more CMKs must be provided. For providers that will only be used for encryption, you can use any valid KMS key identifier. For providers that will be used for decryption, you must use the key ARN; key ids, alias names, and alias ARNs are not supported.
keyIds
- public KmsMasterKeyProvider buildStrict(String... keyIds)
keyIds
. KMS Master Key Providers in
Strict Mode will encrypt data keys using the keys listed in keyIds
In Strict Mode, one or more CMKs must be provided. For providers that will only be used for encryption, you can use any valid KMS key identifier. For providers that will be used for decryption, you must use the key ARN; key ids, alias names, and alias ARNs are not supported.
keyIds
- protected void snoopClientCache(ConcurrentHashMap<software.amazon.awssdk.regions.Region,software.amazon.awssdk.services.kms.KmsClient> map)
Copyright © 2023. All rights reserved.