aws-sdk-ec2 1.223.0

AWS SDK for Amazon Elastic Compute Cloud
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_modify_image_attribute_input_input_input(
    input: &crate::operation::modify_image_attribute::ModifyImageAttributeInput,
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "ModifyImageAttribute", "2016-11-15");
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("Attribute");
    if let Some(var_2) = &input.attribute {
        scope_1.string(var_2);
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("Description");
    if let Some(var_4) = &input.description {
        crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_3, var_4)?;
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("ImageId");
    if let Some(var_6) = &input.image_id {
        scope_5.string(var_6);
    }
    #[allow(unused_mut)]
    let mut scope_7 = writer.prefix("LaunchPermission");
    if let Some(var_8) = &input.launch_permission {
        crate::protocol_serde::shape_launch_permission_modifications::ser_launch_permission_modifications(scope_7, var_8)?;
    }
    #[allow(unused_mut)]
    let mut scope_9 = writer.prefix("OperationType");
    if let Some(var_10) = &input.operation_type {
        scope_9.string(var_10.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_11 = writer.prefix("ProductCode");
    if let Some(var_12) = &input.product_codes {
        if !var_12.is_empty() {
            let mut list_14 = scope_11.start_list(true, Some("ProductCode"));
            for item_13 in var_12 {
                #[allow(unused_mut)]
                let mut entry_15 = list_14.entry();
                entry_15.string(item_13);
            }
            list_14.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_16 = writer.prefix("UserGroup");
    if let Some(var_17) = &input.user_groups {
        if !var_17.is_empty() {
            let mut list_19 = scope_16.start_list(true, Some("UserGroup"));
            for item_18 in var_17 {
                #[allow(unused_mut)]
                let mut entry_20 = list_19.entry();
                entry_20.string(item_18);
            }
            list_19.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_21 = writer.prefix("UserId");
    if let Some(var_22) = &input.user_ids {
        if !var_22.is_empty() {
            let mut list_24 = scope_21.start_list(true, Some("UserId"));
            for item_23 in var_22 {
                #[allow(unused_mut)]
                let mut entry_25 = list_24.entry();
                entry_25.string(item_23);
            }
            list_24.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_26 = writer.prefix("Value");
    if let Some(var_27) = &input.value {
        scope_26.string(var_27);
    }
    #[allow(unused_mut)]
    let mut scope_28 = writer.prefix("OrganizationArn");
    if let Some(var_29) = &input.organization_arns {
        if !var_29.is_empty() {
            let mut list_31 = scope_28.start_list(true, Some("OrganizationArn"));
            for item_30 in var_29 {
                #[allow(unused_mut)]
                let mut entry_32 = list_31.entry();
                entry_32.string(item_30);
            }
            list_31.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_33 = writer.prefix("OrganizationalUnitArn");
    if let Some(var_34) = &input.organizational_unit_arns {
        if !var_34.is_empty() {
            let mut list_36 = scope_33.start_list(true, Some("OrganizationalUnitArn"));
            for item_35 in var_34 {
                #[allow(unused_mut)]
                let mut entry_37 = list_36.entry();
                entry_37.string(item_35);
            }
            list_36.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_38 = writer.prefix("ImdsSupport");
    if let Some(var_39) = &input.imds_support {
        crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_38, var_39)?;
    }
    #[allow(unused_mut)]
    let mut scope_40 = writer.prefix("DryRun");
    if let Some(var_41) = &input.dry_run {
        scope_40.boolean(*var_41);
    }
    writer.finish();
    Ok(::aws_smithy_types::body::SdkBody::from(out))
}