pub fn ser_create_db_cluster_input_input_input(
input: &crate::operation::create_db_cluster::CreateDbClusterInput,
) -> 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("CharacterSetName");
if let Some(var_9) = &input.character_set_name {
scope_8.string(var_9);
}
#[allow(unused_mut)]
let mut scope_10 = writer.prefix("DatabaseName");
if let Some(var_11) = &input.database_name {
scope_10.string(var_11);
}
#[allow(unused_mut)]
let mut scope_12 = writer.prefix("DBClusterIdentifier");
if let Some(var_13) = &input.db_cluster_identifier {
scope_12.string(var_13);
}
#[allow(unused_mut)]
let mut scope_14 = writer.prefix("DBClusterParameterGroupName");
if let Some(var_15) = &input.db_cluster_parameter_group_name {
scope_14.string(var_15);
}
#[allow(unused_mut)]
let mut scope_16 = writer.prefix("VpcSecurityGroupIds");
if let Some(var_17) = &input.vpc_security_group_ids {
let mut list_19 = scope_16.start_list(false, Some("VpcSecurityGroupId"));
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("DBSubnetGroupName");
if let Some(var_22) = &input.db_subnet_group_name {
scope_21.string(var_22);
}
#[allow(unused_mut)]
let mut scope_23 = writer.prefix("Engine");
if let Some(var_24) = &input.engine {
scope_23.string(var_24);
}
#[allow(unused_mut)]
let mut scope_25 = writer.prefix("EngineVersion");
if let Some(var_26) = &input.engine_version {
scope_25.string(var_26);
}
#[allow(unused_mut)]
let mut scope_27 = writer.prefix("Port");
if let Some(var_28) = &input.port {
scope_27.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_28).into()),
);
}
#[allow(unused_mut)]
let mut scope_29 = writer.prefix("MasterUsername");
if let Some(var_30) = &input.master_username {
scope_29.string(var_30);
}
#[allow(unused_mut)]
let mut scope_31 = writer.prefix("MasterUserPassword");
if let Some(var_32) = &input.master_user_password {
scope_31.string(var_32);
}
#[allow(unused_mut)]
let mut scope_33 = writer.prefix("OptionGroupName");
if let Some(var_34) = &input.option_group_name {
scope_33.string(var_34);
}
#[allow(unused_mut)]
let mut scope_35 = writer.prefix("PreferredBackupWindow");
if let Some(var_36) = &input.preferred_backup_window {
scope_35.string(var_36);
}
#[allow(unused_mut)]
let mut scope_37 = writer.prefix("PreferredMaintenanceWindow");
if let Some(var_38) = &input.preferred_maintenance_window {
scope_37.string(var_38);
}
#[allow(unused_mut)]
let mut scope_39 = writer.prefix("ReplicationSourceIdentifier");
if let Some(var_40) = &input.replication_source_identifier {
scope_39.string(var_40);
}
#[allow(unused_mut)]
let mut scope_41 = writer.prefix("Tags");
if let Some(var_42) = &input.tags {
let mut list_44 = scope_41.start_list(false, Some("Tag"));
for item_43 in var_42 {
#[allow(unused_mut)]
let mut entry_45 = list_44.entry();
crate::protocol_serde::shape_tag::ser_tag(entry_45, item_43)?;
}
list_44.finish();
}
#[allow(unused_mut)]
let mut scope_46 = writer.prefix("StorageEncrypted");
if let Some(var_47) = &input.storage_encrypted {
scope_46.boolean(*var_47);
}
#[allow(unused_mut)]
let mut scope_48 = writer.prefix("KmsKeyId");
if let Some(var_49) = &input.kms_key_id {
scope_48.string(var_49);
}
#[allow(unused_mut)]
let mut scope_50 = writer.prefix("PreSignedUrl");
if let Some(var_51) = &input.pre_signed_url {
scope_50.string(var_51);
}
#[allow(unused_mut)]
let mut scope_52 = writer.prefix("EnableIAMDatabaseAuthentication");
if let Some(var_53) = &input.enable_iam_database_authentication {
scope_52.boolean(*var_53);
}
#[allow(unused_mut)]
let mut scope_54 = writer.prefix("BacktrackWindow");
if let Some(var_55) = &input.backtrack_window {
scope_54.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_55).into()),
);
}
#[allow(unused_mut)]
let mut scope_56 = writer.prefix("EnableCloudwatchLogsExports");
if let Some(var_57) = &input.enable_cloudwatch_logs_exports {
let mut list_59 = scope_56.start_list(false, None);
for item_58 in var_57 {
#[allow(unused_mut)]
let mut entry_60 = list_59.entry();
entry_60.string(item_58);
}
list_59.finish();
}
#[allow(unused_mut)]
let mut scope_61 = writer.prefix("EngineMode");
if let Some(var_62) = &input.engine_mode {
scope_61.string(var_62);
}
#[allow(unused_mut)]
let mut scope_63 = writer.prefix("ScalingConfiguration");
if let Some(var_64) = &input.scaling_configuration {
crate::protocol_serde::shape_scaling_configuration::ser_scaling_configuration(scope_63, var_64)?;
}
#[allow(unused_mut)]
let mut scope_65 = writer.prefix("RdsCustomClusterConfiguration");
if let Some(var_66) = &input.rds_custom_cluster_configuration {
crate::protocol_serde::shape_rds_custom_cluster_configuration::ser_rds_custom_cluster_configuration(scope_65, var_66)?;
}
#[allow(unused_mut)]
let mut scope_67 = writer.prefix("DeletionProtection");
if let Some(var_68) = &input.deletion_protection {
scope_67.boolean(*var_68);
}
#[allow(unused_mut)]
let mut scope_69 = writer.prefix("GlobalClusterIdentifier");
if let Some(var_70) = &input.global_cluster_identifier {
scope_69.string(var_70);
}
#[allow(unused_mut)]
let mut scope_71 = writer.prefix("EnableHttpEndpoint");
if let Some(var_72) = &input.enable_http_endpoint {
scope_71.boolean(*var_72);
}
#[allow(unused_mut)]
let mut scope_73 = writer.prefix("CopyTagsToSnapshot");
if let Some(var_74) = &input.copy_tags_to_snapshot {
scope_73.boolean(*var_74);
}
#[allow(unused_mut)]
let mut scope_75 = writer.prefix("Domain");
if let Some(var_76) = &input.domain {
scope_75.string(var_76);
}
#[allow(unused_mut)]
let mut scope_77 = writer.prefix("DomainIAMRoleName");
if let Some(var_78) = &input.domain_iam_role_name {
scope_77.string(var_78);
}
#[allow(unused_mut)]
let mut scope_79 = writer.prefix("EnableGlobalWriteForwarding");
if let Some(var_80) = &input.enable_global_write_forwarding {
scope_79.boolean(*var_80);
}
#[allow(unused_mut)]
let mut scope_81 = writer.prefix("DBClusterInstanceClass");
if let Some(var_82) = &input.db_cluster_instance_class {
scope_81.string(var_82);
}
#[allow(unused_mut)]
let mut scope_83 = writer.prefix("AllocatedStorage");
if let Some(var_84) = &input.allocated_storage {
scope_83.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_84).into()),
);
}
#[allow(unused_mut)]
let mut scope_85 = writer.prefix("StorageType");
if let Some(var_86) = &input.storage_type {
scope_85.string(var_86);
}
#[allow(unused_mut)]
let mut scope_87 = writer.prefix("Iops");
if let Some(var_88) = &input.iops {
scope_87.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_88).into()),
);
}
#[allow(unused_mut)]
let mut scope_89 = writer.prefix("PubliclyAccessible");
if let Some(var_90) = &input.publicly_accessible {
scope_89.boolean(*var_90);
}
#[allow(unused_mut)]
let mut scope_91 = writer.prefix("AutoMinorVersionUpgrade");
if let Some(var_92) = &input.auto_minor_version_upgrade {
scope_91.boolean(*var_92);
}
#[allow(unused_mut)]
let mut scope_93 = writer.prefix("MonitoringInterval");
if let Some(var_94) = &input.monitoring_interval {
scope_93.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_94).into()),
);
}
#[allow(unused_mut)]
let mut scope_95 = writer.prefix("MonitoringRoleArn");
if let Some(var_96) = &input.monitoring_role_arn {
scope_95.string(var_96);
}
#[allow(unused_mut)]
let mut scope_97 = writer.prefix("EnablePerformanceInsights");
if let Some(var_98) = &input.enable_performance_insights {
scope_97.boolean(*var_98);
}
#[allow(unused_mut)]
let mut scope_99 = writer.prefix("PerformanceInsightsKMSKeyId");
if let Some(var_100) = &input.performance_insights_kms_key_id {
scope_99.string(var_100);
}
#[allow(unused_mut)]
let mut scope_101 = writer.prefix("PerformanceInsightsRetentionPeriod");
if let Some(var_102) = &input.performance_insights_retention_period {
scope_101.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_102).into()),
);
}
#[allow(unused_mut)]
let mut scope_103 = writer.prefix("EnableLimitlessDatabase");
if let Some(var_104) = &input.enable_limitless_database {
scope_103.boolean(*var_104);
}
#[allow(unused_mut)]
let mut scope_105 = writer.prefix("ServerlessV2ScalingConfiguration");
if let Some(var_106) = &input.serverless_v2_scaling_configuration {
crate::protocol_serde::shape_serverless_v2_scaling_configuration::ser_serverless_v2_scaling_configuration(scope_105, var_106)?;
}
#[allow(unused_mut)]
let mut scope_107 = writer.prefix("NetworkType");
if let Some(var_108) = &input.network_type {
scope_107.string(var_108);
}
#[allow(unused_mut)]
let mut scope_109 = writer.prefix("DBSystemId");
if let Some(var_110) = &input.db_system_id {
scope_109.string(var_110);
}
#[allow(unused_mut)]
let mut scope_111 = writer.prefix("ManageMasterUserPassword");
if let Some(var_112) = &input.manage_master_user_password {
scope_111.boolean(*var_112);
}
#[allow(unused_mut)]
let mut scope_113 = writer.prefix("MasterUserSecretKmsKeyId");
if let Some(var_114) = &input.master_user_secret_kms_key_id {
scope_113.string(var_114);
}
#[allow(unused_mut)]
let mut scope_115 = writer.prefix("EnableLocalWriteForwarding");
if let Some(var_116) = &input.enable_local_write_forwarding {
scope_115.boolean(*var_116);
}
#[allow(unused_mut)]
let mut scope_117 = writer.prefix("CACertificateIdentifier");
if let Some(var_118) = &input.ca_certificate_identifier {
scope_117.string(var_118);
}
#[allow(unused_mut)]
let mut scope_119 = writer.prefix("EngineLifecycleSupport");
if let Some(var_120) = &input.engine_lifecycle_support {
scope_119.string(var_120);
}
writer.finish();
Ok(::aws_smithy_types::body::SdkBody::from(out))
}