Skip to content

Commit e177ba8

Browse files
committed
m
1 parent 429953d commit e177ba8

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
use std::future::Future;
5+
use aws_db_esdk::key_store::types::KeyStoreConfig;
6+
use aws_db_esdk::key_store::types::KmsConfiguration;
7+
use aws_db_esdk::material_providers::types::MaterialProvidersConfig;
8+
use aws_db_esdk::key_store::client as keystore_client;
9+
use aws_db_esdk::material_providers::client;
10+
11+
fn is_send<T: Future + Send>(_f: T) {}
12+
13+
fn example() {
14+
let future = async move {
15+
let kms_key_id =
16+
"random key stuff"
17+
.to_string();
18+
19+
// 1. Configure your KeyStore resource.
20+
// This SHOULD be the same configuration that was used to create the DDB table
21+
// in the "Create KeyStore Table Example".
22+
let sdk_config = aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await;
23+
let key_store_config = KeyStoreConfig::builder()
24+
.kms_client(aws_sdk_kms::Client::new(&sdk_config))
25+
.ddb_client(aws_sdk_dynamodb::Client::new(&sdk_config))
26+
.ddb_table_name("KeyStore")
27+
.logical_key_store_name("KeyStore")
28+
.kms_configuration(KmsConfiguration::KmsKeyArn(kms_key_id.clone()))
29+
.build()
30+
.unwrap();
31+
32+
let keystore = keystore_client::Client::from_conf(key_store_config).unwrap();
33+
34+
let _new_key = keystore.create_key().send().await.unwrap();
35+
36+
let provider_config = MaterialProvidersConfig::builder().build().unwrap();
37+
38+
let mat_prov = client::Client::from_conf(provider_config).unwrap();
39+
let _kms_keyring = mat_prov
40+
.create_aws_kms_mrk_multi_keyring()
41+
.generator(kms_key_id)
42+
.send()
43+
.await
44+
.unwrap();
45+
};
46+
47+
is_send(future);
48+
}

0 commit comments

Comments
 (0)