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/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSMap.h> 10 #include <aws/pinpoint/model/Layout.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <aws/pinpoint/model/InAppMessageContent.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace Pinpoint 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>InApp Template Request.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/InAppTemplateRequest">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_PINPOINT_API InAppTemplateRequest 36 { 37 public: 38 InAppTemplateRequest(); 39 InAppTemplateRequest(Aws::Utils::Json::JsonView jsonValue); 40 InAppTemplateRequest& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The content of the message, can include up to 5 modals. Each modal must 46 * contain a message, a header, and background color. ImageUrl and buttons are 47 * optional.</p> 48 */ GetContent()49 inline const Aws::Vector<InAppMessageContent>& GetContent() const{ return m_content; } 50 51 /** 52 * <p>The content of the message, can include up to 5 modals. Each modal must 53 * contain a message, a header, and background color. ImageUrl and buttons are 54 * optional.</p> 55 */ ContentHasBeenSet()56 inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } 57 58 /** 59 * <p>The content of the message, can include up to 5 modals. Each modal must 60 * contain a message, a header, and background color. ImageUrl and buttons are 61 * optional.</p> 62 */ SetContent(const Aws::Vector<InAppMessageContent> & value)63 inline void SetContent(const Aws::Vector<InAppMessageContent>& value) { m_contentHasBeenSet = true; m_content = value; } 64 65 /** 66 * <p>The content of the message, can include up to 5 modals. Each modal must 67 * contain a message, a header, and background color. ImageUrl and buttons are 68 * optional.</p> 69 */ SetContent(Aws::Vector<InAppMessageContent> && value)70 inline void SetContent(Aws::Vector<InAppMessageContent>&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } 71 72 /** 73 * <p>The content of the message, can include up to 5 modals. Each modal must 74 * contain a message, a header, and background color. ImageUrl and buttons are 75 * optional.</p> 76 */ WithContent(const Aws::Vector<InAppMessageContent> & value)77 inline InAppTemplateRequest& WithContent(const Aws::Vector<InAppMessageContent>& value) { SetContent(value); return *this;} 78 79 /** 80 * <p>The content of the message, can include up to 5 modals. Each modal must 81 * contain a message, a header, and background color. ImageUrl and buttons are 82 * optional.</p> 83 */ WithContent(Aws::Vector<InAppMessageContent> && value)84 inline InAppTemplateRequest& WithContent(Aws::Vector<InAppMessageContent>&& value) { SetContent(std::move(value)); return *this;} 85 86 /** 87 * <p>The content of the message, can include up to 5 modals. Each modal must 88 * contain a message, a header, and background color. ImageUrl and buttons are 89 * optional.</p> 90 */ AddContent(const InAppMessageContent & value)91 inline InAppTemplateRequest& AddContent(const InAppMessageContent& value) { m_contentHasBeenSet = true; m_content.push_back(value); return *this; } 92 93 /** 94 * <p>The content of the message, can include up to 5 modals. Each modal must 95 * contain a message, a header, and background color. ImageUrl and buttons are 96 * optional.</p> 97 */ AddContent(InAppMessageContent && value)98 inline InAppTemplateRequest& AddContent(InAppMessageContent&& value) { m_contentHasBeenSet = true; m_content.push_back(std::move(value)); return *this; } 99 100 101 /** 102 * <p>Custom config to be sent to client.</p> 103 */ GetCustomConfig()104 inline const Aws::Map<Aws::String, Aws::String>& GetCustomConfig() const{ return m_customConfig; } 105 106 /** 107 * <p>Custom config to be sent to client.</p> 108 */ CustomConfigHasBeenSet()109 inline bool CustomConfigHasBeenSet() const { return m_customConfigHasBeenSet; } 110 111 /** 112 * <p>Custom config to be sent to client.</p> 113 */ SetCustomConfig(const Aws::Map<Aws::String,Aws::String> & value)114 inline void SetCustomConfig(const Aws::Map<Aws::String, Aws::String>& value) { m_customConfigHasBeenSet = true; m_customConfig = value; } 115 116 /** 117 * <p>Custom config to be sent to client.</p> 118 */ SetCustomConfig(Aws::Map<Aws::String,Aws::String> && value)119 inline void SetCustomConfig(Aws::Map<Aws::String, Aws::String>&& value) { m_customConfigHasBeenSet = true; m_customConfig = std::move(value); } 120 121 /** 122 * <p>Custom config to be sent to client.</p> 123 */ WithCustomConfig(const Aws::Map<Aws::String,Aws::String> & value)124 inline InAppTemplateRequest& WithCustomConfig(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomConfig(value); return *this;} 125 126 /** 127 * <p>Custom config to be sent to client.</p> 128 */ WithCustomConfig(Aws::Map<Aws::String,Aws::String> && value)129 inline InAppTemplateRequest& WithCustomConfig(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomConfig(std::move(value)); return *this;} 130 131 /** 132 * <p>Custom config to be sent to client.</p> 133 */ AddCustomConfig(const Aws::String & key,const Aws::String & value)134 inline InAppTemplateRequest& AddCustomConfig(const Aws::String& key, const Aws::String& value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(key, value); return *this; } 135 136 /** 137 * <p>Custom config to be sent to client.</p> 138 */ AddCustomConfig(Aws::String && key,const Aws::String & value)139 inline InAppTemplateRequest& AddCustomConfig(Aws::String&& key, const Aws::String& value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(std::move(key), value); return *this; } 140 141 /** 142 * <p>Custom config to be sent to client.</p> 143 */ AddCustomConfig(const Aws::String & key,Aws::String && value)144 inline InAppTemplateRequest& AddCustomConfig(const Aws::String& key, Aws::String&& value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(key, std::move(value)); return *this; } 145 146 /** 147 * <p>Custom config to be sent to client.</p> 148 */ AddCustomConfig(Aws::String && key,Aws::String && value)149 inline InAppTemplateRequest& AddCustomConfig(Aws::String&& key, Aws::String&& value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(std::move(key), std::move(value)); return *this; } 150 151 /** 152 * <p>Custom config to be sent to client.</p> 153 */ AddCustomConfig(const char * key,Aws::String && value)154 inline InAppTemplateRequest& AddCustomConfig(const char* key, Aws::String&& value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(key, std::move(value)); return *this; } 155 156 /** 157 * <p>Custom config to be sent to client.</p> 158 */ AddCustomConfig(Aws::String && key,const char * value)159 inline InAppTemplateRequest& AddCustomConfig(Aws::String&& key, const char* value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(std::move(key), value); return *this; } 160 161 /** 162 * <p>Custom config to be sent to client.</p> 163 */ AddCustomConfig(const char * key,const char * value)164 inline InAppTemplateRequest& AddCustomConfig(const char* key, const char* value) { m_customConfigHasBeenSet = true; m_customConfig.emplace(key, value); return *this; } 165 166 167 /** 168 * <p>The layout of the message.</p> 169 */ GetLayout()170 inline const Layout& GetLayout() const{ return m_layout; } 171 172 /** 173 * <p>The layout of the message.</p> 174 */ LayoutHasBeenSet()175 inline bool LayoutHasBeenSet() const { return m_layoutHasBeenSet; } 176 177 /** 178 * <p>The layout of the message.</p> 179 */ SetLayout(const Layout & value)180 inline void SetLayout(const Layout& value) { m_layoutHasBeenSet = true; m_layout = value; } 181 182 /** 183 * <p>The layout of the message.</p> 184 */ SetLayout(Layout && value)185 inline void SetLayout(Layout&& value) { m_layoutHasBeenSet = true; m_layout = std::move(value); } 186 187 /** 188 * <p>The layout of the message.</p> 189 */ WithLayout(const Layout & value)190 inline InAppTemplateRequest& WithLayout(const Layout& value) { SetLayout(value); return *this;} 191 192 /** 193 * <p>The layout of the message.</p> 194 */ WithLayout(Layout && value)195 inline InAppTemplateRequest& WithLayout(Layout&& value) { SetLayout(std::move(value)); return *this;} 196 197 198 /** 199 * <p>A string-to-string map of key-value pairs that defines the tags to associate 200 * with the message template. Each tag consists of a required tag key and an 201 * associated tag value.</p> 202 */ GetTags()203 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 204 205 /** 206 * <p>A string-to-string map of key-value pairs that defines the tags to associate 207 * with the message template. Each tag consists of a required tag key and an 208 * associated tag value.</p> 209 */ TagsHasBeenSet()210 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 211 212 /** 213 * <p>A string-to-string map of key-value pairs that defines the tags to associate 214 * with the message template. Each tag consists of a required tag key and an 215 * associated tag value.</p> 216 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)217 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 218 219 /** 220 * <p>A string-to-string map of key-value pairs that defines the tags to associate 221 * with the message template. Each tag consists of a required tag key and an 222 * associated tag value.</p> 223 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)224 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 225 226 /** 227 * <p>A string-to-string map of key-value pairs that defines the tags to associate 228 * with the message template. Each tag consists of a required tag key and an 229 * associated tag value.</p> 230 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)231 inline InAppTemplateRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 232 233 /** 234 * <p>A string-to-string map of key-value pairs that defines the tags to associate 235 * with the message template. Each tag consists of a required tag key and an 236 * associated tag value.</p> 237 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)238 inline InAppTemplateRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 239 240 /** 241 * <p>A string-to-string map of key-value pairs that defines the tags to associate 242 * with the message template. Each tag consists of a required tag key and an 243 * associated tag value.</p> 244 */ AddTags(const Aws::String & key,const Aws::String & value)245 inline InAppTemplateRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 246 247 /** 248 * <p>A string-to-string map of key-value pairs that defines the tags to associate 249 * with the message template. Each tag consists of a required tag key and an 250 * associated tag value.</p> 251 */ AddTags(Aws::String && key,const Aws::String & value)252 inline InAppTemplateRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 253 254 /** 255 * <p>A string-to-string map of key-value pairs that defines the tags to associate 256 * with the message template. Each tag consists of a required tag key and an 257 * associated tag value.</p> 258 */ AddTags(const Aws::String & key,Aws::String && value)259 inline InAppTemplateRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 260 261 /** 262 * <p>A string-to-string map of key-value pairs that defines the tags to associate 263 * with the message template. Each tag consists of a required tag key and an 264 * associated tag value.</p> 265 */ AddTags(Aws::String && key,Aws::String && value)266 inline InAppTemplateRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 267 268 /** 269 * <p>A string-to-string map of key-value pairs that defines the tags to associate 270 * with the message template. Each tag consists of a required tag key and an 271 * associated tag value.</p> 272 */ AddTags(const char * key,Aws::String && value)273 inline InAppTemplateRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 274 275 /** 276 * <p>A string-to-string map of key-value pairs that defines the tags to associate 277 * with the message template. Each tag consists of a required tag key and an 278 * associated tag value.</p> 279 */ AddTags(Aws::String && key,const char * value)280 inline InAppTemplateRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 281 282 /** 283 * <p>A string-to-string map of key-value pairs that defines the tags to associate 284 * with the message template. Each tag consists of a required tag key and an 285 * associated tag value.</p> 286 */ AddTags(const char * key,const char * value)287 inline InAppTemplateRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 288 289 290 /** 291 * <p>The description of the template.</p> 292 */ GetTemplateDescription()293 inline const Aws::String& GetTemplateDescription() const{ return m_templateDescription; } 294 295 /** 296 * <p>The description of the template.</p> 297 */ TemplateDescriptionHasBeenSet()298 inline bool TemplateDescriptionHasBeenSet() const { return m_templateDescriptionHasBeenSet; } 299 300 /** 301 * <p>The description of the template.</p> 302 */ SetTemplateDescription(const Aws::String & value)303 inline void SetTemplateDescription(const Aws::String& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = value; } 304 305 /** 306 * <p>The description of the template.</p> 307 */ SetTemplateDescription(Aws::String && value)308 inline void SetTemplateDescription(Aws::String&& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = std::move(value); } 309 310 /** 311 * <p>The description of the template.</p> 312 */ SetTemplateDescription(const char * value)313 inline void SetTemplateDescription(const char* value) { m_templateDescriptionHasBeenSet = true; m_templateDescription.assign(value); } 314 315 /** 316 * <p>The description of the template.</p> 317 */ WithTemplateDescription(const Aws::String & value)318 inline InAppTemplateRequest& WithTemplateDescription(const Aws::String& value) { SetTemplateDescription(value); return *this;} 319 320 /** 321 * <p>The description of the template.</p> 322 */ WithTemplateDescription(Aws::String && value)323 inline InAppTemplateRequest& WithTemplateDescription(Aws::String&& value) { SetTemplateDescription(std::move(value)); return *this;} 324 325 /** 326 * <p>The description of the template.</p> 327 */ WithTemplateDescription(const char * value)328 inline InAppTemplateRequest& WithTemplateDescription(const char* value) { SetTemplateDescription(value); return *this;} 329 330 private: 331 332 Aws::Vector<InAppMessageContent> m_content; 333 bool m_contentHasBeenSet; 334 335 Aws::Map<Aws::String, Aws::String> m_customConfig; 336 bool m_customConfigHasBeenSet; 337 338 Layout m_layout; 339 bool m_layoutHasBeenSet; 340 341 Aws::Map<Aws::String, Aws::String> m_tags; 342 bool m_tagsHasBeenSet; 343 344 Aws::String m_templateDescription; 345 bool m_templateDescriptionHasBeenSet; 346 }; 347 348 } // namespace Model 349 } // namespace Pinpoint 350 } // namespace Aws 351