1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::send_bounce::_send_bounce_input::SendBounceInputBuilder;
pub use crate::operation::send_bounce::_send_bounce_output::SendBounceOutputBuilder;
impl crate::operation::send_bounce::builders::SendBounceInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::send_bounce::SendBounceOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::send_bounce::SendBounceError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.send_bounce();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `SendBounce`.
///
/// <p>Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this operation on an email up to 24 hours after you receive it.</p><note>
/// <p>You cannot use this operation to send generic bounces for mail that was not received by Amazon SES.</p>
/// </note>
/// <p>For information about receiving email through Amazon SES, see the <a href="https://docs.aws.amazon.com/ses/latest/dg/receiving-email.html">Amazon SES Developer Guide</a>.</p>
/// <p>You can execute this operation no more than once per second.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct SendBounceFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::send_bounce::builders::SendBounceInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::send_bounce::SendBounceOutput,
crate::operation::send_bounce::SendBounceError,
> for SendBounceFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::send_bounce::SendBounceOutput,
crate::operation::send_bounce::SendBounceError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl SendBounceFluentBuilder {
/// Creates a new `SendBounceFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the SendBounce as a reference.
pub fn as_input(&self) -> &crate::operation::send_bounce::builders::SendBounceInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::send_bounce::SendBounceOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::send_bounce::SendBounceError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::send_bounce::SendBounce::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::send_bounce::SendBounce::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::send_bounce::SendBounceOutput,
crate::operation::send_bounce::SendBounceError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The message ID of the message to be bounced.</p>
pub fn original_message_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.original_message_id(input.into());
self
}
/// <p>The message ID of the message to be bounced.</p>
pub fn set_original_message_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_original_message_id(input);
self
}
/// <p>The message ID of the message to be bounced.</p>
pub fn get_original_message_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_original_message_id()
}
/// <p>The address to use in the "From" header of the bounce message. This must be an identity that you have verified with Amazon SES.</p>
pub fn bounce_sender(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.bounce_sender(input.into());
self
}
/// <p>The address to use in the "From" header of the bounce message. This must be an identity that you have verified with Amazon SES.</p>
pub fn set_bounce_sender(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_bounce_sender(input);
self
}
/// <p>The address to use in the "From" header of the bounce message. This must be an identity that you have verified with Amazon SES.</p>
pub fn get_bounce_sender(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_bounce_sender()
}
/// <p>Human-readable text for the bounce message to explain the failure. If not specified, the text is auto-generated based on the bounced recipient information.</p>
pub fn explanation(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.explanation(input.into());
self
}
/// <p>Human-readable text for the bounce message to explain the failure. If not specified, the text is auto-generated based on the bounced recipient information.</p>
pub fn set_explanation(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_explanation(input);
self
}
/// <p>Human-readable text for the bounce message to explain the failure. If not specified, the text is auto-generated based on the bounced recipient information.</p>
pub fn get_explanation(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_explanation()
}
/// <p>Message-related DSN fields. If not specified, Amazon SES chooses the values.</p>
pub fn message_dsn(mut self, input: crate::types::MessageDsn) -> Self {
self.inner = self.inner.message_dsn(input);
self
}
/// <p>Message-related DSN fields. If not specified, Amazon SES chooses the values.</p>
pub fn set_message_dsn(mut self, input: ::std::option::Option<crate::types::MessageDsn>) -> Self {
self.inner = self.inner.set_message_dsn(input);
self
}
/// <p>Message-related DSN fields. If not specified, Amazon SES chooses the values.</p>
pub fn get_message_dsn(&self) -> &::std::option::Option<crate::types::MessageDsn> {
self.inner.get_message_dsn()
}
///
/// Appends an item to `BouncedRecipientInfoList`.
///
/// To override the contents of this collection use [`set_bounced_recipient_info_list`](Self::set_bounced_recipient_info_list).
///
/// <p>A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one <code>BouncedRecipientInfo</code> in the list.</p>
pub fn bounced_recipient_info_list(mut self, input: crate::types::BouncedRecipientInfo) -> Self {
self.inner = self.inner.bounced_recipient_info_list(input);
self
}
/// <p>A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one <code>BouncedRecipientInfo</code> in the list.</p>
pub fn set_bounced_recipient_info_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::BouncedRecipientInfo>>) -> Self {
self.inner = self.inner.set_bounced_recipient_info_list(input);
self
}
/// <p>A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one <code>BouncedRecipientInfo</code> in the list.</p>
pub fn get_bounced_recipient_info_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::BouncedRecipientInfo>> {
self.inner.get_bounced_recipient_info_list()
}
/// <p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the "From" header of the bounce. For more information about sending authorization, see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization.html">Amazon SES Developer Guide</a>.</p>
pub fn bounce_sender_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.bounce_sender_arn(input.into());
self
}
/// <p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the "From" header of the bounce. For more information about sending authorization, see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization.html">Amazon SES Developer Guide</a>.</p>
pub fn set_bounce_sender_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_bounce_sender_arn(input);
self
}
/// <p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the "From" header of the bounce. For more information about sending authorization, see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization.html">Amazon SES Developer Guide</a>.</p>
pub fn get_bounce_sender_arn(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_bounce_sender_arn()
}
}