aws-sdk-lightsail 1.107.0

AWS SDK for Amazon Lightsail
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_instances_from_snapshot_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_instances_from_snapshot::CreateInstancesFromSnapshotInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.instance_names {
        let mut array_2 = object.key("instanceNames").start_array();
        for item_3 in var_1 {
            {
                array_2.value().string(item_3.as_str());
            }
        }
        array_2.finish();
    }
    if let Some(var_4) = &input.attached_disk_mapping {
        #[allow(unused_mut)]
        let mut object_5 = object.key("attachedDiskMapping").start_object();
        for (key_6, value_7) in var_4 {
            {
                let mut array_8 = object_5.key(key_6.as_str()).start_array();
                for item_9 in value_7 {
                    {
                        #[allow(unused_mut)]
                        let mut object_10 = array_8.value().start_object();
                        crate::protocol_serde::shape_disk_map::ser_disk_map(&mut object_10, item_9)?;
                        object_10.finish();
                    }
                }
                array_8.finish();
            }
        }
        object_5.finish();
    }
    if let Some(var_11) = &input.availability_zone {
        object.key("availabilityZone").string(var_11.as_str());
    }
    if let Some(var_12) = &input.instance_snapshot_name {
        object.key("instanceSnapshotName").string(var_12.as_str());
    }
    if let Some(var_13) = &input.bundle_id {
        object.key("bundleId").string(var_13.as_str());
    }
    if let Some(var_14) = &input.user_data {
        object.key("userData").string(var_14.as_str());
    }
    if let Some(var_15) = &input.key_pair_name {
        object.key("keyPairName").string(var_15.as_str());
    }
    if let Some(var_16) = &input.tags {
        let mut array_17 = object.key("tags").start_array();
        for item_18 in var_16 {
            {
                #[allow(unused_mut)]
                let mut object_19 = array_17.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_19, item_18)?;
                object_19.finish();
            }
        }
        array_17.finish();
    }
    if let Some(var_20) = &input.add_ons {
        let mut array_21 = object.key("addOns").start_array();
        for item_22 in var_20 {
            {
                #[allow(unused_mut)]
                let mut object_23 = array_21.value().start_object();
                crate::protocol_serde::shape_add_on_request::ser_add_on_request(&mut object_23, item_22)?;
                object_23.finish();
            }
        }
        array_21.finish();
    }
    if let Some(var_24) = &input.ip_address_type {
        object.key("ipAddressType").string(var_24.as_str());
    }
    if let Some(var_25) = &input.source_instance_name {
        object.key("sourceInstanceName").string(var_25.as_str());
    }
    if let Some(var_26) = &input.restore_date {
        object.key("restoreDate").string(var_26.as_str());
    }
    if let Some(var_27) = &input.use_latest_restorable_auto_snapshot {
        object.key("useLatestRestorableAutoSnapshot").boolean(*var_27);
    }
    Ok(())
}