AWS SDK for C++

AWS SDK for C++ Version 1.11.686

Loading...
Searching...
No Matches
ToolChoice.h
1
6#pragma once
7#include <aws/bedrock-agent/BedrockAgent_EXPORTS.h>
8#include <aws/bedrock-agent/model/AnyToolChoice.h>
9#include <aws/bedrock-agent/model/AutoToolChoice.h>
10#include <aws/bedrock-agent/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 BedrockAgent {
22namespace Model {
23
34 public:
35 AWS_BEDROCKAGENT_API ToolChoice() = default;
36 AWS_BEDROCKAGENT_API ToolChoice(Aws::Utils::Json::JsonView jsonValue);
37 AWS_BEDROCKAGENT_API ToolChoice& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
45 inline const AutoToolChoice& GetAuto() const { return m_auto; }
46 inline bool AutoHasBeenSet() const { return m_autoHasBeenSet; }
47 template <typename AutoT = AutoToolChoice>
48 void SetAuto(AutoT&& value) {
49 m_autoHasBeenSet = true;
50 m_auto = std::forward<AutoT>(value);
51 }
52 template <typename AutoT = AutoToolChoice>
53 ToolChoice& WithAuto(AutoT&& value) {
54 SetAuto(std::forward<AutoT>(value));
55 return *this;
56 }
58
60
65 inline const AnyToolChoice& GetAny() const { return m_any; }
66 inline bool AnyHasBeenSet() const { return m_anyHasBeenSet; }
67 template <typename AnyT = AnyToolChoice>
68 void SetAny(AnyT&& value) {
69 m_anyHasBeenSet = true;
70 m_any = std::forward<AnyT>(value);
71 }
72 template <typename AnyT = AnyToolChoice>
73 ToolChoice& WithAny(AnyT&& value) {
74 SetAny(std::forward<AnyT>(value));
75 return *this;
76 }
78
80
85 inline const SpecificToolChoice& GetTool() const { return m_tool; }
86 inline bool ToolHasBeenSet() const { return m_toolHasBeenSet; }
87 template <typename ToolT = SpecificToolChoice>
88 void SetTool(ToolT&& value) {
89 m_toolHasBeenSet = true;
90 m_tool = std::forward<ToolT>(value);
91 }
92 template <typename ToolT = SpecificToolChoice>
93 ToolChoice& WithTool(ToolT&& value) {
94 SetTool(std::forward<ToolT>(value));
95 return *this;
96 }
98 private:
99 AutoToolChoice m_auto;
100 bool m_autoHasBeenSet = false;
101
102 AnyToolChoice m_any;
103 bool m_anyHasBeenSet = false;
104
105 SpecificToolChoice m_tool;
106 bool m_toolHasBeenSet = false;
107};
108
109} // namespace Model
110} // namespace BedrockAgent
111} // namespace Aws
AWS_BEDROCKAGENT_API ToolChoice & operator=(Aws::Utils::Json::JsonView jsonValue)
ToolChoice & WithTool(ToolT &&value)
Definition ToolChoice.h:93
const AnyToolChoice & GetAny() const
Definition ToolChoice.h:65
ToolChoice & WithAuto(AutoT &&value)
Definition ToolChoice.h:53
const SpecificToolChoice & GetTool() const
Definition ToolChoice.h:85
const AutoToolChoice & GetAuto() const
Definition ToolChoice.h:45
AWS_BEDROCKAGENT_API ToolChoice()=default
AWS_BEDROCKAGENT_API ToolChoice(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const
ToolChoice & WithAny(AnyT &&value)
Definition ToolChoice.h:73
Aws::Utils::Json::JsonValue JsonValue