aws_sdk_sesv2/operation/get_account/_get_account_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>A list of details about the email-sending capabilities of your Amazon SES account in the current Amazon Web Services Region.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct GetAccountOutput {
7 /// <p>Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.</p>
8 pub dedicated_ip_auto_warmup_enabled: bool,
9 /// <p>The reputation status of your Amazon SES account. The status can be one of the following:</p>
10 /// <ul>
11 /// <li>
12 /// <p><code>HEALTHY</code> – There are no reputation-related issues that currently impact your account.</p></li>
13 /// <li>
14 /// <p><code>PROBATION</code> – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.</p></li>
15 /// <li>
16 /// <p><code>SHUTDOWN</code> – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.</p></li>
17 /// </ul>
18 pub enforcement_status: ::std::option::Option<::std::string::String>,
19 /// <p>Indicates whether or not your account has production access in the current Amazon Web Services Region.</p>
20 /// <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities.</p>
21 /// <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>
22 pub production_access_enabled: bool,
23 /// <p>An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current Amazon Web Services Region.</p>
24 pub send_quota: ::std::option::Option<crate::types::SendQuota>,
25 /// <p>Indicates whether or not email sending is enabled for your Amazon SES account in the current Amazon Web Services Region.</p>
26 pub sending_enabled: bool,
27 /// <p>An object that contains information about the email address suppression preferences for your account in the current Amazon Web Services Region.</p>
28 pub suppression_attributes: ::std::option::Option<crate::types::SuppressionAttributes>,
29 /// <p>An object that defines your account details.</p>
30 pub details: ::std::option::Option<crate::types::AccountDetails>,
31 /// <p>The VDM attributes that apply to your Amazon SES account.</p>
32 pub vdm_attributes: ::std::option::Option<crate::types::VdmAttributes>,
33 _request_id: Option<String>,
34}
35impl GetAccountOutput {
36 /// <p>Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.</p>
37 pub fn dedicated_ip_auto_warmup_enabled(&self) -> bool {
38 self.dedicated_ip_auto_warmup_enabled
39 }
40 /// <p>The reputation status of your Amazon SES account. The status can be one of the following:</p>
41 /// <ul>
42 /// <li>
43 /// <p><code>HEALTHY</code> – There are no reputation-related issues that currently impact your account.</p></li>
44 /// <li>
45 /// <p><code>PROBATION</code> – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.</p></li>
46 /// <li>
47 /// <p><code>SHUTDOWN</code> – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.</p></li>
48 /// </ul>
49 pub fn enforcement_status(&self) -> ::std::option::Option<&str> {
50 self.enforcement_status.as_deref()
51 }
52 /// <p>Indicates whether or not your account has production access in the current Amazon Web Services Region.</p>
53 /// <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities.</p>
54 /// <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>
55 pub fn production_access_enabled(&self) -> bool {
56 self.production_access_enabled
57 }
58 /// <p>An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current Amazon Web Services Region.</p>
59 pub fn send_quota(&self) -> ::std::option::Option<&crate::types::SendQuota> {
60 self.send_quota.as_ref()
61 }
62 /// <p>Indicates whether or not email sending is enabled for your Amazon SES account in the current Amazon Web Services Region.</p>
63 pub fn sending_enabled(&self) -> bool {
64 self.sending_enabled
65 }
66 /// <p>An object that contains information about the email address suppression preferences for your account in the current Amazon Web Services Region.</p>
67 pub fn suppression_attributes(&self) -> ::std::option::Option<&crate::types::SuppressionAttributes> {
68 self.suppression_attributes.as_ref()
69 }
70 /// <p>An object that defines your account details.</p>
71 pub fn details(&self) -> ::std::option::Option<&crate::types::AccountDetails> {
72 self.details.as_ref()
73 }
74 /// <p>The VDM attributes that apply to your Amazon SES account.</p>
75 pub fn vdm_attributes(&self) -> ::std::option::Option<&crate::types::VdmAttributes> {
76 self.vdm_attributes.as_ref()
77 }
78}
79impl ::aws_types::request_id::RequestId for GetAccountOutput {
80 fn request_id(&self) -> Option<&str> {
81 self._request_id.as_deref()
82 }
83}
84impl GetAccountOutput {
85 /// Creates a new builder-style object to manufacture [`GetAccountOutput`](crate::operation::get_account::GetAccountOutput).
86 pub fn builder() -> crate::operation::get_account::builders::GetAccountOutputBuilder {
87 crate::operation::get_account::builders::GetAccountOutputBuilder::default()
88 }
89}
90
91/// A builder for [`GetAccountOutput`](crate::operation::get_account::GetAccountOutput).
92#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
93#[non_exhaustive]
94pub struct GetAccountOutputBuilder {
95 pub(crate) dedicated_ip_auto_warmup_enabled: ::std::option::Option<bool>,
96 pub(crate) enforcement_status: ::std::option::Option<::std::string::String>,
97 pub(crate) production_access_enabled: ::std::option::Option<bool>,
98 pub(crate) send_quota: ::std::option::Option<crate::types::SendQuota>,
99 pub(crate) sending_enabled: ::std::option::Option<bool>,
100 pub(crate) suppression_attributes: ::std::option::Option<crate::types::SuppressionAttributes>,
101 pub(crate) details: ::std::option::Option<crate::types::AccountDetails>,
102 pub(crate) vdm_attributes: ::std::option::Option<crate::types::VdmAttributes>,
103 _request_id: Option<String>,
104}
105impl GetAccountOutputBuilder {
106 /// <p>Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.</p>
107 pub fn dedicated_ip_auto_warmup_enabled(mut self, input: bool) -> Self {
108 self.dedicated_ip_auto_warmup_enabled = ::std::option::Option::Some(input);
109 self
110 }
111 /// <p>Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.</p>
112 pub fn set_dedicated_ip_auto_warmup_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
113 self.dedicated_ip_auto_warmup_enabled = input;
114 self
115 }
116 /// <p>Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.</p>
117 pub fn get_dedicated_ip_auto_warmup_enabled(&self) -> &::std::option::Option<bool> {
118 &self.dedicated_ip_auto_warmup_enabled
119 }
120 /// <p>The reputation status of your Amazon SES account. The status can be one of the following:</p>
121 /// <ul>
122 /// <li>
123 /// <p><code>HEALTHY</code> – There are no reputation-related issues that currently impact your account.</p></li>
124 /// <li>
125 /// <p><code>PROBATION</code> – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.</p></li>
126 /// <li>
127 /// <p><code>SHUTDOWN</code> – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.</p></li>
128 /// </ul>
129 pub fn enforcement_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
130 self.enforcement_status = ::std::option::Option::Some(input.into());
131 self
132 }
133 /// <p>The reputation status of your Amazon SES account. The status can be one of the following:</p>
134 /// <ul>
135 /// <li>
136 /// <p><code>HEALTHY</code> – There are no reputation-related issues that currently impact your account.</p></li>
137 /// <li>
138 /// <p><code>PROBATION</code> – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.</p></li>
139 /// <li>
140 /// <p><code>SHUTDOWN</code> – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.</p></li>
141 /// </ul>
142 pub fn set_enforcement_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143 self.enforcement_status = input;
144 self
145 }
146 /// <p>The reputation status of your Amazon SES account. The status can be one of the following:</p>
147 /// <ul>
148 /// <li>
149 /// <p><code>HEALTHY</code> – There are no reputation-related issues that currently impact your account.</p></li>
150 /// <li>
151 /// <p><code>PROBATION</code> – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.</p></li>
152 /// <li>
153 /// <p><code>SHUTDOWN</code> – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.</p></li>
154 /// </ul>
155 pub fn get_enforcement_status(&self) -> &::std::option::Option<::std::string::String> {
156 &self.enforcement_status
157 }
158 /// <p>Indicates whether or not your account has production access in the current Amazon Web Services Region.</p>
159 /// <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities.</p>
160 /// <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>
161 pub fn production_access_enabled(mut self, input: bool) -> Self {
162 self.production_access_enabled = ::std::option::Option::Some(input);
163 self
164 }
165 /// <p>Indicates whether or not your account has production access in the current Amazon Web Services Region.</p>
166 /// <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities.</p>
167 /// <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>
168 pub fn set_production_access_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
169 self.production_access_enabled = input;
170 self
171 }
172 /// <p>Indicates whether or not your account has production access in the current Amazon Web Services Region.</p>
173 /// <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities.</p>
174 /// <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>
175 pub fn get_production_access_enabled(&self) -> &::std::option::Option<bool> {
176 &self.production_access_enabled
177 }
178 /// <p>An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current Amazon Web Services Region.</p>
179 pub fn send_quota(mut self, input: crate::types::SendQuota) -> Self {
180 self.send_quota = ::std::option::Option::Some(input);
181 self
182 }
183 /// <p>An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current Amazon Web Services Region.</p>
184 pub fn set_send_quota(mut self, input: ::std::option::Option<crate::types::SendQuota>) -> Self {
185 self.send_quota = input;
186 self
187 }
188 /// <p>An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current Amazon Web Services Region.</p>
189 pub fn get_send_quota(&self) -> &::std::option::Option<crate::types::SendQuota> {
190 &self.send_quota
191 }
192 /// <p>Indicates whether or not email sending is enabled for your Amazon SES account in the current Amazon Web Services Region.</p>
193 pub fn sending_enabled(mut self, input: bool) -> Self {
194 self.sending_enabled = ::std::option::Option::Some(input);
195 self
196 }
197 /// <p>Indicates whether or not email sending is enabled for your Amazon SES account in the current Amazon Web Services Region.</p>
198 pub fn set_sending_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
199 self.sending_enabled = input;
200 self
201 }
202 /// <p>Indicates whether or not email sending is enabled for your Amazon SES account in the current Amazon Web Services Region.</p>
203 pub fn get_sending_enabled(&self) -> &::std::option::Option<bool> {
204 &self.sending_enabled
205 }
206 /// <p>An object that contains information about the email address suppression preferences for your account in the current Amazon Web Services Region.</p>
207 pub fn suppression_attributes(mut self, input: crate::types::SuppressionAttributes) -> Self {
208 self.suppression_attributes = ::std::option::Option::Some(input);
209 self
210 }
211 /// <p>An object that contains information about the email address suppression preferences for your account in the current Amazon Web Services Region.</p>
212 pub fn set_suppression_attributes(mut self, input: ::std::option::Option<crate::types::SuppressionAttributes>) -> Self {
213 self.suppression_attributes = input;
214 self
215 }
216 /// <p>An object that contains information about the email address suppression preferences for your account in the current Amazon Web Services Region.</p>
217 pub fn get_suppression_attributes(&self) -> &::std::option::Option<crate::types::SuppressionAttributes> {
218 &self.suppression_attributes
219 }
220 /// <p>An object that defines your account details.</p>
221 pub fn details(mut self, input: crate::types::AccountDetails) -> Self {
222 self.details = ::std::option::Option::Some(input);
223 self
224 }
225 /// <p>An object that defines your account details.</p>
226 pub fn set_details(mut self, input: ::std::option::Option<crate::types::AccountDetails>) -> Self {
227 self.details = input;
228 self
229 }
230 /// <p>An object that defines your account details.</p>
231 pub fn get_details(&self) -> &::std::option::Option<crate::types::AccountDetails> {
232 &self.details
233 }
234 /// <p>The VDM attributes that apply to your Amazon SES account.</p>
235 pub fn vdm_attributes(mut self, input: crate::types::VdmAttributes) -> Self {
236 self.vdm_attributes = ::std::option::Option::Some(input);
237 self
238 }
239 /// <p>The VDM attributes that apply to your Amazon SES account.</p>
240 pub fn set_vdm_attributes(mut self, input: ::std::option::Option<crate::types::VdmAttributes>) -> Self {
241 self.vdm_attributes = input;
242 self
243 }
244 /// <p>The VDM attributes that apply to your Amazon SES account.</p>
245 pub fn get_vdm_attributes(&self) -> &::std::option::Option<crate::types::VdmAttributes> {
246 &self.vdm_attributes
247 }
248 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
249 self._request_id = Some(request_id.into());
250 self
251 }
252
253 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
254 self._request_id = request_id;
255 self
256 }
257 /// Consumes the builder and constructs a [`GetAccountOutput`](crate::operation::get_account::GetAccountOutput).
258 pub fn build(self) -> crate::operation::get_account::GetAccountOutput {
259 crate::operation::get_account::GetAccountOutput {
260 dedicated_ip_auto_warmup_enabled: self.dedicated_ip_auto_warmup_enabled.unwrap_or_default(),
261 enforcement_status: self.enforcement_status,
262 production_access_enabled: self.production_access_enabled.unwrap_or_default(),
263 send_quota: self.send_quota,
264 sending_enabled: self.sending_enabled.unwrap_or_default(),
265 suppression_attributes: self.suppression_attributes,
266 details: self.details,
267 vdm_attributes: self.vdm_attributes,
268 _request_id: self._request_id,
269 }
270 }
271}