diff --git a/DynamoDbEncryption/runtimes/rust/examples/basic_get_put_example.rs b/DynamoDbEncryption/runtimes/rust/examples/basic_get_put_example.rs index ba656dab6..ffbfeb916 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/basic_get_put_example.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/basic_get_put_example.rs @@ -5,12 +5,12 @@ use crate::test_utils; use aws_sdk_dynamodb::types::AttributeValue; use std::collections::HashMap; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::material_providers::types::DbeAlgorithmSuiteId; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::types::dynamo_db_tables_encryption_config::DynamoDbTablesEncryptionConfig; diff --git a/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/client_supplier_example.rs b/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/client_supplier_example.rs index 07e3b5d99..eb315e761 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/client_supplier_example.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/client_supplier_example.rs @@ -3,11 +3,11 @@ use super::regional_role_client_supplier::RegionalRoleClientSupplier; use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::DiscoveryFilter; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::DiscoveryFilter; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/regional_role_client_supplier.rs b/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/regional_role_client_supplier.rs index f8ea8cc6a..353645640 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/regional_role_client_supplier.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/clientsupplier/regional_role_client_supplier.rs @@ -2,10 +2,10 @@ // SPDX-License-Identifier: Apache-2.0 use aws_config::Region; -use aws_db_esdk::aws_cryptography_materialProviders::operation::get_client::GetClientInput; -use aws_db_esdk::aws_cryptography_materialProviders::types::error::Error; -use aws_db_esdk::aws_cryptography_materialProviders::types::ClientSupplier; -use aws_db_esdk::deps::com_amazonaws_kms::client::Client as kms_client; +use aws_db_esdk::material_providers::operation::get_client::GetClientInput; +use aws_db_esdk::material_providers::types::error::Error; +use aws_db_esdk::material_providers::types::ClientSupplier; +use aws_db_esdk::com_amazonaws_kms::client::Client as kms_client; /* Example class demonstrating an implementation of a custom client supplier. @@ -44,7 +44,7 @@ impl ClientSupplier for RegionalRoleClientSupplier { .build(); let inner_client = aws_sdk_kms::Client::from_conf(kms_config); - Ok(aws_db_esdk::deps::com_amazonaws_kms::client::Client { + Ok(kms_client { inner: inner_client, }) } diff --git a/DynamoDbEncryption/runtimes/rust/examples/create_keystore_key.rs b/DynamoDbEncryption/runtimes/rust/examples/create_keystore_key.rs index cf4b20fdd..65bd03944 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/create_keystore_key.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/create_keystore_key.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; /* The Hierarchical Keyring Example and Searchable Encryption Examples diff --git a/DynamoDbEncryption/runtimes/rust/examples/get_encrypted_data_key_description.rs b/DynamoDbEncryption/runtimes/rust/examples/get_encrypted_data_key_description.rs index 234a2df55..d0649cbb8 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/get_encrypted_data_key_description.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/get_encrypted_data_key_description.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::client as dbesdk_client; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::dynamo_db_encryption_config::DynamoDbEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetEncryptedDataKeyDescriptionUnion; +use aws_db_esdk::dynamodb::client as dbesdk_client; +use aws_db_esdk::dynamodb::types::dynamo_db_encryption_config::DynamoDbEncryptionConfig; +use aws_db_esdk::dynamodb::types::GetEncryptedDataKeyDescriptionUnion; use aws_sdk_dynamodb::types::AttributeValue; use std::collections::HashMap; diff --git a/DynamoDbEncryption/runtimes/rust/examples/itemencryptor/item_encrypt_decrypt.rs b/DynamoDbEncryption/runtimes/rust/examples/itemencryptor/item_encrypt_decrypt.rs index 12928c29c..92e95a5ca 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/itemencryptor/item_encrypt_decrypt.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/itemencryptor/item_encrypt_decrypt.rs @@ -5,13 +5,13 @@ use crate::test_utils; use aws_sdk_dynamodb::types::AttributeValue; use std::collections::HashMap; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::types::dynamo_db_item_encryptor_config::DynamoDbItemEncryptorConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor::client as enc_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId; +use aws_db_esdk::item_encryptor::types::dynamo_db_item_encryptor_config::DynamoDbItemEncryptorConfig; +use aws_db_esdk::item_encryptor::client as enc_client; +use aws_db_esdk::material_providers::types::DbeAlgorithmSuiteId; /* This example sets up a DynamoDb Item Encryptor and uses diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/branch_key_id_supplier.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/branch_key_id_supplier.rs index dbd7958d9..9d8fbbb07 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/branch_key_id_supplier.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/branch_key_id_supplier.rs @@ -1,10 +1,10 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyInput; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyOutput; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::error::Error; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbKeyBranchKeyIdSupplier; +use aws_db_esdk::dynamodb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyInput; +use aws_db_esdk::dynamodb::operation::get_branch_key_id_from_ddb_key::GetBranchKeyIdFromDdbKeyOutput; +use aws_db_esdk::dynamodb::types::error::Error; +use aws_db_esdk::dynamodb::types::DynamoDbKeyBranchKeyIdSupplier; // Used in the 'HierarchicalKeyringExample'. // In that example, we have a table where we distinguish multiple tenants diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/hierarchical_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/hierarchical_keyring.rs index 741e2025a..287a8c659 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/hierarchical_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/hierarchical_keyring.rs @@ -3,15 +3,15 @@ use super::branch_key_id_supplier::ExampleBranchKeyIdSupplier; use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::client as dbesdk_client; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::dynamo_db_encryption_config::DynamoDbEncryptionConfig; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; +use aws_db_esdk::dynamodb::client as dbesdk_client; +use aws_db_esdk::dynamodb::types::dynamo_db_encryption_config::DynamoDbEncryptionConfig; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/kms_rsa_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/kms_rsa_keyring.rs index 601eca2ca..e65ffa829 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/kms_rsa_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/kms_rsa_keyring.rs @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::DbeAlgorithmSuiteId; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; @@ -15,7 +15,7 @@ use std::fs::File; use std::io::Read; use std::io::Write; use std::path::Path; - + /* This example sets up DynamoDb Encryption for the AWS SDK client using the KMS RSA Keyring. This keyring uses a KMS RSA key pair to diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/mrk_discovery_multi_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/mrk_discovery_multi_keyring.rs index 5d6d57a3a..55f895562 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/mrk_discovery_multi_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/mrk_discovery_multi_keyring.rs @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::DiscoveryFilter; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::DiscoveryFilter; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_keyring.rs index c4b128e8a..2fcfe8cd7 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_keyring.rs @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::AesWrappingAlg; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::AesWrappingAlg; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_mrk_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_mrk_keyring.rs index f6c5fecd3..115f3c16d 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_mrk_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/multi_mrk_keyring.rs @@ -2,10 +2,10 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_aes_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_aes_keyring.rs index 6cb91e0c2..91775090e 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_aes_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_aes_keyring.rs @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::AesWrappingAlg; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::AesWrappingAlg; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_rsa_keyring.rs b/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_rsa_keyring.rs index 7510bc1b8..4c6c6d331 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_rsa_keyring.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/keyring/raw_rsa_keyring.rs @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::PaddingScheme; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::material_providers::types::PaddingScheme; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/multi_get_put_example.rs b/DynamoDbEncryption/runtimes/rust/examples/multi_get_put_example.rs index 559be27fc..02aab30fc 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/multi_get_put_example.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/multi_get_put_example.rs @@ -5,12 +5,12 @@ use crate::test_utils; use aws_sdk_dynamodb::types::AttributeValue; use std::collections::HashMap; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_materialProviders::types::DbeAlgorithmSuiteId; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::material_providers::types::DbeAlgorithmSuiteId; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::types::dynamo_db_tables_encryption_config::DynamoDbTablesEncryptionConfig; diff --git a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/basic_searchable_encryption.rs b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/basic_searchable_encryption.rs index 94456cfa7..d9b8cc47d 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/basic_searchable_encryption.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/basic_searchable_encryption.rs @@ -5,19 +5,19 @@ use crate::test_utils; use aws_sdk_dynamodb::types::AttributeValue; use std::collections::HashMap; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_materialProviders::client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::material_providers::client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconKeySource; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconVersion; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SearchConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SingleKeyStore; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::StandardBeacon; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; +use aws_db_esdk::dynamodb::types::BeaconKeySource; +use aws_db_esdk::dynamodb::types::BeaconVersion; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::dynamodb::types::SearchConfig; +use aws_db_esdk::dynamodb::types::SingleKeyStore; +use aws_db_esdk::dynamodb::types::StandardBeacon; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::types::dynamo_db_tables_encryption_config::DynamoDbTablesEncryptionConfig; diff --git a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/beacon_styles_searchable_encryption.rs b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/beacon_styles_searchable_encryption.rs index e62d0a175..45701af7b 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/beacon_styles_searchable_encryption.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/beacon_styles_searchable_encryption.rs @@ -2,22 +2,22 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconKeySource; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconStyle; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconVersion; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::CompoundBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SearchConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SingleKeyStore; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::StandardBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::*; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::BeaconKeySource; +use aws_db_esdk::dynamodb::types::BeaconStyle; +use aws_db_esdk::dynamodb::types::BeaconVersion; +use aws_db_esdk::dynamodb::types::CompoundBeacon; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::dynamodb::types::EncryptedPart; +use aws_db_esdk::dynamodb::types::SearchConfig; +use aws_db_esdk::dynamodb::types::SingleKeyStore; +use aws_db_esdk::dynamodb::types::StandardBeacon; +use aws_db_esdk::dynamodb::types::*; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use aws_sdk_dynamodb::types::AttributeValue; diff --git a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/complexexample/beacon_config.rs b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/complexexample/beacon_config.rs index 0e8e4acc7..39adb19be 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/complexexample/beacon_config.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/complexexample/beacon_config.rs @@ -1,23 +1,23 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconKeySource; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconVersion; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::CompoundBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::Constructor; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::ConstructorPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SearchConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SignedPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SingleKeyStore; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::StandardBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::BeaconKeySource; +use aws_db_esdk::dynamodb::types::BeaconVersion; +use aws_db_esdk::dynamodb::types::CompoundBeacon; +use aws_db_esdk::dynamodb::types::Constructor; +use aws_db_esdk::dynamodb::types::ConstructorPart; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::dynamodb::types::EncryptedPart; +use aws_db_esdk::dynamodb::types::SearchConfig; +use aws_db_esdk::dynamodb::types::SignedPart; +use aws_db_esdk::dynamodb::types::SingleKeyStore; +use aws_db_esdk::dynamodb::types::StandardBeacon; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; use std::collections::HashMap; diff --git a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/compound_beacon_searchable_encryption.rs b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/compound_beacon_searchable_encryption.rs index 736e1a486..9246dcc4e 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/compound_beacon_searchable_encryption.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/compound_beacon_searchable_encryption.rs @@ -2,20 +2,20 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconKeySource; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconVersion; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::CompoundBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::EncryptedPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SearchConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SingleKeyStore; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::StandardBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::BeaconKeySource; +use aws_db_esdk::dynamodb::types::BeaconVersion; +use aws_db_esdk::dynamodb::types::CompoundBeacon; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::dynamodb::types::EncryptedPart; +use aws_db_esdk::dynamodb::types::SearchConfig; +use aws_db_esdk::dynamodb::types::SingleKeyStore; +use aws_db_esdk::dynamodb::types::StandardBeacon; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; use aws_db_esdk::client as transform_client; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; diff --git a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/virtual_beacon_searchable_encryption.rs b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/virtual_beacon_searchable_encryption.rs index dd107c7f5..a324534ce 100644 --- a/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/virtual_beacon_searchable_encryption.rs +++ b/DynamoDbEncryption/runtimes/rust/examples/searchableencryption/virtual_beacon_searchable_encryption.rs @@ -2,22 +2,22 @@ // SPDX-License-Identifier: Apache-2.0 use crate::test_utils; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconKeySource; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::BeaconVersion; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::DynamoDbTableEncryptionConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::GetPrefix; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SearchConfig; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::SingleKeyStore; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::StandardBeacon; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::VirtualField; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::VirtualPart; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_dynamoDb::types::VirtualTransform; -use aws_db_esdk::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; -use aws_db_esdk::aws_cryptography_keyStore::client as keystore_client; -use aws_db_esdk::aws_cryptography_keyStore::types::key_store_config::KeyStoreConfig; -use aws_db_esdk::aws_cryptography_keyStore::types::KmsConfiguration; -use aws_db_esdk::aws_cryptography_materialProviders::client as mpl_client; -use aws_db_esdk::aws_cryptography_materialProviders::types::material_providers_config::MaterialProvidersConfig; +use aws_db_esdk::dynamodb::types::BeaconKeySource; +use aws_db_esdk::dynamodb::types::BeaconVersion; +use aws_db_esdk::dynamodb::types::DynamoDbTableEncryptionConfig; +use aws_db_esdk::dynamodb::types::GetPrefix; +use aws_db_esdk::dynamodb::types::SearchConfig; +use aws_db_esdk::dynamodb::types::SingleKeyStore; +use aws_db_esdk::dynamodb::types::StandardBeacon; +use aws_db_esdk::dynamodb::types::VirtualField; +use aws_db_esdk::dynamodb::types::VirtualPart; +use aws_db_esdk::dynamodb::types::VirtualTransform; +use aws_db_esdk::CryptoAction; +use aws_db_esdk::key_store::client as keystore_client; +use aws_db_esdk::key_store::types::key_store_config::KeyStoreConfig; +use aws_db_esdk::key_store::types::KmsConfiguration; +use aws_db_esdk::material_providers::client as mpl_client; +use aws_db_esdk::material_providers::types::material_providers_config::MaterialProvidersConfig; use aws_db_esdk::client as transform_client; use aws_db_esdk::intercept::DbEsdkInterceptor; use aws_db_esdk::DynamoDbTablesEncryptionConfig; diff --git a/DynamoDbEncryption/runtimes/rust/src/lib.rs b/DynamoDbEncryption/runtimes/rust/src/lib.rs index 62facc93b..a2ab0384e 100644 --- a/DynamoDbEncryption/runtimes/rust/src/lib.rs +++ b/DynamoDbEncryption/runtimes/rust/src/lib.rs @@ -1,35 +1,114 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +//! The AWS Database Encryption SDK provides client side encryption for DynamoDB. +//! +//! The journey starts with a configuration. +//! For details see the [Examples](https://github.com/aws/aws-database-encryption-sdk-dynamodb/tree/main/releases/rust/db_esdk/examples) +//! or the [Developer Guide](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide) +//! +//! The examples below will use an empty configuration for brevity. +//! This is not something you would do in actual use. +//! +//! There are two modes of operation. +//! +//! ## DynamoDB Client with Interceptor +//! By far the most common mode is to add our interceptor to your DynamoDB client. +//! +//! Once you've created your augmented DynamoDB Client, use it as you normally would. +//! Values are automatically encrypted on Put and decrypted on Get. +//! +//! If configured, Scan Beacons are generated to allow [Searchable Encryption](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/searchable-encryption.html) +//! +//! [See full example](https://github.com/aws/aws-database-encryption-sdk-dynamodb/blob/main/releases/rust/db_esdk/examples/basic_get_put_example.rs) +//! +//! ```text +//! let table_configs = DynamoDbTablesEncryptionConfig::builder() +//! .table_encryption_configs(HashMap::new()) // your configuration here +//! .build()?; +//! +//! let sdk_config = aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await; +//! let dynamo_config = aws_sdk_dynamodb::config::Builder::from(&sdk_config) +//! .interceptor(DbEsdkInterceptor::new(table_configs)?) +//! .build(); +//! +//! let ddb_client = aws_sdk_dynamodb::Client::from_conf(dynamo_config); +//! ``` +//! +//! ## Item Encryptor +//! +//! Rather than letting things happen automatically, you can manually encrypt +//! and decrypt individual DynamoDB Items. +//! This does NOT allow for [Searchable Encryption](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/searchable-encryption.html). +//! +//! [See full example](https://github.com/aws/aws-database-encryption-sdk-dynamodb/blob/main/releases/rust/db_esdk/examples/itemencryptor/item_encrypt_decrypt.rs) +//! +//! ```text +//! let config = DynamoDbItemEncryptorConfig::builder() +//! // your configuration here +//! .build()?; +//! +//! let item_encryptor = enc_client::Client::from_conf(config)?; +//! +//! let encrypted_item = item_encryptor +//! .encrypt_item() +//! .plaintext_item(original_item) +//! .send() +//! .await? +//! .encrypted_item +//! .unwrap(); +//! +//! let decrypted_item = item_encryptor +//! .decrypt_item() +//! .encrypted_item(encrypted_item) +//! .send() +//! .await? +//! .encrypted_item +//! .unwrap(); +//! +//! assert_eq!(decrypted_item, original_item); +//! ``` +//! + #![allow(warnings, unconditional_panic)] #![allow(nonstandard_style)] #![allow(clippy::never_loop)] #![allow(clippy::absurd_extreme_comparisons)] +/// Client for use with the various low level transform operations pub mod client; -pub mod conversions; -pub mod deps; -/// Common errors and error handling utilities. +/// Errors and error handling utilities. pub mod error; -/// All operations that this crate can perform. +/// All the transform operations. Rarely useful. pub mod operation; +/// Types for the transform client. Rarely useful. pub mod types; +/// the DbEsdkInterceptor type for use with the aws_sdk_dynamodb interceptor +pub mod intercept; #[cfg(feature = "wrapped-client")] pub mod wrapped; -mod standard_library_conversions; -mod standard_library_externs; - pub use client::Client; pub use types::dynamo_db_tables_encryption_config::DynamoDbTablesEncryptionConfig; -pub use crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb; -pub use crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor; -pub use crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption; -pub use crate::deps::aws_cryptography_keyStore; -pub use crate::deps::aws_cryptography_materialProviders; -pub use crate::deps::aws_cryptography_primitives; +/// Configuration types etc. +pub use crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb as dynamodb; +/// Low level interface to encrypt or decrypt individual Items. +pub use crate::deps::aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor as item_encryptor; +/// Branch key support. See [Key Stores](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/keystores.html) +pub use crate::deps::aws_cryptography_keyStore as key_store; +/// [Key Rings](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/choose-keyring.html) and other fundamentals. +pub use crate::deps::aws_cryptography_materialProviders as material_providers; +pub(crate) use crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption; +pub use crate::deps::aws_cryptography_dbEncryptionSdk_structuredEncryption::types::CryptoAction; +/// Rarely needed internal KMS Client, needed for [ClientSupplier](https://github.com/aws/aws-database-encryption-sdk-dynamodb/blob/main/releases/rust/db_esdk/examples/clientsupplier/regional_role_client_supplier.rs) +pub use crate::deps::com_amazonaws_kms; + +mod standard_library_conversions; +mod standard_library_externs; + +pub(crate) use crate::deps::aws_cryptography_primitives; pub(crate) mod implementation_from_dafny; pub(crate) use crate::implementation_from_dafny::_Wrappers_Compile; @@ -48,6 +127,10 @@ pub(crate) use crate::implementation_from_dafny::HMAC; pub(crate) use crate::implementation_from_dafny::UTF8; pub(crate) use crate::implementation_from_dafny::UUID; +pub(crate) mod validation; +pub(crate) mod conversions; +pub(crate) mod deps; + pub(crate) mod aes_gcm; pub(crate) mod aes_kdf_ctr; pub(crate) mod concurrent_call; @@ -57,7 +140,6 @@ pub(crate) mod digest; pub(crate) mod ecdh; pub(crate) mod ecdsa; pub(crate) mod hmac; -pub mod intercept; pub(crate) mod kms; pub(crate) mod local_cmc; pub(crate) mod random; @@ -67,4 +149,3 @@ pub(crate) mod software_externs; pub(crate) mod storm_tracker; pub(crate) mod time; pub(crate) mod uuid; -pub(crate) mod validation;