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}