1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/pinpoint-email/PinpointEmail_EXPORTS.h>
8 #include <aws/core/utils/DateTime.h>
9 #include <aws/pinpoint-email/model/DeliverabilityDashboardAccountStatus.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/pinpoint-email/model/DomainDeliverabilityTrackingOption.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace PinpointEmail
27 {
28 namespace Model
29 {
30   /**
31    * <p>An object that shows the status of the Deliverability dashboard for your
32    * Amazon Pinpoint account.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetDeliverabilityDashboardOptionsResponse">AWS
34    * API Reference</a></p>
35    */
36   class AWS_PINPOINTEMAIL_API GetDeliverabilityDashboardOptionsResult
37   {
38   public:
39     GetDeliverabilityDashboardOptionsResult();
40     GetDeliverabilityDashboardOptionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41     GetDeliverabilityDashboardOptionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
42 
43 
44     /**
45      * <p>Specifies whether the Deliverability dashboard is enabled for your Amazon
46      * Pinpoint account. If this value is <code>true</code>, the dashboard is
47      * enabled.</p>
48      */
GetDashboardEnabled()49     inline bool GetDashboardEnabled() const{ return m_dashboardEnabled; }
50 
51     /**
52      * <p>Specifies whether the Deliverability dashboard is enabled for your Amazon
53      * Pinpoint account. If this value is <code>true</code>, the dashboard is
54      * enabled.</p>
55      */
SetDashboardEnabled(bool value)56     inline void SetDashboardEnabled(bool value) { m_dashboardEnabled = value; }
57 
58     /**
59      * <p>Specifies whether the Deliverability dashboard is enabled for your Amazon
60      * Pinpoint account. If this value is <code>true</code>, the dashboard is
61      * enabled.</p>
62      */
WithDashboardEnabled(bool value)63     inline GetDeliverabilityDashboardOptionsResult& WithDashboardEnabled(bool value) { SetDashboardEnabled(value); return *this;}
64 
65 
66     /**
67      * <p>The date, in Unix time format, when your current subscription to the
68      * Deliverability dashboard is scheduled to expire, if your subscription is
69      * scheduled to expire at the end of the current calendar month. This value is null
70      * if you have an active subscription that isn’t due to expire at the end of the
71      * month.</p>
72      */
GetSubscriptionExpiryDate()73     inline const Aws::Utils::DateTime& GetSubscriptionExpiryDate() const{ return m_subscriptionExpiryDate; }
74 
75     /**
76      * <p>The date, in Unix time format, when your current subscription to the
77      * Deliverability dashboard is scheduled to expire, if your subscription is
78      * scheduled to expire at the end of the current calendar month. This value is null
79      * if you have an active subscription that isn’t due to expire at the end of the
80      * month.</p>
81      */
SetSubscriptionExpiryDate(const Aws::Utils::DateTime & value)82     inline void SetSubscriptionExpiryDate(const Aws::Utils::DateTime& value) { m_subscriptionExpiryDate = value; }
83 
84     /**
85      * <p>The date, in Unix time format, when your current subscription to the
86      * Deliverability dashboard is scheduled to expire, if your subscription is
87      * scheduled to expire at the end of the current calendar month. This value is null
88      * if you have an active subscription that isn’t due to expire at the end of the
89      * month.</p>
90      */
SetSubscriptionExpiryDate(Aws::Utils::DateTime && value)91     inline void SetSubscriptionExpiryDate(Aws::Utils::DateTime&& value) { m_subscriptionExpiryDate = std::move(value); }
92 
93     /**
94      * <p>The date, in Unix time format, when your current subscription to the
95      * Deliverability dashboard is scheduled to expire, if your subscription is
96      * scheduled to expire at the end of the current calendar month. This value is null
97      * if you have an active subscription that isn’t due to expire at the end of the
98      * month.</p>
99      */
WithSubscriptionExpiryDate(const Aws::Utils::DateTime & value)100     inline GetDeliverabilityDashboardOptionsResult& WithSubscriptionExpiryDate(const Aws::Utils::DateTime& value) { SetSubscriptionExpiryDate(value); return *this;}
101 
102     /**
103      * <p>The date, in Unix time format, when your current subscription to the
104      * Deliverability dashboard is scheduled to expire, if your subscription is
105      * scheduled to expire at the end of the current calendar month. This value is null
106      * if you have an active subscription that isn’t due to expire at the end of the
107      * month.</p>
108      */
WithSubscriptionExpiryDate(Aws::Utils::DateTime && value)109     inline GetDeliverabilityDashboardOptionsResult& WithSubscriptionExpiryDate(Aws::Utils::DateTime&& value) { SetSubscriptionExpiryDate(std::move(value)); return *this;}
110 
111 
112     /**
113      * <p>The current status of your Deliverability dashboard subscription. If this
114      * value is <code>PENDING_EXPIRATION</code>, your subscription is scheduled to
115      * expire at the end of the current calendar month.</p>
116      */
GetAccountStatus()117     inline const DeliverabilityDashboardAccountStatus& GetAccountStatus() const{ return m_accountStatus; }
118 
119     /**
120      * <p>The current status of your Deliverability dashboard subscription. If this
121      * value is <code>PENDING_EXPIRATION</code>, your subscription is scheduled to
122      * expire at the end of the current calendar month.</p>
123      */
SetAccountStatus(const DeliverabilityDashboardAccountStatus & value)124     inline void SetAccountStatus(const DeliverabilityDashboardAccountStatus& value) { m_accountStatus = value; }
125 
126     /**
127      * <p>The current status of your Deliverability dashboard subscription. If this
128      * value is <code>PENDING_EXPIRATION</code>, your subscription is scheduled to
129      * expire at the end of the current calendar month.</p>
130      */
SetAccountStatus(DeliverabilityDashboardAccountStatus && value)131     inline void SetAccountStatus(DeliverabilityDashboardAccountStatus&& value) { m_accountStatus = std::move(value); }
132 
133     /**
134      * <p>The current status of your Deliverability dashboard subscription. If this
135      * value is <code>PENDING_EXPIRATION</code>, your subscription is scheduled to
136      * expire at the end of the current calendar month.</p>
137      */
WithAccountStatus(const DeliverabilityDashboardAccountStatus & value)138     inline GetDeliverabilityDashboardOptionsResult& WithAccountStatus(const DeliverabilityDashboardAccountStatus& value) { SetAccountStatus(value); return *this;}
139 
140     /**
141      * <p>The current status of your Deliverability dashboard subscription. If this
142      * value is <code>PENDING_EXPIRATION</code>, your subscription is scheduled to
143      * expire at the end of the current calendar month.</p>
144      */
WithAccountStatus(DeliverabilityDashboardAccountStatus && value)145     inline GetDeliverabilityDashboardOptionsResult& WithAccountStatus(DeliverabilityDashboardAccountStatus&& value) { SetAccountStatus(std::move(value)); return *this;}
146 
147 
148     /**
149      * <p>An array of objects, one for each verified domain that you use to send email
150      * and currently has an active Deliverability dashboard subscription that isn’t
151      * scheduled to expire at the end of the current calendar month.</p>
152      */
GetActiveSubscribedDomains()153     inline const Aws::Vector<DomainDeliverabilityTrackingOption>& GetActiveSubscribedDomains() const{ return m_activeSubscribedDomains; }
154 
155     /**
156      * <p>An array of objects, one for each verified domain that you use to send email
157      * and currently has an active Deliverability dashboard subscription that isn’t
158      * scheduled to expire at the end of the current calendar month.</p>
159      */
SetActiveSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption> & value)160     inline void SetActiveSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption>& value) { m_activeSubscribedDomains = value; }
161 
162     /**
163      * <p>An array of objects, one for each verified domain that you use to send email
164      * and currently has an active Deliverability dashboard subscription that isn’t
165      * scheduled to expire at the end of the current calendar month.</p>
166      */
SetActiveSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption> && value)167     inline void SetActiveSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption>&& value) { m_activeSubscribedDomains = std::move(value); }
168 
169     /**
170      * <p>An array of objects, one for each verified domain that you use to send email
171      * and currently has an active Deliverability dashboard subscription that isn’t
172      * scheduled to expire at the end of the current calendar month.</p>
173      */
WithActiveSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption> & value)174     inline GetDeliverabilityDashboardOptionsResult& WithActiveSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption>& value) { SetActiveSubscribedDomains(value); return *this;}
175 
176     /**
177      * <p>An array of objects, one for each verified domain that you use to send email
178      * and currently has an active Deliverability dashboard subscription that isn’t
179      * scheduled to expire at the end of the current calendar month.</p>
180      */
WithActiveSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption> && value)181     inline GetDeliverabilityDashboardOptionsResult& WithActiveSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption>&& value) { SetActiveSubscribedDomains(std::move(value)); return *this;}
182 
183     /**
184      * <p>An array of objects, one for each verified domain that you use to send email
185      * and currently has an active Deliverability dashboard subscription that isn’t
186      * scheduled to expire at the end of the current calendar month.</p>
187      */
AddActiveSubscribedDomains(const DomainDeliverabilityTrackingOption & value)188     inline GetDeliverabilityDashboardOptionsResult& AddActiveSubscribedDomains(const DomainDeliverabilityTrackingOption& value) { m_activeSubscribedDomains.push_back(value); return *this; }
189 
190     /**
191      * <p>An array of objects, one for each verified domain that you use to send email
192      * and currently has an active Deliverability dashboard subscription that isn’t
193      * scheduled to expire at the end of the current calendar month.</p>
194      */
AddActiveSubscribedDomains(DomainDeliverabilityTrackingOption && value)195     inline GetDeliverabilityDashboardOptionsResult& AddActiveSubscribedDomains(DomainDeliverabilityTrackingOption&& value) { m_activeSubscribedDomains.push_back(std::move(value)); return *this; }
196 
197 
198     /**
199      * <p>An array of objects, one for each verified domain that you use to send email
200      * and currently has an active Deliverability dashboard subscription that's
201      * scheduled to expire at the end of the current calendar month.</p>
202      */
GetPendingExpirationSubscribedDomains()203     inline const Aws::Vector<DomainDeliverabilityTrackingOption>& GetPendingExpirationSubscribedDomains() const{ return m_pendingExpirationSubscribedDomains; }
204 
205     /**
206      * <p>An array of objects, one for each verified domain that you use to send email
207      * and currently has an active Deliverability dashboard subscription that's
208      * scheduled to expire at the end of the current calendar month.</p>
209      */
SetPendingExpirationSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption> & value)210     inline void SetPendingExpirationSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption>& value) { m_pendingExpirationSubscribedDomains = value; }
211 
212     /**
213      * <p>An array of objects, one for each verified domain that you use to send email
214      * and currently has an active Deliverability dashboard subscription that's
215      * scheduled to expire at the end of the current calendar month.</p>
216      */
SetPendingExpirationSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption> && value)217     inline void SetPendingExpirationSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption>&& value) { m_pendingExpirationSubscribedDomains = std::move(value); }
218 
219     /**
220      * <p>An array of objects, one for each verified domain that you use to send email
221      * and currently has an active Deliverability dashboard subscription that's
222      * scheduled to expire at the end of the current calendar month.</p>
223      */
WithPendingExpirationSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption> & value)224     inline GetDeliverabilityDashboardOptionsResult& WithPendingExpirationSubscribedDomains(const Aws::Vector<DomainDeliverabilityTrackingOption>& value) { SetPendingExpirationSubscribedDomains(value); return *this;}
225 
226     /**
227      * <p>An array of objects, one for each verified domain that you use to send email
228      * and currently has an active Deliverability dashboard subscription that's
229      * scheduled to expire at the end of the current calendar month.</p>
230      */
WithPendingExpirationSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption> && value)231     inline GetDeliverabilityDashboardOptionsResult& WithPendingExpirationSubscribedDomains(Aws::Vector<DomainDeliverabilityTrackingOption>&& value) { SetPendingExpirationSubscribedDomains(std::move(value)); return *this;}
232 
233     /**
234      * <p>An array of objects, one for each verified domain that you use to send email
235      * and currently has an active Deliverability dashboard subscription that's
236      * scheduled to expire at the end of the current calendar month.</p>
237      */
AddPendingExpirationSubscribedDomains(const DomainDeliverabilityTrackingOption & value)238     inline GetDeliverabilityDashboardOptionsResult& AddPendingExpirationSubscribedDomains(const DomainDeliverabilityTrackingOption& value) { m_pendingExpirationSubscribedDomains.push_back(value); return *this; }
239 
240     /**
241      * <p>An array of objects, one for each verified domain that you use to send email
242      * and currently has an active Deliverability dashboard subscription that's
243      * scheduled to expire at the end of the current calendar month.</p>
244      */
AddPendingExpirationSubscribedDomains(DomainDeliverabilityTrackingOption && value)245     inline GetDeliverabilityDashboardOptionsResult& AddPendingExpirationSubscribedDomains(DomainDeliverabilityTrackingOption&& value) { m_pendingExpirationSubscribedDomains.push_back(std::move(value)); return *this; }
246 
247   private:
248 
249     bool m_dashboardEnabled;
250 
251     Aws::Utils::DateTime m_subscriptionExpiryDate;
252 
253     DeliverabilityDashboardAccountStatus m_accountStatus;
254 
255     Aws::Vector<DomainDeliverabilityTrackingOption> m_activeSubscribedDomains;
256 
257     Aws::Vector<DomainDeliverabilityTrackingOption> m_pendingExpirationSubscribedDomains;
258   };
259 
260 } // namespace Model
261 } // namespace PinpointEmail
262 } // namespace Aws
263