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/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Pinpoint
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Specifies the status and settings of the email channel for an
28    * application.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailChannelRequest">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API EmailChannelRequest
33   {
34   public:
35     EmailChannelRequest();
36     EmailChannelRequest(Aws::Utils::Json::JsonView jsonValue);
37     EmailChannelRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The <a
43      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
44      * SES configuration set</a> that you want to apply to messages that you send
45      * through the channel.</p>
46      */
GetConfigurationSet()47     inline const Aws::String& GetConfigurationSet() const{ return m_configurationSet; }
48 
49     /**
50      * <p>The <a
51      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
52      * SES configuration set</a> that you want to apply to messages that you send
53      * through the channel.</p>
54      */
ConfigurationSetHasBeenSet()55     inline bool ConfigurationSetHasBeenSet() const { return m_configurationSetHasBeenSet; }
56 
57     /**
58      * <p>The <a
59      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
60      * SES configuration set</a> that you want to apply to messages that you send
61      * through the channel.</p>
62      */
SetConfigurationSet(const Aws::String & value)63     inline void SetConfigurationSet(const Aws::String& value) { m_configurationSetHasBeenSet = true; m_configurationSet = value; }
64 
65     /**
66      * <p>The <a
67      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
68      * SES configuration set</a> that you want to apply to messages that you send
69      * through the channel.</p>
70      */
SetConfigurationSet(Aws::String && value)71     inline void SetConfigurationSet(Aws::String&& value) { m_configurationSetHasBeenSet = true; m_configurationSet = std::move(value); }
72 
73     /**
74      * <p>The <a
75      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
76      * SES configuration set</a> that you want to apply to messages that you send
77      * through the channel.</p>
78      */
SetConfigurationSet(const char * value)79     inline void SetConfigurationSet(const char* value) { m_configurationSetHasBeenSet = true; m_configurationSet.assign(value); }
80 
81     /**
82      * <p>The <a
83      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
84      * SES configuration set</a> that you want to apply to messages that you send
85      * through the channel.</p>
86      */
WithConfigurationSet(const Aws::String & value)87     inline EmailChannelRequest& WithConfigurationSet(const Aws::String& value) { SetConfigurationSet(value); return *this;}
88 
89     /**
90      * <p>The <a
91      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
92      * SES configuration set</a> that you want to apply to messages that you send
93      * through the channel.</p>
94      */
WithConfigurationSet(Aws::String && value)95     inline EmailChannelRequest& WithConfigurationSet(Aws::String&& value) { SetConfigurationSet(std::move(value)); return *this;}
96 
97     /**
98      * <p>The <a
99      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
100      * SES configuration set</a> that you want to apply to messages that you send
101      * through the channel.</p>
102      */
WithConfigurationSet(const char * value)103     inline EmailChannelRequest& WithConfigurationSet(const char* value) { SetConfigurationSet(value); return *this;}
104 
105 
106     /**
107      * <p>Specifies whether to enable the email channel for the application.</p>
108      */
GetEnabled()109     inline bool GetEnabled() const{ return m_enabled; }
110 
111     /**
112      * <p>Specifies whether to enable the email channel for the application.</p>
113      */
EnabledHasBeenSet()114     inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
115 
116     /**
117      * <p>Specifies whether to enable the email channel for the application.</p>
118      */
SetEnabled(bool value)119     inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
120 
121     /**
122      * <p>Specifies whether to enable the email channel for the application.</p>
123      */
WithEnabled(bool value)124     inline EmailChannelRequest& WithEnabled(bool value) { SetEnabled(value); return *this;}
125 
126 
127     /**
128      * <p>The verified email address that you want to send email from when you send
129      * email through the channel.</p>
130      */
GetFromAddress()131     inline const Aws::String& GetFromAddress() const{ return m_fromAddress; }
132 
133     /**
134      * <p>The verified email address that you want to send email from when you send
135      * email through the channel.</p>
136      */
FromAddressHasBeenSet()137     inline bool FromAddressHasBeenSet() const { return m_fromAddressHasBeenSet; }
138 
139     /**
140      * <p>The verified email address that you want to send email from when you send
141      * email through the channel.</p>
142      */
SetFromAddress(const Aws::String & value)143     inline void SetFromAddress(const Aws::String& value) { m_fromAddressHasBeenSet = true; m_fromAddress = value; }
144 
145     /**
146      * <p>The verified email address that you want to send email from when you send
147      * email through the channel.</p>
148      */
SetFromAddress(Aws::String && value)149     inline void SetFromAddress(Aws::String&& value) { m_fromAddressHasBeenSet = true; m_fromAddress = std::move(value); }
150 
151     /**
152      * <p>The verified email address that you want to send email from when you send
153      * email through the channel.</p>
154      */
SetFromAddress(const char * value)155     inline void SetFromAddress(const char* value) { m_fromAddressHasBeenSet = true; m_fromAddress.assign(value); }
156 
157     /**
158      * <p>The verified email address that you want to send email from when you send
159      * email through the channel.</p>
160      */
WithFromAddress(const Aws::String & value)161     inline EmailChannelRequest& WithFromAddress(const Aws::String& value) { SetFromAddress(value); return *this;}
162 
163     /**
164      * <p>The verified email address that you want to send email from when you send
165      * email through the channel.</p>
166      */
WithFromAddress(Aws::String && value)167     inline EmailChannelRequest& WithFromAddress(Aws::String&& value) { SetFromAddress(std::move(value)); return *this;}
168 
169     /**
170      * <p>The verified email address that you want to send email from when you send
171      * email through the channel.</p>
172      */
WithFromAddress(const char * value)173     inline EmailChannelRequest& WithFromAddress(const char* value) { SetFromAddress(value); return *this;}
174 
175 
176     /**
177      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
178      * Email Service (Amazon SES), that you want to use when you send email through the
179      * channel.</p>
180      */
GetIdentity()181     inline const Aws::String& GetIdentity() const{ return m_identity; }
182 
183     /**
184      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
185      * Email Service (Amazon SES), that you want to use when you send email through the
186      * channel.</p>
187      */
IdentityHasBeenSet()188     inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; }
189 
190     /**
191      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
192      * Email Service (Amazon SES), that you want to use when you send email through the
193      * channel.</p>
194      */
SetIdentity(const Aws::String & value)195     inline void SetIdentity(const Aws::String& value) { m_identityHasBeenSet = true; m_identity = value; }
196 
197     /**
198      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
199      * Email Service (Amazon SES), that you want to use when you send email through the
200      * channel.</p>
201      */
SetIdentity(Aws::String && value)202     inline void SetIdentity(Aws::String&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); }
203 
204     /**
205      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
206      * Email Service (Amazon SES), that you want to use when you send email through the
207      * channel.</p>
208      */
SetIdentity(const char * value)209     inline void SetIdentity(const char* value) { m_identityHasBeenSet = true; m_identity.assign(value); }
210 
211     /**
212      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
213      * Email Service (Amazon SES), that you want to use when you send email through the
214      * channel.</p>
215      */
WithIdentity(const Aws::String & value)216     inline EmailChannelRequest& WithIdentity(const Aws::String& value) { SetIdentity(value); return *this;}
217 
218     /**
219      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
220      * Email Service (Amazon SES), that you want to use when you send email through the
221      * channel.</p>
222      */
WithIdentity(Aws::String && value)223     inline EmailChannelRequest& WithIdentity(Aws::String&& value) { SetIdentity(std::move(value)); return *this;}
224 
225     /**
226      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
227      * Email Service (Amazon SES), that you want to use when you send email through the
228      * channel.</p>
229      */
WithIdentity(const char * value)230     inline EmailChannelRequest& WithIdentity(const char* value) { SetIdentity(value); return *this;}
231 
232 
233     /**
234      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
235      * Amazon Pinpoint to use when it submits email-related event data for the
236      * channel.</p>
237      */
GetRoleArn()238     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
239 
240     /**
241      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
242      * Amazon Pinpoint to use when it submits email-related event data for the
243      * channel.</p>
244      */
RoleArnHasBeenSet()245     inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
246 
247     /**
248      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
249      * Amazon Pinpoint to use when it submits email-related event data for the
250      * channel.</p>
251      */
SetRoleArn(const Aws::String & value)252     inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; }
253 
254     /**
255      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
256      * Amazon Pinpoint to use when it submits email-related event data for the
257      * channel.</p>
258      */
SetRoleArn(Aws::String && value)259     inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); }
260 
261     /**
262      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
263      * Amazon Pinpoint to use when it submits email-related event data for the
264      * channel.</p>
265      */
SetRoleArn(const char * value)266     inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); }
267 
268     /**
269      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
270      * Amazon Pinpoint to use when it submits email-related event data for the
271      * channel.</p>
272      */
WithRoleArn(const Aws::String & value)273     inline EmailChannelRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
274 
275     /**
276      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
277      * Amazon Pinpoint to use when it submits email-related event data for the
278      * channel.</p>
279      */
WithRoleArn(Aws::String && value)280     inline EmailChannelRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
281 
282     /**
283      * <p>The ARN of the AWS Identity and Access Management (IAM) role that you want
284      * Amazon Pinpoint to use when it submits email-related event data for the
285      * channel.</p>
286      */
WithRoleArn(const char * value)287     inline EmailChannelRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
288 
289   private:
290 
291     Aws::String m_configurationSet;
292     bool m_configurationSetHasBeenSet;
293 
294     bool m_enabled;
295     bool m_enabledHasBeenSet;
296 
297     Aws::String m_fromAddress;
298     bool m_fromAddressHasBeenSet;
299 
300     Aws::String m_identity;
301     bool m_identityHasBeenSet;
302 
303     Aws::String m_roleArn;
304     bool m_roleArnHasBeenSet;
305   };
306 
307 } // namespace Model
308 } // namespace Pinpoint
309 } // namespace Aws
310