1use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7use crate::types::{
8 ConfigurationSet, DeliveryOptions, EventDestination, IdentityDkimAttributes,
9 IdentityMailFromDomainAttributes, IdentityNotificationAttributes,
10 IdentityVerificationAttributes, ReceiptRule, ReceiptRuleSetMetadata, ReputationOptions,
11 SendDataPoint, Template, TemplateMetadata, TrackingOptions,
12};
13
14#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16#[serde(rename_all = "PascalCase")]
17pub struct CloneReceiptRuleSetResponse {}
18
19#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21#[serde(rename_all = "PascalCase")]
22pub struct CreateConfigurationSetEventDestinationResponse {}
23
24#[derive(Debug, Clone, Default, Serialize, Deserialize)]
26#[serde(rename_all = "PascalCase")]
27pub struct CreateConfigurationSetResponse {}
28
29#[derive(Debug, Clone, Default, Serialize, Deserialize)]
31#[serde(rename_all = "PascalCase")]
32pub struct CreateReceiptRuleResponse {}
33
34#[derive(Debug, Clone, Default, Serialize, Deserialize)]
36#[serde(rename_all = "PascalCase")]
37pub struct CreateReceiptRuleSetResponse {}
38
39#[derive(Debug, Clone, Default, Serialize, Deserialize)]
41#[serde(rename_all = "PascalCase")]
42pub struct CreateTemplateResponse {}
43
44#[derive(Debug, Clone, Default, Serialize, Deserialize)]
46#[serde(rename_all = "PascalCase")]
47pub struct DeleteConfigurationSetEventDestinationResponse {}
48
49#[derive(Debug, Clone, Default, Serialize, Deserialize)]
51#[serde(rename_all = "PascalCase")]
52pub struct DeleteConfigurationSetResponse {}
53
54#[derive(Debug, Clone, Default, Serialize, Deserialize)]
56#[serde(rename_all = "PascalCase")]
57pub struct DeleteIdentityPolicyResponse {}
58
59#[derive(Debug, Clone, Default, Serialize, Deserialize)]
61#[serde(rename_all = "PascalCase")]
62pub struct DeleteIdentityResponse {}
63
64#[derive(Debug, Clone, Default, Serialize, Deserialize)]
66#[serde(rename_all = "PascalCase")]
67pub struct DeleteReceiptRuleResponse {}
68
69#[derive(Debug, Clone, Default, Serialize, Deserialize)]
71#[serde(rename_all = "PascalCase")]
72pub struct DeleteReceiptRuleSetResponse {}
73
74#[derive(Debug, Clone, Default, Serialize, Deserialize)]
76#[serde(rename_all = "PascalCase")]
77pub struct DeleteTemplateResponse {}
78
79#[derive(Debug, Clone, Default, Serialize, Deserialize)]
81#[serde(rename_all = "PascalCase")]
82pub struct DescribeActiveReceiptRuleSetResponse {
83 #[serde(skip_serializing_if = "Option::is_none")]
84 pub metadata: Option<ReceiptRuleSetMetadata>,
85 #[serde(default, skip_serializing_if = "Vec::is_empty")]
86 pub rules: Vec<ReceiptRule>,
87}
88
89#[derive(Debug, Clone, Default, Serialize, Deserialize)]
91#[serde(rename_all = "PascalCase")]
92pub struct DescribeConfigurationSetResponse {
93 #[serde(skip_serializing_if = "Option::is_none")]
94 pub configuration_set: Option<ConfigurationSet>,
95 #[serde(skip_serializing_if = "Option::is_none")]
96 pub delivery_options: Option<DeliveryOptions>,
97 #[serde(default, skip_serializing_if = "Vec::is_empty")]
98 pub event_destinations: Vec<EventDestination>,
99 #[serde(skip_serializing_if = "Option::is_none")]
100 pub reputation_options: Option<ReputationOptions>,
101 #[serde(skip_serializing_if = "Option::is_none")]
102 pub tracking_options: Option<TrackingOptions>,
103}
104
105#[derive(Debug, Clone, Default, Serialize, Deserialize)]
107#[serde(rename_all = "PascalCase")]
108pub struct DescribeReceiptRuleSetResponse {
109 #[serde(skip_serializing_if = "Option::is_none")]
110 pub metadata: Option<ReceiptRuleSetMetadata>,
111 #[serde(default, skip_serializing_if = "Vec::is_empty")]
112 pub rules: Vec<ReceiptRule>,
113}
114
115#[derive(Debug, Clone, Default, Serialize, Deserialize)]
117#[serde(rename_all = "PascalCase")]
118pub struct GetIdentityDkimAttributesResponse {
119 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
120 pub dkim_attributes: HashMap<String, IdentityDkimAttributes>,
121}
122
123#[derive(Debug, Clone, Default, Serialize, Deserialize)]
125#[serde(rename_all = "PascalCase")]
126pub struct GetIdentityMailFromDomainAttributesResponse {
127 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
128 pub mail_from_domain_attributes: HashMap<String, IdentityMailFromDomainAttributes>,
129}
130
131#[derive(Debug, Clone, Default, Serialize, Deserialize)]
133#[serde(rename_all = "PascalCase")]
134pub struct GetIdentityNotificationAttributesResponse {
135 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
136 pub notification_attributes: HashMap<String, IdentityNotificationAttributes>,
137}
138
139#[derive(Debug, Clone, Default, Serialize, Deserialize)]
141#[serde(rename_all = "PascalCase")]
142pub struct GetIdentityPoliciesResponse {
143 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
144 pub policies: HashMap<String, String>,
145}
146
147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
149#[serde(rename_all = "PascalCase")]
150pub struct GetIdentityVerificationAttributesResponse {
151 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
152 pub verification_attributes: HashMap<String, IdentityVerificationAttributes>,
153}
154
155#[derive(Debug, Clone, Default, Serialize, Deserialize)]
157#[serde(rename_all = "PascalCase")]
158pub struct GetSendQuotaResponse {
159 #[serde(skip_serializing_if = "Option::is_none")]
160 pub max24_hour_send: Option<f64>,
161 #[serde(skip_serializing_if = "Option::is_none")]
162 pub max_send_rate: Option<f64>,
163 #[serde(skip_serializing_if = "Option::is_none")]
164 pub sent_last24_hours: Option<f64>,
165}
166
167#[derive(Debug, Clone, Default, Serialize, Deserialize)]
169#[serde(rename_all = "PascalCase")]
170pub struct GetSendStatisticsResponse {
171 #[serde(default, skip_serializing_if = "Vec::is_empty")]
172 pub send_data_points: Vec<SendDataPoint>,
173}
174
175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
177#[serde(rename_all = "PascalCase")]
178pub struct GetTemplateResponse {
179 #[serde(skip_serializing_if = "Option::is_none")]
180 pub template: Option<Template>,
181}
182
183#[derive(Debug, Clone, Default, Serialize, Deserialize)]
185#[serde(rename_all = "PascalCase")]
186pub struct ListConfigurationSetsResponse {
187 #[serde(default, skip_serializing_if = "Vec::is_empty")]
188 pub configuration_sets: Vec<ConfigurationSet>,
189 #[serde(skip_serializing_if = "Option::is_none")]
190 pub next_token: Option<String>,
191}
192
193#[derive(Debug, Clone, Default, Serialize, Deserialize)]
195#[serde(rename_all = "PascalCase")]
196pub struct ListIdentitiesResponse {
197 #[serde(default, skip_serializing_if = "Vec::is_empty")]
198 pub identities: Vec<String>,
199 #[serde(skip_serializing_if = "Option::is_none")]
200 pub next_token: Option<String>,
201}
202
203#[derive(Debug, Clone, Default, Serialize, Deserialize)]
205#[serde(rename_all = "PascalCase")]
206pub struct ListIdentityPoliciesResponse {
207 #[serde(default, skip_serializing_if = "Vec::is_empty")]
208 pub policy_names: Vec<String>,
209}
210
211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
213#[serde(rename_all = "PascalCase")]
214pub struct ListTemplatesResponse {
215 #[serde(skip_serializing_if = "Option::is_none")]
216 pub next_token: Option<String>,
217 #[serde(default, skip_serializing_if = "Vec::is_empty")]
218 pub templates_metadata: Vec<TemplateMetadata>,
219}
220
221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
223#[serde(rename_all = "PascalCase")]
224pub struct ListVerifiedEmailAddressesResponse {
225 #[serde(default, skip_serializing_if = "Vec::is_empty")]
226 pub verified_email_addresses: Vec<String>,
227}
228
229#[derive(Debug, Clone, Default, Serialize, Deserialize)]
231#[serde(rename_all = "PascalCase")]
232pub struct PutIdentityPolicyResponse {}
233
234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
236#[serde(rename_all = "PascalCase")]
237pub struct SendEmailResponse {
238 pub message_id: String,
239}
240
241#[derive(Debug, Clone, Default, Serialize, Deserialize)]
243#[serde(rename_all = "PascalCase")]
244pub struct SendRawEmailResponse {
245 pub message_id: String,
246}
247
248#[derive(Debug, Clone, Default, Serialize, Deserialize)]
250#[serde(rename_all = "PascalCase")]
251pub struct SendTemplatedEmailResponse {
252 pub message_id: String,
253}
254
255#[derive(Debug, Clone, Default, Serialize, Deserialize)]
257#[serde(rename_all = "PascalCase")]
258pub struct SetActiveReceiptRuleSetResponse {}
259
260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
262#[serde(rename_all = "PascalCase")]
263pub struct SetIdentityFeedbackForwardingEnabledResponse {}
264
265#[derive(Debug, Clone, Default, Serialize, Deserialize)]
267#[serde(rename_all = "PascalCase")]
268pub struct SetIdentityMailFromDomainResponse {}
269
270#[derive(Debug, Clone, Default, Serialize, Deserialize)]
272#[serde(rename_all = "PascalCase")]
273pub struct SetIdentityNotificationTopicResponse {}
274
275#[derive(Debug, Clone, Default, Serialize, Deserialize)]
277#[serde(rename_all = "PascalCase")]
278pub struct UpdateConfigurationSetEventDestinationResponse {}
279
280#[derive(Debug, Clone, Default, Serialize, Deserialize)]
282#[serde(rename_all = "PascalCase")]
283pub struct UpdateTemplateResponse {}
284
285#[derive(Debug, Clone, Default, Serialize, Deserialize)]
287#[serde(rename_all = "PascalCase")]
288pub struct VerifyDomainDkimResponse {
289 #[serde(default, skip_serializing_if = "Vec::is_empty")]
290 pub dkim_tokens: Vec<String>,
291}
292
293#[derive(Debug, Clone, Default, Serialize, Deserialize)]
295#[serde(rename_all = "PascalCase")]
296pub struct VerifyDomainIdentityResponse {
297 pub verification_token: String,
298}
299
300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
302#[serde(rename_all = "PascalCase")]
303pub struct VerifyEmailIdentityResponse {}