pub fn ser_matter_capability_report_endpoint(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::MatterCapabilityReportEndpoint,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
{
object.key("id").string(input.id.as_str());
}
{
let mut array_1 = object.key("deviceTypes").start_array();
for item_2 in &input.device_types {
{
array_1.value().string(item_2.as_str());
}
}
array_1.finish();
}
{
let mut array_3 = object.key("clusters").start_array();
for item_4 in &input.clusters {
{
#[allow(unused_mut)]
let mut object_5 = array_3.value().start_object();
crate::protocol_serde::shape_matter_capability_report_cluster::ser_matter_capability_report_cluster(&mut object_5, item_4)?;
object_5.finish();
}
}
array_3.finish();
}
if let Some(var_6) = &input.parts {
let mut array_7 = object.key("parts").start_array();
for item_8 in var_6 {
{
array_7.value().string(item_8.as_str());
}
}
array_7.finish();
}
if let Some(var_9) = &input.semantic_tags {
let mut array_10 = object.key("semanticTags").start_array();
for item_11 in var_9 {
{
array_10.value().string(item_11.as_str());
}
}
array_10.finish();
}
if let Some(var_12) = &input.client_clusters {
let mut array_13 = object.key("clientClusters").start_array();
for item_14 in var_12 {
{
array_13.value().string(item_14.as_str());
}
}
array_13.finish();
}
Ok(())
}