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>
34namespace BedrockAgent {
36class LoopFlowNodeConfiguration;
60 template <
typename InputT = InputFlowNodeConfiguration>
62 m_inputHasBeenSet =
true;
63 m_input = std::forward<InputT>(value);
65 template <
typename InputT = InputFlowNodeConfiguration>
67 SetInput(std::forward<InputT>(value));
79 template <
typename OutputT = OutputFlowNodeConfiguration>
81 m_outputHasBeenSet =
true;
82 m_output = std::forward<OutputT>(value);
84 template <
typename OutputT = OutputFlowNodeConfiguration>
98 template <
typename KnowledgeBaseT = KnowledgeBaseFlowNodeConfiguration>
100 m_knowledgeBaseHasBeenSet =
true;
101 m_knowledgeBase = std::forward<KnowledgeBaseT>(value);
103 template <
typename KnowledgeBaseT = KnowledgeBaseFlowNodeConfiguration>
117 template <
typename ConditionT = ConditionFlowNodeConfiguration>
119 m_conditionHasBeenSet =
true;
120 m_condition = std::forward<ConditionT>(value);
122 template <
typename ConditionT = ConditionFlowNodeConfiguration>
136 template <
typename LexT = LexFlowNodeConfiguration>
138 m_lexHasBeenSet =
true;
139 m_lex = std::forward<LexT>(value);
141 template <
typename LexT = LexFlowNodeConfiguration>
143 SetLex(std::forward<LexT>(value));
156 template <
typename PromptT = PromptFlowNodeConfiguration>
158 m_promptHasBeenSet =
true;
159 m_prompt = std::forward<PromptT>(value);
161 template <
typename PromptT = PromptFlowNodeConfiguration>
175 template <
typename LambdaFunctionT = LambdaFunctionFlowNodeConfiguration>
177 m_lambdaFunctionHasBeenSet =
true;
178 m_lambdaFunction = std::forward<LambdaFunctionT>(value);
180 template <
typename LambdaFunctionT = LambdaFunctionFlowNodeConfiguration>
194 template <
typename StorageT = StorageFlowNodeConfiguration>
196 m_storageHasBeenSet =
true;
197 m_storage = std::forward<StorageT>(value);
199 template <
typename StorageT = StorageFlowNodeConfiguration>
213 template <
typename AgentT = AgentFlowNodeConfiguration>
215 m_agentHasBeenSet =
true;
216 m_agent = std::forward<AgentT>(value);
218 template <
typename AgentT = AgentFlowNodeConfiguration>
220 SetAgent(std::forward<AgentT>(value));
232 template <
typename RetrievalT = RetrievalFlowNodeConfiguration>
234 m_retrievalHasBeenSet =
true;
235 m_retrieval = std::forward<RetrievalT>(value);
237 template <
typename RetrievalT = RetrievalFlowNodeConfiguration>
255 template <
typename IteratorT = IteratorFlowNodeConfiguration>
257 m_iteratorHasBeenSet =
true;
258 m_iterator = std::forward<IteratorT>(value);
260 template <
typename IteratorT = IteratorFlowNodeConfiguration>
274 template <
typename CollectorT = CollectorFlowNodeConfiguration>
276 m_collectorHasBeenSet =
true;
277 m_collector = std::forward<CollectorT>(value);
279 template <
typename CollectorT = CollectorFlowNodeConfiguration>
295 template <
typename InlineCodeT = InlineCodeFlowNodeConfiguration>
297 m_inlineCodeHasBeenSet =
true;
298 m_inlineCode = std::forward<InlineCodeT>(value);
300 template <
typename InlineCodeT = InlineCodeFlowNodeConfiguration>
313 template <
typename LoopT = LoopFlowNodeConfiguration>
315 m_loopHasBeenSet =
true;
318 template <
typename LoopT = LoopFlowNodeConfiguration>
320 SetLoop(std::forward<LoopT>(value));
331 template <
typename LoopInputT = LoopInputFlowNodeConfiguration>
333 m_loopInputHasBeenSet =
true;
334 m_loopInput = std::forward<LoopInputT>(value);
336 template <
typename LoopInputT = LoopInputFlowNodeConfiguration>
349 template <
typename LoopControllerT = LoopControllerFlowNodeConfiguration>
351 m_loopControllerHasBeenSet =
true;
352 m_loopController = std::forward<LoopControllerT>(value);
354 template <
typename LoopControllerT = LoopControllerFlowNodeConfiguration>
387 std::shared_ptr<LoopFlowNodeConfiguration> m_loop;
392 bool m_inputHasBeenSet =
false;
393 bool m_outputHasBeenSet =
false;
394 bool m_knowledgeBaseHasBeenSet =
false;
395 bool m_conditionHasBeenSet =
false;
396 bool m_lexHasBeenSet =
false;
397 bool m_promptHasBeenSet =
false;
398 bool m_lambdaFunctionHasBeenSet =
false;
399 bool m_storageHasBeenSet =
false;
400 bool m_agentHasBeenSet =
false;
401 bool m_retrievalHasBeenSet =
false;
402 bool m_iteratorHasBeenSet =
false;
403 bool m_collectorHasBeenSet =
false;
404 bool m_inlineCodeHasBeenSet =
false;
405 bool m_loopHasBeenSet =
false;
406 bool m_loopInputHasBeenSet =
false;
407 bool m_loopControllerHasBeenSet =
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
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue