AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
FlowNode.h
1
6#pragma once
7#include <aws/bedrock-agent/BedrockAgent_EXPORTS.h>
8#include <aws/bedrock-agent/model/FlowNodeInput.h>
9#include <aws/bedrock-agent/model/FlowNodeOutput.h>
10#include <aws/bedrock-agent/model/FlowNodeType.h>
11#include <aws/core/utils/memory/stl/AWSAllocator.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace BedrockAgent {
25namespace Model {
26class FlowNodeConfiguration;
27
34class FlowNode {
35 public:
36 AWS_BEDROCKAGENT_API FlowNode() = default;
39 AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
65 inline FlowNodeType GetType() const { return m_type; }
66 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
67 inline void SetType(FlowNodeType value) {
68 m_typeHasBeenSet = true;
69 m_type = value;
70 }
72 SetType(value);
73 return *this;
74 }
76
78
81 inline const FlowNodeConfiguration& GetConfiguration() const { return *m_configuration; }
82 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
83 template <typename ConfigurationT = FlowNodeConfiguration>
85 m_configurationHasBeenSet = true;
86 m_configuration = Aws::MakeShared<FlowNodeConfiguration>("FlowNode", std::forward<ConfigurationT>(value));
87 }
88 template <typename ConfigurationT = FlowNodeConfiguration>
90 SetConfiguration(std::forward<ConfigurationT>(value));
91 return *this;
92 }
94
96
100 inline const Aws::Vector<FlowNodeInput>& GetInputs() const { return m_inputs; }
101 inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; }
102 template <typename InputsT = Aws::Vector<FlowNodeInput>>
103 void SetInputs(InputsT&& value) {
104 m_inputsHasBeenSet = true;
105 m_inputs = std::forward<InputsT>(value);
106 }
107 template <typename InputsT = Aws::Vector<FlowNodeInput>>
109 SetInputs(std::forward<InputsT>(value));
110 return *this;
111 }
112 template <typename InputsT = FlowNodeInput>
114 m_inputsHasBeenSet = true;
115 m_inputs.emplace_back(std::forward<InputsT>(value));
116 return *this;
117 }
119
121
125 inline const Aws::Vector<FlowNodeOutput>& GetOutputs() const { return m_outputs; }
126 inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; }
127 template <typename OutputsT = Aws::Vector<FlowNodeOutput>>
128 void SetOutputs(OutputsT&& value) {
129 m_outputsHasBeenSet = true;
130 m_outputs = std::forward<OutputsT>(value);
131 }
132 template <typename OutputsT = Aws::Vector<FlowNodeOutput>>
134 SetOutputs(std::forward<OutputsT>(value));
135 return *this;
136 }
137 template <typename OutputsT = FlowNodeOutput>
139 m_outputsHasBeenSet = true;
140 m_outputs.emplace_back(std::forward<OutputsT>(value));
141 return *this;
142 }
144 private:
145 Aws::String m_name;
146
148
149 std::shared_ptr<FlowNodeConfiguration> m_configuration;
150
152
154 bool m_nameHasBeenSet = false;
155 bool m_typeHasBeenSet = false;
156 bool m_configurationHasBeenSet = false;
157 bool m_inputsHasBeenSet = false;
158 bool m_outputsHasBeenSet = false;
159};
160
161} // namespace Model
162} // namespace BedrockAgent
163} // namespace Aws
const FlowNodeConfiguration & GetConfiguration() const
Definition FlowNode.h:81
const Aws::String & GetName() const
Definition FlowNode.h:45
void SetInputs(InputsT &&value)
Definition FlowNode.h:103
void SetConfiguration(ConfigurationT &&value)
Definition FlowNode.h:84
FlowNode & AddInputs(InputsT &&value)
Definition FlowNode.h:113
FlowNode & WithOutputs(OutputsT &&value)
Definition FlowNode.h:133
FlowNodeType GetType() const
Definition FlowNode.h:65
void SetOutputs(OutputsT &&value)
Definition FlowNode.h:128
void SetType(FlowNodeType value)
Definition FlowNode.h:67
AWS_BEDROCKAGENT_API FlowNode & operator=(Aws::Utils::Json::JsonView jsonValue)
FlowNode & WithName(NameT &&value)
Definition FlowNode.h:53
AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BEDROCKAGENT_API FlowNode()=default
const Aws::Vector< FlowNodeInput > & GetInputs() const
Definition FlowNode.h:100
const Aws::Vector< FlowNodeOutput > & GetOutputs() const
Definition FlowNode.h:125
FlowNode & WithInputs(InputsT &&value)
Definition FlowNode.h:108
FlowNode & AddOutputs(OutputsT &&value)
Definition FlowNode.h:138
FlowNode & WithType(FlowNodeType value)
Definition FlowNode.h:71
void SetName(NameT &&value)
Definition FlowNode.h:48
AWS_BEDROCKAGENT_API FlowNode(Aws::Utils::Json::JsonView jsonValue)
FlowNode & WithConfiguration(ConfigurationT &&value)
Definition FlowNode.h:89
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue