aws-sdk-appflow 1.98.0

AWS SDK for Amazon Appflow
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_connector_operator(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::types::ConnectorOperator,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.amplitude {
        object.key("Amplitude").string(var_1.as_str());
    }
    if let Some(var_2) = &input.datadog {
        object.key("Datadog").string(var_2.as_str());
    }
    if let Some(var_3) = &input.dynatrace {
        object.key("Dynatrace").string(var_3.as_str());
    }
    if let Some(var_4) = &input.google_analytics {
        object.key("GoogleAnalytics").string(var_4.as_str());
    }
    if let Some(var_5) = &input.infor_nexus {
        object.key("InforNexus").string(var_5.as_str());
    }
    if let Some(var_6) = &input.marketo {
        object.key("Marketo").string(var_6.as_str());
    }
    if let Some(var_7) = &input.s3 {
        object.key("S3").string(var_7.as_str());
    }
    if let Some(var_8) = &input.salesforce {
        object.key("Salesforce").string(var_8.as_str());
    }
    if let Some(var_9) = &input.service_now {
        object.key("ServiceNow").string(var_9.as_str());
    }
    if let Some(var_10) = &input.singular {
        object.key("Singular").string(var_10.as_str());
    }
    if let Some(var_11) = &input.slack {
        object.key("Slack").string(var_11.as_str());
    }
    if let Some(var_12) = &input.trendmicro {
        object.key("Trendmicro").string(var_12.as_str());
    }
    if let Some(var_13) = &input.veeva {
        object.key("Veeva").string(var_13.as_str());
    }
    if let Some(var_14) = &input.zendesk {
        object.key("Zendesk").string(var_14.as_str());
    }
    if let Some(var_15) = &input.sapo_data {
        object.key("SAPOData").string(var_15.as_str());
    }
    if let Some(var_16) = &input.custom_connector {
        object.key("CustomConnector").string(var_16.as_str());
    }
    if let Some(var_17) = &input.pardot {
        object.key("Pardot").string(var_17.as_str());
    }
    Ok(())
}

pub(crate) fn de_connector_operator<'a, I>(
    tokens: &mut ::std::iter::Peekable<I>,
    _value: &'a [u8],
) -> ::std::result::Result<Option<crate::types::ConnectorOperator>, ::aws_smithy_json::deserialize::error::DeserializeError>
where
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
{
    match tokens.next().transpose()? {
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::types::builders::ConnectorOperatorBuilder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
                        "Amplitude" => {
                            builder = builder.set_amplitude(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::AmplitudeConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Datadog" => {
                            builder = builder.set_datadog(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::DatadogConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Dynatrace" => {
                            builder = builder.set_dynatrace(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::DynatraceConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "GoogleAnalytics" => {
                            builder = builder.set_google_analytics(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::GoogleAnalyticsConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "InforNexus" => {
                            builder = builder.set_infor_nexus(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::InforNexusConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Marketo" => {
                            builder = builder.set_marketo(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::MarketoConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "S3" => {
                            builder = builder.set_s3(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::S3ConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Salesforce" => {
                            builder = builder.set_salesforce(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::SalesforceConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "ServiceNow" => {
                            builder = builder.set_service_now(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::ServiceNowConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Singular" => {
                            builder = builder.set_singular(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::SingularConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Slack" => {
                            builder = builder.set_slack(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::SlackConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Trendmicro" => {
                            builder = builder.set_trendmicro(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::TrendmicroConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Veeva" => {
                            builder = builder.set_veeva(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::VeevaConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Zendesk" => {
                            builder = builder.set_zendesk(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::ZendeskConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "SAPOData" => {
                            builder = builder.set_sapo_data(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::SapoDataConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "CustomConnector" => {
                            builder = builder.set_custom_connector(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::Operator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        "Pardot" => {
                            builder = builder.set_pardot(
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
                                    .map(|s| s.to_unescaped().map(|u| crate::types::PardotConnectorOperator::from(u.as_ref())))
                                    .transpose()?,
                            );
                        }
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
                    },
                    other => {
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                            "expected object key or end object, found: {other:?}"
                        )))
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
            "expected start object or null",
        )),
    }
}