aws-sdk-redshift 1.106.0

AWS SDK for Amazon Redshift
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_restore_from_cluster_snapshot_input_input_input(
    input: &crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotInput,
) -> ::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, "RestoreFromClusterSnapshot", "2012-12-01");
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("ClusterIdentifier");
    if let Some(var_2) = &input.cluster_identifier {
        scope_1.string(var_2);
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("SnapshotIdentifier");
    if let Some(var_4) = &input.snapshot_identifier {
        scope_3.string(var_4);
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("SnapshotArn");
    if let Some(var_6) = &input.snapshot_arn {
        scope_5.string(var_6);
    }
    #[allow(unused_mut)]
    let mut scope_7 = writer.prefix("SnapshotClusterIdentifier");
    if let Some(var_8) = &input.snapshot_cluster_identifier {
        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("AvailabilityZone");
    if let Some(var_12) = &input.availability_zone {
        scope_11.string(var_12);
    }
    #[allow(unused_mut)]
    let mut scope_13 = writer.prefix("AllowVersionUpgrade");
    if let Some(var_14) = &input.allow_version_upgrade {
        scope_13.boolean(*var_14);
    }
    #[allow(unused_mut)]
    let mut scope_15 = writer.prefix("ClusterSubnetGroupName");
    if let Some(var_16) = &input.cluster_subnet_group_name {
        scope_15.string(var_16);
    }
    #[allow(unused_mut)]
    let mut scope_17 = writer.prefix("PubliclyAccessible");
    if let Some(var_18) = &input.publicly_accessible {
        scope_17.boolean(*var_18);
    }
    #[allow(unused_mut)]
    let mut scope_19 = writer.prefix("OwnerAccount");
    if let Some(var_20) = &input.owner_account {
        scope_19.string(var_20);
    }
    #[allow(unused_mut)]
    let mut scope_21 = writer.prefix("HsmClientCertificateIdentifier");
    if let Some(var_22) = &input.hsm_client_certificate_identifier {
        scope_21.string(var_22);
    }
    #[allow(unused_mut)]
    let mut scope_23 = writer.prefix("HsmConfigurationIdentifier");
    if let Some(var_24) = &input.hsm_configuration_identifier {
        scope_23.string(var_24);
    }
    #[allow(unused_mut)]
    let mut scope_25 = writer.prefix("ElasticIp");
    if let Some(var_26) = &input.elastic_ip {
        scope_25.string(var_26);
    }
    #[allow(unused_mut)]
    let mut scope_27 = writer.prefix("ClusterParameterGroupName");
    if let Some(var_28) = &input.cluster_parameter_group_name {
        scope_27.string(var_28);
    }
    #[allow(unused_mut)]
    let mut scope_29 = writer.prefix("ClusterSecurityGroups");
    if let Some(var_30) = &input.cluster_security_groups {
        let mut list_32 = scope_29.start_list(false, Some("ClusterSecurityGroupName"));
        for item_31 in var_30 {
            #[allow(unused_mut)]
            let mut entry_33 = list_32.entry();
            entry_33.string(item_31);
        }
        list_32.finish();
    }
    #[allow(unused_mut)]
    let mut scope_34 = writer.prefix("VpcSecurityGroupIds");
    if let Some(var_35) = &input.vpc_security_group_ids {
        let mut list_37 = scope_34.start_list(false, Some("VpcSecurityGroupId"));
        for item_36 in var_35 {
            #[allow(unused_mut)]
            let mut entry_38 = list_37.entry();
            entry_38.string(item_36);
        }
        list_37.finish();
    }
    #[allow(unused_mut)]
    let mut scope_39 = writer.prefix("PreferredMaintenanceWindow");
    if let Some(var_40) = &input.preferred_maintenance_window {
        scope_39.string(var_40);
    }
    #[allow(unused_mut)]
    let mut scope_41 = writer.prefix("AutomatedSnapshotRetentionPeriod");
    if let Some(var_42) = &input.automated_snapshot_retention_period {
        scope_41.number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_42).into()),
        );
    }
    #[allow(unused_mut)]
    let mut scope_43 = writer.prefix("ManualSnapshotRetentionPeriod");
    if let Some(var_44) = &input.manual_snapshot_retention_period {
        scope_43.number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_44).into()),
        );
    }
    #[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("NodeType");
    if let Some(var_48) = &input.node_type {
        scope_47.string(var_48);
    }
    #[allow(unused_mut)]
    let mut scope_49 = writer.prefix("EnhancedVpcRouting");
    if let Some(var_50) = &input.enhanced_vpc_routing {
        scope_49.boolean(*var_50);
    }
    #[allow(unused_mut)]
    let mut scope_51 = writer.prefix("AdditionalInfo");
    if let Some(var_52) = &input.additional_info {
        scope_51.string(var_52);
    }
    #[allow(unused_mut)]
    let mut scope_53 = writer.prefix("IamRoles");
    if let Some(var_54) = &input.iam_roles {
        let mut list_56 = scope_53.start_list(false, Some("IamRoleArn"));
        for item_55 in var_54 {
            #[allow(unused_mut)]
            let mut entry_57 = list_56.entry();
            entry_57.string(item_55);
        }
        list_56.finish();
    }
    #[allow(unused_mut)]
    let mut scope_58 = writer.prefix("MaintenanceTrackName");
    if let Some(var_59) = &input.maintenance_track_name {
        scope_58.string(var_59);
    }
    #[allow(unused_mut)]
    let mut scope_60 = writer.prefix("SnapshotScheduleIdentifier");
    if let Some(var_61) = &input.snapshot_schedule_identifier {
        scope_60.string(var_61);
    }
    #[allow(unused_mut)]
    let mut scope_62 = writer.prefix("NumberOfNodes");
    if let Some(var_63) = &input.number_of_nodes {
        scope_62.number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_63).into()),
        );
    }
    #[allow(unused_mut)]
    let mut scope_64 = writer.prefix("AvailabilityZoneRelocation");
    if let Some(var_65) = &input.availability_zone_relocation {
        scope_64.boolean(*var_65);
    }
    #[allow(unused_mut)]
    let mut scope_66 = writer.prefix("AquaConfigurationStatus");
    if let Some(var_67) = &input.aqua_configuration_status {
        scope_66.string(var_67.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_68 = writer.prefix("DefaultIamRoleArn");
    if let Some(var_69) = &input.default_iam_role_arn {
        scope_68.string(var_69);
    }
    #[allow(unused_mut)]
    let mut scope_70 = writer.prefix("ReservedNodeId");
    if let Some(var_71) = &input.reserved_node_id {
        scope_70.string(var_71);
    }
    #[allow(unused_mut)]
    let mut scope_72 = writer.prefix("TargetReservedNodeOfferingId");
    if let Some(var_73) = &input.target_reserved_node_offering_id {
        scope_72.string(var_73);
    }
    #[allow(unused_mut)]
    let mut scope_74 = writer.prefix("Encrypted");
    if let Some(var_75) = &input.encrypted {
        scope_74.boolean(*var_75);
    }
    #[allow(unused_mut)]
    let mut scope_76 = writer.prefix("ManageMasterPassword");
    if let Some(var_77) = &input.manage_master_password {
        scope_76.boolean(*var_77);
    }
    #[allow(unused_mut)]
    let mut scope_78 = writer.prefix("MasterPasswordSecretKmsKeyId");
    if let Some(var_79) = &input.master_password_secret_kms_key_id {
        scope_78.string(var_79);
    }
    #[allow(unused_mut)]
    let mut scope_80 = writer.prefix("IpAddressType");
    if let Some(var_81) = &input.ip_address_type {
        scope_80.string(var_81);
    }
    #[allow(unused_mut)]
    let mut scope_82 = writer.prefix("MultiAZ");
    if let Some(var_83) = &input.multi_az {
        scope_82.boolean(*var_83);
    }
    #[allow(unused_mut)]
    let mut scope_84 = writer.prefix("CatalogName");
    if let Some(var_85) = &input.catalog_name {
        scope_84.string(var_85);
    }
    #[allow(unused_mut)]
    let mut scope_86 = writer.prefix("RedshiftIdcApplicationArn");
    if let Some(var_87) = &input.redshift_idc_application_arn {
        scope_86.string(var_87);
    }
    writer.finish();
    Ok(::aws_smithy_types::body::SdkBody::from(out))
}