AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
ToolSpecification.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/ToolInputSchema.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace BedrockRuntime {
21namespace Model {
22
32 public:
33 AWS_BEDROCKRUNTIME_API ToolSpecification() = default;
36 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template <typename NameT = Aws::String>
45 void SetName(NameT&& value) {
46 m_nameHasBeenSet = true;
47 m_name = std::forward<NameT>(value);
48 }
49 template <typename NameT = Aws::String>
51 SetName(std::forward<NameT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetDescription() const { return m_description; }
61 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
62 template <typename DescriptionT = Aws::String>
64 m_descriptionHasBeenSet = true;
65 m_description = std::forward<DescriptionT>(value);
66 }
67 template <typename DescriptionT = Aws::String>
69 SetDescription(std::forward<DescriptionT>(value));
70 return *this;
71 }
73
75
78 inline const ToolInputSchema& GetInputSchema() const { return m_inputSchema; }
79 inline bool InputSchemaHasBeenSet() const { return m_inputSchemaHasBeenSet; }
80 template <typename InputSchemaT = ToolInputSchema>
82 m_inputSchemaHasBeenSet = true;
83 m_inputSchema = std::forward<InputSchemaT>(value);
84 }
85 template <typename InputSchemaT = ToolInputSchema>
87 SetInputSchema(std::forward<InputSchemaT>(value));
88 return *this;
89 }
91
93
96 inline bool GetStrict() const { return m_strict; }
97 inline bool StrictHasBeenSet() const { return m_strictHasBeenSet; }
98 inline void SetStrict(bool value) {
99 m_strictHasBeenSet = true;
100 m_strict = value;
101 }
102 inline ToolSpecification& WithStrict(bool value) {
103 SetStrict(value);
104 return *this;
105 }
107 private:
108 Aws::String m_name;
109
110 Aws::String m_description;
111
112 ToolInputSchema m_inputSchema;
113
114 bool m_strict{false};
115 bool m_nameHasBeenSet = false;
116 bool m_descriptionHasBeenSet = false;
117 bool m_inputSchemaHasBeenSet = false;
118 bool m_strictHasBeenSet = false;
119};
120
121} // namespace Model
122} // namespace BedrockRuntime
123} // namespace Aws
AWS_BEDROCKRUNTIME_API ToolSpecification(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BEDROCKRUNTIME_API ToolSpecification()=default
ToolSpecification & WithName(NameT &&value)
ToolSpecification & WithDescription(DescriptionT &&value)
const ToolInputSchema & GetInputSchema() const
ToolSpecification & WithInputSchema(InputSchemaT &&value)
AWS_BEDROCKRUNTIME_API ToolSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
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