4
4
import java .util .Objects ;
5
5
6
6
import software .amazon .cryptography .dbencryptionsdk .dynamodb .model .LegacyConfig ;
7
+ import software .amazon .cryptography .dbencryptionsdk .dynamodb .model .PlaintextPolicy ;
7
8
import software .amazon .cryptography .materialproviders .IKeyring ;
8
9
import software .amazon .awssdk .enhanced .dynamodb .TableSchema ;
9
10
import software .amazon .cryptography .materialproviders .CryptographicMaterialsManager ;
@@ -19,6 +20,7 @@ public class DynamoDbEnhancedTableEncryptionConfig {
19
20
private final Keyring keyring ;
20
21
private final CryptographicMaterialsManager cmm ;
21
22
private final LegacyConfig legacyConfig ;
23
+ private final PlaintextPolicy plaintextPolicy ;
22
24
private final DBEAlgorithmSuiteId algorithmSuiteId ;
23
25
24
26
@@ -30,6 +32,7 @@ protected DynamoDbEnhancedTableEncryptionConfig(BuilderImpl builder) {
30
32
this .keyring = builder .keyring ();
31
33
this .cmm = builder .cmm ();
32
34
this .legacyConfig = builder .legacyConfig ();
35
+ this .plaintextPolicy = builder .plaintextPolicy ();
33
36
this .algorithmSuiteId = builder .algorithmSuiteId ();
34
37
35
38
}
@@ -60,6 +63,10 @@ public LegacyConfig legacyConfig() {
60
63
return this .legacyConfig ;
61
64
}
62
65
66
+ public PlaintextPolicy plaintextPolicy () {
67
+ return this .plaintextPolicy ;
68
+ }
69
+
63
70
public DBEAlgorithmSuiteId algorithmSuiteId () {
64
71
return this .algorithmSuiteId ;
65
72
}
@@ -85,6 +92,8 @@ public interface Builder {
85
92
<I extends ICryptographicMaterialsManager > Builder cmm (I cmm );
86
93
Builder legacyConfig (LegacyConfig legacyConfig );
87
94
LegacyConfig legacyConfig ();
95
+ Builder plaintextPolicy (PlaintextPolicy plaintextPolicy );
96
+ PlaintextPolicy plaintextPolicy ();
88
97
Builder algorithmSuiteId (DBEAlgorithmSuiteId algorithmSuiteId );
89
98
DBEAlgorithmSuiteId algorithmSuiteId ();
90
99
DynamoDbEnhancedTableEncryptionConfig build ();
@@ -98,6 +107,7 @@ protected static class BuilderImpl implements Builder {
98
107
protected Keyring keyring ;
99
108
protected CryptographicMaterialsManager cmm ;
100
109
protected LegacyConfig legacyConfig ;
110
+ protected PlaintextPolicy plaintextPolicy ;
101
111
protected DBEAlgorithmSuiteId algorithmSuiteId ;
102
112
protected BuilderImpl () {
103
113
}
@@ -110,6 +120,7 @@ protected BuilderImpl(DynamoDbEnhancedTableEncryptionConfig model) {
110
120
this .keyring = model .keyring ();
111
121
this .cmm = model .cmm ();
112
122
this .legacyConfig = model .legacyConfig ();
123
+ this .plaintextPolicy = model .plaintextPolicy ();
113
124
this .algorithmSuiteId = model .algorithmSuiteId ();
114
125
}
115
126
@@ -175,6 +186,15 @@ public LegacyConfig legacyConfig() {
175
186
return this .legacyConfig ;
176
187
}
177
188
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
+
178
198
public Builder algorithmSuiteId (DBEAlgorithmSuiteId algorithmSuiteId ) {
179
199
this .algorithmSuiteId = algorithmSuiteId ;
180
200
return this ;
0 commit comments