AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ToolUseBlock.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/ToolUseType.h>
9#include <aws/core/utils/Document.h>
10#include <aws/core/utils/memory/stl/AWSString.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
35 public:
36 AWS_BEDROCKRUNTIME_API ToolUseBlock() = default;
39 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetToolUseId() const { return m_toolUseId; }
46 inline bool ToolUseIdHasBeenSet() const { return m_toolUseIdHasBeenSet; }
47 template <typename ToolUseIdT = Aws::String>
48 void SetToolUseId(ToolUseIdT&& value) {
49 m_toolUseIdHasBeenSet = true;
50 m_toolUseId = std::forward<ToolUseIdT>(value);
51 }
52 template <typename ToolUseIdT = Aws::String>
54 SetToolUseId(std::forward<ToolUseIdT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
81 inline Aws::Utils::DocumentView GetInput() const { return m_input; }
82 inline bool InputHasBeenSet() const { return m_inputHasBeenSet; }
83 template <typename InputT = Aws::Utils::Document>
84 void SetInput(InputT&& value) {
85 m_inputHasBeenSet = true;
86 m_input = std::forward<InputT>(value);
87 }
88 template <typename InputT = Aws::Utils::Document>
90 SetInput(std::forward<InputT>(value));
91 return *this;
92 }
94
96
99 inline ToolUseType GetType() const { return m_type; }
100 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
101 inline void SetType(ToolUseType value) {
102 m_typeHasBeenSet = true;
103 m_type = value;
104 }
106 SetType(value);
107 return *this;
108 }
110 private:
111 Aws::String m_toolUseId;
112
113 Aws::String m_name;
114
115 Aws::Utils::Document m_input;
116
118 bool m_toolUseIdHasBeenSet = false;
119 bool m_nameHasBeenSet = false;
120 bool m_inputHasBeenSet = false;
121 bool m_typeHasBeenSet = false;
122};
123
124} // namespace Model
125} // namespace BedrockRuntime
126} // namespace Aws
AWS_BEDROCKRUNTIME_API ToolUseBlock & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKRUNTIME_API ToolUseBlock()=default
ToolUseBlock & WithName(NameT &&value)
ToolUseBlock & WithToolUseId(ToolUseIdT &&value)
Aws::Utils::DocumentView GetInput() const
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
ToolUseBlock & WithType(ToolUseType value)
AWS_BEDROCKRUNTIME_API ToolUseBlock(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetToolUseId() const
void SetToolUseId(ToolUseIdT &&value)
const Aws::String & GetName() const
ToolUseBlock & WithInput(InputT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue