#[allow(unused_mut)]
pub fn ser_stack_set_operation_preferences(
mut writer: ::aws_smithy_query::QueryValueWriter,
input: &crate::types::StackSetOperationPreferences,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("RegionConcurrencyType");
if let Some(var_2) = &input.region_concurrency_type {
scope_1.string(var_2.as_str());
}
#[allow(unused_mut)]
let mut scope_3 = writer.prefix("RegionOrder");
if let Some(var_4) = &input.region_order {
let mut list_6 = scope_3.start_list(false, None);
for item_5 in var_4 {
#[allow(unused_mut)]
let mut entry_7 = list_6.entry();
entry_7.string(item_5);
}
list_6.finish();
}
#[allow(unused_mut)]
let mut scope_8 = writer.prefix("FailureToleranceCount");
if let Some(var_9) = &input.failure_tolerance_count {
scope_8.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_9).into()),
);
}
#[allow(unused_mut)]
let mut scope_10 = writer.prefix("FailureTolerancePercentage");
if let Some(var_11) = &input.failure_tolerance_percentage {
scope_10.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_11).into()),
);
}
#[allow(unused_mut)]
let mut scope_12 = writer.prefix("MaxConcurrentCount");
if let Some(var_13) = &input.max_concurrent_count {
scope_12.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_13).into()),
);
}
#[allow(unused_mut)]
let mut scope_14 = writer.prefix("MaxConcurrentPercentage");
if let Some(var_15) = &input.max_concurrent_percentage {
scope_14.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_15).into()),
);
}
#[allow(unused_mut)]
let mut scope_16 = writer.prefix("ConcurrencyMode");
if let Some(var_17) = &input.concurrency_mode {
scope_16.string(var_17.as_str());
}
Ok(())
}
#[allow(clippy::needless_question_mark)]
pub fn de_stack_set_operation_preferences(
decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> ::std::result::Result<crate::types::StackSetOperationPreferences, ::aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::types::StackSetOperationPreferences::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("RegionConcurrencyType") => {
let var_18 =
Some(
Result::<crate::types::RegionConcurrencyType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
crate::types::RegionConcurrencyType::from(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
)
?
)
;
builder = builder.set_region_concurrency_type(var_18);
}
,
s if s.matches("RegionOrder") => {
let var_19 =
Some(
crate::protocol_serde::shape_region_list::de_region_list(&mut tag)
?
)
;
builder = builder.set_region_order(var_19);
}
,
s if s.matches("FailureToleranceCount") => {
let var_20 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.cloudformation#FailureToleranceCount`)"))
}
?
)
;
builder = builder.set_failure_tolerance_count(var_20);
}
,
s if s.matches("FailureTolerancePercentage") => {
let var_21 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.cloudformation#FailureTolerancePercentage`)"))
}
?
)
;
builder = builder.set_failure_tolerance_percentage(var_21);
}
,
s if s.matches("MaxConcurrentCount") => {
let var_22 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.cloudformation#MaxConcurrentCount`)"))
}
?
)
;
builder = builder.set_max_concurrent_count(var_22);
}
,
s if s.matches("MaxConcurrentPercentage") => {
let var_23 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.cloudformation#MaxConcurrentPercentage`)"))
}
?
)
;
builder = builder.set_max_concurrent_percentage(var_23);
}
,
s if s.matches("ConcurrencyMode") => {
let var_24 =
Some(
Result::<crate::types::ConcurrencyMode, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
crate::types::ConcurrencyMode::from(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
)
?
)
;
builder = builder.set_concurrency_mode(var_24);
}
,
_ => {}
}
}
Ok(builder.build())
}