pub fn ser_create_access_grant_input_input_input(
input: &crate::operation::create_access_grant::CreateAccessGrantInput,
writer: ::aws_smithy_xml::encode::ElWriter,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
#[allow(unused_mut)]
let mut scope = writer.finish();
if let Some(var_1) = &input.access_grants_location_configuration {
let inner_writer = scope.start_el("AccessGrantsLocationConfiguration");
crate::protocol_serde::shape_access_grants_location_configuration::ser_access_grants_location_configuration(var_1, inner_writer)?
}
if let Some(var_2) = &input.access_grants_location_id {
let mut inner_writer = scope.start_el("AccessGrantsLocationId").finish();
inner_writer.data(var_2.as_str());
}
if let Some(var_3) = &input.application_arn {
let mut inner_writer = scope.start_el("ApplicationArn").finish();
inner_writer.data(var_3.as_str());
}
if let Some(var_4) = &input.grantee {
let inner_writer = scope.start_el("Grantee");
crate::protocol_serde::shape_grantee::ser_grantee(var_4, inner_writer)?
}
if let Some(var_5) = &input.permission {
let mut inner_writer = scope.start_el("Permission").finish();
inner_writer.data(var_5.as_str());
}
if let Some(var_6) = &input.s3_prefix_type {
let mut inner_writer = scope.start_el("S3PrefixType").finish();
inner_writer.data(var_6.as_str());
}
if let Some(var_7) = &input.tags {
let mut inner_writer = scope.start_el("Tags").finish();
for list_item_8 in var_7 {
{
let inner_writer = inner_writer.start_el("Tag");
crate::protocol_serde::shape_tag::ser_tag(list_item_8, inner_writer)?
}
}
}
scope.finish();
Ok(())
}