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/lexv2-models/LexModelsV2_EXPORTS.h> 8 #include <aws/lexv2-models/model/ResponseSpecification.h> 9 #include <aws/lexv2-models/model/StillWaitingResponseSpecification.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 LexModelsV2 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies the prompts that Amazon Lex uses while a bot is waiting for 29 * customer input. </p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/WaitAndContinueSpecification">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_LEXMODELSV2_API WaitAndContinueSpecification 34 { 35 public: 36 WaitAndContinueSpecification(); 37 WaitAndContinueSpecification(Aws::Utils::Json::JsonView jsonValue); 38 WaitAndContinueSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 44 * the conversation to continue.</p> 45 */ GetWaitingResponse()46 inline const ResponseSpecification& GetWaitingResponse() const{ return m_waitingResponse; } 47 48 /** 49 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 50 * the conversation to continue.</p> 51 */ WaitingResponseHasBeenSet()52 inline bool WaitingResponseHasBeenSet() const { return m_waitingResponseHasBeenSet; } 53 54 /** 55 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 56 * the conversation to continue.</p> 57 */ SetWaitingResponse(const ResponseSpecification & value)58 inline void SetWaitingResponse(const ResponseSpecification& value) { m_waitingResponseHasBeenSet = true; m_waitingResponse = value; } 59 60 /** 61 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 62 * the conversation to continue.</p> 63 */ SetWaitingResponse(ResponseSpecification && value)64 inline void SetWaitingResponse(ResponseSpecification&& value) { m_waitingResponseHasBeenSet = true; m_waitingResponse = std::move(value); } 65 66 /** 67 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 68 * the conversation to continue.</p> 69 */ WithWaitingResponse(const ResponseSpecification & value)70 inline WaitAndContinueSpecification& WithWaitingResponse(const ResponseSpecification& value) { SetWaitingResponse(value); return *this;} 71 72 /** 73 * <p>The response that Amazon Lex sends to indicate that the bot is waiting for 74 * the conversation to continue.</p> 75 */ WithWaitingResponse(ResponseSpecification && value)76 inline WaitAndContinueSpecification& WithWaitingResponse(ResponseSpecification&& value) { SetWaitingResponse(std::move(value)); return *this;} 77 78 79 /** 80 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 81 * continue the conversation.</p> 82 */ GetContinueResponse()83 inline const ResponseSpecification& GetContinueResponse() const{ return m_continueResponse; } 84 85 /** 86 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 87 * continue the conversation.</p> 88 */ ContinueResponseHasBeenSet()89 inline bool ContinueResponseHasBeenSet() const { return m_continueResponseHasBeenSet; } 90 91 /** 92 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 93 * continue the conversation.</p> 94 */ SetContinueResponse(const ResponseSpecification & value)95 inline void SetContinueResponse(const ResponseSpecification& value) { m_continueResponseHasBeenSet = true; m_continueResponse = value; } 96 97 /** 98 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 99 * continue the conversation.</p> 100 */ SetContinueResponse(ResponseSpecification && value)101 inline void SetContinueResponse(ResponseSpecification&& value) { m_continueResponseHasBeenSet = true; m_continueResponse = std::move(value); } 102 103 /** 104 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 105 * continue the conversation.</p> 106 */ WithContinueResponse(const ResponseSpecification & value)107 inline WaitAndContinueSpecification& WithContinueResponse(const ResponseSpecification& value) { SetContinueResponse(value); return *this;} 108 109 /** 110 * <p>The response that Amazon Lex sends to indicate that the bot is ready to 111 * continue the conversation.</p> 112 */ WithContinueResponse(ResponseSpecification && value)113 inline WaitAndContinueSpecification& WithContinueResponse(ResponseSpecification&& value) { SetContinueResponse(std::move(value)); return *this;} 114 115 116 /** 117 * <p>A response that Amazon Lex sends periodically to the user to indicate that 118 * the bot is still waiting for input from the user.</p> 119 */ GetStillWaitingResponse()120 inline const StillWaitingResponseSpecification& GetStillWaitingResponse() const{ return m_stillWaitingResponse; } 121 122 /** 123 * <p>A response that Amazon Lex sends periodically to the user to indicate that 124 * the bot is still waiting for input from the user.</p> 125 */ StillWaitingResponseHasBeenSet()126 inline bool StillWaitingResponseHasBeenSet() const { return m_stillWaitingResponseHasBeenSet; } 127 128 /** 129 * <p>A response that Amazon Lex sends periodically to the user to indicate that 130 * the bot is still waiting for input from the user.</p> 131 */ SetStillWaitingResponse(const StillWaitingResponseSpecification & value)132 inline void SetStillWaitingResponse(const StillWaitingResponseSpecification& value) { m_stillWaitingResponseHasBeenSet = true; m_stillWaitingResponse = value; } 133 134 /** 135 * <p>A response that Amazon Lex sends periodically to the user to indicate that 136 * the bot is still waiting for input from the user.</p> 137 */ SetStillWaitingResponse(StillWaitingResponseSpecification && value)138 inline void SetStillWaitingResponse(StillWaitingResponseSpecification&& value) { m_stillWaitingResponseHasBeenSet = true; m_stillWaitingResponse = std::move(value); } 139 140 /** 141 * <p>A response that Amazon Lex sends periodically to the user to indicate that 142 * the bot is still waiting for input from the user.</p> 143 */ WithStillWaitingResponse(const StillWaitingResponseSpecification & value)144 inline WaitAndContinueSpecification& WithStillWaitingResponse(const StillWaitingResponseSpecification& value) { SetStillWaitingResponse(value); return *this;} 145 146 /** 147 * <p>A response that Amazon Lex sends periodically to the user to indicate that 148 * the bot is still waiting for input from the user.</p> 149 */ WithStillWaitingResponse(StillWaitingResponseSpecification && value)150 inline WaitAndContinueSpecification& WithStillWaitingResponse(StillWaitingResponseSpecification&& value) { SetStillWaitingResponse(std::move(value)); return *this;} 151 152 153 /** 154 * <p>Specifies whether the bot will wait for a user to respond. When this field is 155 * false, wait and continue responses for a slot aren't used. If the 156 * <code>active</code> field isn't specified, the default is true.</p> 157 */ GetActive()158 inline bool GetActive() const{ return m_active; } 159 160 /** 161 * <p>Specifies whether the bot will wait for a user to respond. When this field is 162 * false, wait and continue responses for a slot aren't used. If the 163 * <code>active</code> field isn't specified, the default is true.</p> 164 */ ActiveHasBeenSet()165 inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; } 166 167 /** 168 * <p>Specifies whether the bot will wait for a user to respond. When this field is 169 * false, wait and continue responses for a slot aren't used. If the 170 * <code>active</code> field isn't specified, the default is true.</p> 171 */ SetActive(bool value)172 inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; } 173 174 /** 175 * <p>Specifies whether the bot will wait for a user to respond. When this field is 176 * false, wait and continue responses for a slot aren't used. If the 177 * <code>active</code> field isn't specified, the default is true.</p> 178 */ WithActive(bool value)179 inline WaitAndContinueSpecification& WithActive(bool value) { SetActive(value); return *this;} 180 181 private: 182 183 ResponseSpecification m_waitingResponse; 184 bool m_waitingResponseHasBeenSet; 185 186 ResponseSpecification m_continueResponse; 187 bool m_continueResponseHasBeenSet; 188 189 StillWaitingResponseSpecification m_stillWaitingResponse; 190 bool m_stillWaitingResponseHasBeenSet; 191 192 bool m_active; 193 bool m_activeHasBeenSet; 194 }; 195 196 } // namespace Model 197 } // namespace LexModelsV2 198 } // namespace Aws 199