@@ -7,14 +7,17 @@ TRANSPILE_TESTS_IN_RUST=1
77include ../SharedMakefile.mk
88
99PROJECT_SERVICES := \
10- DDBEncryption
10+ DDBEncryption \
11+ WrappedDynamoDbItemEncryptor
1112
1213MAIN_SERVICE_FOR_RUST := DDBEncryption
1314
1415SMITHY_MODEL_ROOT := $(PROJECT_ROOT ) /DynamoDbEncryption/dafny/DynamoDbEncryption/Model
1516OUTPUT_LOCAL_SERVICE_DDBEncryption := --local-service-test
17+ OUTPUT_LOCAL_SERVICE_WrappedDynamoDbItemEncryptor := --local-service-test
1618
1719SERVICE_NAMESPACE_DDBEncryption =aws.cryptography.dbEncryptionSdk.dynamoDb
20+ SERVICE_NAMESPACE_WrappedDynamoDbItemEncryptor =aws.cryptography.dbEncryptionSdk.dynamoDb.itemEncryptor
1821
1922MAX_RESOURCE_COUNT =10000000
2023# Order is important
@@ -35,6 +38,7 @@ RUST_OTHER_FILES := \
3538 runtimes/rust/src/ddb.rs \
3639 runtimes/rust/src/concurrent_call.rs \
3740 runtimes/rust/src/create_client.rs \
41+ runtimes/rust/src/create_wrapped_item_encryptor.rs \
3842 runtimes/rust/src/dafny_libraries.rs \
3943 runtimes/rust/src/digest.rs \
4044 runtimes/rust/src/ecdh.rs \
@@ -66,6 +70,8 @@ PROJECT_INDEX := \
6670 DynamoDbEncryption/dafny/DynamoDbItemEncryptor/src/Index.dfy \
6771 DynamoDbEncryption/dafny/DynamoDbEncryptionTransforms/src/Index.dfy \
6872 DynamoDbEncryption/dafny/DynamoDbEncryption/src/Index.dfy \
73+ DynamoDbEncryption/dafny/DynamoDbItemEncryptor/src/Index.dfy \
74+ DynamoDbEncryption/dafny/DynamoDbEncryptionTransforms/src/Index.dfy \
6975
7076STD_LIBRARY =submodules/MaterialProviders/StandardLibrary
7177SMITHY_DEPS =submodules/MaterialProviders/model
@@ -85,8 +91,41 @@ SERVICE_DEPS_DDBEncryption := \
8591 DynamoDbEncryption/dafny/StructuredEncryption \
8692 submodules/MaterialProviders/TestVectorsAwsCryptographicMaterialProviders/dafny/TestVectorsAwsCryptographicMaterialProviders \
8793
94+ SERVICE_DEPS_WrappedDynamoDbItemEncryptor := \
95+ submodules/MaterialProviders/AwsCryptographyPrimitives \
96+ submodules/MaterialProviders/ComAmazonawsKms \
97+ submodules/MaterialProviders/ComAmazonawsDynamodb \
98+ submodules/MaterialProviders/AwsCryptographicMaterialProviders/dafny/AwsCryptographicMaterialProviders \
99+ submodules/MaterialProviders/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore \
100+ DynamoDbEncryption/dafny/StructuredEncryption \
101+ DynamoDbEncryption/dafny/DynamoDbEncryption \
102+ DynamoDbEncryption/dafny/DynamoDbItemEncryptor \
103+ submodules/MaterialProviders/TestVectorsAwsCryptographicMaterialProviders/dafny/TestVectorsAwsCryptographicMaterialProviders \
104+
88105transpile_implementation_rust : _remove_wrapped_client_rust
89106
90107_remove_wrapped_client_rust :
91108 $(MAKE ) _sed_file SED_FILE_PATH=" runtimes/rust/src/deps/aws_cryptography_materialProviders.rs" \
92109SED_BEFORE_STRING =' \# \[cfg(feature = "wrapped-client")\]' SED_AFTER_STRING='\/\/ Removed cfg(feature = "wrapped-client")'
110+
111+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_PRIMITIVES =runtimes/rust/src/deps/aws_cryptography_primitives.rs
112+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_KEYSTORE =runtimes/rust/src/deps/aws_cryptography_keyStore.rs
113+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB =runtimes/rust/src/deps/aws_cryptography_dbEncryptionSdk_dynamoDb_transforms.rs
114+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB_ITEM_ENCRYPTOR =runtimes/rust/src/deps/aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor.rs
115+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB_STRUCTURED_ENCRYPTION =runtimes/rust/src/deps/aws_cryptography_dbEncryptionSdk_structuredEncryption.rs
116+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_1 = "\# \[cfg(feature = \"wrapped-client\")\]"
117+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_2 := 'pub mod wrapped;'
118+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_1 := '\/\/ removed wrapped-client feature using sed;'
119+ REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_2 := '\/\/ removed wrapped module using sed;'
120+
121+ _polymorph_rust : _remove_wrapped_client_rust
122+
123+ _remove_wrapped_client_rust :
124+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_PRIMITIVES ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_1 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_1 )
125+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_PRIMITIVES ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_2 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_2 )
126+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_KEYSTORE ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_1 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_1 )
127+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_KEYSTORE ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_2 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_2 )
128+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_1 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_1 )
129+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_2 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_2 )
130+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB_STRUCTURED_ENCRYPTION ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_1 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_1 )
131+ $(MAKE ) _sed_file SED_FILE_PATH=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_DYNAMODB_STRUCTURED_ENCRYPTION ) SED_BEFORE_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_FROM_2 ) SED_AFTER_STRING=$(REMOVE_WRAPPED_CLIENT_AFTER_POLYMORPH_RUST_TO_2 )
0 commit comments