1use serde::{Deserialize, Serialize};
4
5use crate::types::{
6 BehaviorOnMXFailure, ConfigurationSet, ConfigurationSetAttribute, Destination,
7 EventDestination, IdentityType, Message, MessageTag, NotificationType, RawMessage, ReceiptRule,
8 Template,
9};
10
11#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13#[serde(rename_all = "PascalCase")]
14pub struct CloneReceiptRuleSetInput {
15 pub original_rule_set_name: String,
16 pub rule_set_name: String,
17}
18
19#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21#[serde(rename_all = "PascalCase")]
22pub struct CreateConfigurationSetEventDestinationInput {
23 pub configuration_set_name: String,
24 pub event_destination: EventDestination,
25}
26
27#[derive(Debug, Clone, Default, Serialize, Deserialize)]
29#[serde(rename_all = "PascalCase")]
30pub struct CreateConfigurationSetInput {
31 pub configuration_set: ConfigurationSet,
32}
33
34#[derive(Debug, Clone, Default, Serialize, Deserialize)]
36#[serde(rename_all = "PascalCase")]
37pub struct CreateReceiptRuleInput {
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub after: Option<String>,
40 pub rule: ReceiptRule,
41 pub rule_set_name: String,
42}
43
44#[derive(Debug, Clone, Default, Serialize, Deserialize)]
46#[serde(rename_all = "PascalCase")]
47pub struct CreateReceiptRuleSetInput {
48 pub rule_set_name: String,
49}
50
51#[derive(Debug, Clone, Default, Serialize, Deserialize)]
53#[serde(rename_all = "PascalCase")]
54pub struct CreateTemplateInput {
55 pub template: Template,
56}
57
58#[derive(Debug, Clone, Default, Serialize, Deserialize)]
60#[serde(rename_all = "PascalCase")]
61pub struct DeleteConfigurationSetEventDestinationInput {
62 pub configuration_set_name: String,
63 pub event_destination_name: String,
64}
65
66#[derive(Debug, Clone, Default, Serialize, Deserialize)]
68#[serde(rename_all = "PascalCase")]
69pub struct DeleteConfigurationSetInput {
70 pub configuration_set_name: String,
71}
72
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75#[serde(rename_all = "PascalCase")]
76pub struct DeleteIdentityInput {
77 pub identity: String,
78}
79
80#[derive(Debug, Clone, Default, Serialize, Deserialize)]
82#[serde(rename_all = "PascalCase")]
83pub struct DeleteIdentityPolicyInput {
84 pub identity: String,
85 pub policy_name: String,
86}
87
88#[derive(Debug, Clone, Default, Serialize, Deserialize)]
90#[serde(rename_all = "PascalCase")]
91pub struct DeleteReceiptRuleInput {
92 pub rule_name: String,
93 pub rule_set_name: String,
94}
95
96#[derive(Debug, Clone, Default, Serialize, Deserialize)]
98#[serde(rename_all = "PascalCase")]
99pub struct DeleteReceiptRuleSetInput {
100 pub rule_set_name: String,
101}
102
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
105#[serde(rename_all = "PascalCase")]
106pub struct DeleteTemplateInput {
107 pub template_name: String,
108}
109
110#[derive(Debug, Clone, Default, Serialize, Deserialize)]
112#[serde(rename_all = "PascalCase")]
113pub struct DeleteVerifiedEmailAddressInput {
114 pub email_address: String,
115}
116
117#[derive(Debug, Clone, Default, Serialize, Deserialize)]
119#[serde(rename_all = "PascalCase")]
120pub struct DescribeActiveReceiptRuleSetInput {}
121
122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
124#[serde(rename_all = "PascalCase")]
125pub struct DescribeConfigurationSetInput {
126 #[serde(default, skip_serializing_if = "Vec::is_empty")]
127 pub configuration_set_attribute_names: Vec<ConfigurationSetAttribute>,
128 pub configuration_set_name: String,
129}
130
131#[derive(Debug, Clone, Default, Serialize, Deserialize)]
133#[serde(rename_all = "PascalCase")]
134pub struct DescribeReceiptRuleSetInput {
135 pub rule_set_name: String,
136}
137
138#[derive(Debug, Clone, Default, Serialize, Deserialize)]
140#[serde(rename_all = "PascalCase")]
141pub struct GetIdentityDkimAttributesInput {
142 #[serde(default, skip_serializing_if = "Vec::is_empty")]
143 pub identities: Vec<String>,
144}
145
146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
148#[serde(rename_all = "PascalCase")]
149pub struct GetIdentityMailFromDomainAttributesInput {
150 #[serde(default, skip_serializing_if = "Vec::is_empty")]
151 pub identities: Vec<String>,
152}
153
154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
156#[serde(rename_all = "PascalCase")]
157pub struct GetIdentityNotificationAttributesInput {
158 #[serde(default, skip_serializing_if = "Vec::is_empty")]
159 pub identities: Vec<String>,
160}
161
162#[derive(Debug, Clone, Default, Serialize, Deserialize)]
164#[serde(rename_all = "PascalCase")]
165pub struct GetIdentityPoliciesInput {
166 pub identity: String,
167 #[serde(default, skip_serializing_if = "Vec::is_empty")]
168 pub policy_names: Vec<String>,
169}
170
171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
173#[serde(rename_all = "PascalCase")]
174pub struct GetIdentityVerificationAttributesInput {
175 #[serde(default, skip_serializing_if = "Vec::is_empty")]
176 pub identities: Vec<String>,
177}
178
179#[derive(Debug, Clone, Default, Serialize, Deserialize)]
181#[serde(rename_all = "PascalCase")]
182pub struct GetTemplateInput {
183 pub template_name: String,
184}
185
186#[derive(Debug, Clone, Default, Serialize, Deserialize)]
188#[serde(rename_all = "PascalCase")]
189pub struct ListConfigurationSetsInput {
190 #[serde(skip_serializing_if = "Option::is_none")]
191 pub max_items: Option<i32>,
192 #[serde(skip_serializing_if = "Option::is_none")]
193 pub next_token: Option<String>,
194}
195
196#[derive(Debug, Clone, Default, Serialize, Deserialize)]
198#[serde(rename_all = "PascalCase")]
199pub struct ListIdentitiesInput {
200 #[serde(skip_serializing_if = "Option::is_none")]
201 pub identity_type: Option<IdentityType>,
202 #[serde(skip_serializing_if = "Option::is_none")]
203 pub max_items: Option<i32>,
204 #[serde(skip_serializing_if = "Option::is_none")]
205 pub next_token: Option<String>,
206}
207
208#[derive(Debug, Clone, Default, Serialize, Deserialize)]
210#[serde(rename_all = "PascalCase")]
211pub struct ListIdentityPoliciesInput {
212 pub identity: String,
213}
214
215#[derive(Debug, Clone, Default, Serialize, Deserialize)]
217#[serde(rename_all = "PascalCase")]
218pub struct ListTemplatesInput {
219 #[serde(skip_serializing_if = "Option::is_none")]
220 pub max_items: Option<i32>,
221 #[serde(skip_serializing_if = "Option::is_none")]
222 pub next_token: Option<String>,
223}
224
225#[derive(Debug, Clone, Default, Serialize, Deserialize)]
227#[serde(rename_all = "PascalCase")]
228pub struct PutIdentityPolicyInput {
229 pub identity: String,
230 pub policy: String,
231 pub policy_name: String,
232}
233
234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
236#[serde(rename_all = "PascalCase")]
237pub struct SendEmailInput {
238 #[serde(skip_serializing_if = "Option::is_none")]
239 pub configuration_set_name: Option<String>,
240 pub destination: Destination,
241 pub message: Message,
242 #[serde(default, skip_serializing_if = "Vec::is_empty")]
243 pub reply_to_addresses: Vec<String>,
244 #[serde(skip_serializing_if = "Option::is_none")]
245 pub return_path: Option<String>,
246 #[serde(skip_serializing_if = "Option::is_none")]
247 pub return_path_arn: Option<String>,
248 pub source: String,
249 #[serde(skip_serializing_if = "Option::is_none")]
250 pub source_arn: Option<String>,
251 #[serde(default, skip_serializing_if = "Vec::is_empty")]
252 pub tags: Vec<MessageTag>,
253}
254
255#[derive(Debug, Clone, Default, Serialize, Deserialize)]
257#[serde(rename_all = "PascalCase")]
258pub struct SendRawEmailInput {
259 #[serde(skip_serializing_if = "Option::is_none")]
260 pub configuration_set_name: Option<String>,
261 #[serde(default, skip_serializing_if = "Vec::is_empty")]
262 pub destinations: Vec<String>,
263 #[serde(skip_serializing_if = "Option::is_none")]
264 pub from_arn: Option<String>,
265 pub raw_message: RawMessage,
266 #[serde(skip_serializing_if = "Option::is_none")]
267 pub return_path_arn: Option<String>,
268 #[serde(skip_serializing_if = "Option::is_none")]
269 pub source: Option<String>,
270 #[serde(skip_serializing_if = "Option::is_none")]
271 pub source_arn: Option<String>,
272 #[serde(default, skip_serializing_if = "Vec::is_empty")]
273 pub tags: Vec<MessageTag>,
274}
275
276#[derive(Debug, Clone, Default, Serialize, Deserialize)]
278#[serde(rename_all = "PascalCase")]
279pub struct SendTemplatedEmailInput {
280 #[serde(skip_serializing_if = "Option::is_none")]
281 pub configuration_set_name: Option<String>,
282 pub destination: Destination,
283 #[serde(default, skip_serializing_if = "Vec::is_empty")]
284 pub reply_to_addresses: Vec<String>,
285 #[serde(skip_serializing_if = "Option::is_none")]
286 pub return_path: Option<String>,
287 #[serde(skip_serializing_if = "Option::is_none")]
288 pub return_path_arn: Option<String>,
289 pub source: String,
290 #[serde(skip_serializing_if = "Option::is_none")]
291 pub source_arn: Option<String>,
292 #[serde(default, skip_serializing_if = "Vec::is_empty")]
293 pub tags: Vec<MessageTag>,
294 pub template: String,
295 #[serde(skip_serializing_if = "Option::is_none")]
296 pub template_arn: Option<String>,
297 pub template_data: String,
298}
299
300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
302#[serde(rename_all = "PascalCase")]
303pub struct SetActiveReceiptRuleSetInput {
304 #[serde(skip_serializing_if = "Option::is_none")]
305 pub rule_set_name: Option<String>,
306}
307
308#[derive(Debug, Clone, Default, Serialize, Deserialize)]
310#[serde(rename_all = "PascalCase")]
311pub struct SetIdentityFeedbackForwardingEnabledInput {
312 pub forwarding_enabled: bool,
313 pub identity: String,
314}
315
316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
318#[serde(rename_all = "PascalCase")]
319pub struct SetIdentityMailFromDomainInput {
320 #[serde(rename = "BehaviorOnMXFailure")]
321 #[serde(skip_serializing_if = "Option::is_none")]
322 pub behavior_on_mx_failure: Option<BehaviorOnMXFailure>,
323 pub identity: String,
324 #[serde(skip_serializing_if = "Option::is_none")]
325 pub mail_from_domain: Option<String>,
326}
327
328#[derive(Debug, Clone, Default, Serialize, Deserialize)]
330#[serde(rename_all = "PascalCase")]
331pub struct SetIdentityNotificationTopicInput {
332 pub identity: String,
333 pub notification_type: NotificationType,
334 #[serde(skip_serializing_if = "Option::is_none")]
335 pub sns_topic: Option<String>,
336}
337
338#[derive(Debug, Clone, Default, Serialize, Deserialize)]
340#[serde(rename_all = "PascalCase")]
341pub struct UpdateConfigurationSetEventDestinationInput {
342 pub configuration_set_name: String,
343 pub event_destination: EventDestination,
344}
345
346#[derive(Debug, Clone, Default, Serialize, Deserialize)]
348#[serde(rename_all = "PascalCase")]
349pub struct UpdateTemplateInput {
350 pub template: Template,
351}
352
353#[derive(Debug, Clone, Default, Serialize, Deserialize)]
355#[serde(rename_all = "PascalCase")]
356pub struct VerifyDomainDkimInput {
357 pub domain: String,
358}
359
360#[derive(Debug, Clone, Default, Serialize, Deserialize)]
362#[serde(rename_all = "PascalCase")]
363pub struct VerifyDomainIdentityInput {
364 pub domain: String,
365}
366
367#[derive(Debug, Clone, Default, Serialize, Deserialize)]
369#[serde(rename_all = "PascalCase")]
370pub struct VerifyEmailAddressInput {
371 pub email_address: String,
372}
373
374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
376#[serde(rename_all = "PascalCase")]
377pub struct VerifyEmailIdentityInput {
378 pub email_address: String,
379}