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.max_non_sso_session_minutes {
object.key("maxNonSsoSessionMinutes").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_38).into()),
);
}
if let Some(var_39) = &input.federation_mode {
object.key("federationMode").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_39).into()),
);
}
if let Some(var_40) = &input.lockout_threshold {
object.key("lockoutThreshold").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_40).into()),
);
}
if let Some(var_41) = &input.permitted_networks {
let mut array_42 = object.key("permittedNetworks").start_array();
for item_43 in var_41 {
{
array_42.value().string(item_43.as_str());
}
}
array_42.finish();
}
if let Some(var_44) = &input.permitted_wickr_aws_networks {
let mut array_45 = object.key("permittedWickrAwsNetworks").start_array();
for item_46 in var_44 {
{
#[allow(unused_mut)]
let mut object_47 = array_45.value().start_object();
crate::protocol_serde::shape_wickr_aws_networks::ser_wickr_aws_networks(&mut object_47, item_46)?;
object_47.finish();
}
}
array_45.finish();
}
if let Some(var_48) = &input.permitted_wickr_enterprise_networks {
let mut array_49 = object.key("permittedWickrEnterpriseNetworks").start_array();
for item_50 in var_48 {
{
#[allow(unused_mut)]
let mut object_51 = array_49.value().start_object();
crate::protocol_serde::shape_permitted_wickr_enterprise_network::ser_permitted_wickr_enterprise_network(&mut object_51, item_50)?;
object_51.finish();
}
}
array_49.finish();
}
Ok(())
}
pub(crate) fn de_security_group_settings<'a, I>(
tokens: &mut ::std::iter::Peekable<I>,
_value: &'a [u8],
depth: u32,
) -> ::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>>,
{
if depth >= 128u32 {
return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
"maximum nesting depth exceeded",
));
}
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, depth + 1)?,
);
}
"calling" => {
builder = builder.set_calling(crate::protocol_serde::shape_calling_settings::de_calling_settings(
tokens,
_value,
depth + 1,
)?);
}
"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, depth + 1)?,
);
}
"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, depth + 1)?,
);
}
"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,
depth + 1,
)?);
}
"ssoMaxIdleMinutes" => {
builder = builder.set_sso_max_idle_minutes(
::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
.map(i32::try_from)
.transpose()?,
);
}
"maxNonSsoSessionMinutes" => {
builder = builder.set_max_non_sso_session_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, depth + 1)?,
);
}
"permittedWickrAwsNetworks" => {
builder = builder.set_permitted_wickr_aws_networks(
crate::protocol_serde::shape_wickr_aws_networks_list::de_wickr_aws_networks_list(tokens, _value, depth + 1)?,
);
}
"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,
depth + 1,
)?,
);
}
_ => ::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",
)),
}
}