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/lex/LexRuntimeService_EXPORTS.h> 8 #include <aws/lex/LexRuntimeServiceRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSMap.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/lex/model/ActiveContext.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace LexRuntimeService 18 { 19 namespace Model 20 { 21 22 /** 23 */ 24 class AWS_LEXRUNTIMESERVICE_API PostTextRequest : public LexRuntimeServiceRequest 25 { 26 public: 27 PostTextRequest(); 28 29 // Service request name is the Operation name which will send this request out, 30 // each operation should has unique request name, so that we can get operation's name from this request. 31 // Note: this is not true for response, multiple operations may have the same response name, 32 // so we can not get operation's name from response. GetServiceRequestName()33 inline virtual const char* GetServiceRequestName() const override { return "PostText"; } 34 35 Aws::String SerializePayload() const override; 36 37 38 /** 39 * <p>The name of the Amazon Lex bot.</p> 40 */ GetBotName()41 inline const Aws::String& GetBotName() const{ return m_botName; } 42 43 /** 44 * <p>The name of the Amazon Lex bot.</p> 45 */ BotNameHasBeenSet()46 inline bool BotNameHasBeenSet() const { return m_botNameHasBeenSet; } 47 48 /** 49 * <p>The name of the Amazon Lex bot.</p> 50 */ SetBotName(const Aws::String & value)51 inline void SetBotName(const Aws::String& value) { m_botNameHasBeenSet = true; m_botName = value; } 52 53 /** 54 * <p>The name of the Amazon Lex bot.</p> 55 */ SetBotName(Aws::String && value)56 inline void SetBotName(Aws::String&& value) { m_botNameHasBeenSet = true; m_botName = std::move(value); } 57 58 /** 59 * <p>The name of the Amazon Lex bot.</p> 60 */ SetBotName(const char * value)61 inline void SetBotName(const char* value) { m_botNameHasBeenSet = true; m_botName.assign(value); } 62 63 /** 64 * <p>The name of the Amazon Lex bot.</p> 65 */ WithBotName(const Aws::String & value)66 inline PostTextRequest& WithBotName(const Aws::String& value) { SetBotName(value); return *this;} 67 68 /** 69 * <p>The name of the Amazon Lex bot.</p> 70 */ WithBotName(Aws::String && value)71 inline PostTextRequest& WithBotName(Aws::String&& value) { SetBotName(std::move(value)); return *this;} 72 73 /** 74 * <p>The name of the Amazon Lex bot.</p> 75 */ WithBotName(const char * value)76 inline PostTextRequest& WithBotName(const char* value) { SetBotName(value); return *this;} 77 78 79 /** 80 * <p>The alias of the Amazon Lex bot.</p> 81 */ GetBotAlias()82 inline const Aws::String& GetBotAlias() const{ return m_botAlias; } 83 84 /** 85 * <p>The alias of the Amazon Lex bot.</p> 86 */ BotAliasHasBeenSet()87 inline bool BotAliasHasBeenSet() const { return m_botAliasHasBeenSet; } 88 89 /** 90 * <p>The alias of the Amazon Lex bot.</p> 91 */ SetBotAlias(const Aws::String & value)92 inline void SetBotAlias(const Aws::String& value) { m_botAliasHasBeenSet = true; m_botAlias = value; } 93 94 /** 95 * <p>The alias of the Amazon Lex bot.</p> 96 */ SetBotAlias(Aws::String && value)97 inline void SetBotAlias(Aws::String&& value) { m_botAliasHasBeenSet = true; m_botAlias = std::move(value); } 98 99 /** 100 * <p>The alias of the Amazon Lex bot.</p> 101 */ SetBotAlias(const char * value)102 inline void SetBotAlias(const char* value) { m_botAliasHasBeenSet = true; m_botAlias.assign(value); } 103 104 /** 105 * <p>The alias of the Amazon Lex bot.</p> 106 */ WithBotAlias(const Aws::String & value)107 inline PostTextRequest& WithBotAlias(const Aws::String& value) { SetBotAlias(value); return *this;} 108 109 /** 110 * <p>The alias of the Amazon Lex bot.</p> 111 */ WithBotAlias(Aws::String && value)112 inline PostTextRequest& WithBotAlias(Aws::String&& value) { SetBotAlias(std::move(value)); return *this;} 113 114 /** 115 * <p>The alias of the Amazon Lex bot.</p> 116 */ WithBotAlias(const char * value)117 inline PostTextRequest& WithBotAlias(const char* value) { SetBotAlias(value); return *this;} 118 119 120 /** 121 * <p>The ID of the client application user. Amazon Lex uses this to identify a 122 * user's conversation with your bot. At runtime, each request must contain the 123 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 124 * application, consider the following factors.</p> <ul> <li> <p>The 125 * <code>userID</code> field must not contain any personally identifiable 126 * information of the user, for example, name, personal identification numbers, or 127 * other end user personal information.</p> </li> <li> <p>If you want a user to 128 * start a conversation on one device and continue on another device, use a 129 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 130 * to have two independent conversations on two different devices, choose a 131 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 132 * conversations with two different versions of the same bot. For example, a user 133 * can't have a conversation with the PROD and BETA versions of the same bot. If 134 * you anticipate that a user will need to have conversation with two different 135 * versions, for example, while testing, include the bot alias in the user ID to 136 * separate the two conversations.</p> </li> </ul> 137 */ GetUserId()138 inline const Aws::String& GetUserId() const{ return m_userId; } 139 140 /** 141 * <p>The ID of the client application user. Amazon Lex uses this to identify a 142 * user's conversation with your bot. At runtime, each request must contain the 143 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 144 * application, consider the following factors.</p> <ul> <li> <p>The 145 * <code>userID</code> field must not contain any personally identifiable 146 * information of the user, for example, name, personal identification numbers, or 147 * other end user personal information.</p> </li> <li> <p>If you want a user to 148 * start a conversation on one device and continue on another device, use a 149 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 150 * to have two independent conversations on two different devices, choose a 151 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 152 * conversations with two different versions of the same bot. For example, a user 153 * can't have a conversation with the PROD and BETA versions of the same bot. If 154 * you anticipate that a user will need to have conversation with two different 155 * versions, for example, while testing, include the bot alias in the user ID to 156 * separate the two conversations.</p> </li> </ul> 157 */ UserIdHasBeenSet()158 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } 159 160 /** 161 * <p>The ID of the client application user. Amazon Lex uses this to identify a 162 * user's conversation with your bot. At runtime, each request must contain the 163 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 164 * application, consider the following factors.</p> <ul> <li> <p>The 165 * <code>userID</code> field must not contain any personally identifiable 166 * information of the user, for example, name, personal identification numbers, or 167 * other end user personal information.</p> </li> <li> <p>If you want a user to 168 * start a conversation on one device and continue on another device, use a 169 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 170 * to have two independent conversations on two different devices, choose a 171 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 172 * conversations with two different versions of the same bot. For example, a user 173 * can't have a conversation with the PROD and BETA versions of the same bot. If 174 * you anticipate that a user will need to have conversation with two different 175 * versions, for example, while testing, include the bot alias in the user ID to 176 * separate the two conversations.</p> </li> </ul> 177 */ SetUserId(const Aws::String & value)178 inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } 179 180 /** 181 * <p>The ID of the client application user. Amazon Lex uses this to identify a 182 * user's conversation with your bot. At runtime, each request must contain the 183 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 184 * application, consider the following factors.</p> <ul> <li> <p>The 185 * <code>userID</code> field must not contain any personally identifiable 186 * information of the user, for example, name, personal identification numbers, or 187 * other end user personal information.</p> </li> <li> <p>If you want a user to 188 * start a conversation on one device and continue on another device, use a 189 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 190 * to have two independent conversations on two different devices, choose a 191 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 192 * conversations with two different versions of the same bot. For example, a user 193 * can't have a conversation with the PROD and BETA versions of the same bot. If 194 * you anticipate that a user will need to have conversation with two different 195 * versions, for example, while testing, include the bot alias in the user ID to 196 * separate the two conversations.</p> </li> </ul> 197 */ SetUserId(Aws::String && value)198 inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } 199 200 /** 201 * <p>The ID of the client application user. Amazon Lex uses this to identify a 202 * user's conversation with your bot. At runtime, each request must contain the 203 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 204 * application, consider the following factors.</p> <ul> <li> <p>The 205 * <code>userID</code> field must not contain any personally identifiable 206 * information of the user, for example, name, personal identification numbers, or 207 * other end user personal information.</p> </li> <li> <p>If you want a user to 208 * start a conversation on one device and continue on another device, use a 209 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 210 * to have two independent conversations on two different devices, choose a 211 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 212 * conversations with two different versions of the same bot. For example, a user 213 * can't have a conversation with the PROD and BETA versions of the same bot. If 214 * you anticipate that a user will need to have conversation with two different 215 * versions, for example, while testing, include the bot alias in the user ID to 216 * separate the two conversations.</p> </li> </ul> 217 */ SetUserId(const char * value)218 inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } 219 220 /** 221 * <p>The ID of the client application user. Amazon Lex uses this to identify a 222 * user's conversation with your bot. At runtime, each request must contain the 223 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 224 * application, consider the following factors.</p> <ul> <li> <p>The 225 * <code>userID</code> field must not contain any personally identifiable 226 * information of the user, for example, name, personal identification numbers, or 227 * other end user personal information.</p> </li> <li> <p>If you want a user to 228 * start a conversation on one device and continue on another device, use a 229 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 230 * to have two independent conversations on two different devices, choose a 231 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 232 * conversations with two different versions of the same bot. For example, a user 233 * can't have a conversation with the PROD and BETA versions of the same bot. If 234 * you anticipate that a user will need to have conversation with two different 235 * versions, for example, while testing, include the bot alias in the user ID to 236 * separate the two conversations.</p> </li> </ul> 237 */ WithUserId(const Aws::String & value)238 inline PostTextRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} 239 240 /** 241 * <p>The ID of the client application user. Amazon Lex uses this to identify a 242 * user's conversation with your bot. At runtime, each request must contain the 243 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 244 * application, consider the following factors.</p> <ul> <li> <p>The 245 * <code>userID</code> field must not contain any personally identifiable 246 * information of the user, for example, name, personal identification numbers, or 247 * other end user personal information.</p> </li> <li> <p>If you want a user to 248 * start a conversation on one device and continue on another device, use a 249 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 250 * to have two independent conversations on two different devices, choose a 251 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 252 * conversations with two different versions of the same bot. For example, a user 253 * can't have a conversation with the PROD and BETA versions of the same bot. If 254 * you anticipate that a user will need to have conversation with two different 255 * versions, for example, while testing, include the bot alias in the user ID to 256 * separate the two conversations.</p> </li> </ul> 257 */ WithUserId(Aws::String && value)258 inline PostTextRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} 259 260 /** 261 * <p>The ID of the client application user. Amazon Lex uses this to identify a 262 * user's conversation with your bot. At runtime, each request must contain the 263 * <code>userID</code> field.</p> <p>To decide the user ID to use for your 264 * application, consider the following factors.</p> <ul> <li> <p>The 265 * <code>userID</code> field must not contain any personally identifiable 266 * information of the user, for example, name, personal identification numbers, or 267 * other end user personal information.</p> </li> <li> <p>If you want a user to 268 * start a conversation on one device and continue on another device, use a 269 * user-specific identifier.</p> </li> <li> <p>If you want the same user to be able 270 * to have two independent conversations on two different devices, choose a 271 * device-specific identifier.</p> </li> <li> <p>A user can't have two independent 272 * conversations with two different versions of the same bot. For example, a user 273 * can't have a conversation with the PROD and BETA versions of the same bot. If 274 * you anticipate that a user will need to have conversation with two different 275 * versions, for example, while testing, include the bot alias in the user ID to 276 * separate the two conversations.</p> </li> </ul> 277 */ WithUserId(const char * value)278 inline PostTextRequest& WithUserId(const char* value) { SetUserId(value); return *this;} 279 280 281 /** 282 * <p>Application-specific information passed between Amazon Lex and a client 283 * application.</p> <p>For more information, see <a 284 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 285 * Session Attributes</a>.</p> 286 */ GetSessionAttributes()287 inline const Aws::Map<Aws::String, Aws::String>& GetSessionAttributes() const{ return m_sessionAttributes; } 288 289 /** 290 * <p>Application-specific information passed between Amazon Lex and a client 291 * application.</p> <p>For more information, see <a 292 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 293 * Session Attributes</a>.</p> 294 */ SessionAttributesHasBeenSet()295 inline bool SessionAttributesHasBeenSet() const { return m_sessionAttributesHasBeenSet; } 296 297 /** 298 * <p>Application-specific information passed between Amazon Lex and a client 299 * application.</p> <p>For more information, see <a 300 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 301 * Session Attributes</a>.</p> 302 */ SetSessionAttributes(const Aws::Map<Aws::String,Aws::String> & value)303 inline void SetSessionAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = value; } 304 305 /** 306 * <p>Application-specific information passed between Amazon Lex and a client 307 * application.</p> <p>For more information, see <a 308 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 309 * Session Attributes</a>.</p> 310 */ SetSessionAttributes(Aws::Map<Aws::String,Aws::String> && value)311 inline void SetSessionAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = std::move(value); } 312 313 /** 314 * <p>Application-specific information passed between Amazon Lex and a client 315 * application.</p> <p>For more information, see <a 316 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 317 * Session Attributes</a>.</p> 318 */ WithSessionAttributes(const Aws::Map<Aws::String,Aws::String> & value)319 inline PostTextRequest& WithSessionAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetSessionAttributes(value); return *this;} 320 321 /** 322 * <p>Application-specific information passed between Amazon Lex and a client 323 * application.</p> <p>For more information, see <a 324 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 325 * Session Attributes</a>.</p> 326 */ WithSessionAttributes(Aws::Map<Aws::String,Aws::String> && value)327 inline PostTextRequest& WithSessionAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetSessionAttributes(std::move(value)); return *this;} 328 329 /** 330 * <p>Application-specific information passed between Amazon Lex and a client 331 * application.</p> <p>For more information, see <a 332 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 333 * Session Attributes</a>.</p> 334 */ AddSessionAttributes(const Aws::String & key,const Aws::String & value)335 inline PostTextRequest& AddSessionAttributes(const Aws::String& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } 336 337 /** 338 * <p>Application-specific information passed between Amazon Lex and a client 339 * application.</p> <p>For more information, see <a 340 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 341 * Session Attributes</a>.</p> 342 */ AddSessionAttributes(Aws::String && key,const Aws::String & value)343 inline PostTextRequest& AddSessionAttributes(Aws::String&& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } 344 345 /** 346 * <p>Application-specific information passed between Amazon Lex and a client 347 * application.</p> <p>For more information, see <a 348 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 349 * Session Attributes</a>.</p> 350 */ AddSessionAttributes(const Aws::String & key,Aws::String && value)351 inline PostTextRequest& AddSessionAttributes(const Aws::String& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } 352 353 /** 354 * <p>Application-specific information passed between Amazon Lex and a client 355 * application.</p> <p>For more information, see <a 356 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 357 * Session Attributes</a>.</p> 358 */ AddSessionAttributes(Aws::String && key,Aws::String && value)359 inline PostTextRequest& AddSessionAttributes(Aws::String&& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), std::move(value)); return *this; } 360 361 /** 362 * <p>Application-specific information passed between Amazon Lex and a client 363 * application.</p> <p>For more information, see <a 364 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 365 * Session Attributes</a>.</p> 366 */ AddSessionAttributes(const char * key,Aws::String && value)367 inline PostTextRequest& AddSessionAttributes(const char* key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } 368 369 /** 370 * <p>Application-specific information passed between Amazon Lex and a client 371 * application.</p> <p>For more information, see <a 372 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 373 * Session Attributes</a>.</p> 374 */ AddSessionAttributes(Aws::String && key,const char * value)375 inline PostTextRequest& AddSessionAttributes(Aws::String&& key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } 376 377 /** 378 * <p>Application-specific information passed between Amazon Lex and a client 379 * application.</p> <p>For more information, see <a 380 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs">Setting 381 * Session Attributes</a>.</p> 382 */ AddSessionAttributes(const char * key,const char * value)383 inline PostTextRequest& AddSessionAttributes(const char* key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } 384 385 386 /** 387 * <p>Request-specific information passed between Amazon Lex and a client 388 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 389 * special attributes. Don't create any request attributes with the prefix 390 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 391 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 392 * Request Attributes</a>.</p> 393 */ GetRequestAttributes()394 inline const Aws::Map<Aws::String, Aws::String>& GetRequestAttributes() const{ return m_requestAttributes; } 395 396 /** 397 * <p>Request-specific information passed between Amazon Lex and a client 398 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 399 * special attributes. Don't create any request attributes with the prefix 400 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 401 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 402 * Request Attributes</a>.</p> 403 */ RequestAttributesHasBeenSet()404 inline bool RequestAttributesHasBeenSet() const { return m_requestAttributesHasBeenSet; } 405 406 /** 407 * <p>Request-specific information passed between Amazon Lex and a client 408 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 409 * special attributes. Don't create any request attributes with the prefix 410 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 411 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 412 * Request Attributes</a>.</p> 413 */ SetRequestAttributes(const Aws::Map<Aws::String,Aws::String> & value)414 inline void SetRequestAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = value; } 415 416 /** 417 * <p>Request-specific information passed between Amazon Lex and a client 418 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 419 * special attributes. Don't create any request attributes with the prefix 420 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 421 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 422 * Request Attributes</a>.</p> 423 */ SetRequestAttributes(Aws::Map<Aws::String,Aws::String> && value)424 inline void SetRequestAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = std::move(value); } 425 426 /** 427 * <p>Request-specific information passed between Amazon Lex and a client 428 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 429 * special attributes. Don't create any request attributes with the prefix 430 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 431 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 432 * Request Attributes</a>.</p> 433 */ WithRequestAttributes(const Aws::Map<Aws::String,Aws::String> & value)434 inline PostTextRequest& WithRequestAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetRequestAttributes(value); return *this;} 435 436 /** 437 * <p>Request-specific information passed between Amazon Lex and a client 438 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 439 * special attributes. Don't create any request attributes with the prefix 440 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 441 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 442 * Request Attributes</a>.</p> 443 */ WithRequestAttributes(Aws::Map<Aws::String,Aws::String> && value)444 inline PostTextRequest& WithRequestAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetRequestAttributes(std::move(value)); return *this;} 445 446 /** 447 * <p>Request-specific information passed between Amazon Lex and a client 448 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 449 * special attributes. Don't create any request attributes with the prefix 450 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 451 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 452 * Request Attributes</a>.</p> 453 */ AddRequestAttributes(const Aws::String & key,const Aws::String & value)454 inline PostTextRequest& AddRequestAttributes(const Aws::String& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } 455 456 /** 457 * <p>Request-specific information passed between Amazon Lex and a client 458 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 459 * special attributes. Don't create any request attributes with the prefix 460 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 461 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 462 * Request Attributes</a>.</p> 463 */ AddRequestAttributes(Aws::String && key,const Aws::String & value)464 inline PostTextRequest& AddRequestAttributes(Aws::String&& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } 465 466 /** 467 * <p>Request-specific information passed between Amazon Lex and a client 468 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 469 * special attributes. Don't create any request attributes with the prefix 470 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 471 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 472 * Request Attributes</a>.</p> 473 */ AddRequestAttributes(const Aws::String & key,Aws::String && value)474 inline PostTextRequest& AddRequestAttributes(const Aws::String& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } 475 476 /** 477 * <p>Request-specific information passed between Amazon Lex and a client 478 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 479 * special attributes. Don't create any request attributes with the prefix 480 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 481 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 482 * Request Attributes</a>.</p> 483 */ AddRequestAttributes(Aws::String && key,Aws::String && value)484 inline PostTextRequest& AddRequestAttributes(Aws::String&& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), std::move(value)); return *this; } 485 486 /** 487 * <p>Request-specific information passed between Amazon Lex and a client 488 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 489 * special attributes. Don't create any request attributes with the prefix 490 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 491 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 492 * Request Attributes</a>.</p> 493 */ AddRequestAttributes(const char * key,Aws::String && value)494 inline PostTextRequest& AddRequestAttributes(const char* key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } 495 496 /** 497 * <p>Request-specific information passed between Amazon Lex and a client 498 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 499 * special attributes. Don't create any request attributes with the prefix 500 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 501 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 502 * Request Attributes</a>.</p> 503 */ AddRequestAttributes(Aws::String && key,const char * value)504 inline PostTextRequest& AddRequestAttributes(Aws::String&& key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } 505 506 /** 507 * <p>Request-specific information passed between Amazon Lex and a client 508 * application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for 509 * special attributes. Don't create any request attributes with the prefix 510 * <code>x-amz-lex:</code>.</p> <p>For more information, see <a 511 * href="https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs">Setting 512 * Request Attributes</a>.</p> 513 */ AddRequestAttributes(const char * key,const char * value)514 inline PostTextRequest& AddRequestAttributes(const char* key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } 515 516 517 /** 518 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 519 */ GetInputText()520 inline const Aws::String& GetInputText() const{ return m_inputText; } 521 522 /** 523 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 524 */ InputTextHasBeenSet()525 inline bool InputTextHasBeenSet() const { return m_inputTextHasBeenSet; } 526 527 /** 528 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 529 */ SetInputText(const Aws::String & value)530 inline void SetInputText(const Aws::String& value) { m_inputTextHasBeenSet = true; m_inputText = value; } 531 532 /** 533 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 534 */ SetInputText(Aws::String && value)535 inline void SetInputText(Aws::String&& value) { m_inputTextHasBeenSet = true; m_inputText = std::move(value); } 536 537 /** 538 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 539 */ SetInputText(const char * value)540 inline void SetInputText(const char* value) { m_inputTextHasBeenSet = true; m_inputText.assign(value); } 541 542 /** 543 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 544 */ WithInputText(const Aws::String & value)545 inline PostTextRequest& WithInputText(const Aws::String& value) { SetInputText(value); return *this;} 546 547 /** 548 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 549 */ WithInputText(Aws::String && value)550 inline PostTextRequest& WithInputText(Aws::String&& value) { SetInputText(std::move(value)); return *this;} 551 552 /** 553 * <p>The text that the user entered (Amazon Lex interprets this text).</p> 554 */ WithInputText(const char * value)555 inline PostTextRequest& WithInputText(const char* value) { SetInputText(value); return *this;} 556 557 558 /** 559 * <p>A list of contexts active for the request. A context can be activated when a 560 * previous intent is fulfilled, or by including the context in the request,</p> 561 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 562 * of contexts for the session. If you specify an empty list, all contexts for the 563 * session are cleared.</p> 564 */ GetActiveContexts()565 inline const Aws::Vector<ActiveContext>& GetActiveContexts() const{ return m_activeContexts; } 566 567 /** 568 * <p>A list of contexts active for the request. A context can be activated when a 569 * previous intent is fulfilled, or by including the context in the request,</p> 570 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 571 * of contexts for the session. If you specify an empty list, all contexts for the 572 * session are cleared.</p> 573 */ ActiveContextsHasBeenSet()574 inline bool ActiveContextsHasBeenSet() const { return m_activeContextsHasBeenSet; } 575 576 /** 577 * <p>A list of contexts active for the request. A context can be activated when a 578 * previous intent is fulfilled, or by including the context in the request,</p> 579 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 580 * of contexts for the session. If you specify an empty list, all contexts for the 581 * session are cleared.</p> 582 */ SetActiveContexts(const Aws::Vector<ActiveContext> & value)583 inline void SetActiveContexts(const Aws::Vector<ActiveContext>& value) { m_activeContextsHasBeenSet = true; m_activeContexts = value; } 584 585 /** 586 * <p>A list of contexts active for the request. A context can be activated when a 587 * previous intent is fulfilled, or by including the context in the request,</p> 588 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 589 * of contexts for the session. If you specify an empty list, all contexts for the 590 * session are cleared.</p> 591 */ SetActiveContexts(Aws::Vector<ActiveContext> && value)592 inline void SetActiveContexts(Aws::Vector<ActiveContext>&& value) { m_activeContextsHasBeenSet = true; m_activeContexts = std::move(value); } 593 594 /** 595 * <p>A list of contexts active for the request. A context can be activated when a 596 * previous intent is fulfilled, or by including the context in the request,</p> 597 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 598 * of contexts for the session. If you specify an empty list, all contexts for the 599 * session are cleared.</p> 600 */ WithActiveContexts(const Aws::Vector<ActiveContext> & value)601 inline PostTextRequest& WithActiveContexts(const Aws::Vector<ActiveContext>& value) { SetActiveContexts(value); return *this;} 602 603 /** 604 * <p>A list of contexts active for the request. A context can be activated when a 605 * previous intent is fulfilled, or by including the context in the request,</p> 606 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 607 * of contexts for the session. If you specify an empty list, all contexts for the 608 * session are cleared.</p> 609 */ WithActiveContexts(Aws::Vector<ActiveContext> && value)610 inline PostTextRequest& WithActiveContexts(Aws::Vector<ActiveContext>&& value) { SetActiveContexts(std::move(value)); return *this;} 611 612 /** 613 * <p>A list of contexts active for the request. A context can be activated when a 614 * previous intent is fulfilled, or by including the context in the request,</p> 615 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 616 * of contexts for the session. If you specify an empty list, all contexts for the 617 * session are cleared.</p> 618 */ AddActiveContexts(const ActiveContext & value)619 inline PostTextRequest& AddActiveContexts(const ActiveContext& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(value); return *this; } 620 621 /** 622 * <p>A list of contexts active for the request. A context can be activated when a 623 * previous intent is fulfilled, or by including the context in the request,</p> 624 * <p>If you don't specify a list of contexts, Amazon Lex will use the current list 625 * of contexts for the session. If you specify an empty list, all contexts for the 626 * session are cleared.</p> 627 */ AddActiveContexts(ActiveContext && value)628 inline PostTextRequest& AddActiveContexts(ActiveContext&& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(std::move(value)); return *this; } 629 630 private: 631 632 Aws::String m_botName; 633 bool m_botNameHasBeenSet; 634 635 Aws::String m_botAlias; 636 bool m_botAliasHasBeenSet; 637 638 Aws::String m_userId; 639 bool m_userIdHasBeenSet; 640 641 Aws::Map<Aws::String, Aws::String> m_sessionAttributes; 642 bool m_sessionAttributesHasBeenSet; 643 644 Aws::Map<Aws::String, Aws::String> m_requestAttributes; 645 bool m_requestAttributesHasBeenSet; 646 647 Aws::String m_inputText; 648 bool m_inputTextHasBeenSet; 649 650 Aws::Vector<ActiveContext> m_activeContexts; 651 bool m_activeContextsHasBeenSet; 652 }; 653 654 } // namespace Model 655 } // namespace LexRuntimeService 656 } // namespace Aws 657