Skip to content

Commit c7f3c72

Browse files
chore: Enhanced client supports plaintext policy (#193)
1 parent 1f9ff95 commit c7f3c72

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

DynamoDbEncryption/runtimes/java/src/main/java/software/amazon/cryptography/dbencryptionsdk/dynamodb/enhancedclient/DynamoDbEnhancedClientEncryption.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ private static DynamoDbTableEncryptionConfig getTableConfig(DynamoDbEnhancedTabl
8080
builder = builder.logicalTableName(configWithSchema.logicalTableName());
8181
}
8282

83+
if (!Objects.isNull(configWithSchema.plaintextPolicy())) {
84+
builder = builder.plaintextPolicy(configWithSchema.plaintextPolicy());
85+
}
86+
8387
return builder.allowedUnauthenticatedAttributePrefix(configWithSchema.allowedUnauthenticatedAttributePrefix())
8488
.allowedUnauthenticatedAttributes(configWithSchema.allowedUnauthenticatedAttributes())
8589
.attributeActions(actions)

DynamoDbEncryption/runtimes/java/src/main/java/software/amazon/cryptography/dbencryptionsdk/dynamodb/enhancedclient/DynamoDbEnhancedTableEncryptionConfig.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Objects;
55

66
import software.amazon.cryptography.dbencryptionsdk.dynamodb.model.LegacyConfig;
7+
import software.amazon.cryptography.dbencryptionsdk.dynamodb.model.PlaintextPolicy;
78
import software.amazon.cryptography.materialproviders.IKeyring;
89
import software.amazon.awssdk.enhanced.dynamodb.TableSchema;
910
import software.amazon.cryptography.materialproviders.CryptographicMaterialsManager;
@@ -19,6 +20,7 @@ public class DynamoDbEnhancedTableEncryptionConfig {
1920
private final Keyring keyring;
2021
private final CryptographicMaterialsManager cmm;
2122
private final LegacyConfig legacyConfig;
23+
private final PlaintextPolicy plaintextPolicy;
2224
private final DBEAlgorithmSuiteId algorithmSuiteId;
2325

2426

@@ -30,6 +32,7 @@ protected DynamoDbEnhancedTableEncryptionConfig(BuilderImpl builder) {
3032
this.keyring = builder.keyring();
3133
this.cmm = builder.cmm();
3234
this.legacyConfig = builder.legacyConfig();
35+
this.plaintextPolicy = builder.plaintextPolicy();
3336
this.algorithmSuiteId = builder.algorithmSuiteId();
3437

3538
}
@@ -60,6 +63,10 @@ public LegacyConfig legacyConfig() {
6063
return this.legacyConfig;
6164
}
6265

66+
public PlaintextPolicy plaintextPolicy() {
67+
return this.plaintextPolicy;
68+
}
69+
6370
public DBEAlgorithmSuiteId algorithmSuiteId() {
6471
return this.algorithmSuiteId;
6572
}
@@ -85,6 +92,8 @@ public interface Builder {
8592
<I extends ICryptographicMaterialsManager> Builder cmm(I cmm);
8693
Builder legacyConfig(LegacyConfig legacyConfig);
8794
LegacyConfig legacyConfig();
95+
Builder plaintextPolicy(PlaintextPolicy plaintextPolicy);
96+
PlaintextPolicy plaintextPolicy();
8897
Builder algorithmSuiteId(DBEAlgorithmSuiteId algorithmSuiteId);
8998
DBEAlgorithmSuiteId algorithmSuiteId();
9099
DynamoDbEnhancedTableEncryptionConfig build();
@@ -98,6 +107,7 @@ protected static class BuilderImpl implements Builder {
98107
protected Keyring keyring;
99108
protected CryptographicMaterialsManager cmm;
100109
protected LegacyConfig legacyConfig;
110+
protected PlaintextPolicy plaintextPolicy;
101111
protected DBEAlgorithmSuiteId algorithmSuiteId;
102112
protected BuilderImpl() {
103113
}
@@ -110,6 +120,7 @@ protected BuilderImpl(DynamoDbEnhancedTableEncryptionConfig model) {
110120
this.keyring = model.keyring();
111121
this.cmm = model.cmm();
112122
this.legacyConfig = model.legacyConfig();
123+
this.plaintextPolicy = model.plaintextPolicy();
113124
this.algorithmSuiteId = model.algorithmSuiteId();
114125
}
115126

@@ -175,6 +186,15 @@ public LegacyConfig legacyConfig() {
175186
return this.legacyConfig;
176187
}
177188

189+
public Builder plaintextPolicy(PlaintextPolicy plaintextPolicy) {
190+
this.plaintextPolicy = plaintextPolicy;
191+
return this;
192+
}
193+
194+
public PlaintextPolicy plaintextPolicy() {
195+
return this.plaintextPolicy;
196+
}
197+
178198
public Builder algorithmSuiteId(DBEAlgorithmSuiteId algorithmSuiteId) {
179199
this.algorithmSuiteId = algorithmSuiteId;
180200
return this;

0 commit comments

Comments
 (0)