Skip to content
Open
Show file tree
Hide file tree
Changes from 86 commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
ac87a66
chore(dafny): Add bucket beacon support
ajewellamz Jun 19, 2025
da790a0
m
ajewellamz Jun 19, 2025
c2746c5
m
ajewellamz Jun 20, 2025
7e17008
m
ajewellamz Jun 20, 2025
ab174cb
m
ajewellamz Jun 20, 2025
9130859
m
ajewellamz Jun 20, 2025
082a815
Merge branch 'main' into ajewell/buckets
ajewellamz Jun 21, 2025
bd5e532
m
ajewellamz Jun 23, 2025
4ff8d8c
m
ajewellamz Jun 23, 2025
c3ae7ca
m
ajewellamz Jun 23, 2025
0370e3c
Merge branch 'main' into ajewell/buckets
ajewellamz Jun 27, 2025
fc77ceb
m
ajewellamz Jul 1, 2025
8cd220b
Merge branch 'main' into ajewell/buckets
ajewellamz Jul 7, 2025
2fbfdc5
Merge branch 'main' into ajewell/buckets
ajewellamz Jul 22, 2025
90822df
m
ajewellamz Jul 22, 2025
1388574
m
ajewellamz Jul 23, 2025
bee7476
m
ajewellamz Jul 23, 2025
8ec3cd5
m
ajewellamz Jul 23, 2025
3b71365
m
ajewellamz Jul 23, 2025
05cc97d
m
ajewellamz Jul 23, 2025
ae0ef6f
m
ajewellamz Jul 25, 2025
e96ce28
m
ajewellamz Jul 25, 2025
d622567
m
ajewellamz Jul 25, 2025
a1814ee
m
ajewellamz Jul 28, 2025
d087faf
m
ajewellamz Jul 28, 2025
d0ace70
m
ajewellamz Jul 29, 2025
0b4fd63
m
ajewellamz Jul 30, 2025
09adff0
new smithy-dafny
ajewellamz Jul 30, 2025
57080c2
m
ajewellamz Jul 31, 2025
8cedefa
m
ajewellamz Jul 31, 2025
3efbf18
m
ajewellamz Jul 31, 2025
cfbc2ef
m
ajewellamz Jul 31, 2025
a47d6f8
m
ajewellamz Aug 1, 2025
6ed336b
m
ajewellamz Aug 1, 2025
787a15c
m
ajewellamz Aug 1, 2025
9696cbd
m
ajewellamz Aug 1, 2025
8263d62
m
ajewellamz Aug 1, 2025
95b11fb
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 2, 2025
70f7440
m
ajewellamz Aug 5, 2025
95bd647
m
ajewellamz Aug 5, 2025
cf12f75
m
ajewellamz Aug 5, 2025
324af84
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 5, 2025
9e4115a
m
ajewellamz Aug 5, 2025
91f67cf
m
ajewellamz Aug 6, 2025
5d043c7
m
ajewellamz Aug 6, 2025
fd33688
m
ajewellamz Aug 6, 2025
295c2ae
m
ajewellamz Aug 7, 2025
59a197e
m
ajewellamz Aug 7, 2025
30b774f
m
ajewellamz Aug 7, 2025
25b4904
m
ajewellamz Aug 9, 2025
3d9922c
m
ajewellamz Aug 11, 2025
ef344d9
m
ajewellamz Aug 11, 2025
01079cd
m
ajewellamz Aug 11, 2025
b3b0dc1
m
ajewellamz Aug 11, 2025
3b4940f
m
ajewellamz Aug 11, 2025
b378182
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 12, 2025
9b0df5c
m
ajewellamz Aug 12, 2025
046489a
m
ajewellamz Aug 12, 2025
468682b
m
ajewellamz Aug 13, 2025
839921a
m
ajewellamz Aug 13, 2025
789aa0c
m
ajewellamz Aug 13, 2025
fc801e6
m
ajewellamz Aug 13, 2025
331927d
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 14, 2025
2ddea04
m
ajewellamz Aug 21, 2025
eca2d38
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 21, 2025
bd5498d
m
ajewellamz Aug 21, 2025
d9c5bfe
m
ajewellamz Aug 21, 2025
99ff4ef
m
ajewellamz Aug 21, 2025
c2281fb
m
ajewellamz Aug 21, 2025
8996ce7
m
ajewellamz Aug 21, 2025
8424dc0
m
ajewellamz Aug 21, 2025
985d671
m
ajewellamz Aug 22, 2025
825371e
m
ajewellamz Aug 28, 2025
3a87a6a
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 28, 2025
1966765
m
ajewellamz Aug 28, 2025
1286424
m
ajewellamz Aug 28, 2025
e50757f
m
ajewellamz Aug 28, 2025
d920990
Update background.md
mahnushm Aug 29, 2025
483ba2e
Merge branch 'main' into ajewell/buckets
ajewellamz Aug 29, 2025
ddf3cca
m
ajewellamz Sep 1, 2025
87b4a34
Merge branch 'main' into ajewell/buckets
ajewellamz Sep 1, 2025
3f704a1
m
ajewellamz Sep 3, 2025
d1c04b9
Merge branch 'main' into ajewell/buckets
ajewellamz Sep 3, 2025
2c7d07f
m
ajewellamz Sep 3, 2025
c0da3ad
Merge branch 'ajewell/buckets' of github.com:aws/aws-database-encrypt…
ajewellamz Sep 3, 2025
c615157
Merge branch 'main' into ajewell/buckets
ajewellamz Sep 30, 2025
20ada7c
rename bucket to partition
ajewellamz Oct 10, 2025
b287021
m
ajewellamz Oct 10, 2025
5a5606e
m
ajewellamz Oct 10, 2025
d3528ee
m
ajewellamz Oct 10, 2025
8cf041d
m
ajewellamz Oct 10, 2025
5491603
m
ajewellamz Oct 10, 2025
86b328d
m
ajewellamz Oct 13, 2025
2f6dd1c
Merge branch 'main' into ajewell/buckets
ajewellamz Oct 13, 2025
0b242da
m
ajewellamz Oct 13, 2025
096094f
Merge branch 'ajewell/buckets' of github.com:aws/aws-database-encrypt…
ajewellamz Oct 13, 2025
8c4eded
Merge branch 'main' into ajewell/buckets
ajewellamz Dec 5, 2025
5536644
Merge branch 'main' into ajewell/buckets
lucasmcdonald3 Feb 12, 2026
64003f3
Merge branch 'main' into ajewell/buckets
rishav-karanjit Feb 16, 2026
2c4f418
Update specification/changes/2025-08-25-beacon-partitions/background.md
mahnushm Feb 20, 2026
1bb16f3
Update TestVectors/dafny/DDBEncryption/src/TestVectors.dfy
mahnushm Feb 20, 2026
e148f29
Update TestVectors/dafny/DDBEncryption/src/JsonConfig.dfy
mahnushm Feb 20, 2026
f43f5e5
Update TestVectors/dafny/DDBEncryption/src/TestVectors.dfy
mahnushm Feb 20, 2026
3300f8c
Merge branch 'main' into ajewell/buckets
texastony Mar 18, 2026
e1f56d9
fix: typo in test vectors
texastony Mar 18, 2026
2f2849d
Updated example in java to use partitions
mahnushm Mar 24, 2026
717f609
Fix partition variable usage in query request
mahnushm Mar 25, 2026
3e766c9
Fix break statement in BasicSearchableEncryptionExample
mahnushm Mar 25, 2026
a3faa9e
Refactor comments and update beacon configurations
mahnushm Mar 25, 2026
91a1875
Refactor query response handling in basic_searchable_encryption
mahnushm Mar 25, 2026
9c24587
Update basic_searchable_encryption.rs
mahnushm Mar 25, 2026
95948ae
Add partition condition to query request
mahnushm Mar 25, 2026
95a85a5
Update BasicSearchableEncryptionExample.java
mahnushm Mar 25, 2026
97a04b1
Fix method chaining in beacon builder and update query
mahnushm Mar 25, 2026
f0e9897
Update basic_searchable_encryption.rs
mahnushm Mar 25, 2026
02cd1db
Update BasicSearchableEncryptionExample.java
mahnushm Mar 25, 2026
16e6ebc
Remove partition key from query condition expression
mahnushm Mar 25, 2026
63ef525
Update basic_searchable_encryption.rs
mahnushm Mar 26, 2026
d9be133
Update BasicSearchableEncryptionExample.java
mahnushm Mar 26, 2026
396c1a3
Update BasicSearchableEncryptionExample.java
mahnushm Mar 26, 2026
f8b7dcf
Update basic_searchable_encryption.rs
mahnushm Mar 26, 2026
572cc37
Update basic_searchable_encryption.rs
mahnushm Mar 26, 2026
6d8e4c0
Update BasicSearchableEncryptionExample.cs
mahnushm Mar 26, 2026
94191f1
Update BasicSearchableEncryptionExample.java
mahnushm Mar 26, 2026
1bc11f6
Update BasicSearchableEncryptionExample.java
mahnushm Mar 27, 2026
6b073f0
Update Examples/runtimes/java/DynamoDbEncryption/src/main/java/softwa…
mahnushm Mar 27, 2026
26892a8
Update Examples/runtimes/java/DynamoDbEncryption/src/main/java/softwa…
mahnushm Mar 27, 2026
af735d5
Update basic_searchable_encryption.rs
mahnushm Mar 27, 2026
5452fbe
Update BasicSearchableEncryptionExample.java
mahnushm Mar 27, 2026
57bc056
Update BasicSearchableEncryptionExample.java
mahnushm Mar 30, 2026
76bdd6e
Refactor DynamoDB encryption configuration
mahnushm Mar 30, 2026
6f77834
Clarify numQueries usage with additional comments
mahnushm Mar 30, 2026
87c3096
Fix DynamoDbTablesEncryptionConfig initialization
mahnushm Mar 30, 2026
d4c9950
Change numQueries from 1 to 2
mahnushm Mar 31, 2026
1800890
Update BasicSearchableEncryptionExample.java
mahnushm Mar 31, 2026
90c966b
Modify partition settings in BasicSearchableEncryptionExample
mahnushm Mar 31, 2026
0e034b7
Refactor numQueries retrieval using queryInputTransform
mahnushm Mar 31, 2026
4426629
Modify beacon partitioning and query handling
mahnushm Mar 31, 2026
df2e135
Rename logicalTableName to tableName in transform input
mahnushm Mar 31, 2026
6940b55
Refactor query input transformation and number retrieval
mahnushm Mar 31, 2026
4e96f58
Update BasicSearchableEncryptionExample.java
mahnushm Mar 31, 2026
9a4c67c
Change default PartitionNumber value to 0
mahnushm Mar 31, 2026
3ed5589
Remove unused imports in BasicSearchableEncryptionExample
mahnushm Mar 31, 2026
28decbf
Update BasicSearchableEncryptionExample.java
mahnushm Apr 3, 2026
f63a625
Update BasicSearchableEncryptionExample.java
mahnushm Apr 7, 2026
e3d2dc0
Update number of partitions in StandardBeacon configuration
mahnushm Apr 8, 2026
866f70a
Comment out numberOfPartitions in StandardBeacons
mahnushm Apr 9, 2026
8ebae71
Update BasicSearchableEncryptionExample.java
mahnushm Apr 9, 2026
289cd14
Adjust partition settings in basic_searchable_encryption
mahnushm Apr 21, 2026
5789490
test(dafny): beacon partition tests (#2199)
josecorella Apr 30, 2026
ef6ae97
Format Java file with prettier
mahnushm May 5, 2026
c6222ad
correct formatting
mahnushm May 7, 2026
099e8d0
correct formating
mahnushm May 8, 2026
7ce6534
Merge branch 'mahnushm-example-rust' into ajewell/buckets
mahnushm May 8, 2026
4a9baa3
Adding java example for partitioned beacon
mahnushm May 8, 2026
f0fda68
Adding asynch query to help with delay.
mahnushm May 8, 2026
3bb460b
Merge branch 'main' into ajewell/buckets
josecorella May 11, 2026
0eb4214
Merge branch 'main' into ajewell/buckets
josecorella May 11, 2026
d305abc
format
josecorella May 11, 2026
0b4046b
Merge branch 'main' into ajewell/buckets
josecorella May 12, 2026
f9d6cd8
Merge branch 'main' into ajewell/buckets
josecorella May 12, 2026
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
4 changes: 3 additions & 1 deletion .github/workflows/ci_codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ jobs:
- uses: actions/checkout@v3
with:
submodules: recursive
- run: git submodule update --init --recursive submodules/smithy-dafny
- run: |
git submodule update --init --recursive submodules/smithy-dafny
git submodule update --init --recursive submodules/MaterialProviders

# Only used to format generated code
# and to translate version strings such as "nightly-latest"
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,51 +1,15 @@
diff --git b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryption/TypeConversion.cs a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryption/TypeConversion.cs
index 9601968..a2a04f8 100644
index 64de7ab2..63a975a6 100644
--- b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryption/TypeConversion.cs
+++ a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryption/TypeConversion.cs
@@ -7,10 +7,43 @@ namespace AWS.Cryptography.DbEncryptionSDK.DynamoDb
@@ -7,10 +7,6 @@ namespace AWS.Cryptography.DbEncryptionSDK.DynamoDb
{
public static class TypeConversion
{
- private const string ISO8601DateFormat = "yyyy-MM-dd\\THH:mm:ss.fff\\Z";
-
- private const string ISO8601DateFormatNoMS = "yyyy-MM-dd\\THH:mm:ss\\Z";
+ // BEGIN MANUAL EDIT
+ public static AWS.Cryptography.KeyStore.KeyStore FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S17_KeyStoreReference(software.amazon.cryptography.keystore.internaldafny.types.IKeyStoreClient value)
+ {
+ if (value is software.amazon.cryptography.keystore.internaldafny.types.IKeyStoreClient dafnyValue)
+ {
+ return new AWS.Cryptography.KeyStore.KeyStore(dafnyValue);
+ }
+ throw new System.ArgumentException("Custom implementations of AWS.Cryptography.KeyStore.KeyStore are not supported yet");
+ }
+ public static software.amazon.cryptography.keystore.internaldafny.types.IKeyStoreClient ToDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S17_KeyStoreReference(AWS.Cryptography.KeyStore.KeyStore value)
+ {
+ if (value is AWS.Cryptography.KeyStore.KeyStore nativeValue)
+ {
+ return nativeValue.impl();
+ }
+ throw new System.ArgumentException("Custom implementations of AWS.Cryptography.KeyStore.KeyStore are not supported yet");
+ }
+ public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.ILegacyDynamoDbEncryptor FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S32_LegacyDynamoDbEncryptorReference(software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.ILegacyDynamoDbEncryptor value)
+ {
+ if (value is NativeWrapper_LegacyDynamoDbEncryptor nativeWrapper) return nativeWrapper._impl;
+ return new LegacyDynamoDbEncryptor(value);

+ }
+ public static software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.ILegacyDynamoDbEncryptor ToDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S32_LegacyDynamoDbEncryptorReference(AWS.Cryptography.DbEncryptionSDK.DynamoDb.ILegacyDynamoDbEncryptor value)
+ {
+ switch (value)
+ {
+ case LegacyDynamoDbEncryptor valueWithImpl:
+ return valueWithImpl._impl;
+ case LegacyDynamoDbEncryptorBase nativeImpl:
+ return new NativeWrapper_LegacyDynamoDbEncryptor(nativeImpl);
+ default:
+ throw new System.ArgumentException(
+ "Custom implementations of LegacyDynamoDbEncryptor must extend LegacyDynamoDbEncryptorBase.");
+ }
+ }
+ // END MANUAL EDIT
public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.BeaconKeySource FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S15_BeaconKeySource(software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types._IBeaconKeySource value)
-
public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S5_AsSet(software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types._IAsSet value)
{
software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.BeaconKeySource concrete = (software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.BeaconKeySource)value;
software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.AsSet concrete = (software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.AsSet)value; AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet converted = new AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet(); return converted;
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryptionTransforms/TypeConversion.cs a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryptionTransforms/TypeConversion.cs
index 2f95341..36226d3 100644
index b7d2a823..0c973183 100644
--- b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryptionTransforms/TypeConversion.cs
+++ a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryptionTransforms/TypeConversion.cs
@@ -7,10 +7,6 @@ namespace AWS.Cryptography.DbEncryptionSDK.DynamoDb.Transforms
Expand All @@ -10,6 +10,6 @@ index 2f95341..36226d3 100644
-
- private const string ISO8601DateFormatNoMS = "yyyy-MM-dd\\THH:mm:ss\\Z";
-
public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.DynamoDbTablesEncryptionConfig FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S30_DynamoDbTablesEncryptionConfig(software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types._IDynamoDbTablesEncryptionConfig value)
public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S5_AsSet(software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types._IAsSet value)
{
software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.DynamoDbTablesEncryptionConfig concrete = (software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.DynamoDbTablesEncryptionConfig)value; AWS.Cryptography.DbEncryptionSDK.DynamoDb.DynamoDbTablesEncryptionConfig converted = new AWS.Cryptography.DbEncryptionSDK.DynamoDb.DynamoDbTablesEncryptionConfig(); converted.TableEncryptionConfigs = (System.Collections.Generic.Dictionary<string, AWS.Cryptography.DbEncryptionSDK.DynamoDb.DynamoDbTableEncryptionConfig>)FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S30_DynamoDbTablesEncryptionConfig__M22_tableEncryptionConfigs(concrete._tableEncryptionConfigs); return converted;
software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.AsSet concrete = (software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.types.AsSet)value; AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet converted = new AWS.Cryptography.DbEncryptionSDK.DynamoDb.AsSet(); return converted;
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbItemEncryptor/TypeConversion.cs a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbItemEncryptor/TypeConversion.cs
index da904fc..c5b0bed 100644
index b4a90d1b..b5d5046a 100644
--- b/DynamoDbEncryption/runtimes/net/Generated/DynamoDbItemEncryptor/TypeConversion.cs
+++ a/DynamoDbEncryption/runtimes/net/Generated/DynamoDbItemEncryptor/TypeConversion.cs
@@ -7,10 +7,6 @@ namespace AWS.Cryptography.DbEncryptionSDK.DynamoDb.ItemEncryptor
Expand All @@ -10,6 +10,6 @@ index da904fc..c5b0bed 100644
-
- private const string ISO8601DateFormatNoMS = "yyyy-MM-dd\\THH:mm:ss\\Z";
-
public static AWS.Cryptography.DbEncryptionSDK.DynamoDb.ItemEncryptor.DecryptItemInput FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__N13_itemEncryptor__S16_DecryptItemInput(software.amazon.cryptography.dbencryptionsdk.dynamodb.itemencryptor.internaldafny.types._IDecryptItemInput value)
public static System.Collections.Generic.Dictionary<string, AWS.Cryptography.DbEncryptionSDK.StructuredEncryption.CryptoAction> FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S16_AttributeActions(Dafny.IMap<Dafny.ISequence<char>, software.amazon.cryptography.dbencryptionsdk.structuredencryption.internaldafny.types._ICryptoAction> value)
{
software.amazon.cryptography.dbencryptionsdk.dynamodb.itemencryptor.internaldafny.types.DecryptItemInput concrete = (software.amazon.cryptography.dbencryptionsdk.dynamodb.itemencryptor.internaldafny.types.DecryptItemInput)value; AWS.Cryptography.DbEncryptionSDK.DynamoDb.ItemEncryptor.DecryptItemInput converted = new AWS.Cryptography.DbEncryptionSDK.DynamoDb.ItemEncryptor.DecryptItemInput(); converted.EncryptedItem = (System.Collections.Generic.Dictionary<string, Amazon.DynamoDBv2.Model.AttributeValue>)FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__N13_itemEncryptor__S16_DecryptItemInput__M13_encryptedItem(concrete._encryptedItem); return converted;
return value.ItemEnumerable.ToDictionary(pair => FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S16_AttributeActions__M3_key(pair.Car), pair => FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N8_dynamoDb__S16_AttributeActions__M5_value(pair.Cdr));
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git b/DynamoDbEncryption/runtimes/net/Generated/StructuredEncryption/TypeConversion.cs a/DynamoDbEncryption/runtimes/net/Generated/StructuredEncryption/TypeConversion.cs
index d0a4e58..4e9890c 100644
index df81f311..ac28fc2a 100644
--- b/DynamoDbEncryption/runtimes/net/Generated/StructuredEncryption/TypeConversion.cs
+++ a/DynamoDbEncryption/runtimes/net/Generated/StructuredEncryption/TypeConversion.cs
@@ -7,10 +7,6 @@ namespace AWS.Cryptography.DbEncryptionSDK.StructuredEncryption
Expand All @@ -10,6 +10,6 @@ index d0a4e58..4e9890c 100644
-
- private const string ISO8601DateFormatNoMS = "yyyy-MM-dd\\THH:mm:ss\\Z";
-
public static AWS.Cryptography.DbEncryptionSDK.StructuredEncryption.AuthenticateAction FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N20_structuredEncryption__S18_AuthenticateAction(software.amazon.cryptography.dbencryptionsdk.structuredencryption.internaldafny.types._IAuthenticateAction value)
public static AWS.Cryptography.Primitives.AtomicPrimitives FromDafny_N3_aws__N12_cryptography__N15_dbEncryptionSdk__N20_structuredEncryption__S25_AtomicPrimitivesReference(software.amazon.cryptography.primitives.internaldafny.types.IAwsCryptographicPrimitivesClient value)
{
if (value.is_SIGN) return AWS.Cryptography.DbEncryptionSDK.StructuredEncryption.AuthenticateAction.SIGN;
if (value is software.amazon.cryptography.primitives.internaldafny.types.IAwsCryptographicPrimitivesClient dafnyValue)
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,88 @@ module {:extern "software.amazon.cryptography.dbencryptionsdk.dynamodb.internald
nameonly compoundBeacons: Option<CompoundBeaconList> := Option.None ,
nameonly virtualFields: Option<VirtualFieldList> := Option.None ,
nameonly encryptedParts: Option<EncryptedPartsList> := Option.None ,
nameonly signedParts: Option<SignedPartsList> := Option.None
nameonly signedParts: Option<SignedPartsList> := Option.None ,
nameonly maximumNumberOfBuckets: Option<BucketCount> := Option.None ,
nameonly defaultNumberOfBuckets: Option<BucketCount> := Option.None ,
nameonly bucketSelector: Option<IBucketSelector> := Option.None
)
type BeaconVersionList = x: seq<BeaconVersion> | IsValid_BeaconVersionList(x) witness *
predicate method IsValid_BeaconVersionList(x: seq<BeaconVersion>) {
( 1 <= |x| <= 1 )
}
type BucketCount = x: int32 | IsValid_BucketCount(x) witness *
predicate method IsValid_BucketCount(x: int32) {
( 1 <= x <= 255 )
}
type BucketNumber = x: int32 | IsValid_BucketNumber(x) witness *
predicate method IsValid_BucketNumber(x: int32) {
( 0 <= x <= 254 )
}
class IBucketSelectorCallHistory {
ghost constructor() {
GetBucketNumber := [];
}
ghost var GetBucketNumber: seq<DafnyCallEvent<GetBucketNumberInput, Result<GetBucketNumberOutput, Error>>>
}
trait {:termination false} IBucketSelector
{
// Helper to define any additional modifies/reads clauses.
// If your operations need to mutate state,
// add it in your constructor function:
// Modifies := {your, fields, here, History};
// If you do not need to mutate anything:
// Modifies := {History};

ghost const Modifies: set<object>
// For an unassigned field defined in a trait,
// Dafny can only assign a value in the constructor.
// This means that for Dafny to reason about this value,
// it needs some way to know (an invariant),
// about the state of the object.
// This builds on the Valid/Repr paradigm
// To make this kind requires safe to add
// to methods called from unverified code,
// the predicate MUST NOT take any arguments.
// This means that the correctness of this requires
// MUST only be evaluated by the class itself.
// If you require any additional mutation,
// then you MUST ensure everything you need in ValidState.
// You MUST also ensure ValidState in your constructor.
predicate ValidState()
ensures ValidState() ==> History in Modifies
ghost const History: IBucketSelectorCallHistory
predicate GetBucketNumberEnsuresPublicly(input: GetBucketNumberInput , output: Result<GetBucketNumberOutput, Error>)
// The public method to be called by library consumers
method GetBucketNumber ( input: GetBucketNumberInput )
returns (output: Result<GetBucketNumberOutput, Error>)
requires
&& ValidState()
modifies Modifies - {History} ,
History`GetBucketNumber
// Dafny will skip type parameters when generating a default decreases clause.
decreases Modifies - {History}
ensures
&& ValidState()
ensures GetBucketNumberEnsuresPublicly(input, output)
ensures History.GetBucketNumber == old(History.GetBucketNumber) + [DafnyCallEvent(input, output)]
{
output := GetBucketNumber' (input);
History.GetBucketNumber := History.GetBucketNumber + [DafnyCallEvent(input, output)];
}
// The method to implement in the concrete class.
method GetBucketNumber' ( input: GetBucketNumberInput )
returns (output: Result<GetBucketNumberOutput, Error>)
requires
&& ValidState()
modifies Modifies - {History}
// Dafny will skip type parameters when generating a default decreases clause.
decreases Modifies - {History}
ensures
&& ValidState()
ensures GetBucketNumberEnsuresPublicly(input, output)
ensures unchanged(History)

}
type Char = x: string | IsValid_Char(x) witness *
predicate method IsValid_Char(x: string) {
( 1 <= |x| <= 1 )
Expand Down Expand Up @@ -272,6 +348,14 @@ module {:extern "software.amazon.cryptography.dbencryptionsdk.dynamodb.internald
datatype GetBranchKeyIdFromDdbKeyOutput = | GetBranchKeyIdFromDdbKeyOutput (
nameonly branchKeyId: string
)
datatype GetBucketNumberInput = | GetBucketNumberInput (
nameonly item: ComAmazonawsDynamodbTypes.AttributeMap ,
nameonly numberOfBuckets: BucketCount ,
nameonly logicalTableName: string
)
datatype GetBucketNumberOutput = | GetBucketNumberOutput (
nameonly bucketNumber: BucketNumber
)
datatype GetEncryptedDataKeyDescriptionInput = | GetEncryptedDataKeyDescriptionInput (
nameonly input: GetEncryptedDataKeyDescriptionUnion
)
Expand Down Expand Up @@ -397,7 +481,8 @@ module {:extern "software.amazon.cryptography.dbencryptionsdk.dynamodb.internald
nameonly name: string ,
nameonly length: BeaconBitLength ,
nameonly loc: Option<TerminalLocation> := Option.None ,
nameonly style: Option<BeaconStyle> := Option.None
nameonly style: Option<BeaconStyle> := Option.None ,
nameonly numberOfBuckets: Option<BucketCount> := Option.None
)
type StandardBeaconList = x: seq<StandardBeacon> | IsValid_StandardBeaconList(x) witness *
predicate method IsValid_StandardBeaconList(x: seq<StandardBeacon>) {
Expand Down
Loading
Loading