aws-sdk-sns 0.24.0

AWS SDK for Amazon Simple Notification Service
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn serialize_operation_crate_operation_add_permission(
    input: &crate::input::AddPermissionInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "AddPermission", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("TopicArn");
    if let Some(var_2) = &input.topic_arn {
        scope_1.string(var_2);
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("Label");
    if let Some(var_4) = &input.label {
        scope_3.string(var_4);
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("AWSAccountId");
    if let Some(var_6) = &input.aws_account_id {
        let mut list_8 = scope_5.start_list(false, None);
        for item_7 in var_6 {
            #[allow(unused_mut)]
            let mut entry_9 = list_8.entry();
            entry_9.string(item_7);
        }
        list_8.finish();
    }
    #[allow(unused_mut)]
    let mut scope_10 = writer.prefix("ActionName");
    if let Some(var_11) = &input.action_name {
        let mut list_13 = scope_10.start_list(false, None);
        for item_12 in var_11 {
            #[allow(unused_mut)]
            let mut entry_14 = list_13.entry();
            entry_14.string(item_12);
        }
        list_13.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_check_if_phone_number_is_opted_out(
    input: &crate::input::CheckIfPhoneNumberIsOptedOutInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "CheckIfPhoneNumberIsOptedOut", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_15 = writer.prefix("phoneNumber");
    if let Some(var_16) = &input.phone_number {
        scope_15.string(var_16);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_confirm_subscription(
    input: &crate::input::ConfirmSubscriptionInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ConfirmSubscription", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_17 = writer.prefix("TopicArn");
    if let Some(var_18) = &input.topic_arn {
        scope_17.string(var_18);
    }
    #[allow(unused_mut)]
    let mut scope_19 = writer.prefix("Token");
    if let Some(var_20) = &input.token {
        scope_19.string(var_20);
    }
    #[allow(unused_mut)]
    let mut scope_21 = writer.prefix("AuthenticateOnUnsubscribe");
    if let Some(var_22) = &input.authenticate_on_unsubscribe {
        scope_21.string(var_22);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_create_platform_application(
    input: &crate::input::CreatePlatformApplicationInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "CreatePlatformApplication", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_23 = writer.prefix("Name");
    if let Some(var_24) = &input.name {
        scope_23.string(var_24);
    }
    #[allow(unused_mut)]
    let mut scope_25 = writer.prefix("Platform");
    if let Some(var_26) = &input.platform {
        scope_25.string(var_26);
    }
    #[allow(unused_mut)]
    let mut scope_27 = writer.prefix("Attributes");
    if let Some(var_28) = &input.attributes {
        let mut map_29 = scope_27.start_map(false, "key", "value");
        for (key_30, value_31) in var_28 {
            #[allow(unused_mut)]
            let mut entry_32 = map_29.entry(key_30);
            {
                entry_32.string(value_31);
            }
        }
        map_29.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_create_platform_endpoint(
    input: &crate::input::CreatePlatformEndpointInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "CreatePlatformEndpoint", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_33 = writer.prefix("PlatformApplicationArn");
    if let Some(var_34) = &input.platform_application_arn {
        scope_33.string(var_34);
    }
    #[allow(unused_mut)]
    let mut scope_35 = writer.prefix("Token");
    if let Some(var_36) = &input.token {
        scope_35.string(var_36);
    }
    #[allow(unused_mut)]
    let mut scope_37 = writer.prefix("CustomUserData");
    if let Some(var_38) = &input.custom_user_data {
        scope_37.string(var_38);
    }
    #[allow(unused_mut)]
    let mut scope_39 = writer.prefix("Attributes");
    if let Some(var_40) = &input.attributes {
        let mut map_41 = scope_39.start_map(false, "key", "value");
        for (key_42, value_43) in var_40 {
            #[allow(unused_mut)]
            let mut entry_44 = map_41.entry(key_42);
            {
                entry_44.string(value_43);
            }
        }
        map_41.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_create_sms_sandbox_phone_number(
    input: &crate::input::CreateSmsSandboxPhoneNumberInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "CreateSMSSandboxPhoneNumber", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_45 = writer.prefix("PhoneNumber");
    if let Some(var_46) = &input.phone_number {
        scope_45.string(var_46);
    }
    #[allow(unused_mut)]
    let mut scope_47 = writer.prefix("LanguageCode");
    if let Some(var_48) = &input.language_code {
        scope_47.string(var_48.as_str());
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_create_topic(
    input: &crate::input::CreateTopicInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "CreateTopic", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_49 = writer.prefix("Name");
    if let Some(var_50) = &input.name {
        scope_49.string(var_50);
    }
    #[allow(unused_mut)]
    let mut scope_51 = writer.prefix("Attributes");
    if let Some(var_52) = &input.attributes {
        let mut map_53 = scope_51.start_map(false, "key", "value");
        for (key_54, value_55) in var_52 {
            #[allow(unused_mut)]
            let mut entry_56 = map_53.entry(key_54);
            {
                entry_56.string(value_55);
            }
        }
        map_53.finish();
    }
    #[allow(unused_mut)]
    let mut scope_57 = writer.prefix("Tags");
    if let Some(var_58) = &input.tags {
        let mut list_60 = scope_57.start_list(false, None);
        for item_59 in var_58 {
            #[allow(unused_mut)]
            let mut entry_61 = list_60.entry();
            crate::query_ser::serialize_structure_crate_model_tag(entry_61, item_59)?;
        }
        list_60.finish();
    }
    #[allow(unused_mut)]
    let mut scope_62 = writer.prefix("DataProtectionPolicy");
    if let Some(var_63) = &input.data_protection_policy {
        scope_62.string(var_63);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_delete_endpoint(
    input: &crate::input::DeleteEndpointInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "DeleteEndpoint", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_64 = writer.prefix("EndpointArn");
    if let Some(var_65) = &input.endpoint_arn {
        scope_64.string(var_65);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_delete_platform_application(
    input: &crate::input::DeletePlatformApplicationInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "DeletePlatformApplication", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_66 = writer.prefix("PlatformApplicationArn");
    if let Some(var_67) = &input.platform_application_arn {
        scope_66.string(var_67);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_delete_sms_sandbox_phone_number(
    input: &crate::input::DeleteSmsSandboxPhoneNumberInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "DeleteSMSSandboxPhoneNumber", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_68 = writer.prefix("PhoneNumber");
    if let Some(var_69) = &input.phone_number {
        scope_68.string(var_69);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_delete_topic(
    input: &crate::input::DeleteTopicInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "DeleteTopic", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_70 = writer.prefix("TopicArn");
    if let Some(var_71) = &input.topic_arn {
        scope_70.string(var_71);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_data_protection_policy(
    input: &crate::input::GetDataProtectionPolicyInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "GetDataProtectionPolicy", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_72 = writer.prefix("ResourceArn");
    if let Some(var_73) = &input.resource_arn {
        scope_72.string(var_73);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_endpoint_attributes(
    input: &crate::input::GetEndpointAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "GetEndpointAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_74 = writer.prefix("EndpointArn");
    if let Some(var_75) = &input.endpoint_arn {
        scope_74.string(var_75);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_platform_application_attributes(
    input: &crate::input::GetPlatformApplicationAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(
        &mut out,
        "GetPlatformApplicationAttributes",
        "2010-03-31",
    );
    #[allow(unused_mut)]
    let mut scope_76 = writer.prefix("PlatformApplicationArn");
    if let Some(var_77) = &input.platform_application_arn {
        scope_76.string(var_77);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_sms_attributes(
    input: &crate::input::GetSmsAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "GetSMSAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_78 = writer.prefix("attributes");
    if let Some(var_79) = &input.attributes {
        let mut list_81 = scope_78.start_list(false, None);
        for item_80 in var_79 {
            #[allow(unused_mut)]
            let mut entry_82 = list_81.entry();
            entry_82.string(item_80);
        }
        list_81.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_sms_sandbox_account_status(
    input: &crate::input::GetSmsSandboxAccountStatusInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let _ = input;
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "GetSMSSandboxAccountStatus", "2010-03-31");
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_subscription_attributes(
    input: &crate::input::GetSubscriptionAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "GetSubscriptionAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_83 = writer.prefix("SubscriptionArn");
    if let Some(var_84) = &input.subscription_arn {
        scope_83.string(var_84);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_get_topic_attributes(
    input: &crate::input::GetTopicAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "GetTopicAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_85 = writer.prefix("TopicArn");
    if let Some(var_86) = &input.topic_arn {
        scope_85.string(var_86);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_endpoints_by_platform_application(
    input: &crate::input::ListEndpointsByPlatformApplicationInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(
        &mut out,
        "ListEndpointsByPlatformApplication",
        "2010-03-31",
    );
    #[allow(unused_mut)]
    let mut scope_87 = writer.prefix("PlatformApplicationArn");
    if let Some(var_88) = &input.platform_application_arn {
        scope_87.string(var_88);
    }
    #[allow(unused_mut)]
    let mut scope_89 = writer.prefix("NextToken");
    if let Some(var_90) = &input.next_token {
        scope_89.string(var_90);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_origination_numbers(
    input: &crate::input::ListOriginationNumbersInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListOriginationNumbers", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_91 = writer.prefix("NextToken");
    if let Some(var_92) = &input.next_token {
        scope_91.string(var_92);
    }
    #[allow(unused_mut)]
    let mut scope_93 = writer.prefix("MaxResults");
    if let Some(var_94) = &input.max_results {
        scope_93.number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_94).into()),
        );
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_phone_numbers_opted_out(
    input: &crate::input::ListPhoneNumbersOptedOutInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListPhoneNumbersOptedOut", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_95 = writer.prefix("nextToken");
    if let Some(var_96) = &input.next_token {
        scope_95.string(var_96);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_platform_applications(
    input: &crate::input::ListPlatformApplicationsInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListPlatformApplications", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_97 = writer.prefix("NextToken");
    if let Some(var_98) = &input.next_token {
        scope_97.string(var_98);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_sms_sandbox_phone_numbers(
    input: &crate::input::ListSmsSandboxPhoneNumbersInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListSMSSandboxPhoneNumbers", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_99 = writer.prefix("NextToken");
    if let Some(var_100) = &input.next_token {
        scope_99.string(var_100);
    }
    #[allow(unused_mut)]
    let mut scope_101 = writer.prefix("MaxResults");
    if let Some(var_102) = &input.max_results {
        scope_101.number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_102).into()),
        );
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_subscriptions(
    input: &crate::input::ListSubscriptionsInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListSubscriptions", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_103 = writer.prefix("NextToken");
    if let Some(var_104) = &input.next_token {
        scope_103.string(var_104);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_subscriptions_by_topic(
    input: &crate::input::ListSubscriptionsByTopicInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListSubscriptionsByTopic", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_105 = writer.prefix("TopicArn");
    if let Some(var_106) = &input.topic_arn {
        scope_105.string(var_106);
    }
    #[allow(unused_mut)]
    let mut scope_107 = writer.prefix("NextToken");
    if let Some(var_108) = &input.next_token {
        scope_107.string(var_108);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_tags_for_resource(
    input: &crate::input::ListTagsForResourceInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "ListTagsForResource", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_109 = writer.prefix("ResourceArn");
    if let Some(var_110) = &input.resource_arn {
        scope_109.string(var_110);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_list_topics(
    input: &crate::input::ListTopicsInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "ListTopics", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_111 = writer.prefix("NextToken");
    if let Some(var_112) = &input.next_token {
        scope_111.string(var_112);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_opt_in_phone_number(
    input: &crate::input::OptInPhoneNumberInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "OptInPhoneNumber", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_113 = writer.prefix("phoneNumber");
    if let Some(var_114) = &input.phone_number {
        scope_113.string(var_114);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_publish(
    input: &crate::input::PublishInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "Publish", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_115 = writer.prefix("TopicArn");
    if let Some(var_116) = &input.topic_arn {
        scope_115.string(var_116);
    }
    #[allow(unused_mut)]
    let mut scope_117 = writer.prefix("TargetArn");
    if let Some(var_118) = &input.target_arn {
        scope_117.string(var_118);
    }
    #[allow(unused_mut)]
    let mut scope_119 = writer.prefix("PhoneNumber");
    if let Some(var_120) = &input.phone_number {
        scope_119.string(var_120);
    }
    #[allow(unused_mut)]
    let mut scope_121 = writer.prefix("Message");
    if let Some(var_122) = &input.message {
        scope_121.string(var_122);
    }
    #[allow(unused_mut)]
    let mut scope_123 = writer.prefix("Subject");
    if let Some(var_124) = &input.subject {
        scope_123.string(var_124);
    }
    #[allow(unused_mut)]
    let mut scope_125 = writer.prefix("MessageStructure");
    if let Some(var_126) = &input.message_structure {
        scope_125.string(var_126);
    }
    #[allow(unused_mut)]
    let mut scope_127 = writer.prefix("MessageAttributes");
    if let Some(var_128) = &input.message_attributes {
        let mut map_129 = scope_127.start_map(false, "Name", "Value");
        for (key_130, value_131) in var_128 {
            #[allow(unused_mut)]
            let mut entry_132 = map_129.entry(key_130);
            {
                crate::query_ser::serialize_structure_crate_model_message_attribute_value(
                    entry_132, value_131,
                )?;
            }
        }
        map_129.finish();
    }
    #[allow(unused_mut)]
    let mut scope_133 = writer.prefix("MessageDeduplicationId");
    if let Some(var_134) = &input.message_deduplication_id {
        scope_133.string(var_134);
    }
    #[allow(unused_mut)]
    let mut scope_135 = writer.prefix("MessageGroupId");
    if let Some(var_136) = &input.message_group_id {
        scope_135.string(var_136);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_publish_batch(
    input: &crate::input::PublishBatchInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "PublishBatch", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_137 = writer.prefix("TopicArn");
    if let Some(var_138) = &input.topic_arn {
        scope_137.string(var_138);
    }
    #[allow(unused_mut)]
    let mut scope_139 = writer.prefix("PublishBatchRequestEntries");
    if let Some(var_140) = &input.publish_batch_request_entries {
        let mut list_142 = scope_139.start_list(false, None);
        for item_141 in var_140 {
            #[allow(unused_mut)]
            let mut entry_143 = list_142.entry();
            crate::query_ser::serialize_structure_crate_model_publish_batch_request_entry(
                entry_143, item_141,
            )?;
        }
        list_142.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_put_data_protection_policy(
    input: &crate::input::PutDataProtectionPolicyInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "PutDataProtectionPolicy", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_144 = writer.prefix("ResourceArn");
    if let Some(var_145) = &input.resource_arn {
        scope_144.string(var_145);
    }
    #[allow(unused_mut)]
    let mut scope_146 = writer.prefix("DataProtectionPolicy");
    if let Some(var_147) = &input.data_protection_policy {
        scope_146.string(var_147);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_remove_permission(
    input: &crate::input::RemovePermissionInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "RemovePermission", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_148 = writer.prefix("TopicArn");
    if let Some(var_149) = &input.topic_arn {
        scope_148.string(var_149);
    }
    #[allow(unused_mut)]
    let mut scope_150 = writer.prefix("Label");
    if let Some(var_151) = &input.label {
        scope_150.string(var_151);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_set_endpoint_attributes(
    input: &crate::input::SetEndpointAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "SetEndpointAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_152 = writer.prefix("EndpointArn");
    if let Some(var_153) = &input.endpoint_arn {
        scope_152.string(var_153);
    }
    #[allow(unused_mut)]
    let mut scope_154 = writer.prefix("Attributes");
    if let Some(var_155) = &input.attributes {
        let mut map_156 = scope_154.start_map(false, "key", "value");
        for (key_157, value_158) in var_155 {
            #[allow(unused_mut)]
            let mut entry_159 = map_156.entry(key_157);
            {
                entry_159.string(value_158);
            }
        }
        map_156.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_set_platform_application_attributes(
    input: &crate::input::SetPlatformApplicationAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(
        &mut out,
        "SetPlatformApplicationAttributes",
        "2010-03-31",
    );
    #[allow(unused_mut)]
    let mut scope_160 = writer.prefix("PlatformApplicationArn");
    if let Some(var_161) = &input.platform_application_arn {
        scope_160.string(var_161);
    }
    #[allow(unused_mut)]
    let mut scope_162 = writer.prefix("Attributes");
    if let Some(var_163) = &input.attributes {
        let mut map_164 = scope_162.start_map(false, "key", "value");
        for (key_165, value_166) in var_163 {
            #[allow(unused_mut)]
            let mut entry_167 = map_164.entry(key_165);
            {
                entry_167.string(value_166);
            }
        }
        map_164.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_set_sms_attributes(
    input: &crate::input::SetSmsAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "SetSMSAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_168 = writer.prefix("attributes");
    if let Some(var_169) = &input.attributes {
        let mut map_170 = scope_168.start_map(false, "key", "value");
        for (key_171, value_172) in var_169 {
            #[allow(unused_mut)]
            let mut entry_173 = map_170.entry(key_171);
            {
                entry_173.string(value_172);
            }
        }
        map_170.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_set_subscription_attributes(
    input: &crate::input::SetSubscriptionAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "SetSubscriptionAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_174 = writer.prefix("SubscriptionArn");
    if let Some(var_175) = &input.subscription_arn {
        scope_174.string(var_175);
    }
    #[allow(unused_mut)]
    let mut scope_176 = writer.prefix("AttributeName");
    if let Some(var_177) = &input.attribute_name {
        scope_176.string(var_177);
    }
    #[allow(unused_mut)]
    let mut scope_178 = writer.prefix("AttributeValue");
    if let Some(var_179) = &input.attribute_value {
        scope_178.string(var_179);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_set_topic_attributes(
    input: &crate::input::SetTopicAttributesInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "SetTopicAttributes", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_180 = writer.prefix("TopicArn");
    if let Some(var_181) = &input.topic_arn {
        scope_180.string(var_181);
    }
    #[allow(unused_mut)]
    let mut scope_182 = writer.prefix("AttributeName");
    if let Some(var_183) = &input.attribute_name {
        scope_182.string(var_183);
    }
    #[allow(unused_mut)]
    let mut scope_184 = writer.prefix("AttributeValue");
    if let Some(var_185) = &input.attribute_value {
        scope_184.string(var_185);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_subscribe(
    input: &crate::input::SubscribeInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "Subscribe", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_186 = writer.prefix("TopicArn");
    if let Some(var_187) = &input.topic_arn {
        scope_186.string(var_187);
    }
    #[allow(unused_mut)]
    let mut scope_188 = writer.prefix("Protocol");
    if let Some(var_189) = &input.protocol {
        scope_188.string(var_189);
    }
    #[allow(unused_mut)]
    let mut scope_190 = writer.prefix("Endpoint");
    if let Some(var_191) = &input.endpoint {
        scope_190.string(var_191);
    }
    #[allow(unused_mut)]
    let mut scope_192 = writer.prefix("Attributes");
    if let Some(var_193) = &input.attributes {
        let mut map_194 = scope_192.start_map(false, "key", "value");
        for (key_195, value_196) in var_193 {
            #[allow(unused_mut)]
            let mut entry_197 = map_194.entry(key_195);
            {
                entry_197.string(value_196);
            }
        }
        map_194.finish();
    }
    #[allow(unused_mut)]
    let mut scope_198 = writer.prefix("ReturnSubscriptionArn");
    if input.return_subscription_arn {
        scope_198.boolean(input.return_subscription_arn);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_tag_resource(
    input: &crate::input::TagResourceInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "TagResource", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_199 = writer.prefix("ResourceArn");
    if let Some(var_200) = &input.resource_arn {
        scope_199.string(var_200);
    }
    #[allow(unused_mut)]
    let mut scope_201 = writer.prefix("Tags");
    if let Some(var_202) = &input.tags {
        let mut list_204 = scope_201.start_list(false, None);
        for item_203 in var_202 {
            #[allow(unused_mut)]
            let mut entry_205 = list_204.entry();
            crate::query_ser::serialize_structure_crate_model_tag(entry_205, item_203)?;
        }
        list_204.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_unsubscribe(
    input: &crate::input::UnsubscribeInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "Unsubscribe", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_206 = writer.prefix("SubscriptionArn");
    if let Some(var_207) = &input.subscription_arn {
        scope_206.string(var_207);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_untag_resource(
    input: &crate::input::UntagResourceInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = aws_smithy_query::QueryWriter::new(&mut out, "UntagResource", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_208 = writer.prefix("ResourceArn");
    if let Some(var_209) = &input.resource_arn {
        scope_208.string(var_209);
    }
    #[allow(unused_mut)]
    let mut scope_210 = writer.prefix("TagKeys");
    if let Some(var_211) = &input.tag_keys {
        let mut list_213 = scope_210.start_list(false, None);
        for item_212 in var_211 {
            #[allow(unused_mut)]
            let mut entry_214 = list_213.entry();
            entry_214.string(item_212);
        }
        list_213.finish();
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}

pub fn serialize_operation_crate_operation_verify_sms_sandbox_phone_number(
    input: &crate::input::VerifySmsSandboxPhoneNumberInput,
) -> Result<aws_smithy_http::body::SdkBody, aws_smithy_http::operation::error::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer =
        aws_smithy_query::QueryWriter::new(&mut out, "VerifySMSSandboxPhoneNumber", "2010-03-31");
    #[allow(unused_mut)]
    let mut scope_215 = writer.prefix("PhoneNumber");
    if let Some(var_216) = &input.phone_number {
        scope_215.string(var_216);
    }
    #[allow(unused_mut)]
    let mut scope_217 = writer.prefix("OneTimePassword");
    if let Some(var_218) = &input.one_time_password {
        scope_217.string(var_218);
    }
    writer.finish();
    Ok(aws_smithy_http::body::SdkBody::from(out))
}