aws-sdk-wafv2 1.130.0

AWS SDK for AWS WAFV2
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_web_acl_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_web_acl::CreateWebAclInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.name {
        object.key("Name").string(var_1.as_str());
    }
    if let Some(var_2) = &input.scope {
        object.key("Scope").string(var_2.as_str());
    }
    if let Some(var_3) = &input.default_action {
        #[allow(unused_mut)]
        let mut object_4 = object.key("DefaultAction").start_object();
        crate::protocol_serde::shape_default_action::ser_default_action(&mut object_4, var_3)?;
        object_4.finish();
    }
    if let Some(var_5) = &input.description {
        object.key("Description").string(var_5.as_str());
    }
    if let Some(var_6) = &input.rules {
        let mut array_7 = object.key("Rules").start_array();
        for item_8 in var_6 {
            {
                #[allow(unused_mut)]
                let mut object_9 = array_7.value().start_object();
                crate::protocol_serde::shape_rule::ser_rule(&mut object_9, item_8)?;
                object_9.finish();
            }
        }
        array_7.finish();
    }
    if let Some(var_10) = &input.visibility_config {
        #[allow(unused_mut)]
        let mut object_11 = object.key("VisibilityConfig").start_object();
        crate::protocol_serde::shape_visibility_config::ser_visibility_config(&mut object_11, var_10)?;
        object_11.finish();
    }
    if let Some(var_12) = &input.data_protection_config {
        #[allow(unused_mut)]
        let mut object_13 = object.key("DataProtectionConfig").start_object();
        crate::protocol_serde::shape_data_protection_config::ser_data_protection_config(&mut object_13, var_12)?;
        object_13.finish();
    }
    if let Some(var_14) = &input.tags {
        let mut array_15 = object.key("Tags").start_array();
        for item_16 in var_14 {
            {
                #[allow(unused_mut)]
                let mut object_17 = array_15.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_17, item_16)?;
                object_17.finish();
            }
        }
        array_15.finish();
    }
    if let Some(var_18) = &input.custom_response_bodies {
        #[allow(unused_mut)]
        let mut object_19 = object.key("CustomResponseBodies").start_object();
        for (key_20, value_21) in var_18 {
            {
                #[allow(unused_mut)]
                let mut object_22 = object_19.key(key_20.as_str()).start_object();
                crate::protocol_serde::shape_custom_response_body::ser_custom_response_body(&mut object_22, value_21)?;
                object_22.finish();
            }
        }
        object_19.finish();
    }
    if let Some(var_23) = &input.captcha_config {
        #[allow(unused_mut)]
        let mut object_24 = object.key("CaptchaConfig").start_object();
        crate::protocol_serde::shape_captcha_config::ser_captcha_config(&mut object_24, var_23)?;
        object_24.finish();
    }
    if let Some(var_25) = &input.challenge_config {
        #[allow(unused_mut)]
        let mut object_26 = object.key("ChallengeConfig").start_object();
        crate::protocol_serde::shape_challenge_config::ser_challenge_config(&mut object_26, var_25)?;
        object_26.finish();
    }
    if let Some(var_27) = &input.token_domains {
        let mut array_28 = object.key("TokenDomains").start_array();
        for item_29 in var_27 {
            {
                array_28.value().string(item_29.as_str());
            }
        }
        array_28.finish();
    }
    if let Some(var_30) = &input.association_config {
        #[allow(unused_mut)]
        let mut object_31 = object.key("AssociationConfig").start_object();
        crate::protocol_serde::shape_association_config::ser_association_config(&mut object_31, var_30)?;
        object_31.finish();
    }
    if let Some(var_32) = &input.on_source_d_do_s_protection_config {
        #[allow(unused_mut)]
        let mut object_33 = object.key("OnSourceDDoSProtectionConfig").start_object();
        crate::protocol_serde::shape_on_source_d_do_s_protection_config::ser_on_source_d_do_s_protection_config(&mut object_33, var_32)?;
        object_33.finish();
    }
    if let Some(var_34) = &input.application_config {
        #[allow(unused_mut)]
        let mut object_35 = object.key("ApplicationConfig").start_object();
        crate::protocol_serde::shape_application_config::ser_application_config(&mut object_35, var_34)?;
        object_35.finish();
    }
    if let Some(var_36) = &input.monetization_config {
        #[allow(unused_mut)]
        let mut object_37 = object.key("MonetizationConfig").start_object();
        crate::protocol_serde::shape_monetization_config::ser_monetization_config(&mut object_37, var_36)?;
        object_37.finish();
    }
    Ok(())
}