AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
IntentClosingSetting.h
1
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/DialogState.h>
10#include <aws/lexv2-models/model/ConditionalSpecification.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LexModelsV2
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_LEXMODELSV2_API IntentClosingSetting() = default;
38 AWS_LEXMODELSV2_API IntentClosingSetting(Aws::Utils::Json::JsonView jsonValue);
40 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
48 inline const ResponseSpecification& GetClosingResponse() const { return m_closingResponse; }
49 inline bool ClosingResponseHasBeenSet() const { return m_closingResponseHasBeenSet; }
50 template<typename ClosingResponseT = ResponseSpecification>
51 void SetClosingResponse(ClosingResponseT&& value) { m_closingResponseHasBeenSet = true; m_closingResponse = std::forward<ClosingResponseT>(value); }
52 template<typename ClosingResponseT = ResponseSpecification>
53 IntentClosingSetting& WithClosingResponse(ClosingResponseT&& value) { SetClosingResponse(std::forward<ClosingResponseT>(value)); return *this;}
55
57
62 inline bool GetActive() const { return m_active; }
63 inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; }
64 inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; }
65 inline IntentClosingSetting& WithActive(bool value) { SetActive(value); return *this;}
67
69
73 inline const DialogState& GetNextStep() const { return m_nextStep; }
74 inline bool NextStepHasBeenSet() const { return m_nextStepHasBeenSet; }
75 template<typename NextStepT = DialogState>
76 void SetNextStep(NextStepT&& value) { m_nextStepHasBeenSet = true; m_nextStep = std::forward<NextStepT>(value); }
77 template<typename NextStepT = DialogState>
78 IntentClosingSetting& WithNextStep(NextStepT&& value) { SetNextStep(std::forward<NextStepT>(value)); return *this;}
80
82
87 inline const ConditionalSpecification& GetConditional() const { return m_conditional; }
88 inline bool ConditionalHasBeenSet() const { return m_conditionalHasBeenSet; }
89 template<typename ConditionalT = ConditionalSpecification>
90 void SetConditional(ConditionalT&& value) { m_conditionalHasBeenSet = true; m_conditional = std::forward<ConditionalT>(value); }
91 template<typename ConditionalT = ConditionalSpecification>
92 IntentClosingSetting& WithConditional(ConditionalT&& value) { SetConditional(std::forward<ConditionalT>(value)); return *this;}
94 private:
95
96 ResponseSpecification m_closingResponse;
97 bool m_closingResponseHasBeenSet = false;
98
99 bool m_active{false};
100 bool m_activeHasBeenSet = false;
101
102 DialogState m_nextStep;
103 bool m_nextStepHasBeenSet = false;
104
105 ConditionalSpecification m_conditional;
106 bool m_conditionalHasBeenSet = false;
107 };
108
109} // namespace Model
110} // namespace LexModelsV2
111} // namespace Aws
AWS_LEXMODELSV2_API IntentClosingSetting()=default
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
IntentClosingSetting & WithNextStep(NextStepT &&value)
IntentClosingSetting & WithActive(bool value)
void SetClosingResponse(ClosingResponseT &&value)
const ConditionalSpecification & GetConditional() const
AWS_LEXMODELSV2_API IntentClosingSetting & operator=(Aws::Utils::Json::JsonView jsonValue)
IntentClosingSetting & WithClosingResponse(ClosingResponseT &&value)
AWS_LEXMODELSV2_API IntentClosingSetting(Aws::Utils::Json::JsonView jsonValue)
IntentClosingSetting & WithConditional(ConditionalT &&value)
const ResponseSpecification & GetClosingResponse() const
Aws::Utils::Json::JsonValue JsonValue