1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
use std::fmt; use assemblylift_core_iomod_guest::{call, export_iomod_guest}; use serde::export::Formatter; use serde::{Deserialize, Serialize}; use crate::structs::*; export_iomod_guest!(akkoro, aws, dynamodb); mod serialization; pub mod structs; #[derive(Debug, Serialize, Deserialize)] pub struct Error { pub why: String, } impl fmt::Display for Error { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { write!(f, "{}", self.why) } } impl std::error::Error for Error {} call!(batch_get_item, BatchGetItemInput => Result<BatchGetItemInput, Error>); call!(batch_write_item, BatchWriteItemInput => Result<BatchWriteItemInput, Error>); call!(create_backup, CreateBackupInput => Result<CreateBackupInput, Error>); call!(create_global_table, CreateGlobalTableInput => Result<CreateGlobalTableInput, Error>); call!(create_table, CreateTableInput => Result<CreateTableInput, Error>); call!(delete_backup, DeleteBackupInput => Result<DeleteBackupInput, Error>); call!(delete_item, DeleteItemInput => Result<DeleteItemInput, Error>); call!(delete_table, DeleteTableInput => Result<DeleteTableInput, Error>); call!(describe_backup, DescribeBackupInput => Result<DescribeBackupInput, Error>); call!(describe_continuous_backups, DescribeContinuousBackupsInput => Result<DescribeContinuousBackupsInput, Error>); call!(describe_contributor_insights, DescribeContributorInsightsInput => Result<DescribeContributorInsightsInput, Error>); call!(describe_endpoints, DescribeEndpointsRequest => Result<DescribeEndpointsRequest, Error>); call!(describe_global_table, DescribeGlobalTableInput => Result<DescribeGlobalTableInput, Error>); call!(describe_global_table_settings, DescribeGlobalTableSettingsInput => Result<DescribeGlobalTableSettingsInput, Error>); call!(describe_limits, DescribeLimitsInput => Result<DescribeLimitsInput, Error>); call!(describe_table, DescribeTableInput => Result<DescribeTableInput, Error>); call!(describe_table_replica_auto_scaling, DescribeTableReplicaAutoScalingInput => Result<DescribeTableReplicaAutoScalingInput, Error>); call!(describe_time_to_live, DescribeTimeToLiveInput => Result<DescribeTimeToLiveInput, Error>); call!(get_item, GetItemInput => Result<GetItemInput, Error>); call!(list_backups, ListBackupsInput => Result<ListBackupsInput, Error>); call!(list_contributor_insights, ListContributorInsightsInput => Result<ListContributorInsightsInput, Error>); call!(list_global_tables, ListGlobalTablesInput => Result<ListGlobalTablesInput, Error>); call!(list_tables, ListTablesInput => Result<ListTablesInput, Error>); call!(list_tags_of_resource, ListTagsOfResourceInput => Result<ListTagsOfResourceInput, Error>); call!(put_item, PutItemInput => Result<PutItemInput, Error>); call!(query, QueryInput => Result<QueryInput, Error>); call!(restore_table_from_backup, RestoreTableFromBackupInput => Result<RestoreTableFromBackupInput, Error>); call!(restore_table_to_point_in_time, RestoreTableToPointInTimeInput => Result<RestoreTableToPointInTimeInput, Error>); call!(scan, ScanInput => Result<ScanInput, Error>); call!(tag_resource, TagResourceInput => Result<TagResourceInput, Error>); call!(transact_get_items, TransactGetItemsInput => Result<TransactGetItemsInput, Error>); call!(transact_write_items, TransactWriteItemsInput => Result<TransactWriteItemsInput, Error>); call!(untag_resource, UntagResourceInput => Result<UntagResourceInput, Error>); call!(update_continuous_backups, UpdateContinuousBackupsInput => Result<UpdateContinuousBackupsInput, Error>); call!(update_contributor_insights, UpdateContributorInsightsInput => Result<UpdateContributorInsightsInput, Error>); call!(update_global_table, UpdateGlobalTableInput => Result<UpdateGlobalTableInput, Error>); call!(update_global_table_settings, UpdateGlobalTableSettingsInput => Result<UpdateGlobalTableSettingsInput, Error>); call!(update_item, UpdateItemInput => Result<UpdateItemInput, Error>); call!(update_table, UpdateTableInput => Result<UpdateTableInput, Error>); call!(update_table_replica_auto_scaling, UpdateTableReplicaAutoScalingInput => Result<UpdateTableReplicaAutoScalingInput, Error>); call!(update_time_to_live, UpdateTimeToLiveInput => Result<UpdateTimeToLiveInput, Error>); #[macro_export] macro_rules! val { (B => $val:expr) => {{ let mut attr = AttributeValue::default(); attr.b = Some($val); attr }}; (S => $val:expr) => {{ let mut attr = AttributeValue::default(); attr.s = Some($val.to_string()); attr }}; (N => $val:expr) => {{ let mut attr = AttributeValue::default(); attr.n = Some($val.to_string()); attr }}; }