AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
ConditionalBranch.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
9#include <aws/lexv2-models/model/Condition.h>
10#include <aws/lexv2-models/model/DialogState.h>
11#include <aws/lexv2-models/model/ResponseSpecification.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace LexModelsV2 {
23namespace Model {
24
32 public:
33 AWS_LEXMODELSV2_API ConditionalBranch() = default;
34 AWS_LEXMODELSV2_API ConditionalBranch(Aws::Utils::Json::JsonView jsonValue);
36 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template <typename NameT = Aws::String>
45 void SetName(NameT&& value) {
46 m_nameHasBeenSet = true;
47 m_name = std::forward<NameT>(value);
48 }
49 template <typename NameT = Aws::String>
50 ConditionalBranch& WithName(NameT&& value) {
51 SetName(std::forward<NameT>(value));
52 return *this;
53 }
55
57
61 inline const Condition& GetCondition() const { return m_condition; }
62 inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; }
63 template <typename ConditionT = Condition>
64 void SetCondition(ConditionT&& value) {
65 m_conditionHasBeenSet = true;
66 m_condition = std::forward<ConditionT>(value);
67 }
68 template <typename ConditionT = Condition>
69 ConditionalBranch& WithCondition(ConditionT&& value) {
70 SetCondition(std::forward<ConditionT>(value));
71 return *this;
72 }
74
76
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 ConditionalBranch& WithNextStep(NextStepT&& value) {
88 SetNextStep(std::forward<NextStepT>(value));
89 return *this;
90 }
92
94
95 inline const ResponseSpecification& GetResponse() const { return m_response; }
96 inline bool ResponseHasBeenSet() const { return m_responseHasBeenSet; }
97 template <typename ResponseT = ResponseSpecification>
98 void SetResponse(ResponseT&& value) {
99 m_responseHasBeenSet = true;
100 m_response = std::forward<ResponseT>(value);
101 }
102 template <typename ResponseT = ResponseSpecification>
103 ConditionalBranch& WithResponse(ResponseT&& value) {
104 SetResponse(std::forward<ResponseT>(value));
105 return *this;
106 }
108 private:
109 Aws::String m_name;
110
111 Condition m_condition;
112
113 DialogState m_nextStep;
114
115 ResponseSpecification m_response;
116 bool m_nameHasBeenSet = false;
117 bool m_conditionHasBeenSet = false;
118 bool m_nextStepHasBeenSet = false;
119 bool m_responseHasBeenSet = false;
120};
121
122} // namespace Model
123} // namespace LexModelsV2
124} // namespace Aws
AWS_LEXMODELSV2_API ConditionalBranch(Aws::Utils::Json::JsonView jsonValue)
ConditionalBranch & WithNextStep(NextStepT &&value)
ConditionalBranch & WithName(NameT &&value)
ConditionalBranch & WithResponse(ResponseT &&value)
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
ConditionalBranch & WithCondition(ConditionT &&value)
const ResponseSpecification & GetResponse() const
AWS_LEXMODELSV2_API ConditionalBranch & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXMODELSV2_API ConditionalBranch()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue