aws-sdk-wickr 1.8.0

AWS SDK for AWS Wickr Admin API
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_security_group_settings(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::types::SecurityGroupSettings,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.always_reauthenticate {
        object.key("alwaysReauthenticate").boolean(*var_1);
    }
    if let Some(var_2) = &input.atak_package_values {
        let mut array_3 = object.key("atakPackageValues").start_array();
        for item_4 in var_2 {
            {
                array_3.value().string(item_4.as_str());
            }
        }
        array_3.finish();
    }
    if let Some(var_5) = &input.calling {
        #[allow(unused_mut)]
        let mut object_6 = object.key("calling").start_object();
        crate::protocol_serde::shape_calling_settings::ser_calling_settings(&mut object_6, var_5)?;
        object_6.finish();
    }
    if let Some(var_7) = &input.check_for_updates {
        object.key("checkForUpdates").boolean(*var_7);
    }
    if let Some(var_8) = &input.enable_atak {
        object.key("enableAtak").boolean(*var_8);
    }
    if let Some(var_9) = &input.enable_crash_reports {
        object.key("enableCrashReports").boolean(*var_9);
    }
    if let Some(var_10) = &input.enable_file_download {
        object.key("enableFileDownload").boolean(*var_10);
    }
    if let Some(var_11) = &input.enable_guest_federation {
        object.key("enableGuestFederation").boolean(*var_11);
    }
    if let Some(var_12) = &input.enable_notification_preview {
        object.key("enableNotificationPreview").boolean(*var_12);
    }
    if let Some(var_13) = &input.enable_open_access_option {
        object.key("enableOpenAccessOption").boolean(*var_13);
    }
    if let Some(var_14) = &input.enable_restricted_global_federation {
        object.key("enableRestrictedGlobalFederation").boolean(*var_14);
    }
    if let Some(var_15) = &input.files_enabled {
        object.key("filesEnabled").boolean(*var_15);
    }
    if let Some(var_16) = &input.force_device_lockout {
        object.key("forceDeviceLockout").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_16).into()),
        );
    }
    if let Some(var_17) = &input.force_open_access {
        object.key("forceOpenAccess").boolean(*var_17);
    }
    if let Some(var_18) = &input.force_read_receipts {
        object.key("forceReadReceipts").boolean(*var_18);
    }
    if let Some(var_19) = &input.global_federation {
        object.key("globalFederation").boolean(*var_19);
    }
    if let Some(var_20) = &input.is_ato_enabled {
        object.key("isAtoEnabled").boolean(*var_20);
    }
    if let Some(var_21) = &input.is_link_preview_enabled {
        object.key("isLinkPreviewEnabled").boolean(*var_21);
    }
    if let Some(var_22) = &input.location_allow_maps {
        object.key("locationAllowMaps").boolean(*var_22);
    }
    if let Some(var_23) = &input.location_enabled {
        object.key("locationEnabled").boolean(*var_23);
    }
    if let Some(var_24) = &input.max_auto_download_size {
        object.key("maxAutoDownloadSize").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_24).into()),
        );
    }
    if let Some(var_25) = &input.max_bor {
        object.key("maxBor").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_25).into()),
        );
    }
    if let Some(var_26) = &input.max_ttl {
        object.key("maxTtl").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_26).into()),
        );
    }
    if let Some(var_27) = &input.message_forwarding_enabled {
        object.key("messageForwardingEnabled").boolean(*var_27);
    }
    if let Some(var_28) = &input.password_requirements {
        #[allow(unused_mut)]
        let mut object_29 = object.key("passwordRequirements").start_object();
        crate::protocol_serde::shape_password_requirements::ser_password_requirements(&mut object_29, var_28)?;
        object_29.finish();
    }
    if let Some(var_30) = &input.presence_enabled {
        object.key("presenceEnabled").boolean(*var_30);
    }
    if let Some(var_31) = &input.quick_responses {
        let mut array_32 = object.key("quickResponses").start_array();
        for item_33 in var_31 {
            {
                array_32.value().string(item_33.as_str());
            }
        }
        array_32.finish();
    }
    if let Some(var_34) = &input.show_master_recovery_key {
        object.key("showMasterRecoveryKey").boolean(*var_34);
    }
    if let Some(var_35) = &input.shredder {
        #[allow(unused_mut)]
        let mut object_36 = object.key("shredder").start_object();
        crate::protocol_serde::shape_shredder_settings::ser_shredder_settings(&mut object_36, var_35)?;
        object_36.finish();
    }
    if let Some(var_37) = &input.sso_max_idle_minutes {
        object.key("ssoMaxIdleMinutes").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_37).into()),
        );
    }
    if let Some(var_38) = &input.federation_mode {
        object.key("federationMode").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_38).into()),
        );
    }
    if let Some(var_39) = &input.lockout_threshold {
        object.key("lockoutThreshold").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_39).into()),
        );
    }
    if let Some(var_40) = &input.permitted_networks {
        let mut array_41 = object.key("permittedNetworks").start_array();
        for item_42 in var_40 {
            {
                array_41.value().string(item_42.as_str());
            }
        }
        array_41.finish();
    }
    if let Some(var_43) = &input.permitted_wickr_aws_networks {
        let mut array_44 = object.key("permittedWickrAwsNetworks").start_array();
        for item_45 in var_43 {
            {
                #[allow(unused_mut)]
                let mut object_46 = array_44.value().start_object();
                crate::protocol_serde::shape_wickr_aws_networks::ser_wickr_aws_networks(&mut object_46, item_45)?;
                object_46.finish();
            }
        }
        array_44.finish();
    }
    if let Some(var_47) = &input.permitted_wickr_enterprise_networks {
        let mut array_48 = object.key("permittedWickrEnterpriseNetworks").start_array();
        for item_49 in var_47 {
            {
                #[allow(unused_mut)]
                let mut object_50 = array_48.value().start_object();
                crate::protocol_serde::shape_permitted_wickr_enterprise_network::ser_permitted_wickr_enterprise_network(&mut object_50, item_49)?;
                object_50.finish();
            }
        }
        array_48.finish();
    }
    Ok(())
}

pub(crate) fn de_security_group_settings<'a, I>(
    tokens: &mut ::std::iter::Peekable<I>,
    _value: &'a [u8],
) -> ::std::result::Result<Option<crate::types::SecurityGroupSettings>, ::aws_smithy_json::deserialize::error::DeserializeError>
where
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
{
    match tokens.next().transpose()? {
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::types::builders::SecurityGroupSettingsBuilder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
                        "alwaysReauthenticate" => {
                            builder = builder.set_always_reauthenticate(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "atakPackageValues" => {
                            builder = builder.set_atak_package_values(
                                crate::protocol_serde::shape_security_group_string_list::de_security_group_string_list(tokens, _value)?,
                            );
                        }
                        "calling" => {
                            builder = builder.set_calling(crate::protocol_serde::shape_calling_settings::de_calling_settings(tokens, _value)?);
                        }
                        "checkForUpdates" => {
                            builder = builder.set_check_for_updates(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableAtak" => {
                            builder = builder.set_enable_atak(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableCrashReports" => {
                            builder = builder.set_enable_crash_reports(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableFileDownload" => {
                            builder = builder.set_enable_file_download(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableGuestFederation" => {
                            builder = builder.set_enable_guest_federation(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableNotificationPreview" => {
                            builder =
                                builder.set_enable_notification_preview(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableOpenAccessOption" => {
                            builder =
                                builder.set_enable_open_access_option(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "enableRestrictedGlobalFederation" => {
                            builder = builder
                                .set_enable_restricted_global_federation(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "filesEnabled" => {
                            builder = builder.set_files_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "forceDeviceLockout" => {
                            builder = builder.set_force_device_lockout(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i32::try_from)
                                    .transpose()?,
                            );
                        }
                        "forceOpenAccess" => {
                            builder = builder.set_force_open_access(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "forceReadReceipts" => {
                            builder = builder.set_force_read_receipts(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "globalFederation" => {
                            builder = builder.set_global_federation(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "isAtoEnabled" => {
                            builder = builder.set_is_ato_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "isLinkPreviewEnabled" => {
                            builder = builder.set_is_link_preview_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "locationAllowMaps" => {
                            builder = builder.set_location_allow_maps(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "locationEnabled" => {
                            builder = builder.set_location_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "maxAutoDownloadSize" => {
                            builder = builder.set_max_auto_download_size(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i64::try_from)
                                    .transpose()?,
                            );
                        }
                        "maxBor" => {
                            builder = builder.set_max_bor(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i32::try_from)
                                    .transpose()?,
                            );
                        }
                        "maxTtl" => {
                            builder = builder.set_max_ttl(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i64::try_from)
                                    .transpose()?,
                            );
                        }
                        "messageForwardingEnabled" => {
                            builder =
                                builder.set_message_forwarding_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "passwordRequirements" => {
                            builder = builder.set_password_requirements(
                                crate::protocol_serde::shape_password_requirements::de_password_requirements(tokens, _value)?,
                            );
                        }
                        "presenceEnabled" => {
                            builder = builder.set_presence_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "quickResponses" => {
                            builder = builder.set_quick_responses(
                                crate::protocol_serde::shape_security_group_string_list::de_security_group_string_list(tokens, _value)?,
                            );
                        }
                        "showMasterRecoveryKey" => {
                            builder =
                                builder.set_show_master_recovery_key(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
                        }
                        "shredder" => {
                            builder = builder.set_shredder(crate::protocol_serde::shape_shredder_settings::de_shredder_settings(tokens, _value)?);
                        }
                        "ssoMaxIdleMinutes" => {
                            builder = builder.set_sso_max_idle_minutes(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i32::try_from)
                                    .transpose()?,
                            );
                        }
                        "federationMode" => {
                            builder = builder.set_federation_mode(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i32::try_from)
                                    .transpose()?,
                            );
                        }
                        "lockoutThreshold" => {
                            builder = builder.set_lockout_threshold(
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
                                    .map(i32::try_from)
                                    .transpose()?,
                            );
                        }
                        "permittedNetworks" => {
                            builder = builder.set_permitted_networks(
                                crate::protocol_serde::shape_permitted_networks_list::de_permitted_networks_list(tokens, _value)?,
                            );
                        }
                        "permittedWickrAwsNetworks" => {
                            builder = builder.set_permitted_wickr_aws_networks(
                                crate::protocol_serde::shape_wickr_aws_networks_list::de_wickr_aws_networks_list(tokens, _value)?,
                            );
                        }
                        "permittedWickrEnterpriseNetworks" => {
                            builder = builder.set_permitted_wickr_enterprise_networks(
                                crate::protocol_serde::shape_permitted_wickr_enterprise_networks_list::de_permitted_wickr_enterprise_networks_list(
                                    tokens, _value,
                                )?,
                            );
                        }
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
                    },
                    other => {
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                            "expected object key or end object, found: {other:?}"
                        )))
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
            "expected start object or null",
        )),
    }
}