aws-sdk-rds 1.132.0

AWS SDK for Amazon Relational Database Service
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
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))
}