pub fn ser_create_db_instance_read_replica_input_input_input(
input: &crate::operation::create_db_instance_read_replica::CreateDbInstanceReadReplicaInput,
) -> ::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, "CreateDBInstanceReadReplica", "2014-10-31");
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("DBInstanceIdentifier");
if let Some(var_2) = &input.db_instance_identifier {
scope_1.string(var_2);
}
#[allow(unused_mut)]
let mut scope_3 = writer.prefix("SourceDBInstanceIdentifier");
if let Some(var_4) = &input.source_db_instance_identifier {
scope_3.string(var_4);
}
#[allow(unused_mut)]
let mut scope_5 = writer.prefix("DBInstanceClass");
if let Some(var_6) = &input.db_instance_class {
scope_5.string(var_6);
}
#[allow(unused_mut)]
let mut scope_7 = writer.prefix("AvailabilityZone");
if let Some(var_8) = &input.availability_zone {
scope_7.string(var_8);
}
#[allow(unused_mut)]
let mut scope_9 = writer.prefix("Port");
if let Some(var_10) = &input.port {
scope_9.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_10).into()),
);
}
#[allow(unused_mut)]
let mut scope_11 = writer.prefix("MultiAZ");
if let Some(var_12) = &input.multi_az {
scope_11.boolean(*var_12);
}
#[allow(unused_mut)]
let mut scope_13 = writer.prefix("AutoMinorVersionUpgrade");
if let Some(var_14) = &input.auto_minor_version_upgrade {
scope_13.boolean(*var_14);
}
#[allow(unused_mut)]
let mut scope_15 = writer.prefix("Iops");
if let Some(var_16) = &input.iops {
scope_15.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_16).into()),
);
}
#[allow(unused_mut)]
let mut scope_17 = writer.prefix("StorageThroughput");
if let Some(var_18) = &input.storage_throughput {
scope_17.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_18).into()),
);
}
#[allow(unused_mut)]
let mut scope_19 = writer.prefix("OptionGroupName");
if let Some(var_20) = &input.option_group_name {
scope_19.string(var_20);
}
#[allow(unused_mut)]
let mut scope_21 = writer.prefix("DBParameterGroupName");
if let Some(var_22) = &input.db_parameter_group_name {
scope_21.string(var_22);
}
#[allow(unused_mut)]
let mut scope_23 = writer.prefix("PubliclyAccessible");
if let Some(var_24) = &input.publicly_accessible {
scope_23.boolean(*var_24);
}
#[allow(unused_mut)]
let mut scope_25 = writer.prefix("Tags");
if let Some(var_26) = &input.tags {
let mut list_28 = scope_25.start_list(false, Some("Tag"));
for item_27 in var_26 {
#[allow(unused_mut)]
let mut entry_29 = list_28.entry();
crate::protocol_serde::shape_tag::ser_tag(entry_29, item_27)?;
}
list_28.finish();
}
#[allow(unused_mut)]
let mut scope_30 = writer.prefix("DBSubnetGroupName");
if let Some(var_31) = &input.db_subnet_group_name {
scope_30.string(var_31);
}
#[allow(unused_mut)]
let mut scope_32 = writer.prefix("VpcSecurityGroupIds");
if let Some(var_33) = &input.vpc_security_group_ids {
let mut list_35 = scope_32.start_list(false, Some("VpcSecurityGroupId"));
for item_34 in var_33 {
#[allow(unused_mut)]
let mut entry_36 = list_35.entry();
entry_36.string(item_34);
}
list_35.finish();
}
#[allow(unused_mut)]
let mut scope_37 = writer.prefix("StorageType");
if let Some(var_38) = &input.storage_type {
scope_37.string(var_38);
}
#[allow(unused_mut)]
let mut scope_39 = writer.prefix("CopyTagsToSnapshot");
if let Some(var_40) = &input.copy_tags_to_snapshot {
scope_39.boolean(*var_40);
}
#[allow(unused_mut)]
let mut scope_41 = writer.prefix("MonitoringInterval");
if let Some(var_42) = &input.monitoring_interval {
scope_41.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_42).into()),
);
}
#[allow(unused_mut)]
let mut scope_43 = writer.prefix("MonitoringRoleArn");
if let Some(var_44) = &input.monitoring_role_arn {
scope_43.string(var_44);
}
#[allow(unused_mut)]
let mut scope_45 = writer.prefix("KmsKeyId");
if let Some(var_46) = &input.kms_key_id {
scope_45.string(var_46);
}
#[allow(unused_mut)]
let mut scope_47 = writer.prefix("PreSignedUrl");
if let Some(var_48) = &input.pre_signed_url {
scope_47.string(var_48);
}
#[allow(unused_mut)]
let mut scope_49 = writer.prefix("EnableIAMDatabaseAuthentication");
if let Some(var_50) = &input.enable_iam_database_authentication {
scope_49.boolean(*var_50);
}
#[allow(unused_mut)]
let mut scope_51 = writer.prefix("DatabaseInsightsMode");
if let Some(var_52) = &input.database_insights_mode {
scope_51.string(var_52.as_str());
}
#[allow(unused_mut)]
let mut scope_53 = writer.prefix("EnablePerformanceInsights");
if let Some(var_54) = &input.enable_performance_insights {
scope_53.boolean(*var_54);
}
#[allow(unused_mut)]
let mut scope_55 = writer.prefix("PerformanceInsightsKMSKeyId");
if let Some(var_56) = &input.performance_insights_kms_key_id {
scope_55.string(var_56);
}
#[allow(unused_mut)]
let mut scope_57 = writer.prefix("PerformanceInsightsRetentionPeriod");
if let Some(var_58) = &input.performance_insights_retention_period {
scope_57.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_58).into()),
);
}
#[allow(unused_mut)]
let mut scope_59 = writer.prefix("EnableCloudwatchLogsExports");
if let Some(var_60) = &input.enable_cloudwatch_logs_exports {
let mut list_62 = scope_59.start_list(false, None);
for item_61 in var_60 {
#[allow(unused_mut)]
let mut entry_63 = list_62.entry();
entry_63.string(item_61);
}
list_62.finish();
}
#[allow(unused_mut)]
let mut scope_64 = writer.prefix("ProcessorFeatures");
if let Some(var_65) = &input.processor_features {
let mut list_67 = scope_64.start_list(false, Some("ProcessorFeature"));
for item_66 in var_65 {
#[allow(unused_mut)]
let mut entry_68 = list_67.entry();
crate::protocol_serde::shape_processor_feature::ser_processor_feature(entry_68, item_66)?;
}
list_67.finish();
}
#[allow(unused_mut)]
let mut scope_69 = writer.prefix("UseDefaultProcessorFeatures");
if let Some(var_70) = &input.use_default_processor_features {
scope_69.boolean(*var_70);
}
#[allow(unused_mut)]
let mut scope_71 = writer.prefix("DeletionProtection");
if let Some(var_72) = &input.deletion_protection {
scope_71.boolean(*var_72);
}
#[allow(unused_mut)]
let mut scope_73 = writer.prefix("Domain");
if let Some(var_74) = &input.domain {
scope_73.string(var_74);
}
#[allow(unused_mut)]
let mut scope_75 = writer.prefix("DomainIAMRoleName");
if let Some(var_76) = &input.domain_iam_role_name {
scope_75.string(var_76);
}
#[allow(unused_mut)]
let mut scope_77 = writer.prefix("DomainFqdn");
if let Some(var_78) = &input.domain_fqdn {
scope_77.string(var_78);
}
#[allow(unused_mut)]
let mut scope_79 = writer.prefix("DomainOu");
if let Some(var_80) = &input.domain_ou {
scope_79.string(var_80);
}
#[allow(unused_mut)]
let mut scope_81 = writer.prefix("DomainAuthSecretArn");
if let Some(var_82) = &input.domain_auth_secret_arn {
scope_81.string(var_82);
}
#[allow(unused_mut)]
let mut scope_83 = writer.prefix("DomainDnsIps");
if let Some(var_84) = &input.domain_dns_ips {
let mut list_86 = scope_83.start_list(false, None);
for item_85 in var_84 {
#[allow(unused_mut)]
let mut entry_87 = list_86.entry();
entry_87.string(item_85);
}
list_86.finish();
}
#[allow(unused_mut)]
let mut scope_88 = writer.prefix("ReplicaMode");
if let Some(var_89) = &input.replica_mode {
scope_88.string(var_89.as_str());
}
#[allow(unused_mut)]
let mut scope_90 = writer.prefix("EnableCustomerOwnedIp");
if let Some(var_91) = &input.enable_customer_owned_ip {
scope_90.boolean(*var_91);
}
#[allow(unused_mut)]
let mut scope_92 = writer.prefix("NetworkType");
if let Some(var_93) = &input.network_type {
scope_92.string(var_93);
}
#[allow(unused_mut)]
let mut scope_94 = writer.prefix("MaxAllocatedStorage");
if let Some(var_95) = &input.max_allocated_storage {
scope_94.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_95).into()),
);
}
#[allow(unused_mut)]
let mut scope_96 = writer.prefix("BackupTarget");
if let Some(var_97) = &input.backup_target {
scope_96.string(var_97);
}
#[allow(unused_mut)]
let mut scope_98 = writer.prefix("CustomIamInstanceProfile");
if let Some(var_99) = &input.custom_iam_instance_profile {
scope_98.string(var_99);
}
#[allow(unused_mut)]
let mut scope_100 = writer.prefix("AllocatedStorage");
if let Some(var_101) = &input.allocated_storage {
scope_100.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_101).into()),
);
}
#[allow(unused_mut)]
let mut scope_102 = writer.prefix("SourceDBClusterIdentifier");
if let Some(var_103) = &input.source_db_cluster_identifier {
scope_102.string(var_103);
}
#[allow(unused_mut)]
let mut scope_104 = writer.prefix("DedicatedLogVolume");
if let Some(var_105) = &input.dedicated_log_volume {
scope_104.boolean(*var_105);
}
#[allow(unused_mut)]
let mut scope_106 = writer.prefix("UpgradeStorageConfig");
if let Some(var_107) = &input.upgrade_storage_config {
scope_106.boolean(*var_107);
}
#[allow(unused_mut)]
let mut scope_108 = writer.prefix("CACertificateIdentifier");
if let Some(var_109) = &input.ca_certificate_identifier {
scope_108.string(var_109);
}
#[allow(unused_mut)]
let mut scope_110 = writer.prefix("AdditionalStorageVolumes");
if let Some(var_111) = &input.additional_storage_volumes {
let mut list_113 = scope_110.start_list(false, None);
for item_112 in var_111 {
#[allow(unused_mut)]
let mut entry_114 = list_113.entry();
crate::protocol_serde::shape_additional_storage_volume::ser_additional_storage_volume(entry_114, item_112)?;
}
list_113.finish();
}
#[allow(unused_mut)]
let mut scope_115 = writer.prefix("TagSpecifications");
if let Some(var_116) = &input.tag_specifications {
let mut list_118 = scope_115.start_list(false, Some("item"));
for item_117 in var_116 {
#[allow(unused_mut)]
let mut entry_119 = list_118.entry();
crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_119, item_117)?;
}
list_118.finish();
}
writer.finish();
Ok(::aws_smithy_types::body::SdkBody::from(out))
}