use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::types::{
ConfigurationSet, DeliveryOptions, EventDestination, IdentityDkimAttributes,
IdentityMailFromDomainAttributes, IdentityNotificationAttributes,
IdentityVerificationAttributes, ReceiptRule, ReceiptRuleSetMetadata, ReputationOptions,
SendDataPoint, Template, TemplateMetadata, TrackingOptions,
};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CloneReceiptRuleSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateConfigurationSetEventDestinationResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateConfigurationSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateReceiptRuleResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateReceiptRuleSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateTemplateResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteConfigurationSetEventDestinationResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteConfigurationSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteIdentityPolicyResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteIdentityResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReceiptRuleResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReceiptRuleSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteTemplateResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeActiveReceiptRuleSetResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<ReceiptRuleSetMetadata>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub rules: Vec<ReceiptRule>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationSetResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_set: Option<ConfigurationSet>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delivery_options: Option<DeliveryOptions>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub event_destinations: Vec<EventDestination>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reputation_options: Option<ReputationOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tracking_options: Option<TrackingOptions>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeReceiptRuleSetResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<ReceiptRuleSetMetadata>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub rules: Vec<ReceiptRule>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityDkimAttributesResponse {
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
pub dkim_attributes: HashMap<String, IdentityDkimAttributes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityMailFromDomainAttributesResponse {
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
pub mail_from_domain_attributes: HashMap<String, IdentityMailFromDomainAttributes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityNotificationAttributesResponse {
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
pub notification_attributes: HashMap<String, IdentityNotificationAttributes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityPoliciesResponse {
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
pub policies: HashMap<String, String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetIdentityVerificationAttributesResponse {
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
pub verification_attributes: HashMap<String, IdentityVerificationAttributes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetSendQuotaResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub max24_hour_send: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_send_rate: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sent_last24_hours: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetSendStatisticsResponse {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub send_data_points: Vec<SendDataPoint>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetTemplateResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub template: Option<Template>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListConfigurationSetsResponse {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub configuration_sets: Vec<ConfigurationSet>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListIdentitiesResponse {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub identities: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListIdentityPoliciesResponse {
#[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 ListTemplatesResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub templates_metadata: Vec<TemplateMetadata>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListVerifiedEmailAddressesResponse {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub verified_email_addresses: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct PutIdentityPolicyResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendEmailResponse {
pub message_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendRawEmailResponse {
pub message_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SendTemplatedEmailResponse {
pub message_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetActiveReceiptRuleSetResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityFeedbackForwardingEnabledResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityMailFromDomainResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SetIdentityNotificationTopicResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateConfigurationSetEventDestinationResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateTemplateResponse {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyDomainDkimResponse {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub dkim_tokens: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyDomainIdentityResponse {
pub verification_token: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct VerifyEmailIdentityResponse {}