AWS SDK for C++

AWS SDK for C++ Version 1.11.812

Loading...
Searching...
No Matches
SpanMessageValue.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSAllocator.h>
8#include <aws/qconnect/QConnect_EXPORTS.h>
9#include <aws/qconnect/model/SpanReasoningValue.h>
10#include <aws/qconnect/model/SpanTextValue.h>
11#include <aws/qconnect/model/SpanToolUseValue.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace QConnect {
23namespace Model {
24class SpanToolResultValue;
25
33 public:
34 AWS_QCONNECT_API SpanMessageValue() = default;
37 AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const SpanTextValue& GetText() const { return m_text; }
44 inline bool TextHasBeenSet() const { return m_textHasBeenSet; }
45 template <typename TextT = SpanTextValue>
46 void SetText(TextT&& value) {
47 m_textHasBeenSet = true;
48 m_text = std::forward<TextT>(value);
49 }
50 template <typename TextT = SpanTextValue>
52 SetText(std::forward<TextT>(value));
53 return *this;
54 }
56
58
61 inline const SpanToolUseValue& GetToolUse() const { return m_toolUse; }
62 inline bool ToolUseHasBeenSet() const { return m_toolUseHasBeenSet; }
63 template <typename ToolUseT = SpanToolUseValue>
64 void SetToolUse(ToolUseT&& value) {
65 m_toolUseHasBeenSet = true;
66 m_toolUse = std::forward<ToolUseT>(value);
67 }
68 template <typename ToolUseT = SpanToolUseValue>
70 SetToolUse(std::forward<ToolUseT>(value));
71 return *this;
72 }
74
76
79 inline const SpanToolResultValue& GetToolResult() const { return *m_toolResult; }
80 inline bool ToolResultHasBeenSet() const { return m_toolResultHasBeenSet; }
81 template <typename ToolResultT = SpanToolResultValue>
82 void SetToolResult(ToolResultT&& value) {
83 m_toolResultHasBeenSet = true;
84 m_toolResult = Aws::MakeShared<SpanToolResultValue>("SpanMessageValue", std::forward<ToolResultT>(value));
85 }
86 template <typename ToolResultT = SpanToolResultValue>
88 SetToolResult(std::forward<ToolResultT>(value));
89 return *this;
90 }
92
94
95 inline const SpanReasoningValue& GetReasoning() const { return m_reasoning; }
96 inline bool ReasoningHasBeenSet() const { return m_reasoningHasBeenSet; }
97 template <typename ReasoningT = SpanReasoningValue>
98 void SetReasoning(ReasoningT&& value) {
99 m_reasoningHasBeenSet = true;
100 m_reasoning = std::forward<ReasoningT>(value);
101 }
102 template <typename ReasoningT = SpanReasoningValue>
104 SetReasoning(std::forward<ReasoningT>(value));
105 return *this;
106 }
108 private:
109 SpanTextValue m_text;
110
111 SpanToolUseValue m_toolUse;
112
113 std::shared_ptr<SpanToolResultValue> m_toolResult;
114
115 SpanReasoningValue m_reasoning;
116 bool m_textHasBeenSet = false;
117 bool m_toolUseHasBeenSet = false;
118 bool m_toolResultHasBeenSet = false;
119 bool m_reasoningHasBeenSet = false;
120};
121
122} // namespace Model
123} // namespace QConnect
124} // namespace Aws
const SpanToolUseValue & GetToolUse() const
SpanMessageValue & WithText(TextT &&value)
SpanMessageValue & WithToolResult(ToolResultT &&value)
const SpanTextValue & GetText() const
AWS_QCONNECT_API SpanMessageValue()=default
SpanMessageValue & WithReasoning(ReasoningT &&value)
const SpanReasoningValue & GetReasoning() const
const SpanToolResultValue & GetToolResult() const
SpanMessageValue & WithToolUse(ToolUseT &&value)
AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetToolResult(ToolResultT &&value)
AWS_QCONNECT_API SpanMessageValue(Aws::Utils::Json::JsonView jsonValue)
AWS_QCONNECT_API SpanMessageValue & operator=(Aws::Utils::Json::JsonView jsonValue)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue