7#include <aws/bedrock-agent/BedrockAgent_EXPORTS.h>
8#include <aws/bedrock-agent/model/AgentFlowNodeConfiguration.h>
9#include <aws/bedrock-agent/model/CollectorFlowNodeConfiguration.h>
10#include <aws/bedrock-agent/model/ConditionFlowNodeConfiguration.h>
11#include <aws/bedrock-agent/model/InlineCodeFlowNodeConfiguration.h>
12#include <aws/bedrock-agent/model/InputFlowNodeConfiguration.h>
13#include <aws/bedrock-agent/model/IteratorFlowNodeConfiguration.h>
14#include <aws/bedrock-agent/model/KnowledgeBaseFlowNodeConfiguration.h>
15#include <aws/bedrock-agent/model/LambdaFunctionFlowNodeConfiguration.h>
16#include <aws/bedrock-agent/model/LexFlowNodeConfiguration.h>
17#include <aws/bedrock-agent/model/LoopControllerFlowNodeConfiguration.h>
18#include <aws/bedrock-agent/model/LoopInputFlowNodeConfiguration.h>
19#include <aws/bedrock-agent/model/OutputFlowNodeConfiguration.h>
20#include <aws/bedrock-agent/model/PromptFlowNodeConfiguration.h>
21#include <aws/bedrock-agent/model/RetrievalFlowNodeConfiguration.h>
22#include <aws/bedrock-agent/model/StorageFlowNodeConfiguration.h>
23#include <aws/core/utils/memory/stl/AWSAllocator.h>
40 class LoopFlowNodeConfiguration;
66 template<
typename AgentT = AgentFlowNodeConfiguration>
67 void SetAgent(AgentT&& value) { m_agentHasBeenSet =
true; m_agent = std::forward<AgentT>(value); }
68 template<
typename AgentT = AgentFlowNodeConfiguration>
79 template<
typename CollectorT = CollectorFlowNodeConfiguration>
80 void SetCollector(CollectorT&& value) { m_collectorHasBeenSet =
true; m_collector = std::forward<CollectorT>(value); }
81 template<
typename CollectorT = CollectorFlowNodeConfiguration>
92 template<
typename ConditionT = ConditionFlowNodeConfiguration>
93 void SetCondition(ConditionT&& value) { m_conditionHasBeenSet =
true; m_condition = std::forward<ConditionT>(value); }
94 template<
typename ConditionT = ConditionFlowNodeConfiguration>
107 template<
typename InlineCodeT = InlineCodeFlowNodeConfiguration>
108 void SetInlineCode(InlineCodeT&& value) { m_inlineCodeHasBeenSet =
true; m_inlineCode = std::forward<InlineCodeT>(value); }
109 template<
typename InlineCodeT = InlineCodeFlowNodeConfiguration>
120 template<
typename InputT = InputFlowNodeConfiguration>
121 void SetInput(InputT&& value) { m_inputHasBeenSet =
true; m_input = std::forward<InputT>(value); }
122 template<
typename InputT = InputFlowNodeConfiguration>
137 template<
typename IteratorT = IteratorFlowNodeConfiguration>
138 void SetIterator(IteratorT&& value) { m_iteratorHasBeenSet =
true; m_iterator = std::forward<IteratorT>(value); }
139 template<
typename IteratorT = IteratorFlowNodeConfiguration>
150 template<
typename KnowledgeBaseT = KnowledgeBaseFlowNodeConfiguration>
151 void SetKnowledgeBase(KnowledgeBaseT&& value) { m_knowledgeBaseHasBeenSet =
true; m_knowledgeBase = std::forward<KnowledgeBaseT>(value); }
152 template<
typename KnowledgeBaseT = KnowledgeBaseFlowNodeConfiguration>
163 template<
typename LambdaFunctionT = LambdaFunctionFlowNodeConfiguration>
164 void SetLambdaFunction(LambdaFunctionT&& value) { m_lambdaFunctionHasBeenSet =
true; m_lambdaFunction = std::forward<LambdaFunctionT>(value); }
165 template<
typename LambdaFunctionT = LambdaFunctionFlowNodeConfiguration>
176 template<
typename LexT = LexFlowNodeConfiguration>
177 void SetLex(LexT&& value) { m_lexHasBeenSet =
true; m_lex = std::forward<LexT>(value); }
178 template<
typename LexT = LexFlowNodeConfiguration>
190 template<
typename LoopT = LoopFlowNodeConfiguration>
192 m_loopHasBeenSet =
true;
193 m_loop = Aws::MakeShared<LoopFlowNodeConfiguration>(
"FlowNodeConfiguration", std::forward<LoopT>(value));
195 template<
typename LoopT = LoopFlowNodeConfiguration>
205 template<
typename LoopControllerT = LoopControllerFlowNodeConfiguration>
206 void SetLoopController(LoopControllerT&& value) { m_loopControllerHasBeenSet =
true; m_loopController = std::forward<LoopControllerT>(value); }
207 template<
typename LoopControllerT = LoopControllerFlowNodeConfiguration>
217 template<
typename LoopInputT = LoopInputFlowNodeConfiguration>
218 void SetLoopInput(LoopInputT&& value) { m_loopInputHasBeenSet =
true; m_loopInput = std::forward<LoopInputT>(value); }
219 template<
typename LoopInputT = LoopInputFlowNodeConfiguration>
230 template<
typename OutputT = OutputFlowNodeConfiguration>
231 void SetOutput(OutputT&& value) { m_outputHasBeenSet =
true; m_output = std::forward<OutputT>(value); }
232 template<
typename OutputT = OutputFlowNodeConfiguration>
244 template<
typename PromptT = PromptFlowNodeConfiguration>
245 void SetPrompt(PromptT&& value) { m_promptHasBeenSet =
true; m_prompt = std::forward<PromptT>(value); }
246 template<
typename PromptT = PromptFlowNodeConfiguration>
257 template<
typename RetrievalT = RetrievalFlowNodeConfiguration>
258 void SetRetrieval(RetrievalT&& value) { m_retrievalHasBeenSet =
true; m_retrieval = std::forward<RetrievalT>(value); }
259 template<
typename RetrievalT = RetrievalFlowNodeConfiguration>
270 template<
typename StorageT = StorageFlowNodeConfiguration>
271 void SetStorage(StorageT&& value) { m_storageHasBeenSet =
true; m_storage = std::forward<StorageT>(value); }
272 template<
typename StorageT = StorageFlowNodeConfiguration>
278 bool m_agentHasBeenSet =
false;
281 bool m_collectorHasBeenSet =
false;
284 bool m_conditionHasBeenSet =
false;
287 bool m_inlineCodeHasBeenSet =
false;
290 bool m_inputHasBeenSet =
false;
293 bool m_iteratorHasBeenSet =
false;
296 bool m_knowledgeBaseHasBeenSet =
false;
299 bool m_lambdaFunctionHasBeenSet =
false;
302 bool m_lexHasBeenSet =
false;
304 std::shared_ptr<LoopFlowNodeConfiguration> m_loop;
305 bool m_loopHasBeenSet =
false;
308 bool m_loopControllerHasBeenSet =
false;
311 bool m_loopInputHasBeenSet =
false;
314 bool m_outputHasBeenSet =
false;
317 bool m_promptHasBeenSet =
false;
320 bool m_retrievalHasBeenSet =
false;
323 bool m_storageHasBeenSet =
false;
bool LoopHasBeenSet() const
const OutputFlowNodeConfiguration & GetOutput() const
FlowNodeConfiguration & WithIterator(IteratorT &&value)
FlowNodeConfiguration & WithPrompt(PromptT &&value)
void SetCollector(CollectorT &&value)
const RetrievalFlowNodeConfiguration & GetRetrieval() const
bool ConditionHasBeenSet() const
bool LambdaFunctionHasBeenSet() const
AWS_BEDROCKAGENT_API FlowNodeConfiguration()=default
FlowNodeConfiguration & WithInlineCode(InlineCodeT &&value)
void SetLoop(LoopT &&value)
const InlineCodeFlowNodeConfiguration & GetInlineCode() const
FlowNodeConfiguration & WithLoopController(LoopControllerT &&value)
void SetAgent(AgentT &&value)
void SetKnowledgeBase(KnowledgeBaseT &&value)
FlowNodeConfiguration & WithInput(InputT &&value)
void SetIterator(IteratorT &&value)
bool LexHasBeenSet() const
bool KnowledgeBaseHasBeenSet() const
FlowNodeConfiguration & WithKnowledgeBase(KnowledgeBaseT &&value)
void SetLoopController(LoopControllerT &&value)
bool InlineCodeHasBeenSet() const
FlowNodeConfiguration & WithLoopInput(LoopInputT &&value)
const ConditionFlowNodeConfiguration & GetCondition() const
bool LoopControllerHasBeenSet() const
bool InputHasBeenSet() const
FlowNodeConfiguration & WithAgent(AgentT &&value)
FlowNodeConfiguration & WithCollector(CollectorT &&value)
const LoopFlowNodeConfiguration & GetLoop() const
void SetLex(LexT &&value)
bool OutputHasBeenSet() const
void SetLoopInput(LoopInputT &&value)
bool IteratorHasBeenSet() const
void SetPrompt(PromptT &&value)
void SetOutput(OutputT &&value)
FlowNodeConfiguration & WithOutput(OutputT &&value)
bool StorageHasBeenSet() const
const KnowledgeBaseFlowNodeConfiguration & GetKnowledgeBase() const
const CollectorFlowNodeConfiguration & GetCollector() const
void SetCondition(ConditionT &&value)
void SetInlineCode(InlineCodeT &&value)
bool CollectorHasBeenSet() const
AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const
FlowNodeConfiguration & WithStorage(StorageT &&value)
void SetStorage(StorageT &&value)
FlowNodeConfiguration & WithLoop(LoopT &&value)
const LoopInputFlowNodeConfiguration & GetLoopInput() const
void SetLambdaFunction(LambdaFunctionT &&value)
const AgentFlowNodeConfiguration & GetAgent() const
bool LoopInputHasBeenSet() const
FlowNodeConfiguration & WithRetrieval(RetrievalT &&value)
const PromptFlowNodeConfiguration & GetPrompt() const
bool RetrievalHasBeenSet() const
void SetInput(InputT &&value)
const LoopControllerFlowNodeConfiguration & GetLoopController() const
const LexFlowNodeConfiguration & GetLex() const
const LambdaFunctionFlowNodeConfiguration & GetLambdaFunction() const
FlowNodeConfiguration & WithCondition(ConditionT &&value)
const InputFlowNodeConfiguration & GetInput() const
bool AgentHasBeenSet() const
const StorageFlowNodeConfiguration & GetStorage() const
bool PromptHasBeenSet() const
AWS_BEDROCKAGENT_API FlowNodeConfiguration(Aws::Utils::Json::JsonView jsonValue)
void SetRetrieval(RetrievalT &&value)
FlowNodeConfiguration & WithLambdaFunction(LambdaFunctionT &&value)
FlowNodeConfiguration & WithLex(LexT &&value)
AWS_BEDROCKAGENT_API FlowNodeConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const IteratorFlowNodeConfiguration & GetIterator() const
Aws::Utils::Json::JsonValue JsonValue