AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
Trace.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/xray/XRay_EXPORTS.h>
10#include <aws/xray/model/Segment.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace XRay {
22namespace Model {
23
30class Trace {
31 public:
32 AWS_XRAY_API Trace() = default;
33 AWS_XRAY_API Trace(Aws::Utils::Json::JsonView jsonValue);
34 AWS_XRAY_API Trace& operator=(Aws::Utils::Json::JsonView jsonValue);
36
38
42 inline const Aws::String& GetId() const { return m_id; }
43 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
44 template <typename IdT = Aws::String>
45 void SetId(IdT&& value) {
46 m_idHasBeenSet = true;
47 m_id = std::forward<IdT>(value);
48 }
49 template <typename IdT = Aws::String>
50 Trace& WithId(IdT&& value) {
51 SetId(std::forward<IdT>(value));
52 return *this;
53 }
55
57
61 inline double GetDuration() const { return m_duration; }
62 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
63 inline void SetDuration(double value) {
64 m_durationHasBeenSet = true;
65 m_duration = value;
66 }
67 inline Trace& WithDuration(double value) {
68 SetDuration(value);
69 return *this;
70 }
72
74
81 inline bool GetLimitExceeded() const { return m_limitExceeded; }
82 inline bool LimitExceededHasBeenSet() const { return m_limitExceededHasBeenSet; }
83 inline void SetLimitExceeded(bool value) {
84 m_limitExceededHasBeenSet = true;
85 m_limitExceeded = value;
86 }
87 inline Trace& WithLimitExceeded(bool value) {
88 SetLimitExceeded(value);
89 return *this;
90 }
92
94
98 inline const Aws::Vector<Segment>& GetSegments() const { return m_segments; }
99 inline bool SegmentsHasBeenSet() const { return m_segmentsHasBeenSet; }
100 template <typename SegmentsT = Aws::Vector<Segment>>
101 void SetSegments(SegmentsT&& value) {
102 m_segmentsHasBeenSet = true;
103 m_segments = std::forward<SegmentsT>(value);
104 }
105 template <typename SegmentsT = Aws::Vector<Segment>>
106 Trace& WithSegments(SegmentsT&& value) {
107 SetSegments(std::forward<SegmentsT>(value));
108 return *this;
109 }
110 template <typename SegmentsT = Segment>
111 Trace& AddSegments(SegmentsT&& value) {
112 m_segmentsHasBeenSet = true;
113 m_segments.emplace_back(std::forward<SegmentsT>(value));
114 return *this;
115 }
117 private:
118 Aws::String m_id;
119
120 double m_duration{0.0};
121
122 bool m_limitExceeded{false};
123
124 Aws::Vector<Segment> m_segments;
125 bool m_idHasBeenSet = false;
126 bool m_durationHasBeenSet = false;
127 bool m_limitExceededHasBeenSet = false;
128 bool m_segmentsHasBeenSet = false;
129};
130
131} // namespace Model
132} // namespace XRay
133} // namespace Aws
void SetDuration(double value)
Definition Trace.h:63
AWS_XRAY_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSegments(SegmentsT &&value)
Definition Trace.h:101
const Aws::String & GetId() const
Definition Trace.h:42
AWS_XRAY_API Trace & operator=(Aws::Utils::Json::JsonView jsonValue)
Trace & WithDuration(double value)
Definition Trace.h:67
const Aws::Vector< Segment > & GetSegments() const
Definition Trace.h:98
void SetId(IdT &&value)
Definition Trace.h:45
Trace & WithLimitExceeded(bool value)
Definition Trace.h:87
Trace & AddSegments(SegmentsT &&value)
Definition Trace.h:111
AWS_XRAY_API Trace(Aws::Utils::Json::JsonView jsonValue)
double GetDuration() const
Definition Trace.h:61
AWS_XRAY_API Trace()=default
bool DurationHasBeenSet() const
Definition Trace.h:62
void SetLimitExceeded(bool value)
Definition Trace.h:83
bool IdHasBeenSet() const
Definition Trace.h:43
bool LimitExceededHasBeenSet() const
Definition Trace.h:82
Trace & WithSegments(SegmentsT &&value)
Definition Trace.h:106
bool SegmentsHasBeenSet() const
Definition Trace.h:99
bool GetLimitExceeded() const
Definition Trace.h:81
Trace & WithId(IdT &&value)
Definition Trace.h:50
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue