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 <aws/core/utils/memory/stl/AWSMap.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 content and settings for a message template that can be used in 29 * messages that are sent through the voice channel.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/VoiceTemplateRequest">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API VoiceTemplateRequest 34 { 35 public: 36 VoiceTemplateRequest(); 37 VoiceTemplateRequest(Aws::Utils::Json::JsonView jsonValue); 38 VoiceTemplateRequest& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The text of the script to use in messages that are based on the message 44 * template, in plain text format.</p> 45 */ GetBody()46 inline const Aws::String& GetBody() const{ return m_body; } 47 48 /** 49 * <p>The text of the script to use in messages that are based on the message 50 * template, in plain text format.</p> 51 */ BodyHasBeenSet()52 inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } 53 54 /** 55 * <p>The text of the script to use in messages that are based on the message 56 * template, in plain text format.</p> 57 */ SetBody(const Aws::String & value)58 inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } 59 60 /** 61 * <p>The text of the script to use in messages that are based on the message 62 * template, in plain text format.</p> 63 */ SetBody(Aws::String && value)64 inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } 65 66 /** 67 * <p>The text of the script to use in messages that are based on the message 68 * template, in plain text format.</p> 69 */ SetBody(const char * value)70 inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } 71 72 /** 73 * <p>The text of the script to use in messages that are based on the message 74 * template, in plain text format.</p> 75 */ WithBody(const Aws::String & value)76 inline VoiceTemplateRequest& WithBody(const Aws::String& value) { SetBody(value); return *this;} 77 78 /** 79 * <p>The text of the script to use in messages that are based on the message 80 * template, in plain text format.</p> 81 */ WithBody(Aws::String && value)82 inline VoiceTemplateRequest& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} 83 84 /** 85 * <p>The text of the script to use in messages that are based on the message 86 * template, in plain text format.</p> 87 */ WithBody(const char * value)88 inline VoiceTemplateRequest& WithBody(const char* value) { SetBody(value); return *this;} 89 90 91 /** 92 * <p>A JSON object that specifies the default values to use for message variables 93 * in the message template. This object is a set of key-value pairs. Each key 94 * defines a message variable in the template. The corresponding value defines the 95 * default value for that variable. When you create a message that's based on the 96 * template, you can override these defaults with message-specific and 97 * address-specific variables and values.</p> 98 */ GetDefaultSubstitutions()99 inline const Aws::String& GetDefaultSubstitutions() const{ return m_defaultSubstitutions; } 100 101 /** 102 * <p>A JSON object that specifies the default values to use for message variables 103 * in the message template. This object is a set of key-value pairs. Each key 104 * defines a message variable in the template. The corresponding value defines the 105 * default value for that variable. When you create a message that's based on the 106 * template, you can override these defaults with message-specific and 107 * address-specific variables and values.</p> 108 */ DefaultSubstitutionsHasBeenSet()109 inline bool DefaultSubstitutionsHasBeenSet() const { return m_defaultSubstitutionsHasBeenSet; } 110 111 /** 112 * <p>A JSON object that specifies the default values to use for message variables 113 * in the message template. This object is a set of key-value pairs. Each key 114 * defines a message variable in the template. The corresponding value defines the 115 * default value for that variable. When you create a message that's based on the 116 * template, you can override these defaults with message-specific and 117 * address-specific variables and values.</p> 118 */ SetDefaultSubstitutions(const Aws::String & value)119 inline void SetDefaultSubstitutions(const Aws::String& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = value; } 120 121 /** 122 * <p>A JSON object that specifies the default values to use for message variables 123 * in the message template. This object is a set of key-value pairs. Each key 124 * defines a message variable in the template. The corresponding value defines the 125 * default value for that variable. When you create a message that's based on the 126 * template, you can override these defaults with message-specific and 127 * address-specific variables and values.</p> 128 */ SetDefaultSubstitutions(Aws::String && value)129 inline void SetDefaultSubstitutions(Aws::String&& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = std::move(value); } 130 131 /** 132 * <p>A JSON object that specifies the default values to use for message variables 133 * in the message template. This object is a set of key-value pairs. Each key 134 * defines a message variable in the template. The corresponding value defines the 135 * default value for that variable. When you create a message that's based on the 136 * template, you can override these defaults with message-specific and 137 * address-specific variables and values.</p> 138 */ SetDefaultSubstitutions(const char * value)139 inline void SetDefaultSubstitutions(const char* value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions.assign(value); } 140 141 /** 142 * <p>A JSON object that specifies the default values to use for message variables 143 * in the message template. This object is a set of key-value pairs. Each key 144 * defines a message variable in the template. The corresponding value defines the 145 * default value for that variable. When you create a message that's based on the 146 * template, you can override these defaults with message-specific and 147 * address-specific variables and values.</p> 148 */ WithDefaultSubstitutions(const Aws::String & value)149 inline VoiceTemplateRequest& WithDefaultSubstitutions(const Aws::String& value) { SetDefaultSubstitutions(value); return *this;} 150 151 /** 152 * <p>A JSON object that specifies the default values to use for message variables 153 * in the message template. This object is a set of key-value pairs. Each key 154 * defines a message variable in the template. The corresponding value defines the 155 * default value for that variable. When you create a message that's based on the 156 * template, you can override these defaults with message-specific and 157 * address-specific variables and values.</p> 158 */ WithDefaultSubstitutions(Aws::String && value)159 inline VoiceTemplateRequest& WithDefaultSubstitutions(Aws::String&& value) { SetDefaultSubstitutions(std::move(value)); return *this;} 160 161 /** 162 * <p>A JSON object that specifies the default values to use for message variables 163 * in the message template. This object is a set of key-value pairs. Each key 164 * defines a message variable in the template. The corresponding value defines the 165 * default value for that variable. When you create a message that's based on the 166 * template, you can override these defaults with message-specific and 167 * address-specific variables and values.</p> 168 */ WithDefaultSubstitutions(const char * value)169 inline VoiceTemplateRequest& WithDefaultSubstitutions(const char* value) { SetDefaultSubstitutions(value); return *this;} 170 171 172 /** 173 * <p>The code for the language to use when synthesizing the text of the script in 174 * messages that are based on the message template. For a list of supported 175 * languages and the code for each one, see the <a 176 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 177 * Developer Guide</a>.</p> 178 */ GetLanguageCode()179 inline const Aws::String& GetLanguageCode() const{ return m_languageCode; } 180 181 /** 182 * <p>The code for the language to use when synthesizing the text of the script in 183 * messages that are based on the message template. For a list of supported 184 * languages and the code for each one, see the <a 185 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 186 * Developer Guide</a>.</p> 187 */ LanguageCodeHasBeenSet()188 inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } 189 190 /** 191 * <p>The code for the language to use when synthesizing the text of the script in 192 * messages that are based on the message template. For a list of supported 193 * languages and the code for each one, see the <a 194 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 195 * Developer Guide</a>.</p> 196 */ SetLanguageCode(const Aws::String & value)197 inline void SetLanguageCode(const Aws::String& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } 198 199 /** 200 * <p>The code for the language to use when synthesizing the text of the script in 201 * messages that are based on the message template. For a list of supported 202 * languages and the code for each one, see the <a 203 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 204 * Developer Guide</a>.</p> 205 */ SetLanguageCode(Aws::String && value)206 inline void SetLanguageCode(Aws::String&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } 207 208 /** 209 * <p>The code for the language to use when synthesizing the text of the script in 210 * messages that are based on the message template. For a list of supported 211 * languages and the code for each one, see the <a 212 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 213 * Developer Guide</a>.</p> 214 */ SetLanguageCode(const char * value)215 inline void SetLanguageCode(const char* value) { m_languageCodeHasBeenSet = true; m_languageCode.assign(value); } 216 217 /** 218 * <p>The code for the language to use when synthesizing the text of the script in 219 * messages that are based on the message template. For a list of supported 220 * languages and the code for each one, see the <a 221 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 222 * Developer Guide</a>.</p> 223 */ WithLanguageCode(const Aws::String & value)224 inline VoiceTemplateRequest& WithLanguageCode(const Aws::String& value) { SetLanguageCode(value); return *this;} 225 226 /** 227 * <p>The code for the language to use when synthesizing the text of the script in 228 * messages that are based on the message template. For a list of supported 229 * languages and the code for each one, see the <a 230 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 231 * Developer Guide</a>.</p> 232 */ WithLanguageCode(Aws::String && value)233 inline VoiceTemplateRequest& WithLanguageCode(Aws::String&& value) { SetLanguageCode(std::move(value)); return *this;} 234 235 /** 236 * <p>The code for the language to use when synthesizing the text of the script in 237 * messages that are based on the message template. For a list of supported 238 * languages and the code for each one, see the <a 239 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 240 * Developer Guide</a>.</p> 241 */ WithLanguageCode(const char * value)242 inline VoiceTemplateRequest& WithLanguageCode(const char* value) { SetLanguageCode(value); return *this;} 243 244 245 /** 246 * <p>A string-to-string map of key-value pairs that defines the tags to associate 247 * with the message template. Each tag consists of a required tag key and an 248 * associated tag value.</p> 249 */ GetTags()250 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 251 252 /** 253 * <p>A string-to-string map of key-value pairs that defines the tags to associate 254 * with the message template. Each tag consists of a required tag key and an 255 * associated tag value.</p> 256 */ TagsHasBeenSet()257 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 258 259 /** 260 * <p>A string-to-string map of key-value pairs that defines the tags to associate 261 * with the message template. Each tag consists of a required tag key and an 262 * associated tag value.</p> 263 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)264 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 265 266 /** 267 * <p>A string-to-string map of key-value pairs that defines the tags to associate 268 * with the message template. Each tag consists of a required tag key and an 269 * associated tag value.</p> 270 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)271 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 272 273 /** 274 * <p>A string-to-string map of key-value pairs that defines the tags to associate 275 * with the message template. Each tag consists of a required tag key and an 276 * associated tag value.</p> 277 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)278 inline VoiceTemplateRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 279 280 /** 281 * <p>A string-to-string map of key-value pairs that defines the tags to associate 282 * with the message template. Each tag consists of a required tag key and an 283 * associated tag value.</p> 284 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)285 inline VoiceTemplateRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 286 287 /** 288 * <p>A string-to-string map of key-value pairs that defines the tags to associate 289 * with the message template. Each tag consists of a required tag key and an 290 * associated tag value.</p> 291 */ AddTags(const Aws::String & key,const Aws::String & value)292 inline VoiceTemplateRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 293 294 /** 295 * <p>A string-to-string map of key-value pairs that defines the tags to associate 296 * with the message template. Each tag consists of a required tag key and an 297 * associated tag value.</p> 298 */ AddTags(Aws::String && key,const Aws::String & value)299 inline VoiceTemplateRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 300 301 /** 302 * <p>A string-to-string map of key-value pairs that defines the tags to associate 303 * with the message template. Each tag consists of a required tag key and an 304 * associated tag value.</p> 305 */ AddTags(const Aws::String & key,Aws::String && value)306 inline VoiceTemplateRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 307 308 /** 309 * <p>A string-to-string map of key-value pairs that defines the tags to associate 310 * with the message template. Each tag consists of a required tag key and an 311 * associated tag value.</p> 312 */ AddTags(Aws::String && key,Aws::String && value)313 inline VoiceTemplateRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 314 315 /** 316 * <p>A string-to-string map of key-value pairs that defines the tags to associate 317 * with the message template. Each tag consists of a required tag key and an 318 * associated tag value.</p> 319 */ AddTags(const char * key,Aws::String && value)320 inline VoiceTemplateRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 321 322 /** 323 * <p>A string-to-string map of key-value pairs that defines the tags to associate 324 * with the message template. Each tag consists of a required tag key and an 325 * associated tag value.</p> 326 */ AddTags(Aws::String && key,const char * value)327 inline VoiceTemplateRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 328 329 /** 330 * <p>A string-to-string map of key-value pairs that defines the tags to associate 331 * with the message template. Each tag consists of a required tag key and an 332 * associated tag value.</p> 333 */ AddTags(const char * key,const char * value)334 inline VoiceTemplateRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 335 336 337 /** 338 * <p>A custom description of the message template.</p> 339 */ GetTemplateDescription()340 inline const Aws::String& GetTemplateDescription() const{ return m_templateDescription; } 341 342 /** 343 * <p>A custom description of the message template.</p> 344 */ TemplateDescriptionHasBeenSet()345 inline bool TemplateDescriptionHasBeenSet() const { return m_templateDescriptionHasBeenSet; } 346 347 /** 348 * <p>A custom description of the message template.</p> 349 */ SetTemplateDescription(const Aws::String & value)350 inline void SetTemplateDescription(const Aws::String& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = value; } 351 352 /** 353 * <p>A custom description of the message template.</p> 354 */ SetTemplateDescription(Aws::String && value)355 inline void SetTemplateDescription(Aws::String&& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = std::move(value); } 356 357 /** 358 * <p>A custom description of the message template.</p> 359 */ SetTemplateDescription(const char * value)360 inline void SetTemplateDescription(const char* value) { m_templateDescriptionHasBeenSet = true; m_templateDescription.assign(value); } 361 362 /** 363 * <p>A custom description of the message template.</p> 364 */ WithTemplateDescription(const Aws::String & value)365 inline VoiceTemplateRequest& WithTemplateDescription(const Aws::String& value) { SetTemplateDescription(value); return *this;} 366 367 /** 368 * <p>A custom description of the message template.</p> 369 */ WithTemplateDescription(Aws::String && value)370 inline VoiceTemplateRequest& WithTemplateDescription(Aws::String&& value) { SetTemplateDescription(std::move(value)); return *this;} 371 372 /** 373 * <p>A custom description of the message template.</p> 374 */ WithTemplateDescription(const char * value)375 inline VoiceTemplateRequest& WithTemplateDescription(const char* value) { SetTemplateDescription(value); return *this;} 376 377 378 /** 379 * <p>The name of the voice to use when delivering messages that are based on the 380 * message template. For a list of supported voices, see the <a 381 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 382 * Developer Guide</a>.</p> 383 */ GetVoiceId()384 inline const Aws::String& GetVoiceId() const{ return m_voiceId; } 385 386 /** 387 * <p>The name of the voice to use when delivering messages that are based on the 388 * message template. For a list of supported voices, see the <a 389 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 390 * Developer Guide</a>.</p> 391 */ VoiceIdHasBeenSet()392 inline bool VoiceIdHasBeenSet() const { return m_voiceIdHasBeenSet; } 393 394 /** 395 * <p>The name of the voice to use when delivering messages that are based on the 396 * message template. For a list of supported voices, see the <a 397 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 398 * Developer Guide</a>.</p> 399 */ SetVoiceId(const Aws::String & value)400 inline void SetVoiceId(const Aws::String& value) { m_voiceIdHasBeenSet = true; m_voiceId = value; } 401 402 /** 403 * <p>The name of the voice to use when delivering messages that are based on the 404 * message template. For a list of supported voices, see the <a 405 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 406 * Developer Guide</a>.</p> 407 */ SetVoiceId(Aws::String && value)408 inline void SetVoiceId(Aws::String&& value) { m_voiceIdHasBeenSet = true; m_voiceId = std::move(value); } 409 410 /** 411 * <p>The name of the voice to use when delivering messages that are based on the 412 * message template. For a list of supported voices, see the <a 413 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 414 * Developer Guide</a>.</p> 415 */ SetVoiceId(const char * value)416 inline void SetVoiceId(const char* value) { m_voiceIdHasBeenSet = true; m_voiceId.assign(value); } 417 418 /** 419 * <p>The name of the voice to use when delivering messages that are based on the 420 * message template. For a list of supported voices, see the <a 421 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 422 * Developer Guide</a>.</p> 423 */ WithVoiceId(const Aws::String & value)424 inline VoiceTemplateRequest& WithVoiceId(const Aws::String& value) { SetVoiceId(value); return *this;} 425 426 /** 427 * <p>The name of the voice to use when delivering messages that are based on the 428 * message template. For a list of supported voices, see the <a 429 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 430 * Developer Guide</a>.</p> 431 */ WithVoiceId(Aws::String && value)432 inline VoiceTemplateRequest& WithVoiceId(Aws::String&& value) { SetVoiceId(std::move(value)); return *this;} 433 434 /** 435 * <p>The name of the voice to use when delivering messages that are based on the 436 * message template. For a list of supported voices, see the <a 437 * href="https://docs.aws.amazon.com/polly/latest/dg/what-is.html">Amazon Polly 438 * Developer Guide</a>.</p> 439 */ WithVoiceId(const char * value)440 inline VoiceTemplateRequest& WithVoiceId(const char* value) { SetVoiceId(value); return *this;} 441 442 private: 443 444 Aws::String m_body; 445 bool m_bodyHasBeenSet; 446 447 Aws::String m_defaultSubstitutions; 448 bool m_defaultSubstitutionsHasBeenSet; 449 450 Aws::String m_languageCode; 451 bool m_languageCodeHasBeenSet; 452 453 Aws::Map<Aws::String, Aws::String> m_tags; 454 bool m_tagsHasBeenSet; 455 456 Aws::String m_templateDescription; 457 bool m_templateDescriptionHasBeenSet; 458 459 Aws::String m_voiceId; 460 bool m_voiceIdHasBeenSet; 461 }; 462 463 } // namespace Model 464 } // namespace Pinpoint 465 } // namespace Aws 466