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/JourneyEmailMessage.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Pinpoint 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies the settings for an email activity in a journey. This type of 29 * activity sends an email message to participants.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailMessageActivity">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API EmailMessageActivity 34 { 35 public: 36 EmailMessageActivity(); 37 EmailMessageActivity(Aws::Utils::Json::JsonView jsonValue); 38 EmailMessageActivity& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>Specifies the sender address for an email message that's sent to participants 44 * in the journey.</p> 45 */ GetMessageConfig()46 inline const JourneyEmailMessage& GetMessageConfig() const{ return m_messageConfig; } 47 48 /** 49 * <p>Specifies the sender address for an email message that's sent to participants 50 * in the journey.</p> 51 */ MessageConfigHasBeenSet()52 inline bool MessageConfigHasBeenSet() const { return m_messageConfigHasBeenSet; } 53 54 /** 55 * <p>Specifies the sender address for an email message that's sent to participants 56 * in the journey.</p> 57 */ SetMessageConfig(const JourneyEmailMessage & value)58 inline void SetMessageConfig(const JourneyEmailMessage& value) { m_messageConfigHasBeenSet = true; m_messageConfig = value; } 59 60 /** 61 * <p>Specifies the sender address for an email message that's sent to participants 62 * in the journey.</p> 63 */ SetMessageConfig(JourneyEmailMessage && value)64 inline void SetMessageConfig(JourneyEmailMessage&& value) { m_messageConfigHasBeenSet = true; m_messageConfig = std::move(value); } 65 66 /** 67 * <p>Specifies the sender address for an email message that's sent to participants 68 * in the journey.</p> 69 */ WithMessageConfig(const JourneyEmailMessage & value)70 inline EmailMessageActivity& WithMessageConfig(const JourneyEmailMessage& value) { SetMessageConfig(value); return *this;} 71 72 /** 73 * <p>Specifies the sender address for an email message that's sent to participants 74 * in the journey.</p> 75 */ WithMessageConfig(JourneyEmailMessage && value)76 inline EmailMessageActivity& WithMessageConfig(JourneyEmailMessage&& value) { SetMessageConfig(std::move(value)); return *this;} 77 78 79 /** 80 * <p>The unique identifier for the next activity to perform, after the message is 81 * sent.</p> 82 */ GetNextActivity()83 inline const Aws::String& GetNextActivity() const{ return m_nextActivity; } 84 85 /** 86 * <p>The unique identifier for the next activity to perform, after the message is 87 * sent.</p> 88 */ NextActivityHasBeenSet()89 inline bool NextActivityHasBeenSet() const { return m_nextActivityHasBeenSet; } 90 91 /** 92 * <p>The unique identifier for the next activity to perform, after the message is 93 * sent.</p> 94 */ SetNextActivity(const Aws::String & value)95 inline void SetNextActivity(const Aws::String& value) { m_nextActivityHasBeenSet = true; m_nextActivity = value; } 96 97 /** 98 * <p>The unique identifier for the next activity to perform, after the message is 99 * sent.</p> 100 */ SetNextActivity(Aws::String && value)101 inline void SetNextActivity(Aws::String&& value) { m_nextActivityHasBeenSet = true; m_nextActivity = std::move(value); } 102 103 /** 104 * <p>The unique identifier for the next activity to perform, after the message is 105 * sent.</p> 106 */ SetNextActivity(const char * value)107 inline void SetNextActivity(const char* value) { m_nextActivityHasBeenSet = true; m_nextActivity.assign(value); } 108 109 /** 110 * <p>The unique identifier for the next activity to perform, after the message is 111 * sent.</p> 112 */ WithNextActivity(const Aws::String & value)113 inline EmailMessageActivity& WithNextActivity(const Aws::String& value) { SetNextActivity(value); return *this;} 114 115 /** 116 * <p>The unique identifier for the next activity to perform, after the message is 117 * sent.</p> 118 */ WithNextActivity(Aws::String && value)119 inline EmailMessageActivity& WithNextActivity(Aws::String&& value) { SetNextActivity(std::move(value)); return *this;} 120 121 /** 122 * <p>The unique identifier for the next activity to perform, after the message is 123 * sent.</p> 124 */ WithNextActivity(const char * value)125 inline EmailMessageActivity& WithNextActivity(const char* value) { SetNextActivity(value); return *this;} 126 127 128 /** 129 * <p>The name of the email message template to use for the message. If specified, 130 * this value must match the name of an existing message template.</p> 131 */ GetTemplateName()132 inline const Aws::String& GetTemplateName() const{ return m_templateName; } 133 134 /** 135 * <p>The name of the email message template to use for the message. If specified, 136 * this value must match the name of an existing message template.</p> 137 */ TemplateNameHasBeenSet()138 inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } 139 140 /** 141 * <p>The name of the email message template to use for the message. If specified, 142 * this value must match the name of an existing message template.</p> 143 */ SetTemplateName(const Aws::String & value)144 inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } 145 146 /** 147 * <p>The name of the email message template to use for the message. If specified, 148 * this value must match the name of an existing message template.</p> 149 */ SetTemplateName(Aws::String && value)150 inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } 151 152 /** 153 * <p>The name of the email message template to use for the message. If specified, 154 * this value must match the name of an existing message template.</p> 155 */ SetTemplateName(const char * value)156 inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } 157 158 /** 159 * <p>The name of the email message template to use for the message. If specified, 160 * this value must match the name of an existing message template.</p> 161 */ WithTemplateName(const Aws::String & value)162 inline EmailMessageActivity& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} 163 164 /** 165 * <p>The name of the email message template to use for the message. If specified, 166 * this value must match the name of an existing message template.</p> 167 */ WithTemplateName(Aws::String && value)168 inline EmailMessageActivity& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} 169 170 /** 171 * <p>The name of the email message template to use for the message. If specified, 172 * this value must match the name of an existing message template.</p> 173 */ WithTemplateName(const char * value)174 inline EmailMessageActivity& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} 175 176 177 /** 178 * <p>The unique identifier for the version of the email template to use for the 179 * message. If specified, this value must match the identifier for an existing 180 * template version. To retrieve a list of versions and version identifiers for a 181 * template, use the <link 182 * linkend="templates-template-name-template-type-versions">Template 183 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 184 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 185 * version</i> is typically the version of a template that's been most recently 186 * reviewed and approved for use, depending on your workflow. It isn't necessarily 187 * the latest version of a template.</p> 188 */ GetTemplateVersion()189 inline const Aws::String& GetTemplateVersion() const{ return m_templateVersion; } 190 191 /** 192 * <p>The unique identifier for the version of the email template to use for the 193 * message. If specified, this value must match the identifier for an existing 194 * template version. To retrieve a list of versions and version identifiers for a 195 * template, use the <link 196 * linkend="templates-template-name-template-type-versions">Template 197 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 198 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 199 * version</i> is typically the version of a template that's been most recently 200 * reviewed and approved for use, depending on your workflow. It isn't necessarily 201 * the latest version of a template.</p> 202 */ TemplateVersionHasBeenSet()203 inline bool TemplateVersionHasBeenSet() const { return m_templateVersionHasBeenSet; } 204 205 /** 206 * <p>The unique identifier for the version of the email template to use for the 207 * message. If specified, this value must match the identifier for an existing 208 * template version. To retrieve a list of versions and version identifiers for a 209 * template, use the <link 210 * linkend="templates-template-name-template-type-versions">Template 211 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 212 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 213 * version</i> is typically the version of a template that's been most recently 214 * reviewed and approved for use, depending on your workflow. It isn't necessarily 215 * the latest version of a template.</p> 216 */ SetTemplateVersion(const Aws::String & value)217 inline void SetTemplateVersion(const Aws::String& value) { m_templateVersionHasBeenSet = true; m_templateVersion = value; } 218 219 /** 220 * <p>The unique identifier for the version of the email template to use for the 221 * message. If specified, this value must match the identifier for an existing 222 * template version. To retrieve a list of versions and version identifiers for a 223 * template, use the <link 224 * linkend="templates-template-name-template-type-versions">Template 225 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 226 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 227 * version</i> is typically the version of a template that's been most recently 228 * reviewed and approved for use, depending on your workflow. It isn't necessarily 229 * the latest version of a template.</p> 230 */ SetTemplateVersion(Aws::String && value)231 inline void SetTemplateVersion(Aws::String&& value) { m_templateVersionHasBeenSet = true; m_templateVersion = std::move(value); } 232 233 /** 234 * <p>The unique identifier for the version of the email template to use for the 235 * message. If specified, this value must match the identifier for an existing 236 * template version. To retrieve a list of versions and version identifiers for a 237 * template, use the <link 238 * linkend="templates-template-name-template-type-versions">Template 239 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 240 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 241 * version</i> is typically the version of a template that's been most recently 242 * reviewed and approved for use, depending on your workflow. It isn't necessarily 243 * the latest version of a template.</p> 244 */ SetTemplateVersion(const char * value)245 inline void SetTemplateVersion(const char* value) { m_templateVersionHasBeenSet = true; m_templateVersion.assign(value); } 246 247 /** 248 * <p>The unique identifier for the version of the email template to use for the 249 * message. If specified, this value must match the identifier for an existing 250 * template version. To retrieve a list of versions and version identifiers for a 251 * template, use the <link 252 * linkend="templates-template-name-template-type-versions">Template 253 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 254 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 255 * version</i> is typically the version of a template that's been most recently 256 * reviewed and approved for use, depending on your workflow. It isn't necessarily 257 * the latest version of a template.</p> 258 */ WithTemplateVersion(const Aws::String & value)259 inline EmailMessageActivity& WithTemplateVersion(const Aws::String& value) { SetTemplateVersion(value); return *this;} 260 261 /** 262 * <p>The unique identifier for the version of the email template to use for the 263 * message. If specified, this value must match the identifier for an existing 264 * template version. To retrieve a list of versions and version identifiers for a 265 * template, use the <link 266 * linkend="templates-template-name-template-type-versions">Template 267 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 268 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 269 * version</i> is typically the version of a template that's been most recently 270 * reviewed and approved for use, depending on your workflow. It isn't necessarily 271 * the latest version of a template.</p> 272 */ WithTemplateVersion(Aws::String && value)273 inline EmailMessageActivity& WithTemplateVersion(Aws::String&& value) { SetTemplateVersion(std::move(value)); return *this;} 274 275 /** 276 * <p>The unique identifier for the version of the email template to use for the 277 * message. If specified, this value must match the identifier for an existing 278 * template version. To retrieve a list of versions and version identifiers for a 279 * template, use the <link 280 * linkend="templates-template-name-template-type-versions">Template 281 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 282 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 283 * version</i> is typically the version of a template that's been most recently 284 * reviewed and approved for use, depending on your workflow. It isn't necessarily 285 * the latest version of a template.</p> 286 */ WithTemplateVersion(const char * value)287 inline EmailMessageActivity& WithTemplateVersion(const char* value) { SetTemplateVersion(value); return *this;} 288 289 private: 290 291 JourneyEmailMessage m_messageConfig; 292 bool m_messageConfigHasBeenSet; 293 294 Aws::String m_nextActivity; 295 bool m_nextActivityHasBeenSet; 296 297 Aws::String m_templateName; 298 bool m_templateNameHasBeenSet; 299 300 Aws::String m_templateVersion; 301 bool m_templateVersionHasBeenSet; 302 }; 303 304 } // namespace Model 305 } // namespace Pinpoint 306 } // namespace Aws 307