use serde::{Deserialize, Serialize};
use crate::types::{
BehaviorOnMXFailure, ConfigurationSet, ConfigurationSetAttribute, Destination,
EventDestination, IdentityType, Message, MessageTag, NotificationType, RawMessage, ReceiptRule,
Template,
};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CloneReceiptRuleSetInput {
pub original_rule_set_name: String,
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateConfigurationSetEventDestinationInput {
pub configuration_set_name: String,
pub event_destination: EventDestination,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateConfigurationSetInput {
pub configuration_set: ConfigurationSet,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateReceiptRuleInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub after: Option<String>,
pub rule: ReceiptRule,
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateReceiptRuleSetInput {
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateTemplateInput {
pub template: Template,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteConfigurationSetEventDestinationInput {
pub configuration_set_name: String,
pub event_destination_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteConfigurationSetInput {
pub configuration_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteIdentityInput {
pub identity: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteIdentityPolicyInput {
pub identity: String,
pub policy_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReceiptRuleInput {
pub rule_name: String,
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReceiptRuleSetInput {
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteTemplateInput {
pub template_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteVerifiedEmailAddressInput {
pub email_address: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeActiveReceiptRuleSetInput {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationSetInput {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub configuration_set_attribute_names: Vec<ConfigurationSetAttribute>,
pub configuration_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeReceiptRuleSetInput {
pub rule_set_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityDkimAttributesInput {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub identities: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityMailFromDomainAttributesInput {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub identities: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityNotificationAttributesInput {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub identities: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityPoliciesInput {
pub identity: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub policy_names: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityVerificationAttributesInput {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub identities: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetTemplateInput {
pub template_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListConfigurationSetsInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub max_items: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListIdentitiesInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub identity_type: Option<IdentityType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_items: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListIdentityPoliciesInput {
pub identity: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListTemplatesInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub max_items: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct PutIdentityPolicyInput {
pub identity: String,
pub policy: String,
pub policy_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendEmailInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_set_name: Option<String>,
pub destination: Destination,
pub message: Message,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub reply_to_addresses: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_path_arn: Option<String>,
pub source: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_arn: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<MessageTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendRawEmailInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_set_name: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub destinations: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub from_arn: Option<String>,
pub raw_message: RawMessage,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_path_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_arn: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<MessageTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendTemplatedEmailInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_set_name: Option<String>,
pub destination: Destination,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub reply_to_addresses: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_path_arn: Option<String>,
pub source: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_arn: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<MessageTag>,
pub template: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub template_arn: Option<String>,
pub template_data: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetActiveReceiptRuleSetInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub rule_set_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityFeedbackForwardingEnabledInput {
pub forwarding_enabled: bool,
pub identity: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityMailFromDomainInput {
#[serde(rename = "BehaviorOnMXFailure")]
#[serde(skip_serializing_if = "Option::is_none")]
pub behavior_on_mx_failure: Option<BehaviorOnMXFailure>,
pub identity: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub mail_from_domain: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityNotificationTopicInput {
pub identity: String,
pub notification_type: NotificationType,
#[serde(skip_serializing_if = "Option::is_none")]
pub sns_topic: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateConfigurationSetEventDestinationInput {
pub configuration_set_name: String,
pub event_destination: EventDestination,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateTemplateInput {
pub template: Template,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyDomainDkimInput {
pub domain: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyDomainIdentityInput {
pub domain: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyEmailAddressInput {
pub email_address: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyEmailIdentityInput {
pub email_address: String,
}