-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathddb.rs
75 lines (70 loc) · 3.22 KB
/
ddb.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
#![deny(warnings, unconditional_panic)]
#![deny(nonstandard_style)]
#![deny(clippy::all)]
use aws_config::Region;
use std::sync::LazyLock;
static DAFNY_TOKIO_RUNTIME: LazyLock<tokio::runtime::Runtime> = LazyLock::new(|| {
tokio::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.unwrap()
});
#[allow(non_snake_case)]
impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::_default {
pub fn DDBClientForRegion(region: &::dafny_runtime::Sequence<::dafny_runtime::DafnyCharUTF16>) -> ::dafny_runtime::Rc<
crate::r#_Wrappers_Compile::Result<
::dafny_runtime::Object<dyn crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::IDynamoDBClient>,
::dafny_runtime::Rc<crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::Error>
>
>{
let region =
dafny_runtime::dafny_runtime_conversions::unicode_chars_false::dafny_string_to_string(
region,
);
let shared_config = match tokio::runtime::Handle::try_current() {
Ok(curr) => tokio::task::block_in_place(|| {
curr.block_on(async {
aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await
})
}),
Err(_) => DAFNY_TOKIO_RUNTIME.block_on(aws_config::load_defaults(
aws_config::BehaviorVersion::latest(),
)),
};
let shared_config = shared_config
.to_builder()
.region(Region::new(region))
.build();
let inner = aws_sdk_dynamodb::Client::new(&shared_config);
let client = crate::deps::com_amazonaws_dynamodb::client::Client { inner };
let dafny_client = ::dafny_runtime::upcast_object()(::dafny_runtime::object::new(client));
dafny_runtime::Rc::new(crate::r#_Wrappers_Compile::Result::Success {
value: dafny_client,
})
}
pub fn DynamoDBClient() -> ::dafny_runtime::Rc<
crate::r#_Wrappers_Compile::Result<
::dafny_runtime::Object<dyn crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::IDynamoDBClient>,
::dafny_runtime::Rc<crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::Error>
>
>{
let shared_config = match tokio::runtime::Handle::try_current() {
Ok(curr) => tokio::task::block_in_place(|| {
curr.block_on(async {
aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await
})
}),
Err(_) => DAFNY_TOKIO_RUNTIME.block_on(aws_config::load_defaults(
aws_config::BehaviorVersion::latest(),
)),
};
let inner = aws_sdk_dynamodb::Client::new(&shared_config);
let client = crate::deps::com_amazonaws_dynamodb::client::Client { inner };
let dafny_client = ::dafny_runtime::upcast_object()(::dafny_runtime::object::new(client));
dafny_runtime::Rc::new(crate::r#_Wrappers_Compile::Result::Success {
value: dafny_client,
})
}
}