aws-sdk-elasticache 1.110.0

AWS SDK for Amazon ElastiCache
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_modify_cache_cluster_input_input_input(
    input: &crate::operation::modify_cache_cluster::ModifyCacheClusterInput,
) -> ::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, "ModifyCacheCluster", "2015-02-02");
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("CacheClusterId");
    if let Some(var_2) = &input.cache_cluster_id {
        scope_1.string(var_2);
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("NumCacheNodes");
    if let Some(var_4) = &input.num_cache_nodes {
        scope_3.number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_4).into()),
        );
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("CacheNodeIdsToRemove");
    if let Some(var_6) = &input.cache_node_ids_to_remove {
        let mut list_8 = scope_5.start_list(false, Some("CacheNodeId"));
        for item_7 in var_6 {
            #[allow(unused_mut)]
            let mut entry_9 = list_8.entry();
            entry_9.string(item_7);
        }
        list_8.finish();
    }
    #[allow(unused_mut)]
    let mut scope_10 = writer.prefix("AZMode");
    if let Some(var_11) = &input.az_mode {
        scope_10.string(var_11.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_12 = writer.prefix("NewAvailabilityZones");
    if let Some(var_13) = &input.new_availability_zones {
        let mut list_15 = scope_12.start_list(false, Some("PreferredAvailabilityZone"));
        for item_14 in var_13 {
            #[allow(unused_mut)]
            let mut entry_16 = list_15.entry();
            entry_16.string(item_14);
        }
        list_15.finish();
    }
    #[allow(unused_mut)]
    let mut scope_17 = writer.prefix("CacheSecurityGroupNames");
    if let Some(var_18) = &input.cache_security_group_names {
        let mut list_20 = scope_17.start_list(false, Some("CacheSecurityGroupName"));
        for item_19 in var_18 {
            #[allow(unused_mut)]
            let mut entry_21 = list_20.entry();
            entry_21.string(item_19);
        }
        list_20.finish();
    }
    #[allow(unused_mut)]
    let mut scope_22 = writer.prefix("SecurityGroupIds");
    if let Some(var_23) = &input.security_group_ids {
        let mut list_25 = scope_22.start_list(false, Some("SecurityGroupId"));
        for item_24 in var_23 {
            #[allow(unused_mut)]
            let mut entry_26 = list_25.entry();
            entry_26.string(item_24);
        }
        list_25.finish();
    }
    #[allow(unused_mut)]
    let mut scope_27 = writer.prefix("PreferredMaintenanceWindow");
    if let Some(var_28) = &input.preferred_maintenance_window {
        scope_27.string(var_28);
    }
    #[allow(unused_mut)]
    let mut scope_29 = writer.prefix("NotificationTopicArn");
    if let Some(var_30) = &input.notification_topic_arn {
        scope_29.string(var_30);
    }
    #[allow(unused_mut)]
    let mut scope_31 = writer.prefix("CacheParameterGroupName");
    if let Some(var_32) = &input.cache_parameter_group_name {
        scope_31.string(var_32);
    }
    #[allow(unused_mut)]
    let mut scope_33 = writer.prefix("NotificationTopicStatus");
    if let Some(var_34) = &input.notification_topic_status {
        scope_33.string(var_34);
    }
    #[allow(unused_mut)]
    let mut scope_35 = writer.prefix("ApplyImmediately");
    if let Some(var_36) = &input.apply_immediately {
        scope_35.boolean(*var_36);
    }
    #[allow(unused_mut)]
    let mut scope_37 = writer.prefix("Engine");
    if let Some(var_38) = &input.engine {
        scope_37.string(var_38);
    }
    #[allow(unused_mut)]
    let mut scope_39 = writer.prefix("EngineVersion");
    if let Some(var_40) = &input.engine_version {
        scope_39.string(var_40);
    }
    #[allow(unused_mut)]
    let mut scope_41 = writer.prefix("AutoMinorVersionUpgrade");
    if let Some(var_42) = &input.auto_minor_version_upgrade {
        scope_41.boolean(*var_42);
    }
    #[allow(unused_mut)]
    let mut scope_43 = writer.prefix("SnapshotRetentionLimit");
    if let Some(var_44) = &input.snapshot_retention_limit {
        scope_43.number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_44).into()),
        );
    }
    #[allow(unused_mut)]
    let mut scope_45 = writer.prefix("SnapshotWindow");
    if let Some(var_46) = &input.snapshot_window {
        scope_45.string(var_46);
    }
    #[allow(unused_mut)]
    let mut scope_47 = writer.prefix("CacheNodeType");
    if let Some(var_48) = &input.cache_node_type {
        scope_47.string(var_48);
    }
    #[allow(unused_mut)]
    let mut scope_49 = writer.prefix("AuthToken");
    if let Some(var_50) = &input.auth_token {
        scope_49.string(var_50);
    }
    #[allow(unused_mut)]
    let mut scope_51 = writer.prefix("AuthTokenUpdateStrategy");
    if let Some(var_52) = &input.auth_token_update_strategy {
        scope_51.string(var_52.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_53 = writer.prefix("LogDeliveryConfigurations");
    if let Some(var_54) = &input.log_delivery_configurations {
        let mut list_56 = scope_53.start_list(false, Some("LogDeliveryConfigurationRequest"));
        for item_55 in var_54 {
            #[allow(unused_mut)]
            let mut entry_57 = list_56.entry();
            crate::protocol_serde::shape_log_delivery_configuration_request::ser_log_delivery_configuration_request(entry_57, item_55)?;
        }
        list_56.finish();
    }
    #[allow(unused_mut)]
    let mut scope_58 = writer.prefix("IpDiscovery");
    if let Some(var_59) = &input.ip_discovery {
        scope_58.string(var_59.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_60 = writer.prefix("ScaleConfig");
    if let Some(var_61) = &input.scale_config {
        crate::protocol_serde::shape_scale_config::ser_scale_config(scope_60, var_61)?;
    }
    writer.finish();
    Ok(::aws_smithy_types::body::SdkBody::from(out))
}