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/pinpoint/model/SimpleEmailPart.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 contents of an email message, composed of a subject, a text
28    * part, and an HTML part.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SimpleEmail">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API SimpleEmail
33   {
34   public:
35     SimpleEmail();
36     SimpleEmail(Aws::Utils::Json::JsonView jsonValue);
37     SimpleEmail& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The body of the email message, in HTML format. We recommend using HTML format
43      * for email clients that render HTML content. You can include links, formatted
44      * text, and more in an HTML message.</p>
45      */
GetHtmlPart()46     inline const SimpleEmailPart& GetHtmlPart() const{ return m_htmlPart; }
47 
48     /**
49      * <p>The body of the email message, in HTML format. We recommend using HTML format
50      * for email clients that render HTML content. You can include links, formatted
51      * text, and more in an HTML message.</p>
52      */
HtmlPartHasBeenSet()53     inline bool HtmlPartHasBeenSet() const { return m_htmlPartHasBeenSet; }
54 
55     /**
56      * <p>The body of the email message, in HTML format. We recommend using HTML format
57      * for email clients that render HTML content. You can include links, formatted
58      * text, and more in an HTML message.</p>
59      */
SetHtmlPart(const SimpleEmailPart & value)60     inline void SetHtmlPart(const SimpleEmailPart& value) { m_htmlPartHasBeenSet = true; m_htmlPart = value; }
61 
62     /**
63      * <p>The body of the email message, in HTML format. We recommend using HTML format
64      * for email clients that render HTML content. You can include links, formatted
65      * text, and more in an HTML message.</p>
66      */
SetHtmlPart(SimpleEmailPart && value)67     inline void SetHtmlPart(SimpleEmailPart&& value) { m_htmlPartHasBeenSet = true; m_htmlPart = std::move(value); }
68 
69     /**
70      * <p>The body of the email message, in HTML format. We recommend using HTML format
71      * for email clients that render HTML content. You can include links, formatted
72      * text, and more in an HTML message.</p>
73      */
WithHtmlPart(const SimpleEmailPart & value)74     inline SimpleEmail& WithHtmlPart(const SimpleEmailPart& value) { SetHtmlPart(value); return *this;}
75 
76     /**
77      * <p>The body of the email message, in HTML format. We recommend using HTML format
78      * for email clients that render HTML content. You can include links, formatted
79      * text, and more in an HTML message.</p>
80      */
WithHtmlPart(SimpleEmailPart && value)81     inline SimpleEmail& WithHtmlPart(SimpleEmailPart&& value) { SetHtmlPart(std::move(value)); return *this;}
82 
83 
84     /**
85      * <p>The subject line, or title, of the email.</p>
86      */
GetSubject()87     inline const SimpleEmailPart& GetSubject() const{ return m_subject; }
88 
89     /**
90      * <p>The subject line, or title, of the email.</p>
91      */
SubjectHasBeenSet()92     inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; }
93 
94     /**
95      * <p>The subject line, or title, of the email.</p>
96      */
SetSubject(const SimpleEmailPart & value)97     inline void SetSubject(const SimpleEmailPart& value) { m_subjectHasBeenSet = true; m_subject = value; }
98 
99     /**
100      * <p>The subject line, or title, of the email.</p>
101      */
SetSubject(SimpleEmailPart && value)102     inline void SetSubject(SimpleEmailPart&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); }
103 
104     /**
105      * <p>The subject line, or title, of the email.</p>
106      */
WithSubject(const SimpleEmailPart & value)107     inline SimpleEmail& WithSubject(const SimpleEmailPart& value) { SetSubject(value); return *this;}
108 
109     /**
110      * <p>The subject line, or title, of the email.</p>
111      */
WithSubject(SimpleEmailPart && value)112     inline SimpleEmail& WithSubject(SimpleEmailPart&& value) { SetSubject(std::move(value)); return *this;}
113 
114 
115     /**
116      * <p>The body of the email message, in plain text format. We recommend using plain
117      * text format for email clients that don't render HTML content and clients that
118      * are connected to high-latency networks, such as mobile devices.</p>
119      */
GetTextPart()120     inline const SimpleEmailPart& GetTextPart() const{ return m_textPart; }
121 
122     /**
123      * <p>The body of the email message, in plain text format. We recommend using plain
124      * text format for email clients that don't render HTML content and clients that
125      * are connected to high-latency networks, such as mobile devices.</p>
126      */
TextPartHasBeenSet()127     inline bool TextPartHasBeenSet() const { return m_textPartHasBeenSet; }
128 
129     /**
130      * <p>The body of the email message, in plain text format. We recommend using plain
131      * text format for email clients that don't render HTML content and clients that
132      * are connected to high-latency networks, such as mobile devices.</p>
133      */
SetTextPart(const SimpleEmailPart & value)134     inline void SetTextPart(const SimpleEmailPart& value) { m_textPartHasBeenSet = true; m_textPart = value; }
135 
136     /**
137      * <p>The body of the email message, in plain text format. We recommend using plain
138      * text format for email clients that don't render HTML content and clients that
139      * are connected to high-latency networks, such as mobile devices.</p>
140      */
SetTextPart(SimpleEmailPart && value)141     inline void SetTextPart(SimpleEmailPart&& value) { m_textPartHasBeenSet = true; m_textPart = std::move(value); }
142 
143     /**
144      * <p>The body of the email message, in plain text format. We recommend using plain
145      * text format for email clients that don't render HTML content and clients that
146      * are connected to high-latency networks, such as mobile devices.</p>
147      */
WithTextPart(const SimpleEmailPart & value)148     inline SimpleEmail& WithTextPart(const SimpleEmailPart& value) { SetTextPart(value); return *this;}
149 
150     /**
151      * <p>The body of the email message, in plain text format. We recommend using plain
152      * text format for email clients that don't render HTML content and clients that
153      * are connected to high-latency networks, such as mobile devices.</p>
154      */
WithTextPart(SimpleEmailPart && value)155     inline SimpleEmail& WithTextPart(SimpleEmailPart&& value) { SetTextPart(std::move(value)); return *this;}
156 
157   private:
158 
159     SimpleEmailPart m_htmlPart;
160     bool m_htmlPartHasBeenSet;
161 
162     SimpleEmailPart m_subject;
163     bool m_subjectHasBeenSet;
164 
165     SimpleEmailPart m_textPart;
166     bool m_textPartHasBeenSet;
167   };
168 
169 } // namespace Model
170 } // namespace Pinpoint
171 } // namespace Aws
172