pub fn ser_open_search_resource_config(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::OpenSearchResourceConfig,
) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.kms_key_arn {
object.key("kmsKeyArn").string(var_1.as_str());
}
{
object.key("dataSourceRoleArn").string(input.data_source_role_arn.as_str());
}
{
let mut array_2 = object.key("dashboardViewerPrincipals").start_array();
for item_3 in &input.dashboard_viewer_principals {
{
array_2.value().string(item_3.as_str());
}
}
array_2.finish();
}
if let Some(var_4) = &input.application_arn {
object.key("applicationArn").string(var_4.as_str());
}
{
object.key("retentionDays").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((input.retention_days).into()),
);
}
Ok(())
}