AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ToolConfiguration.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/Tool.h>
9#include <aws/bedrock-runtime/model/ToolChoice.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace BedrockRuntime {
22namespace Model {
23
34 public:
35 AWS_BEDROCKRUNTIME_API ToolConfiguration() = default;
38 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::Vector<Tool>& GetTools() const { return m_tools; }
45 inline bool ToolsHasBeenSet() const { return m_toolsHasBeenSet; }
46 template <typename ToolsT = Aws::Vector<Tool>>
47 void SetTools(ToolsT&& value) {
48 m_toolsHasBeenSet = true;
49 m_tools = std::forward<ToolsT>(value);
50 }
51 template <typename ToolsT = Aws::Vector<Tool>>
53 SetTools(std::forward<ToolsT>(value));
54 return *this;
55 }
56 template <typename ToolsT = Tool>
58 m_toolsHasBeenSet = true;
59 m_tools.emplace_back(std::forward<ToolsT>(value));
60 return *this;
61 }
63
65
68 inline const ToolChoice& GetToolChoice() const { return m_toolChoice; }
69 inline bool ToolChoiceHasBeenSet() const { return m_toolChoiceHasBeenSet; }
70 template <typename ToolChoiceT = ToolChoice>
71 void SetToolChoice(ToolChoiceT&& value) {
72 m_toolChoiceHasBeenSet = true;
73 m_toolChoice = std::forward<ToolChoiceT>(value);
74 }
75 template <typename ToolChoiceT = ToolChoice>
77 SetToolChoice(std::forward<ToolChoiceT>(value));
78 return *this;
79 }
81 private:
82 Aws::Vector<Tool> m_tools;
83
84 ToolChoice m_toolChoice;
85 bool m_toolsHasBeenSet = false;
86 bool m_toolChoiceHasBeenSet = false;
87};
88
89} // namespace Model
90} // namespace BedrockRuntime
91} // namespace Aws
ToolConfiguration & WithToolChoice(ToolChoiceT &&value)
AWS_BEDROCKRUNTIME_API ToolConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKRUNTIME_API ToolConfiguration()=default
ToolConfiguration & AddTools(ToolsT &&value)
AWS_BEDROCKRUNTIME_API ToolConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
ToolConfiguration & WithTools(ToolsT &&value)
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Tool > & GetTools() const
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue