AWS SDK for C++

AWS SDK for C++ Version 1.11.610

Loading...
Searching...
No Matches
ToolChoice.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/AutoToolChoice.h>
9#include <aws/bedrock-runtime/model/AnyToolChoice.h>
10#include <aws/bedrock-runtime/model/SpecificToolChoice.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace BedrockRuntime
24{
25namespace Model
26{
27
37 {
38 public:
39 AWS_BEDROCKRUNTIME_API ToolChoice() = default;
40 AWS_BEDROCKRUNTIME_API ToolChoice(Aws::Utils::Json::JsonView jsonValue);
41 AWS_BEDROCKRUNTIME_API ToolChoice& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline const AutoToolChoice& GetAuto() const { return m_auto; }
51 inline bool AutoHasBeenSet() const { return m_autoHasBeenSet; }
52 template<typename AutoT = AutoToolChoice>
53 void SetAuto(AutoT&& value) { m_autoHasBeenSet = true; m_auto = std::forward<AutoT>(value); }
54 template<typename AutoT = AutoToolChoice>
55 ToolChoice& WithAuto(AutoT&& value) { SetAuto(std::forward<AutoT>(value)); return *this;}
57
59
62 inline const AnyToolChoice& GetAny() const { return m_any; }
63 inline bool AnyHasBeenSet() const { return m_anyHasBeenSet; }
64 template<typename AnyT = AnyToolChoice>
65 void SetAny(AnyT&& value) { m_anyHasBeenSet = true; m_any = std::forward<AnyT>(value); }
66 template<typename AnyT = AnyToolChoice>
67 ToolChoice& WithAny(AnyT&& value) { SetAny(std::forward<AnyT>(value)); return *this;}
69
71
75 inline const SpecificToolChoice& GetTool() const { return m_tool; }
76 inline bool ToolHasBeenSet() const { return m_toolHasBeenSet; }
77 template<typename ToolT = SpecificToolChoice>
78 void SetTool(ToolT&& value) { m_toolHasBeenSet = true; m_tool = std::forward<ToolT>(value); }
79 template<typename ToolT = SpecificToolChoice>
80 ToolChoice& WithTool(ToolT&& value) { SetTool(std::forward<ToolT>(value)); return *this;}
82 private:
83
84 AutoToolChoice m_auto;
85 bool m_autoHasBeenSet = false;
86
87 AnyToolChoice m_any;
88 bool m_anyHasBeenSet = false;
89
90 SpecificToolChoice m_tool;
91 bool m_toolHasBeenSet = false;
92 };
93
94} // namespace Model
95} // namespace BedrockRuntime
96} // namespace Aws
ToolChoice & WithTool(ToolT &&value)
Definition ToolChoice.h:80
AWS_BEDROCKRUNTIME_API ToolChoice()=default
const AutoToolChoice & GetAuto() const
Definition ToolChoice.h:50
ToolChoice & WithAuto(AutoT &&value)
Definition ToolChoice.h:55
ToolChoice & WithAny(AnyT &&value)
Definition ToolChoice.h:67
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:75
const AnyToolChoice & GetAny() const
Definition ToolChoice.h:62
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
Aws::Utils::Json::JsonValue JsonValue