AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
Tool.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/CachePointBlock.h>
9#include <aws/bedrock-runtime/model/SystemTool.h>
10#include <aws/bedrock-runtime/model/ToolSpecification.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
33class Tool {
34 public:
35 AWS_BEDROCKRUNTIME_API Tool() = default;
36 AWS_BEDROCKRUNTIME_API Tool(Aws::Utils::Json::JsonView jsonValue);
38 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const ToolSpecification& GetToolSpec() const { return m_toolSpec; }
45 inline bool ToolSpecHasBeenSet() const { return m_toolSpecHasBeenSet; }
46 template <typename ToolSpecT = ToolSpecification>
47 void SetToolSpec(ToolSpecT&& value) {
48 m_toolSpecHasBeenSet = true;
49 m_toolSpec = std::forward<ToolSpecT>(value);
50 }
51 template <typename ToolSpecT = ToolSpecification>
53 SetToolSpec(std::forward<ToolSpecT>(value));
54 return *this;
55 }
57
59
62 inline const SystemTool& GetSystemTool() const { return m_systemTool; }
63 inline bool SystemToolHasBeenSet() const { return m_systemToolHasBeenSet; }
64 template <typename SystemToolT = SystemTool>
65 void SetSystemTool(SystemToolT&& value) {
66 m_systemToolHasBeenSet = true;
67 m_systemTool = std::forward<SystemToolT>(value);
68 }
69 template <typename SystemToolT = SystemTool>
71 SetSystemTool(std::forward<SystemToolT>(value));
72 return *this;
73 }
75
77
80 inline const CachePointBlock& GetCachePoint() const { return m_cachePoint; }
81 inline bool CachePointHasBeenSet() const { return m_cachePointHasBeenSet; }
82 template <typename CachePointT = CachePointBlock>
83 void SetCachePoint(CachePointT&& value) {
84 m_cachePointHasBeenSet = true;
85 m_cachePoint = std::forward<CachePointT>(value);
86 }
87 template <typename CachePointT = CachePointBlock>
89 SetCachePoint(std::forward<CachePointT>(value));
90 return *this;
91 }
93 private:
94 ToolSpecification m_toolSpec;
95
96 SystemTool m_systemTool;
97
98 CachePointBlock m_cachePoint;
99 bool m_toolSpecHasBeenSet = false;
100 bool m_systemToolHasBeenSet = false;
101 bool m_cachePointHasBeenSet = false;
102};
103
104} // namespace Model
105} // namespace BedrockRuntime
106} // namespace Aws
void SetCachePoint(CachePointT &&value)
Definition Tool.h:83
void SetSystemTool(SystemToolT &&value)
Definition Tool.h:65
void SetToolSpec(ToolSpecT &&value)
Definition Tool.h:47
Tool & WithSystemTool(SystemToolT &&value)
Definition Tool.h:70
Tool & WithToolSpec(ToolSpecT &&value)
Definition Tool.h:52
AWS_BEDROCKRUNTIME_API Tool()=default
AWS_BEDROCKRUNTIME_API Tool & operator=(Aws::Utils::Json::JsonView jsonValue)
Tool & WithCachePoint(CachePointT &&value)
Definition Tool.h:88
bool ToolSpecHasBeenSet() const
Definition Tool.h:45
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BEDROCKRUNTIME_API Tool(Aws::Utils::Json::JsonView jsonValue)
const ToolSpecification & GetToolSpec() const
Definition Tool.h:44
const CachePointBlock & GetCachePoint() const
Definition Tool.h:80
bool SystemToolHasBeenSet() const
Definition Tool.h:63
const SystemTool & GetSystemTool() const
Definition Tool.h:62
bool CachePointHasBeenSet() const
Definition Tool.h:81
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue