aws-sdk-dynamodb 1.109.0

AWS SDK for Amazon DynamoDB
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_table_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_table::CreateTableInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.attribute_definitions {
        let mut array_2 = object.key("AttributeDefinitions").start_array();
        for item_3 in var_1 {
            {
                #[allow(unused_mut)]
                let mut object_4 = array_2.value().start_object();
                crate::protocol_serde::shape_attribute_definition::ser_attribute_definition(&mut object_4, item_3)?;
                object_4.finish();
            }
        }
        array_2.finish();
    }
    if let Some(var_5) = &input.table_name {
        object.key("TableName").string(var_5.as_str());
    }
    if let Some(var_6) = &input.key_schema {
        let mut array_7 = object.key("KeySchema").start_array();
        for item_8 in var_6 {
            {
                #[allow(unused_mut)]
                let mut object_9 = array_7.value().start_object();
                crate::protocol_serde::shape_key_schema_element::ser_key_schema_element(&mut object_9, item_8)?;
                object_9.finish();
            }
        }
        array_7.finish();
    }
    if let Some(var_10) = &input.local_secondary_indexes {
        let mut array_11 = object.key("LocalSecondaryIndexes").start_array();
        for item_12 in var_10 {
            {
                #[allow(unused_mut)]
                let mut object_13 = array_11.value().start_object();
                crate::protocol_serde::shape_local_secondary_index::ser_local_secondary_index(&mut object_13, item_12)?;
                object_13.finish();
            }
        }
        array_11.finish();
    }
    if let Some(var_14) = &input.global_secondary_indexes {
        let mut array_15 = object.key("GlobalSecondaryIndexes").start_array();
        for item_16 in var_14 {
            {
                #[allow(unused_mut)]
                let mut object_17 = array_15.value().start_object();
                crate::protocol_serde::shape_global_secondary_index::ser_global_secondary_index(&mut object_17, item_16)?;
                object_17.finish();
            }
        }
        array_15.finish();
    }
    if let Some(var_18) = &input.billing_mode {
        object.key("BillingMode").string(var_18.as_str());
    }
    if let Some(var_19) = &input.provisioned_throughput {
        #[allow(unused_mut)]
        let mut object_20 = object.key("ProvisionedThroughput").start_object();
        crate::protocol_serde::shape_provisioned_throughput::ser_provisioned_throughput(&mut object_20, var_19)?;
        object_20.finish();
    }
    if let Some(var_21) = &input.stream_specification {
        #[allow(unused_mut)]
        let mut object_22 = object.key("StreamSpecification").start_object();
        crate::protocol_serde::shape_stream_specification::ser_stream_specification(&mut object_22, var_21)?;
        object_22.finish();
    }
    if let Some(var_23) = &input.sse_specification {
        #[allow(unused_mut)]
        let mut object_24 = object.key("SSESpecification").start_object();
        crate::protocol_serde::shape_sse_specification::ser_sse_specification(&mut object_24, var_23)?;
        object_24.finish();
    }
    if let Some(var_25) = &input.tags {
        let mut array_26 = object.key("Tags").start_array();
        for item_27 in var_25 {
            {
                #[allow(unused_mut)]
                let mut object_28 = array_26.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_28, item_27)?;
                object_28.finish();
            }
        }
        array_26.finish();
    }
    if let Some(var_29) = &input.table_class {
        object.key("TableClass").string(var_29.as_str());
    }
    if let Some(var_30) = &input.deletion_protection_enabled {
        object.key("DeletionProtectionEnabled").boolean(*var_30);
    }
    if let Some(var_31) = &input.warm_throughput {
        #[allow(unused_mut)]
        let mut object_32 = object.key("WarmThroughput").start_object();
        crate::protocol_serde::shape_warm_throughput::ser_warm_throughput(&mut object_32, var_31)?;
        object_32.finish();
    }
    if let Some(var_33) = &input.resource_policy {
        object.key("ResourcePolicy").string(var_33.as_str());
    }
    if let Some(var_34) = &input.on_demand_throughput {
        #[allow(unused_mut)]
        let mut object_35 = object.key("OnDemandThroughput").start_object();
        crate::protocol_serde::shape_on_demand_throughput::ser_on_demand_throughput(&mut object_35, var_34)?;
        object_35.finish();
    }
    if let Some(var_36) = &input.global_table_source_arn {
        object.key("GlobalTableSourceArn").string(var_36.as_str());
    }
    if let Some(var_37) = &input.global_table_settings_replication_mode {
        object.key("GlobalTableSettingsReplicationMode").string(var_37.as_str());
    }
    Ok(())
}