pub fn ser_create_db_cluster_input_input_input(
input: &crate::operation::create_db_cluster::CreateDbClusterInput,
) -> ::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, "CreateDBCluster", "2014-10-31");
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("AvailabilityZones");
if let Some(var_2) = &input.availability_zones {
let mut list_4 = scope_1.start_list(false, Some("AvailabilityZone"));
for item_3 in var_2 {
#[allow(unused_mut)]
let mut entry_5 = list_4.entry();
entry_5.string(item_3);
}
list_4.finish();
}
#[allow(unused_mut)]
let mut scope_6 = writer.prefix("BackupRetentionPeriod");
if let Some(var_7) = &input.backup_retention_period {
scope_6.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_7).into()),
);
}
#[allow(unused_mut)]
let mut scope_8 = writer.prefix("DBClusterIdentifier");
if let Some(var_9) = &input.db_cluster_identifier {
scope_8.string(var_9);
}
#[allow(unused_mut)]
let mut scope_10 = writer.prefix("DBClusterParameterGroupName");
if let Some(var_11) = &input.db_cluster_parameter_group_name {
scope_10.string(var_11);
}
#[allow(unused_mut)]
let mut scope_12 = writer.prefix("VpcSecurityGroupIds");
if let Some(var_13) = &input.vpc_security_group_ids {
let mut list_15 = scope_12.start_list(false, Some("VpcSecurityGroupId"));
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("DBSubnetGroupName");
if let Some(var_18) = &input.db_subnet_group_name {
scope_17.string(var_18);
}
#[allow(unused_mut)]
let mut scope_19 = writer.prefix("Engine");
if let Some(var_20) = &input.engine {
scope_19.string(var_20);
}
#[allow(unused_mut)]
let mut scope_21 = writer.prefix("EngineVersion");
if let Some(var_22) = &input.engine_version {
scope_21.string(var_22);
}
#[allow(unused_mut)]
let mut scope_23 = writer.prefix("Port");
if let Some(var_24) = &input.port {
scope_23.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_24).into()),
);
}
#[allow(unused_mut)]
let mut scope_25 = writer.prefix("MasterUsername");
if let Some(var_26) = &input.master_username {
scope_25.string(var_26);
}
#[allow(unused_mut)]
let mut scope_27 = writer.prefix("MasterUserPassword");
if let Some(var_28) = &input.master_user_password {
scope_27.string(var_28);
}
#[allow(unused_mut)]
let mut scope_29 = writer.prefix("PreferredBackupWindow");
if let Some(var_30) = &input.preferred_backup_window {
scope_29.string(var_30);
}
#[allow(unused_mut)]
let mut scope_31 = writer.prefix("PreferredMaintenanceWindow");
if let Some(var_32) = &input.preferred_maintenance_window {
scope_31.string(var_32);
}
#[allow(unused_mut)]
let mut scope_33 = writer.prefix("Tags");
if let Some(var_34) = &input.tags {
let mut list_36 = scope_33.start_list(false, Some("Tag"));
for item_35 in var_34 {
#[allow(unused_mut)]
let mut entry_37 = list_36.entry();
crate::protocol_serde::shape_tag::ser_tag(entry_37, item_35)?;
}
list_36.finish();
}
#[allow(unused_mut)]
let mut scope_38 = writer.prefix("StorageEncrypted");
if let Some(var_39) = &input.storage_encrypted {
scope_38.boolean(*var_39);
}
#[allow(unused_mut)]
let mut scope_40 = writer.prefix("KmsKeyId");
if let Some(var_41) = &input.kms_key_id {
scope_40.string(var_41);
}
#[allow(unused_mut)]
let mut scope_42 = writer.prefix("PreSignedUrl");
if let Some(var_43) = &input.pre_signed_url {
scope_42.string(var_43);
}
#[allow(unused_mut)]
let mut scope_44 = writer.prefix("EnableCloudwatchLogsExports");
if let Some(var_45) = &input.enable_cloudwatch_logs_exports {
let mut list_47 = scope_44.start_list(false, None);
for item_46 in var_45 {
#[allow(unused_mut)]
let mut entry_48 = list_47.entry();
entry_48.string(item_46);
}
list_47.finish();
}
#[allow(unused_mut)]
let mut scope_49 = writer.prefix("DeletionProtection");
if let Some(var_50) = &input.deletion_protection {
scope_49.boolean(*var_50);
}
#[allow(unused_mut)]
let mut scope_51 = writer.prefix("GlobalClusterIdentifier");
if let Some(var_52) = &input.global_cluster_identifier {
scope_51.string(var_52);
}
#[allow(unused_mut)]
let mut scope_53 = writer.prefix("StorageType");
if let Some(var_54) = &input.storage_type {
scope_53.string(var_54);
}
#[allow(unused_mut)]
let mut scope_55 = writer.prefix("ServerlessV2ScalingConfiguration");
if let Some(var_56) = &input.serverless_v2_scaling_configuration {
crate::protocol_serde::shape_serverless_v2_scaling_configuration::ser_serverless_v2_scaling_configuration(scope_55, var_56)?;
}
#[allow(unused_mut)]
let mut scope_57 = writer.prefix("ManageMasterUserPassword");
if let Some(var_58) = &input.manage_master_user_password {
scope_57.boolean(*var_58);
}
#[allow(unused_mut)]
let mut scope_59 = writer.prefix("MasterUserSecretKmsKeyId");
if let Some(var_60) = &input.master_user_secret_kms_key_id {
scope_59.string(var_60);
}
#[allow(unused_mut)]
let mut scope_61 = writer.prefix("NetworkType");
if let Some(var_62) = &input.network_type {
scope_61.string(var_62);
}
writer.finish();
Ok(::aws_smithy_types::body::SdkBody::from(out))
}