AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
IntentClosingSetting.h
1
6#pragma once
7#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
8#include <aws/lexv2-models/model/ConditionalSpecification.h>
9#include <aws/lexv2-models/model/DialogState.h>
10#include <aws/lexv2-models/model/ResponseSpecification.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace LexModelsV2 {
22namespace Model {
23
31 public:
32 AWS_LEXMODELSV2_API IntentClosingSetting() = default;
33 AWS_LEXMODELSV2_API IntentClosingSetting(Aws::Utils::Json::JsonView jsonValue);
35 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const ResponseSpecification& GetClosingResponse() const { return m_closingResponse; }
43 inline bool ClosingResponseHasBeenSet() const { return m_closingResponseHasBeenSet; }
44 template <typename ClosingResponseT = ResponseSpecification>
45 void SetClosingResponse(ClosingResponseT&& value) {
46 m_closingResponseHasBeenSet = true;
47 m_closingResponse = std::forward<ClosingResponseT>(value);
48 }
49 template <typename ClosingResponseT = ResponseSpecification>
50 IntentClosingSetting& WithClosingResponse(ClosingResponseT&& value) {
51 SetClosingResponse(std::forward<ClosingResponseT>(value));
52 return *this;
53 }
55
57
62 inline bool GetActive() const { return m_active; }
63 inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; }
64 inline void SetActive(bool value) {
65 m_activeHasBeenSet = true;
66 m_active = value;
67 }
68 inline IntentClosingSetting& WithActive(bool value) {
69 SetActive(value);
70 return *this;
71 }
73
75
79 inline const DialogState& GetNextStep() const { return m_nextStep; }
80 inline bool NextStepHasBeenSet() const { return m_nextStepHasBeenSet; }
81 template <typename NextStepT = DialogState>
82 void SetNextStep(NextStepT&& value) {
83 m_nextStepHasBeenSet = true;
84 m_nextStep = std::forward<NextStepT>(value);
85 }
86 template <typename NextStepT = DialogState>
87 IntentClosingSetting& WithNextStep(NextStepT&& value) {
88 SetNextStep(std::forward<NextStepT>(value));
89 return *this;
90 }
92
94
99 inline const ConditionalSpecification& GetConditional() const { return m_conditional; }
100 inline bool ConditionalHasBeenSet() const { return m_conditionalHasBeenSet; }
101 template <typename ConditionalT = ConditionalSpecification>
102 void SetConditional(ConditionalT&& value) {
103 m_conditionalHasBeenSet = true;
104 m_conditional = std::forward<ConditionalT>(value);
105 }
106 template <typename ConditionalT = ConditionalSpecification>
107 IntentClosingSetting& WithConditional(ConditionalT&& value) {
108 SetConditional(std::forward<ConditionalT>(value));
109 return *this;
110 }
112 private:
113 ResponseSpecification m_closingResponse;
114
115 bool m_active{false};
116
117 DialogState m_nextStep;
118
119 ConditionalSpecification m_conditional;
120 bool m_closingResponseHasBeenSet = false;
121 bool m_activeHasBeenSet = false;
122 bool m_nextStepHasBeenSet = false;
123 bool m_conditionalHasBeenSet = false;
124};
125
126} // namespace Model
127} // namespace LexModelsV2
128} // 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