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 content and "From" address for an email message that's sent to
28    * recipients of a campaign.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignEmailMessage">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API CampaignEmailMessage
33   {
34   public:
35     CampaignEmailMessage();
36     CampaignEmailMessage(Aws::Utils::Json::JsonView jsonValue);
37     CampaignEmailMessage& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The body of the email for recipients whose email clients don't render HTML
43      * content.</p>
44      */
GetBody()45     inline const Aws::String& GetBody() const{ return m_body; }
46 
47     /**
48      * <p>The body of the email for recipients whose email clients don't render HTML
49      * content.</p>
50      */
BodyHasBeenSet()51     inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; }
52 
53     /**
54      * <p>The body of the email for recipients whose email clients don't render HTML
55      * content.</p>
56      */
SetBody(const Aws::String & value)57     inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; }
58 
59     /**
60      * <p>The body of the email for recipients whose email clients don't render HTML
61      * content.</p>
62      */
SetBody(Aws::String && value)63     inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); }
64 
65     /**
66      * <p>The body of the email for recipients whose email clients don't render HTML
67      * content.</p>
68      */
SetBody(const char * value)69     inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); }
70 
71     /**
72      * <p>The body of the email for recipients whose email clients don't render HTML
73      * content.</p>
74      */
WithBody(const Aws::String & value)75     inline CampaignEmailMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;}
76 
77     /**
78      * <p>The body of the email for recipients whose email clients don't render HTML
79      * content.</p>
80      */
WithBody(Aws::String && value)81     inline CampaignEmailMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;}
82 
83     /**
84      * <p>The body of the email for recipients whose email clients don't render HTML
85      * content.</p>
86      */
WithBody(const char * value)87     inline CampaignEmailMessage& WithBody(const char* value) { SetBody(value); return *this;}
88 
89 
90     /**
91      * <p>The verified email address to send the email from. The default address is the
92      * FromAddress specified for the email channel for the application.</p>
93      */
GetFromAddress()94     inline const Aws::String& GetFromAddress() const{ return m_fromAddress; }
95 
96     /**
97      * <p>The verified email address to send the email from. The default address is the
98      * FromAddress specified for the email channel for the application.</p>
99      */
FromAddressHasBeenSet()100     inline bool FromAddressHasBeenSet() const { return m_fromAddressHasBeenSet; }
101 
102     /**
103      * <p>The verified email address to send the email from. The default address is the
104      * FromAddress specified for the email channel for the application.</p>
105      */
SetFromAddress(const Aws::String & value)106     inline void SetFromAddress(const Aws::String& value) { m_fromAddressHasBeenSet = true; m_fromAddress = value; }
107 
108     /**
109      * <p>The verified email address to send the email from. The default address is the
110      * FromAddress specified for the email channel for the application.</p>
111      */
SetFromAddress(Aws::String && value)112     inline void SetFromAddress(Aws::String&& value) { m_fromAddressHasBeenSet = true; m_fromAddress = std::move(value); }
113 
114     /**
115      * <p>The verified email address to send the email from. The default address is the
116      * FromAddress specified for the email channel for the application.</p>
117      */
SetFromAddress(const char * value)118     inline void SetFromAddress(const char* value) { m_fromAddressHasBeenSet = true; m_fromAddress.assign(value); }
119 
120     /**
121      * <p>The verified email address to send the email from. The default address is the
122      * FromAddress specified for the email channel for the application.</p>
123      */
WithFromAddress(const Aws::String & value)124     inline CampaignEmailMessage& WithFromAddress(const Aws::String& value) { SetFromAddress(value); return *this;}
125 
126     /**
127      * <p>The verified email address to send the email from. The default address is the
128      * FromAddress specified for the email channel for the application.</p>
129      */
WithFromAddress(Aws::String && value)130     inline CampaignEmailMessage& WithFromAddress(Aws::String&& value) { SetFromAddress(std::move(value)); return *this;}
131 
132     /**
133      * <p>The verified email address to send the email from. The default address is the
134      * FromAddress specified for the email channel for the application.</p>
135      */
WithFromAddress(const char * value)136     inline CampaignEmailMessage& WithFromAddress(const char* value) { SetFromAddress(value); return *this;}
137 
138 
139     /**
140      * <p>The body of the email, in HTML format, for recipients whose email clients
141      * render HTML content.</p>
142      */
GetHtmlBody()143     inline const Aws::String& GetHtmlBody() const{ return m_htmlBody; }
144 
145     /**
146      * <p>The body of the email, in HTML format, for recipients whose email clients
147      * render HTML content.</p>
148      */
HtmlBodyHasBeenSet()149     inline bool HtmlBodyHasBeenSet() const { return m_htmlBodyHasBeenSet; }
150 
151     /**
152      * <p>The body of the email, in HTML format, for recipients whose email clients
153      * render HTML content.</p>
154      */
SetHtmlBody(const Aws::String & value)155     inline void SetHtmlBody(const Aws::String& value) { m_htmlBodyHasBeenSet = true; m_htmlBody = value; }
156 
157     /**
158      * <p>The body of the email, in HTML format, for recipients whose email clients
159      * render HTML content.</p>
160      */
SetHtmlBody(Aws::String && value)161     inline void SetHtmlBody(Aws::String&& value) { m_htmlBodyHasBeenSet = true; m_htmlBody = std::move(value); }
162 
163     /**
164      * <p>The body of the email, in HTML format, for recipients whose email clients
165      * render HTML content.</p>
166      */
SetHtmlBody(const char * value)167     inline void SetHtmlBody(const char* value) { m_htmlBodyHasBeenSet = true; m_htmlBody.assign(value); }
168 
169     /**
170      * <p>The body of the email, in HTML format, for recipients whose email clients
171      * render HTML content.</p>
172      */
WithHtmlBody(const Aws::String & value)173     inline CampaignEmailMessage& WithHtmlBody(const Aws::String& value) { SetHtmlBody(value); return *this;}
174 
175     /**
176      * <p>The body of the email, in HTML format, for recipients whose email clients
177      * render HTML content.</p>
178      */
WithHtmlBody(Aws::String && value)179     inline CampaignEmailMessage& WithHtmlBody(Aws::String&& value) { SetHtmlBody(std::move(value)); return *this;}
180 
181     /**
182      * <p>The body of the email, in HTML format, for recipients whose email clients
183      * render HTML content.</p>
184      */
WithHtmlBody(const char * value)185     inline CampaignEmailMessage& WithHtmlBody(const char* value) { SetHtmlBody(value); return *this;}
186 
187 
188     /**
189      * <p>The subject line, or title, of the email.</p>
190      */
GetTitle()191     inline const Aws::String& GetTitle() const{ return m_title; }
192 
193     /**
194      * <p>The subject line, or title, of the email.</p>
195      */
TitleHasBeenSet()196     inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
197 
198     /**
199      * <p>The subject line, or title, of the email.</p>
200      */
SetTitle(const Aws::String & value)201     inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
202 
203     /**
204      * <p>The subject line, or title, of the email.</p>
205      */
SetTitle(Aws::String && value)206     inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
207 
208     /**
209      * <p>The subject line, or title, of the email.</p>
210      */
SetTitle(const char * value)211     inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
212 
213     /**
214      * <p>The subject line, or title, of the email.</p>
215      */
WithTitle(const Aws::String & value)216     inline CampaignEmailMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
217 
218     /**
219      * <p>The subject line, or title, of the email.</p>
220      */
WithTitle(Aws::String && value)221     inline CampaignEmailMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
222 
223     /**
224      * <p>The subject line, or title, of the email.</p>
225      */
WithTitle(const char * value)226     inline CampaignEmailMessage& WithTitle(const char* value) { SetTitle(value); return *this;}
227 
228   private:
229 
230     Aws::String m_body;
231     bool m_bodyHasBeenSet;
232 
233     Aws::String m_fromAddress;
234     bool m_fromAddressHasBeenSet;
235 
236     Aws::String m_htmlBody;
237     bool m_htmlBodyHasBeenSet;
238 
239     Aws::String m_title;
240     bool m_titleHasBeenSet;
241   };
242 
243 } // namespace Model
244 } // namespace Pinpoint
245 } // namespace Aws
246