From 2158365c60063f257430522ff23e08e8fe61a2ce Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Mon, 26 Jan 2026 12:27:41 -0500 Subject: [PATCH 1/2] chore(rust): release 1.2.2 --- releases/rust/esdk/Cargo.toml | 23 +- .../keyring/aws_kms_keyring_example.rs | 2 +- .../aws_kms_mrk_multi_keyring_example.rs | 2 +- releases/rust/esdk/src/ddb.rs | 39 +- .../src/deps/com_amazonaws_dynamodb/client.rs | 452 +++---- .../esdk/src/deps/com_amazonaws_kms/client.rs | 1153 ++++++++--------- releases/rust/esdk/src/escape.rs | 35 + releases/rust/esdk/src/kms.rs | 22 +- releases/rust/esdk/src/lib.rs | 2 + 9 files changed, 724 insertions(+), 1006 deletions(-) create mode 100644 releases/rust/esdk/src/escape.rs diff --git a/releases/rust/esdk/Cargo.toml b/releases/rust/esdk/Cargo.toml index 29d99fd20..93e9dcf03 100644 --- a/releases/rust/esdk/Cargo.toml +++ b/releases/rust/esdk/Cargo.toml @@ -1,8 +1,7 @@ [package] name = "aws-esdk" -version = "1.2.1" +version = "1.2.2" edition = "2021" -rust-version = "1.88.0" keywords = ["cryptography", "security", "dynamodb", "encryption", "client-side"] license = "ISC AND (Apache-2.0 OR ISC)" description = "aws-esdk is a library for implementing client side encryption." @@ -16,21 +15,21 @@ readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aws-config = "1.8.10" -aws-lc-rs = {version = "1.15.0"} -aws-lc-sys = { version = "0.33", optional = true } +aws-config = "1.8.12" +aws-lc-rs = {version = "1.15.4"} +aws-lc-sys = { version = "0.37", optional = true } aws-lc-fips-sys = { version = "0.13", optional = true } -aws-sdk-dynamodb = "1.98.0" -aws-sdk-kms = "1.94.0" -aws-smithy-runtime-api = {version = "1.9.2", features = ["client"] } -aws-smithy-types = "1.3.4" -chrono = "0.4.42" +aws-sdk-dynamodb = "1.103.0" +aws-sdk-kms = "1.98.0" +aws-smithy-runtime-api = {version = "1.10.0", features = ["client"] } +aws-smithy-types = "1.3.6" +chrono = "0.4.43" cpu-time = "1.0.0" dashmap = "6.1.0" pem = "3.0.6" rand = "0.9.2" -tokio = {version = "1.48.0", features = ["full"] } -uuid = { version = "1.18.1", features = ["v4"] } +tokio = {version = "1.49.0", features = ["full"] } +uuid = { version = "1.19.0", features = ["v4"] } dafny-runtime = { version = "0.3.1", features = ["sync", "small-int"] } [[example]] diff --git a/releases/rust/esdk/examples/keyring/aws_kms_keyring_example.rs b/releases/rust/esdk/examples/keyring/aws_kms_keyring_example.rs index 7e39c449b..7f65a63cc 100644 --- a/releases/rust/esdk/examples/keyring/aws_kms_keyring_example.rs +++ b/releases/rust/esdk/examples/keyring/aws_kms_keyring_example.rs @@ -122,7 +122,7 @@ pub async fn encrypt_and_decrypt_with_keyring( Ok(()) } -#[tokio::test(flavor = "multi_thread")] +#[tokio::test] pub async fn test_encrypt_and_decrypt_with_keyring() -> Result<(), crate::BoxError2> { // Test function for encrypt and decrypt using the AWS KMS Keyring example use crate::example_utils::utils; diff --git a/releases/rust/esdk/examples/keyring/aws_kms_mrk_multi_keyring_example.rs b/releases/rust/esdk/examples/keyring/aws_kms_mrk_multi_keyring_example.rs index 1f739ce6f..de853a836 100644 --- a/releases/rust/esdk/examples/keyring/aws_kms_mrk_multi_keyring_example.rs +++ b/releases/rust/esdk/examples/keyring/aws_kms_mrk_multi_keyring_example.rs @@ -181,7 +181,7 @@ pub async fn encrypt_and_decrypt_with_keyring( Ok(()) } -#[tokio::test(flavor = "multi_thread")] +#[tokio::test] pub async fn test_encrypt_and_decrypt_with_keyring() -> Result<(), crate::BoxError2> { // Test function for encrypt and decrypt using the AWS KMS MRK Multi Keyring example use crate::example_utils::utils; diff --git a/releases/rust/esdk/src/ddb.rs b/releases/rust/esdk/src/ddb.rs index c5f65adaf..62ec02677 100644 --- a/releases/rust/esdk/src/ddb.rs +++ b/releases/rust/esdk/src/ddb.rs @@ -5,15 +5,8 @@ #![deny(nonstandard_style)] #![deny(clippy::all)] +use crate::escape::escape_to_async; use aws_config::Region; -use std::sync::LazyLock; - -static DAFNY_TOKIO_RUNTIME: LazyLock = 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 { @@ -27,22 +20,15 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: 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 = escape_to_async(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 client = crate::DdbClient { 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, @@ -55,18 +41,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: ::dafny_runtime::Rc > >{ - 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 = escape_to_async(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 client = crate::DdbClient { 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, diff --git a/releases/rust/esdk/src/deps/com_amazonaws_dynamodb/client.rs b/releases/rust/esdk/src/deps/com_amazonaws_dynamodb/client.rs index 21eaf8fc6..56f13bf93 100644 --- a/releases/rust/esdk/src/deps/com_amazonaws_dynamodb/client.rs +++ b/releases/rust/esdk/src/deps/com_amazonaws_dynamodb/client.rs @@ -1,8 +1,40 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // Do not modify this file. This file is machine generated, and any changes to it will be overwritten. +use std::future::Future; +use tokio::runtime::Builder; +use tokio::runtime::Handle; +use tokio::runtime::RuntimeFlavor; + +pub fn escape_to_async(fut: F) -> O +where + F: Future + Send, + O: Send, +{ + match Handle::try_current() { + Ok(handle) => match handle.runtime_flavor() { + RuntimeFlavor::CurrentThread => std::thread::scope(move |t| { + t.spawn(move || { + Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut) + }) + .join() + .unwrap() + }), + _ => tokio::task::block_in_place(move || handle.block_on(fut)), + }, + Err(_) => Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut), + } +} + use crate::deps::com_amazonaws_dynamodb::conversions; -use std::sync::LazyLock; #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct Client { @@ -21,41 +53,29 @@ impl ::std::convert::Into for aws_sdk_dynamodb::Client { } } -/// A runtime for executing operations on the asynchronous client in a blocking manner. -/// Necessary because Dafny only generates synchronous code. -static dafny_tokio_runtime: LazyLock = LazyLock::new(|| { - tokio::runtime::Builder::new_multi_thread() - .enable_all() - .build() - .unwrap() -}); - impl dafny_runtime::UpcastObject<::dafny_runtime::DynAny> for Client { ::dafny_runtime::UpcastObjectFn!(::dafny_runtime::DynAny); } impl dafny_runtime::UpcastObject for Client { - ::dafny_runtime::UpcastObjectFn!(dyn crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::IDynamoDBClient); -} + ::dafny_runtime::UpcastObjectFn!(dyn crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::IDynamoDBClient); + } impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny::types::IDynamoDBClient - for Client { - fn BatchExecuteStatement(&self, input: &dafny_runtime::Rc) + for Client { + fn BatchExecuteStatement(&self, input: &dafny_runtime::Rc) -> dafny_runtime::Rc, dafny_runtime::Rc > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::batch_execute_statement::_batch_execute_statement_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.batch_execute_statement() .set_statements(inner_input.r#statements) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::batch_execute_statement::_batch_execute_statement_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::batch_execute_statement::to_dafny_error) @@ -67,15 +87,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::batch_get_item::_batch_get_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.batch_get_item() .set_request_items(inner_input.r#request_items) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::batch_get_item::_batch_get_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::batch_get_item::to_dafny_error) @@ -87,16 +104,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::batch_write_item::_batch_write_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.batch_write_item() .set_request_items(inner_input.r#request_items) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .set_return_item_collection_metrics(inner_input.r#return_item_collection_metrics) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::batch_write_item::_batch_write_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::batch_write_item::to_dafny_error) @@ -108,15 +122,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::create_backup::_create_backup_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.create_backup() .set_table_name(inner_input.r#table_name) .set_backup_name(inner_input.r#backup_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::create_backup::_create_backup_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::create_backup::to_dafny_error) @@ -128,15 +139,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::create_global_table::_create_global_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.create_global_table() .set_global_table_name(inner_input.r#global_table_name) .set_replication_group(inner_input.r#replication_group) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::create_global_table::_create_global_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::create_global_table::to_dafny_error) @@ -148,8 +156,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::create_table::_create_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.create_table() .set_attribute_definitions(inner_input.r#attribute_definitions) .set_table_name(inner_input.r#table_name) @@ -166,9 +173,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_resource_policy(inner_input.r#resource_policy) .set_on_demand_throughput(inner_input.r#on_demand_throughput) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::create_table::_create_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::create_table::to_dafny_error) @@ -180,14 +185,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::delete_backup::_delete_backup_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.delete_backup() .set_backup_arn(inner_input.r#backup_arn) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::delete_backup::_delete_backup_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::delete_backup::to_dafny_error) @@ -199,8 +201,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::delete_item::_delete_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.delete_item() .set_table_name(inner_input.r#table_name) .set_key(inner_input.r#key) @@ -214,9 +215,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_expression_attribute_values(inner_input.r#expression_attribute_values) .set_return_values_on_condition_check_failure(inner_input.r#return_values_on_condition_check_failure) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::delete_item::_delete_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::delete_item::to_dafny_error) @@ -228,15 +227,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::delete_resource_policy::_delete_resource_policy_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.delete_resource_policy() .set_resource_arn(inner_input.r#resource_arn) .set_expected_revision_id(inner_input.r#expected_revision_id) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::delete_resource_policy::_delete_resource_policy_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::delete_resource_policy::to_dafny_error) @@ -248,14 +244,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::delete_table::_delete_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.delete_table() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::delete_table::_delete_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::delete_table::to_dafny_error) @@ -267,14 +260,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_backup::_describe_backup_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_backup() .set_backup_arn(inner_input.r#backup_arn) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_backup::_describe_backup_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_backup::to_dafny_error) @@ -286,14 +276,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_continuous_backups::_describe_continuous_backups_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_continuous_backups() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_continuous_backups::_describe_continuous_backups_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_continuous_backups::to_dafny_error) @@ -305,15 +292,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_contributor_insights::_describe_contributor_insights_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_contributor_insights() .set_table_name(inner_input.r#table_name) .set_index_name(inner_input.r#index_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_contributor_insights::_describe_contributor_insights_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_contributor_insights::to_dafny_error) @@ -325,14 +309,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_endpoints::_describe_endpoints_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_endpoints() .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_endpoints::_describe_endpoints_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_endpoints::to_dafny_error) @@ -344,14 +325,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_export::_describe_export_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_export() .set_export_arn(inner_input.r#export_arn) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_export::_describe_export_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_export::to_dafny_error) @@ -363,14 +341,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table::_describe_global_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_global_table() .set_global_table_name(inner_input.r#global_table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table::_describe_global_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table::to_dafny_error) @@ -382,14 +357,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table_settings::_describe_global_table_settings_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_global_table_settings() .set_global_table_name(inner_input.r#global_table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table_settings::_describe_global_table_settings_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_global_table_settings::to_dafny_error) @@ -401,14 +373,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_import::_describe_import_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_import() .set_import_arn(inner_input.r#import_arn) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_import::_describe_import_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_import::to_dafny_error) @@ -420,14 +389,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_kinesis_streaming_destination::_describe_kinesis_streaming_destination_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_kinesis_streaming_destination() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_kinesis_streaming_destination::_describe_kinesis_streaming_destination_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_kinesis_streaming_destination::to_dafny_error) @@ -439,14 +405,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_limits::_describe_limits_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_limits() .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_limits::_describe_limits_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_limits::to_dafny_error) @@ -458,14 +421,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_table::_describe_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_table() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_table::_describe_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_table::to_dafny_error) @@ -477,14 +437,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_table_replica_auto_scaling::_describe_table_replica_auto_scaling_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_table_replica_auto_scaling() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_table_replica_auto_scaling::_describe_table_replica_auto_scaling_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_table_replica_auto_scaling::to_dafny_error) @@ -496,14 +453,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::describe_time_to_live::_describe_time_to_live_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.describe_time_to_live() .set_table_name(inner_input.r#table_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::describe_time_to_live::_describe_time_to_live_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::describe_time_to_live::to_dafny_error) @@ -515,16 +469,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::disable_kinesis_streaming_destination::_disable_kinesis_streaming_destination_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.disable_kinesis_streaming_destination() .set_table_name(inner_input.r#table_name) .set_stream_arn(inner_input.r#stream_arn) .set_enable_kinesis_streaming_configuration(inner_input.r#enable_kinesis_streaming_configuration) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::disable_kinesis_streaming_destination::_disable_kinesis_streaming_destination_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::disable_kinesis_streaming_destination::to_dafny_error) @@ -536,16 +487,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::enable_kinesis_streaming_destination::_enable_kinesis_streaming_destination_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.enable_kinesis_streaming_destination() .set_table_name(inner_input.r#table_name) .set_stream_arn(inner_input.r#stream_arn) .set_enable_kinesis_streaming_configuration(inner_input.r#enable_kinesis_streaming_configuration) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::enable_kinesis_streaming_destination::_enable_kinesis_streaming_destination_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::enable_kinesis_streaming_destination::to_dafny_error) @@ -557,8 +505,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::execute_statement::_execute_statement_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.execute_statement() .set_statement(inner_input.r#statement) .set_parameters(inner_input.r#parameters) @@ -568,9 +515,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_limit(inner_input.r#limit) .set_return_values_on_condition_check_failure(inner_input.r#return_values_on_condition_check_failure) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::execute_statement::_execute_statement_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::execute_statement::to_dafny_error) @@ -582,16 +527,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::execute_transaction::_execute_transaction_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.execute_transaction() .set_transact_statements(inner_input.r#transact_statements) .set_client_request_token(inner_input.r#client_request_token) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::execute_transaction::_execute_transaction_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::execute_transaction::to_dafny_error) @@ -603,8 +545,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::export_table_to_point_in_time::_export_table_to_point_in_time_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.export_table_to_point_in_time() .set_table_arn(inner_input.r#table_arn) .set_export_time(inner_input.r#export_time) @@ -618,9 +559,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_export_type(inner_input.r#export_type) .set_incremental_export_specification(inner_input.r#incremental_export_specification) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::export_table_to_point_in_time::_export_table_to_point_in_time_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::export_table_to_point_in_time::to_dafny_error) @@ -632,8 +571,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::get_item::_get_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.get_item() .set_table_name(inner_input.r#table_name) .set_key(inner_input.r#key) @@ -643,9 +581,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_projection_expression(inner_input.r#projection_expression) .set_expression_attribute_names(inner_input.r#expression_attribute_names) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::get_item::_get_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::get_item::to_dafny_error) @@ -657,14 +593,11 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::get_resource_policy::_get_resource_policy_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.get_resource_policy() .set_resource_arn(inner_input.r#resource_arn) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::get_resource_policy::_get_resource_policy_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::get_resource_policy::to_dafny_error) @@ -676,8 +609,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::import_table::_import_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.import_table() .set_client_token(inner_input.r#client_token) .set_s3_bucket_source(inner_input.r#s3_bucket_source) @@ -686,9 +618,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_input_compression_type(inner_input.r#input_compression_type) .set_table_creation_parameters(inner_input.r#table_creation_parameters) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::import_table::_import_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::import_table::to_dafny_error) @@ -700,8 +630,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_backups::_list_backups_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_backups() .set_table_name(inner_input.r#table_name) .set_limit(inner_input.r#limit) @@ -710,9 +639,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_exclusive_start_backup_arn(inner_input.r#exclusive_start_backup_arn) .set_backup_type(inner_input.r#backup_type) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_backups::_list_backups_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_backups::to_dafny_error) @@ -724,16 +651,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_contributor_insights::_list_contributor_insights_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_contributor_insights() .set_table_name(inner_input.r#table_name) .set_next_token(inner_input.r#next_token) .set_max_results(inner_input.r#max_results) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_contributor_insights::_list_contributor_insights_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_contributor_insights::to_dafny_error) @@ -745,16 +669,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_exports::_list_exports_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_exports() .set_table_arn(inner_input.r#table_arn) .set_max_results(inner_input.r#max_results) .set_next_token(inner_input.r#next_token) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_exports::_list_exports_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_exports::to_dafny_error) @@ -766,16 +687,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_global_tables::_list_global_tables_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_global_tables() .set_exclusive_start_global_table_name(inner_input.r#exclusive_start_global_table_name) .set_limit(inner_input.r#limit) .set_region_name(inner_input.r#region_name) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_global_tables::_list_global_tables_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_global_tables::to_dafny_error) @@ -787,16 +705,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_imports::_list_imports_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_imports() .set_table_arn(inner_input.r#table_arn) .set_page_size(inner_input.r#page_size) .set_next_token(inner_input.r#next_token) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_imports::_list_imports_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_imports::to_dafny_error) @@ -808,15 +723,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_tables::_list_tables_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_tables() .set_exclusive_start_table_name(inner_input.r#exclusive_start_table_name) .set_limit(inner_input.r#limit) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_tables::_list_tables_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_tables::to_dafny_error) @@ -828,15 +740,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::list_tags_of_resource::_list_tags_of_resource_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.list_tags_of_resource() .set_resource_arn(inner_input.r#resource_arn) .set_next_token(inner_input.r#next_token) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::list_tags_of_resource::_list_tags_of_resource_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::list_tags_of_resource::to_dafny_error) @@ -848,8 +757,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::put_item::_put_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.put_item() .set_table_name(inner_input.r#table_name) .set_item(inner_input.r#item) @@ -863,9 +771,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_expression_attribute_values(inner_input.r#expression_attribute_values) .set_return_values_on_condition_check_failure(inner_input.r#return_values_on_condition_check_failure) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::put_item::_put_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::put_item::to_dafny_error) @@ -877,17 +783,14 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::put_resource_policy::_put_resource_policy_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.put_resource_policy() .set_resource_arn(inner_input.r#resource_arn) .set_policy(inner_input.r#policy) .set_expected_revision_id(inner_input.r#expected_revision_id) .set_confirm_remove_self_resource_access(inner_input.r#confirm_remove_self_resource_access) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::put_resource_policy::_put_resource_policy_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::put_resource_policy::to_dafny_error) @@ -899,8 +802,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::query::_query_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.query() .set_table_name(inner_input.r#table_name) .set_index_name(inner_input.r#index_name) @@ -920,9 +822,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_expression_attribute_names(inner_input.r#expression_attribute_names) .set_expression_attribute_values(inner_input.r#expression_attribute_values) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::query::_query_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::query::to_dafny_error) @@ -934,8 +834,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::restore_table_from_backup::_restore_table_from_backup_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.restore_table_from_backup() .set_target_table_name(inner_input.r#target_table_name) .set_backup_arn(inner_input.r#backup_arn) @@ -946,9 +845,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_on_demand_throughput_override(inner_input.r#on_demand_throughput_override) .set_sse_specification_override(inner_input.r#sse_specification_override) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::restore_table_from_backup::_restore_table_from_backup_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::restore_table_from_backup::to_dafny_error) @@ -960,8 +857,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::restore_table_to_point_in_time::_restore_table_to_point_in_time_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.restore_table_to_point_in_time() .set_source_table_arn(inner_input.r#source_table_arn) .set_source_table_name(inner_input.r#source_table_name) @@ -975,9 +871,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_on_demand_throughput_override(inner_input.r#on_demand_throughput_override) .set_sse_specification_override(inner_input.r#sse_specification_override) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::restore_table_to_point_in_time::_restore_table_to_point_in_time_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::restore_table_to_point_in_time::to_dafny_error) @@ -989,8 +883,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::scan::_scan_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.scan() .set_table_name(inner_input.r#table_name) .set_index_name(inner_input.r#index_name) @@ -1009,9 +902,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_expression_attribute_values(inner_input.r#expression_attribute_values) .set_consistent_read(inner_input.r#consistent_read) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::scan::_scan_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::scan::to_dafny_error) @@ -1023,15 +914,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::tag_resource::_tag_resource_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.tag_resource() .set_resource_arn(inner_input.r#resource_arn) .set_tags(inner_input.r#tags) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, |x| (), crate::deps::com_amazonaws_dynamodb::conversions::tag_resource::to_dafny_error) @@ -1043,15 +931,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::transact_get_items::_transact_get_items_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.transact_get_items() .set_transact_items(inner_input.r#transact_items) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::transact_get_items::_transact_get_items_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::transact_get_items::to_dafny_error) @@ -1063,17 +948,14 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::transact_write_items::_transact_write_items_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.transact_write_items() .set_transact_items(inner_input.r#transact_items) .set_return_consumed_capacity(inner_input.r#return_consumed_capacity) .set_return_item_collection_metrics(inner_input.r#return_item_collection_metrics) .set_client_request_token(inner_input.r#client_request_token) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::transact_write_items::_transact_write_items_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::transact_write_items::to_dafny_error) @@ -1085,15 +967,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::untag_resource::_untag_resource_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.untag_resource() .set_resource_arn(inner_input.r#resource_arn) .set_tag_keys(inner_input.r#tag_keys) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, |x| (), crate::deps::com_amazonaws_dynamodb::conversions::untag_resource::to_dafny_error) @@ -1105,15 +984,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_continuous_backups::_update_continuous_backups_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_continuous_backups() .set_table_name(inner_input.r#table_name) .set_point_in_time_recovery_specification(inner_input.r#point_in_time_recovery_specification) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_continuous_backups::_update_continuous_backups_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_continuous_backups::to_dafny_error) @@ -1125,16 +1001,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_contributor_insights::_update_contributor_insights_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_contributor_insights() .set_table_name(inner_input.r#table_name) .set_index_name(inner_input.r#index_name) .set_contributor_insights_action(inner_input.r#contributor_insights_action) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_contributor_insights::_update_contributor_insights_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_contributor_insights::to_dafny_error) @@ -1146,15 +1019,12 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_global_table::_update_global_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_global_table() .set_global_table_name(inner_input.r#global_table_name) .set_replica_updates(inner_input.r#replica_updates) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_global_table::_update_global_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_global_table::to_dafny_error) @@ -1166,8 +1036,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_global_table_settings::_update_global_table_settings_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_global_table_settings() .set_global_table_name(inner_input.r#global_table_name) .set_global_table_billing_mode(inner_input.r#global_table_billing_mode) @@ -1176,9 +1045,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_global_table_global_secondary_index_settings_update(inner_input.r#global_table_global_secondary_index_settings_update) .set_replica_settings_update(inner_input.r#replica_settings_update) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_global_table_settings::_update_global_table_settings_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_global_table_settings::to_dafny_error) @@ -1190,8 +1057,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_item::_update_item_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_item() .set_table_name(inner_input.r#table_name) .set_key(inner_input.r#key) @@ -1207,9 +1073,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_expression_attribute_values(inner_input.r#expression_attribute_values) .set_return_values_on_condition_check_failure(inner_input.r#return_values_on_condition_check_failure) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_item::_update_item_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_item::to_dafny_error) @@ -1221,16 +1085,13 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_kinesis_streaming_destination::_update_kinesis_streaming_destination_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_kinesis_streaming_destination() .set_table_name(inner_input.r#table_name) .set_stream_arn(inner_input.r#stream_arn) .set_update_kinesis_streaming_configuration(inner_input.r#update_kinesis_streaming_configuration) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_kinesis_streaming_destination::_update_kinesis_streaming_destination_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_kinesis_streaming_destination::to_dafny_error) @@ -1242,8 +1103,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_table::_update_table_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_table() .set_attribute_definitions(inner_input.r#attribute_definitions) .set_table_name(inner_input.r#table_name) @@ -1257,9 +1117,7 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: .set_deletion_protection_enabled(inner_input.r#deletion_protection_enabled) .set_on_demand_throughput(inner_input.r#on_demand_throughput) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_table::_update_table_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_table::to_dafny_error) @@ -1271,17 +1129,14 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_table_replica_auto_scaling::_update_table_replica_auto_scaling_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_table_replica_auto_scaling() .set_global_secondary_index_updates(inner_input.r#global_secondary_index_updates) .set_table_name(inner_input.r#table_name) .set_provisioned_write_capacity_auto_scaling_update(inner_input.r#provisioned_write_capacity_auto_scaling_update) .set_replica_updates(inner_input.r#replica_updates) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_table_replica_auto_scaling::_update_table_replica_auto_scaling_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_table_replica_auto_scaling::to_dafny_error) @@ -1293,17 +1148,14 @@ impl crate::r#software::amazon::cryptography::services::dynamodb::internaldafny: > > { let inner_input = crate::deps::com_amazonaws_dynamodb::conversions::update_time_to_live::_update_time_to_live_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { + let native_result = escape_to_async( self.inner.update_time_to_live() .set_table_name(inner_input.r#table_name) .set_time_to_live_specification(inner_input.r#time_to_live_specification) .send() - .await - }) - }); + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_dynamodb::conversions::update_time_to_live::_update_time_to_live_response::to_dafny, crate::deps::com_amazonaws_dynamodb::conversions::update_time_to_live::to_dafny_error) } -} + } diff --git a/releases/rust/esdk/src/deps/com_amazonaws_kms/client.rs b/releases/rust/esdk/src/deps/com_amazonaws_kms/client.rs index 4881f30b2..257df0e3f 100644 --- a/releases/rust/esdk/src/deps/com_amazonaws_kms/client.rs +++ b/releases/rust/esdk/src/deps/com_amazonaws_kms/client.rs @@ -1,8 +1,40 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // Do not modify this file. This file is machine generated, and any changes to it will be overwritten. +use std::future::Future; +use tokio::runtime::Builder; +use tokio::runtime::Handle; +use tokio::runtime::RuntimeFlavor; + +pub fn escape_to_async(fut: F) -> O +where + F: Future + Send, + O: Send, +{ + match Handle::try_current() { + Ok(handle) => match handle.runtime_flavor() { + RuntimeFlavor::CurrentThread => std::thread::scope(move |t| { + t.spawn(move || { + Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut) + }) + .join() + .unwrap() + }), + _ => tokio::task::block_in_place(move || handle.block_on(fut)), + }, + Err(_) => Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut), + } +} + use crate::deps::com_amazonaws_kms::conversions; -use std::sync::LazyLock; #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct Client { @@ -21,22 +53,13 @@ impl ::std::convert::Into for aws_sdk_kms::Client { } } -/// A runtime for executing operations on the asynchronous client in a blocking manner. -/// Necessary because Dafny only generates synchronous code. -static dafny_tokio_runtime: LazyLock = LazyLock::new(|| { - tokio::runtime::Builder::new_multi_thread() - .enable_all() - .build() - .unwrap() -}); - impl dafny_runtime::UpcastObject<::dafny_runtime::DynAny> for Client { ::dafny_runtime::UpcastObjectFn!(::dafny_runtime::DynAny); } impl dafny_runtime::UpcastObject for Client { - ::dafny_runtime::UpcastObjectFn!(dyn crate::r#software::amazon::cryptography::services::kms::internaldafny::types::IKMSClient); -} + ::dafny_runtime::UpcastObjectFn!(dyn crate::r#software::amazon::cryptography::services::kms::internaldafny::types::IKMSClient); + } impl crate::r#software::amazon::cryptography::services::kms::internaldafny::types::IKMSClient for Client @@ -48,15 +71,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::cancel_key_deletion::_cancel_key_deletion_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .cancel_key_deletion() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .cancel_key_deletion() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::cancel_key_deletion::_cancel_key_deletion_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::cancel_key_deletion::to_dafny_error) @@ -68,15 +88,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::connect_custom_key_store::_connect_custom_key_store_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .connect_custom_key_store() - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .connect_custom_key_store() + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::connect_custom_key_store::_connect_custom_key_store_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::connect_custom_key_store::to_dafny_error) @@ -93,16 +110,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::create_alias::_create_alias_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .create_alias() - .set_alias_name(inner_input.r#alias_name) - .set_target_key_id(inner_input.r#target_key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .create_alias() + .set_alias_name(inner_input.r#alias_name) + .set_target_key_id(inner_input.r#target_key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -116,28 +130,25 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::create_custom_key_store::_create_custom_key_store_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .create_custom_key_store() - .set_custom_key_store_name(inner_input.r#custom_key_store_name) - .set_cloud_hsm_cluster_id(inner_input.r#cloud_hsm_cluster_id) - .set_trust_anchor_certificate(inner_input.r#trust_anchor_certificate) - .set_key_store_password(inner_input.r#key_store_password) - .set_custom_key_store_type(inner_input.r#custom_key_store_type) - .set_xks_proxy_uri_endpoint(inner_input.r#xks_proxy_uri_endpoint) - .set_xks_proxy_uri_path(inner_input.r#xks_proxy_uri_path) - .set_xks_proxy_vpc_endpoint_service_name( - inner_input.r#xks_proxy_vpc_endpoint_service_name, - ) - .set_xks_proxy_authentication_credential( - inner_input.r#xks_proxy_authentication_credential, - ) - .set_xks_proxy_connectivity(inner_input.r#xks_proxy_connectivity) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .create_custom_key_store() + .set_custom_key_store_name(inner_input.r#custom_key_store_name) + .set_cloud_hsm_cluster_id(inner_input.r#cloud_hsm_cluster_id) + .set_trust_anchor_certificate(inner_input.r#trust_anchor_certificate) + .set_key_store_password(inner_input.r#key_store_password) + .set_custom_key_store_type(inner_input.r#custom_key_store_type) + .set_xks_proxy_uri_endpoint(inner_input.r#xks_proxy_uri_endpoint) + .set_xks_proxy_uri_path(inner_input.r#xks_proxy_uri_path) + .set_xks_proxy_vpc_endpoint_service_name( + inner_input.r#xks_proxy_vpc_endpoint_service_name, + ) + .set_xks_proxy_authentication_credential( + inner_input.r#xks_proxy_authentication_credential, + ) + .set_xks_proxy_connectivity(inner_input.r#xks_proxy_connectivity) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::create_custom_key_store::_create_custom_key_store_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::create_custom_key_store::to_dafny_error) @@ -149,22 +160,19 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::create_grant::_create_grant_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .create_grant() - .set_key_id(inner_input.r#key_id) - .set_grantee_principal(inner_input.r#grantee_principal) - .set_retiring_principal(inner_input.r#retiring_principal) - .set_operations(inner_input.r#operations) - .set_constraints(inner_input.r#constraints) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_name(inner_input.r#name) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .create_grant() + .set_key_id(inner_input.r#key_id) + .set_grantee_principal(inner_input.r#grantee_principal) + .set_retiring_principal(inner_input.r#retiring_principal) + .set_operations(inner_input.r#operations) + .set_constraints(inner_input.r#constraints) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_name(inner_input.r#name) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::create_grant::_create_grant_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::create_grant::to_dafny_error) @@ -176,27 +184,24 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::create_key::_create_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .create_key() - .set_policy(inner_input.r#policy) - .set_description(inner_input.r#description) - .set_key_usage(inner_input.r#key_usage) - .set_customer_master_key_spec(inner_input.r#customer_master_key_spec) - .set_key_spec(inner_input.r#key_spec) - .set_origin(inner_input.r#origin) - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .set_bypass_policy_lockout_safety_check( - inner_input.r#bypass_policy_lockout_safety_check, - ) - .set_tags(inner_input.r#tags) - .set_multi_region(inner_input.r#multi_region) - .set_xks_key_id(inner_input.r#xks_key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .create_key() + .set_policy(inner_input.r#policy) + .set_description(inner_input.r#description) + .set_key_usage(inner_input.r#key_usage) + .set_customer_master_key_spec(inner_input.r#customer_master_key_spec) + .set_key_spec(inner_input.r#key_spec) + .set_origin(inner_input.r#origin) + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .set_bypass_policy_lockout_safety_check( + inner_input.r#bypass_policy_lockout_safety_check, + ) + .set_tags(inner_input.r#tags) + .set_multi_region(inner_input.r#multi_region) + .set_xks_key_id(inner_input.r#xks_key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::create_key::_create_key_response::to_dafny, @@ -213,21 +218,18 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type crate::deps::com_amazonaws_kms::conversions::decrypt::_decrypt_request::from_dafny( input.clone(), ); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .decrypt() - .set_ciphertext_blob(inner_input.r#ciphertext_blob) - .set_encryption_context(inner_input.r#encryption_context) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_key_id(inner_input.r#key_id) - .set_encryption_algorithm(inner_input.r#encryption_algorithm) - .set_recipient(inner_input.r#recipient) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .decrypt() + .set_ciphertext_blob(inner_input.r#ciphertext_blob) + .set_encryption_context(inner_input.r#encryption_context) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_key_id(inner_input.r#key_id) + .set_encryption_algorithm(inner_input.r#encryption_algorithm) + .set_recipient(inner_input.r#recipient) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::decrypt::_decrypt_response::to_dafny, @@ -246,15 +248,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::delete_alias::_delete_alias_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .delete_alias() - .set_alias_name(inner_input.r#alias_name) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .delete_alias() + .set_alias_name(inner_input.r#alias_name) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -268,15 +267,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::delete_custom_key_store::_delete_custom_key_store_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .delete_custom_key_store() - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .delete_custom_key_store() + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::delete_custom_key_store::_delete_custom_key_store_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::delete_custom_key_store::to_dafny_error) @@ -293,15 +289,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::delete_imported_key_material::_delete_imported_key_material_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .delete_imported_key_material() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .delete_imported_key_material() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, |x| (), crate::deps::com_amazonaws_kms::conversions::delete_imported_key_material::to_dafny_error) @@ -313,20 +306,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::derive_shared_secret::_derive_shared_secret_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .derive_shared_secret() - .set_key_id(inner_input.r#key_id) - .set_key_agreement_algorithm(inner_input.r#key_agreement_algorithm) - .set_public_key(inner_input.r#public_key) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .set_recipient(inner_input.r#recipient) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .derive_shared_secret() + .set_key_id(inner_input.r#key_id) + .set_key_agreement_algorithm(inner_input.r#key_agreement_algorithm) + .set_public_key(inner_input.r#public_key) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .set_recipient(inner_input.r#recipient) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::derive_shared_secret::_derive_shared_secret_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::derive_shared_secret::to_dafny_error) @@ -338,18 +328,15 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::describe_custom_key_stores::_describe_custom_key_stores_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .describe_custom_key_stores() - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .set_custom_key_store_name(inner_input.r#custom_key_store_name) - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .describe_custom_key_stores() + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .set_custom_key_store_name(inner_input.r#custom_key_store_name) + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::describe_custom_key_stores::_describe_custom_key_stores_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::describe_custom_key_stores::to_dafny_error) @@ -361,16 +348,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::describe_key::_describe_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .describe_key() - .set_key_id(inner_input.r#key_id) - .set_grant_tokens(inner_input.r#grant_tokens) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .describe_key() + .set_key_id(inner_input.r#key_id) + .set_grant_tokens(inner_input.r#grant_tokens) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::describe_key::_describe_key_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::describe_key::to_dafny_error) @@ -387,15 +371,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::disable_key::_disable_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .disable_key() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .disable_key() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -414,15 +395,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::disable_key_rotation::_disable_key_rotation_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .disable_key_rotation() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .disable_key_rotation() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -436,15 +414,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::disconnect_custom_key_store::_disconnect_custom_key_store_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .disconnect_custom_key_store() - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .disconnect_custom_key_store() + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::disconnect_custom_key_store::_disconnect_custom_key_store_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::disconnect_custom_key_store::to_dafny_error) @@ -461,15 +436,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::enable_key::_enable_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .enable_key() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .enable_key() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -488,16 +460,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::enable_key_rotation::_enable_key_rotation_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .enable_key_rotation() - .set_key_id(inner_input.r#key_id) - .set_rotation_period_in_days(inner_input.r#rotation_period_in_days) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .enable_key_rotation() + .set_key_id(inner_input.r#key_id) + .set_rotation_period_in_days(inner_input.r#rotation_period_in_days) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -514,20 +483,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type crate::deps::com_amazonaws_kms::conversions::encrypt::_encrypt_request::from_dafny( input.clone(), ); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .encrypt() - .set_key_id(inner_input.r#key_id) - .set_plaintext(inner_input.r#plaintext) - .set_encryption_context(inner_input.r#encryption_context) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_encryption_algorithm(inner_input.r#encryption_algorithm) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .encrypt() + .set_key_id(inner_input.r#key_id) + .set_plaintext(inner_input.r#plaintext) + .set_encryption_context(inner_input.r#encryption_context) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_encryption_algorithm(inner_input.r#encryption_algorithm) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::encrypt::_encrypt_response::to_dafny, @@ -541,21 +507,18 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_data_key::_generate_data_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_data_key() - .set_key_id(inner_input.r#key_id) - .set_encryption_context(inner_input.r#encryption_context) - .set_number_of_bytes(inner_input.r#number_of_bytes) - .set_key_spec(inner_input.r#key_spec) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_recipient(inner_input.r#recipient) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_data_key() + .set_key_id(inner_input.r#key_id) + .set_encryption_context(inner_input.r#encryption_context) + .set_number_of_bytes(inner_input.r#number_of_bytes) + .set_key_spec(inner_input.r#key_spec) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_recipient(inner_input.r#recipient) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_data_key::_generate_data_key_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_data_key::to_dafny_error) @@ -567,20 +530,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair::_generate_data_key_pair_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_data_key_pair() - .set_encryption_context(inner_input.r#encryption_context) - .set_key_id(inner_input.r#key_id) - .set_key_pair_spec(inner_input.r#key_pair_spec) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_recipient(inner_input.r#recipient) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_data_key_pair() + .set_encryption_context(inner_input.r#encryption_context) + .set_key_id(inner_input.r#key_id) + .set_key_pair_spec(inner_input.r#key_pair_spec) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_recipient(inner_input.r#recipient) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair::_generate_data_key_pair_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair::to_dafny_error) @@ -592,19 +552,16 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair_without_plaintext::_generate_data_key_pair_without_plaintext_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_data_key_pair_without_plaintext() - .set_encryption_context(inner_input.r#encryption_context) - .set_key_id(inner_input.r#key_id) - .set_key_pair_spec(inner_input.r#key_pair_spec) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_data_key_pair_without_plaintext() + .set_encryption_context(inner_input.r#encryption_context) + .set_key_id(inner_input.r#key_id) + .set_key_pair_spec(inner_input.r#key_pair_spec) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair_without_plaintext::_generate_data_key_pair_without_plaintext_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_data_key_pair_without_plaintext::to_dafny_error) @@ -616,20 +573,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_data_key_without_plaintext::_generate_data_key_without_plaintext_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_data_key_without_plaintext() - .set_key_id(inner_input.r#key_id) - .set_encryption_context(inner_input.r#encryption_context) - .set_key_spec(inner_input.r#key_spec) - .set_number_of_bytes(inner_input.r#number_of_bytes) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_data_key_without_plaintext() + .set_key_id(inner_input.r#key_id) + .set_encryption_context(inner_input.r#encryption_context) + .set_key_spec(inner_input.r#key_spec) + .set_number_of_bytes(inner_input.r#number_of_bytes) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_data_key_without_plaintext::_generate_data_key_without_plaintext_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_data_key_without_plaintext::to_dafny_error) @@ -641,19 +595,16 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_mac::_generate_mac_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_mac() - .set_message(inner_input.r#message) - .set_key_id(inner_input.r#key_id) - .set_mac_algorithm(inner_input.r#mac_algorithm) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_mac() + .set_message(inner_input.r#message) + .set_key_id(inner_input.r#key_id) + .set_mac_algorithm(inner_input.r#mac_algorithm) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_mac::_generate_mac_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_mac::to_dafny_error) @@ -665,17 +616,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::generate_random::_generate_random_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .generate_random() - .set_number_of_bytes(inner_input.r#number_of_bytes) - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .set_recipient(inner_input.r#recipient) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .generate_random() + .set_number_of_bytes(inner_input.r#number_of_bytes) + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .set_recipient(inner_input.r#recipient) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::generate_random::_generate_random_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::generate_random::to_dafny_error) @@ -687,16 +635,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::get_key_policy::_get_key_policy_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .get_key_policy() - .set_key_id(inner_input.r#key_id) - .set_policy_name(inner_input.r#policy_name) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .get_key_policy() + .set_key_id(inner_input.r#key_id) + .set_policy_name(inner_input.r#policy_name) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::get_key_policy::_get_key_policy_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::get_key_policy::to_dafny_error) @@ -708,15 +653,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::get_key_rotation_status::_get_key_rotation_status_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .get_key_rotation_status() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .get_key_rotation_status() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::get_key_rotation_status::_get_key_rotation_status_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::get_key_rotation_status::to_dafny_error) @@ -728,17 +670,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::get_parameters_for_import::_get_parameters_for_import_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .get_parameters_for_import() - .set_key_id(inner_input.r#key_id) - .set_wrapping_algorithm(inner_input.r#wrapping_algorithm) - .set_wrapping_key_spec(inner_input.r#wrapping_key_spec) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .get_parameters_for_import() + .set_key_id(inner_input.r#key_id) + .set_wrapping_algorithm(inner_input.r#wrapping_algorithm) + .set_wrapping_key_spec(inner_input.r#wrapping_key_spec) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::get_parameters_for_import::_get_parameters_for_import_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::get_parameters_for_import::to_dafny_error) @@ -750,16 +689,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::get_public_key::_get_public_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .get_public_key() - .set_key_id(inner_input.r#key_id) - .set_grant_tokens(inner_input.r#grant_tokens) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .get_public_key() + .set_key_id(inner_input.r#key_id) + .set_grant_tokens(inner_input.r#grant_tokens) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::get_public_key::_get_public_key_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::get_public_key::to_dafny_error) @@ -771,19 +707,16 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::import_key_material::_import_key_material_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .import_key_material() - .set_key_id(inner_input.r#key_id) - .set_import_token(inner_input.r#import_token) - .set_encrypted_key_material(inner_input.r#encrypted_key_material) - .set_valid_to(inner_input.r#valid_to) - .set_expiration_model(inner_input.r#expiration_model) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .import_key_material() + .set_key_id(inner_input.r#key_id) + .set_import_token(inner_input.r#import_token) + .set_encrypted_key_material(inner_input.r#encrypted_key_material) + .set_valid_to(inner_input.r#valid_to) + .set_expiration_model(inner_input.r#expiration_model) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::import_key_material::_import_key_material_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::import_key_material::to_dafny_error) @@ -795,17 +728,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::list_aliases::_list_aliases_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_aliases() - .set_key_id(inner_input.r#key_id) - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_aliases() + .set_key_id(inner_input.r#key_id) + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::list_aliases::_list_aliases_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::list_aliases::to_dafny_error) @@ -817,19 +747,16 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::list_grants::_list_grants_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_grants() - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .set_key_id(inner_input.r#key_id) - .set_grant_id(inner_input.r#grant_id) - .set_grantee_principal(inner_input.r#grantee_principal) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_grants() + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .set_key_id(inner_input.r#key_id) + .set_grant_id(inner_input.r#grant_id) + .set_grantee_principal(inner_input.r#grantee_principal) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::list_grants::_list_grants_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::list_grants::to_dafny_error) @@ -841,17 +768,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::list_key_policies::_list_key_policies_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_key_policies() - .set_key_id(inner_input.r#key_id) - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_key_policies() + .set_key_id(inner_input.r#key_id) + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::list_key_policies::_list_key_policies_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::list_key_policies::to_dafny_error) @@ -863,17 +787,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::list_key_rotations::_list_key_rotations_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_key_rotations() - .set_key_id(inner_input.r#key_id) - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_key_rotations() + .set_key_id(inner_input.r#key_id) + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::list_key_rotations::_list_key_rotations_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::list_key_rotations::to_dafny_error) @@ -888,16 +809,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type crate::deps::com_amazonaws_kms::conversions::list_keys::_list_keys_request::from_dafny( input.clone(), ); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_keys() - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_keys() + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::list_keys::_list_keys_response::to_dafny, @@ -911,17 +829,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::list_resource_tags::_list_resource_tags_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .list_resource_tags() - .set_key_id(inner_input.r#key_id) - .set_limit(inner_input.r#limit) - .set_marker(inner_input.r#marker) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .list_resource_tags() + .set_key_id(inner_input.r#key_id) + .set_limit(inner_input.r#limit) + .set_marker(inner_input.r#marker) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::list_resource_tags::_list_resource_tags_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::list_resource_tags::to_dafny_error) @@ -938,20 +853,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::put_key_policy::_put_key_policy_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .put_key_policy() - .set_key_id(inner_input.r#key_id) - .set_policy_name(inner_input.r#policy_name) - .set_policy(inner_input.r#policy) - .set_bypass_policy_lockout_safety_check( - inner_input.r#bypass_policy_lockout_safety_check, - ) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .put_key_policy() + .set_key_id(inner_input.r#key_id) + .set_policy_name(inner_input.r#policy_name) + .set_policy(inner_input.r#policy) + .set_bypass_policy_lockout_safety_check( + inner_input.r#bypass_policy_lockout_safety_check, + ) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -965,27 +877,22 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::re_encrypt::_re_encrypt_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .re_encrypt() - .set_ciphertext_blob(inner_input.r#ciphertext_blob) - .set_source_encryption_context(inner_input.r#source_encryption_context) - .set_source_key_id(inner_input.r#source_key_id) - .set_destination_key_id(inner_input.r#destination_key_id) - .set_destination_encryption_context( - inner_input.r#destination_encryption_context, - ) - .set_source_encryption_algorithm(inner_input.r#source_encryption_algorithm) - .set_destination_encryption_algorithm( - inner_input.r#destination_encryption_algorithm, - ) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .re_encrypt() + .set_ciphertext_blob(inner_input.r#ciphertext_blob) + .set_source_encryption_context(inner_input.r#source_encryption_context) + .set_source_key_id(inner_input.r#source_key_id) + .set_destination_key_id(inner_input.r#destination_key_id) + .set_destination_encryption_context(inner_input.r#destination_encryption_context) + .set_source_encryption_algorithm(inner_input.r#source_encryption_algorithm) + .set_destination_encryption_algorithm( + inner_input.r#destination_encryption_algorithm, + ) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::re_encrypt::_re_encrypt_response::to_dafny, @@ -999,22 +906,19 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::replicate_key::_replicate_key_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .replicate_key() - .set_key_id(inner_input.r#key_id) - .set_replica_region(inner_input.r#replica_region) - .set_policy(inner_input.r#policy) - .set_bypass_policy_lockout_safety_check( - inner_input.r#bypass_policy_lockout_safety_check, - ) - .set_description(inner_input.r#description) - .set_tags(inner_input.r#tags) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .replicate_key() + .set_key_id(inner_input.r#key_id) + .set_replica_region(inner_input.r#replica_region) + .set_policy(inner_input.r#policy) + .set_bypass_policy_lockout_safety_check( + inner_input.r#bypass_policy_lockout_safety_check, + ) + .set_description(inner_input.r#description) + .set_tags(inner_input.r#tags) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::replicate_key::_replicate_key_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::replicate_key::to_dafny_error) @@ -1031,18 +935,15 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::retire_grant::_retire_grant_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .retire_grant() - .set_grant_token(inner_input.r#grant_token) - .set_key_id(inner_input.r#key_id) - .set_grant_id(inner_input.r#grant_id) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .retire_grant() + .set_grant_token(inner_input.r#grant_token) + .set_key_id(inner_input.r#key_id) + .set_grant_id(inner_input.r#grant_id) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1061,17 +962,14 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::revoke_grant::_revoke_grant_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .revoke_grant() - .set_key_id(inner_input.r#key_id) - .set_grant_id(inner_input.r#grant_id) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .revoke_grant() + .set_key_id(inner_input.r#key_id) + .set_grant_id(inner_input.r#grant_id) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1085,15 +983,12 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::rotate_key_on_demand::_rotate_key_on_demand_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .rotate_key_on_demand() - .set_key_id(inner_input.r#key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .rotate_key_on_demand() + .set_key_id(inner_input.r#key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::rotate_key_on_demand::_rotate_key_on_demand_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::rotate_key_on_demand::to_dafny_error) @@ -1105,16 +1000,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::schedule_key_deletion::_schedule_key_deletion_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .schedule_key_deletion() - .set_key_id(inner_input.r#key_id) - .set_pending_window_in_days(inner_input.r#pending_window_in_days) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .schedule_key_deletion() + .set_key_id(inner_input.r#key_id) + .set_pending_window_in_days(inner_input.r#pending_window_in_days) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::schedule_key_deletion::_schedule_key_deletion_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::schedule_key_deletion::to_dafny_error) @@ -1129,20 +1021,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type crate::deps::com_amazonaws_kms::conversions::sign::_sign_request::from_dafny( input.clone(), ); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .sign() - .set_key_id(inner_input.r#key_id) - .set_message(inner_input.r#message) - .set_message_type(inner_input.r#message_type) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_signing_algorithm(inner_input.r#signing_algorithm) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .sign() + .set_key_id(inner_input.r#key_id) + .set_message(inner_input.r#message) + .set_message_type(inner_input.r#message_type) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_signing_algorithm(inner_input.r#signing_algorithm) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::sign::_sign_response::to_dafny, @@ -1161,16 +1050,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::tag_resource::_tag_resource_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .tag_resource() - .set_key_id(inner_input.r#key_id) - .set_tags(inner_input.r#tags) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .tag_resource() + .set_key_id(inner_input.r#key_id) + .set_tags(inner_input.r#tags) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1189,16 +1075,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::untag_resource::_untag_resource_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .untag_resource() - .set_key_id(inner_input.r#key_id) - .set_tag_keys(inner_input.r#tag_keys) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .untag_resource() + .set_key_id(inner_input.r#key_id) + .set_tag_keys(inner_input.r#tag_keys) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1217,16 +1100,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::update_alias::_update_alias_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .update_alias() - .set_alias_name(inner_input.r#alias_name) - .set_target_key_id(inner_input.r#target_key_id) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .update_alias() + .set_alias_name(inner_input.r#alias_name) + .set_target_key_id(inner_input.r#target_key_id) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1240,27 +1120,24 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::update_custom_key_store::_update_custom_key_store_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .update_custom_key_store() - .set_custom_key_store_id(inner_input.r#custom_key_store_id) - .set_new_custom_key_store_name(inner_input.r#new_custom_key_store_name) - .set_key_store_password(inner_input.r#key_store_password) - .set_cloud_hsm_cluster_id(inner_input.r#cloud_hsm_cluster_id) - .set_xks_proxy_uri_endpoint(inner_input.r#xks_proxy_uri_endpoint) - .set_xks_proxy_uri_path(inner_input.r#xks_proxy_uri_path) - .set_xks_proxy_vpc_endpoint_service_name( - inner_input.r#xks_proxy_vpc_endpoint_service_name, - ) - .set_xks_proxy_authentication_credential( - inner_input.r#xks_proxy_authentication_credential, - ) - .set_xks_proxy_connectivity(inner_input.r#xks_proxy_connectivity) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .update_custom_key_store() + .set_custom_key_store_id(inner_input.r#custom_key_store_id) + .set_new_custom_key_store_name(inner_input.r#new_custom_key_store_name) + .set_key_store_password(inner_input.r#key_store_password) + .set_cloud_hsm_cluster_id(inner_input.r#cloud_hsm_cluster_id) + .set_xks_proxy_uri_endpoint(inner_input.r#xks_proxy_uri_endpoint) + .set_xks_proxy_uri_path(inner_input.r#xks_proxy_uri_path) + .set_xks_proxy_vpc_endpoint_service_name( + inner_input.r#xks_proxy_vpc_endpoint_service_name, + ) + .set_xks_proxy_authentication_credential( + inner_input.r#xks_proxy_authentication_credential, + ) + .set_xks_proxy_connectivity(inner_input.r#xks_proxy_connectivity) + .send(), + ); crate::standard_library_conversions::result_to_dafny(&native_result, crate::deps::com_amazonaws_kms::conversions::update_custom_key_store::_update_custom_key_store_response::to_dafny, crate::deps::com_amazonaws_kms::conversions::update_custom_key_store::to_dafny_error) @@ -1277,16 +1154,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::update_key_description::_update_key_description_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .update_key_description() - .set_key_id(inner_input.r#key_id) - .set_description(inner_input.r#description) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .update_key_description() + .set_key_id(inner_input.r#key_id) + .set_description(inner_input.r#description) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1305,16 +1179,13 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type >, > { let inner_input = crate::deps::com_amazonaws_kms::conversions::update_primary_region::_update_primary_region_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .update_primary_region() - .set_key_id(inner_input.r#key_id) - .set_primary_region(inner_input.r#primary_region) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .update_primary_region() + .set_key_id(inner_input.r#key_id) + .set_primary_region(inner_input.r#primary_region) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, |x| (), @@ -1331,21 +1202,18 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type crate::deps::com_amazonaws_kms::conversions::verify::_verify_request::from_dafny( input.clone(), ); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .verify() - .set_key_id(inner_input.r#key_id) - .set_message(inner_input.r#message) - .set_message_type(inner_input.r#message_type) - .set_signature(inner_input.r#signature) - .set_signing_algorithm(inner_input.r#signing_algorithm) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .verify() + .set_key_id(inner_input.r#key_id) + .set_message(inner_input.r#message) + .set_message_type(inner_input.r#message_type) + .set_signature(inner_input.r#signature) + .set_signing_algorithm(inner_input.r#signing_algorithm) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::verify::_verify_response::to_dafny, @@ -1359,20 +1227,17 @@ impl crate::r#software::amazon::cryptography::services::kms::internaldafny::type > >{ let inner_input = crate::deps::com_amazonaws_kms::conversions::verify_mac::_verify_mac_request::from_dafny(input.clone()); - let native_result = tokio::task::block_in_place(|| { - dafny_tokio_runtime.block_on(async { - self.inner - .verify_mac() - .set_message(inner_input.r#message) - .set_key_id(inner_input.r#key_id) - .set_mac_algorithm(inner_input.r#mac_algorithm) - .set_mac(inner_input.r#mac) - .set_grant_tokens(inner_input.r#grant_tokens) - .set_dry_run(inner_input.r#dry_run) - .send() - .await - }) - }); + let native_result = escape_to_async( + self.inner + .verify_mac() + .set_message(inner_input.r#message) + .set_key_id(inner_input.r#key_id) + .set_mac_algorithm(inner_input.r#mac_algorithm) + .set_mac(inner_input.r#mac) + .set_grant_tokens(inner_input.r#grant_tokens) + .set_dry_run(inner_input.r#dry_run) + .send(), + ); crate::standard_library_conversions::result_to_dafny( &native_result, crate::deps::com_amazonaws_kms::conversions::verify_mac::_verify_mac_response::to_dafny, diff --git a/releases/rust/esdk/src/escape.rs b/releases/rust/esdk/src/escape.rs new file mode 100644 index 000000000..414aed3e8 --- /dev/null +++ b/releases/rust/esdk/src/escape.rs @@ -0,0 +1,35 @@ +// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +use std::future::Future; +use tokio::runtime::Builder; +use tokio::runtime::Handle; +use tokio::runtime::RuntimeFlavor; + +pub(crate) fn escape_to_async(fut: F) -> O +where + F: Future + Send, + O: Send, +{ + match Handle::try_current() { + Ok(handle) => match handle.runtime_flavor() { + RuntimeFlavor::CurrentThread => std::thread::scope(move |t| { + t.spawn(move || { + Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut) + }) + .join() + .unwrap() + }), + _ => tokio::task::block_in_place(move || handle.block_on(fut)), + }, + Err(_) => Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(fut), + } +} diff --git a/releases/rust/esdk/src/kms.rs b/releases/rust/esdk/src/kms.rs index 0bce667bf..fced159bc 100644 --- a/releases/rust/esdk/src/kms.rs +++ b/releases/rust/esdk/src/kms.rs @@ -5,29 +5,15 @@ #![deny(nonstandard_style)] #![deny(clippy::all)] +use crate::escape::escape_to_async; use aws_config::{AppName, Region, SdkConfig}; -use std::sync::LazyLock; -static DAFNY_TOKIO_RUNTIME: LazyLock = LazyLock::new(|| { - tokio::runtime::Builder::new_multi_thread() - .enable_all() - .build() - .unwrap() -}); impl crate::r#software::amazon::cryptography::services::kms::internaldafny::_default { #[allow(non_snake_case)] fn CreateSdkConfig() -> SdkConfig { - 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 = escape_to_async(aws_config::load_defaults( + aws_config::BehaviorVersion::latest(), + )); Self::AddUserAgentStringToConfig(&shared_config) } diff --git a/releases/rust/esdk/src/lib.rs b/releases/rust/esdk/src/lib.rs index 01000644d..26a65656b 100644 --- a/releases/rust/esdk/src/lib.rs +++ b/releases/rust/esdk/src/lib.rs @@ -96,6 +96,7 @@ mod standard_library_conversions; mod standard_library_externs; pub(crate) mod implementation_from_dafny; +pub(crate) use crate::deps::com_amazonaws_dynamodb::client::Client as DdbClient; pub(crate) use crate::deps::com_amazonaws_kms::client::Client as KmsClient; pub(crate) use crate::implementation_from_dafny::r#_Wrappers_Compile; pub(crate) use crate::implementation_from_dafny::software; @@ -127,6 +128,7 @@ pub(crate) mod ddb; pub(crate) mod digest; pub(crate) mod ecdh; pub(crate) mod ecdsa; +pub(crate) mod escape; pub(crate) mod hmac; pub(crate) mod kms; pub(crate) mod local_cmc; From 847a96ea1d5101f230fe1a9304efa949fa293b5b Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Mon, 26 Jan 2026 12:46:27 -0500 Subject: [PATCH 2/2] m --- AwsEncryptionSDK/runtimes/rust/Cargo.toml | 2 +- mpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AwsEncryptionSDK/runtimes/rust/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/Cargo.toml index c8522b2da..d29c7984c 100644 --- a/AwsEncryptionSDK/runtimes/rust/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aws-esdk" -version = "1.2.1" +version = "1.2.2" edition = "2021" keywords = ["cryptography", "security", "dynamodb", "encryption", "client-side"] license = "ISC AND (Apache-2.0 OR ISC)" diff --git a/mpl b/mpl index 3ea116182..03c999c72 160000 --- a/mpl +++ b/mpl @@ -1 +1 @@ -Subproject commit 3ea116182a442607720330c102f086ebf3c6975f +Subproject commit 03c999c72426158b06988cc31155454808d6baa1