AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ToolChoice.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/AnyToolChoice.h>
9#include <aws/bedrock-runtime/model/AutoToolChoice.h>
10#include <aws/bedrock-runtime/model/SpecificToolChoice.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 ToolChoice() = default;
39 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const AutoToolChoice& GetAuto() const { return m_auto; }
47 inline bool AutoHasBeenSet() const { return m_autoHasBeenSet; }
48 template <typename AutoT = AutoToolChoice>
49 void SetAuto(AutoT&& value) {
50 m_autoHasBeenSet = true;
51 m_auto = std::forward<AutoT>(value);
52 }
53 template <typename AutoT = AutoToolChoice>
55 SetAuto(std::forward<AutoT>(value));
56 return *this;
57 }
59
61
64 inline const AnyToolChoice& GetAny() const { return m_any; }
65 inline bool AnyHasBeenSet() const { return m_anyHasBeenSet; }
66 template <typename AnyT = AnyToolChoice>
67 void SetAny(AnyT&& value) {
68 m_anyHasBeenSet = true;
69 m_any = std::forward<AnyT>(value);
70 }
71 template <typename AnyT = AnyToolChoice>
73 SetAny(std::forward<AnyT>(value));
74 return *this;
75 }
77
79
83 inline const SpecificToolChoice& GetTool() const { return m_tool; }
84 inline bool ToolHasBeenSet() const { return m_toolHasBeenSet; }
85 template <typename ToolT = SpecificToolChoice>
86 void SetTool(ToolT&& value) {
87 m_toolHasBeenSet = true;
88 m_tool = std::forward<ToolT>(value);
89 }
90 template <typename ToolT = SpecificToolChoice>
92 SetTool(std::forward<ToolT>(value));
93 return *this;
94 }
96 private:
97 AutoToolChoice m_auto;
98
99 AnyToolChoice m_any;
100
101 SpecificToolChoice m_tool;
102 bool m_autoHasBeenSet = false;
103 bool m_anyHasBeenSet = false;
104 bool m_toolHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace BedrockRuntime
109} // namespace Aws
ToolChoice & WithTool(ToolT &&value)
Definition ToolChoice.h:91
AWS_BEDROCKRUNTIME_API ToolChoice()=default
const AutoToolChoice & GetAuto() const
Definition ToolChoice.h:46
ToolChoice & WithAuto(AutoT &&value)
Definition ToolChoice.h:54
ToolChoice & WithAny(AnyT &&value)
Definition ToolChoice.h:72
AWS_BEDROCKRUNTIME_API ToolChoice(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKRUNTIME_API ToolChoice & operator=(Aws::Utils::Json::JsonView jsonValue)
const SpecificToolChoice & GetTool() const
Definition ToolChoice.h:83
const AnyToolChoice & GetAny() const
Definition ToolChoice.h:64
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue