AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SamplingTargetDocument.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/xray/XRay_EXPORTS.h>
10#include <aws/xray/model/SamplingBoost.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
34 public:
35 AWS_XRAY_API SamplingTargetDocument() = default;
39
41
44 inline const Aws::String& GetRuleName() const { return m_ruleName; }
45 inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; }
46 template <typename RuleNameT = Aws::String>
47 void SetRuleName(RuleNameT&& value) {
48 m_ruleNameHasBeenSet = true;
49 m_ruleName = std::forward<RuleNameT>(value);
50 }
51 template <typename RuleNameT = Aws::String>
53 SetRuleName(std::forward<RuleNameT>(value));
54 return *this;
55 }
57
59
63 inline double GetFixedRate() const { return m_fixedRate; }
64 inline bool FixedRateHasBeenSet() const { return m_fixedRateHasBeenSet; }
65 inline void SetFixedRate(double value) {
66 m_fixedRateHasBeenSet = true;
67 m_fixedRate = value;
68 }
69 inline SamplingTargetDocument& WithFixedRate(double value) {
70 SetFixedRate(value);
71 return *this;
72 }
74
76
79 inline int GetReservoirQuota() const { return m_reservoirQuota; }
80 inline bool ReservoirQuotaHasBeenSet() const { return m_reservoirQuotaHasBeenSet; }
81 inline void SetReservoirQuota(int value) {
82 m_reservoirQuotaHasBeenSet = true;
83 m_reservoirQuota = value;
84 }
86 SetReservoirQuota(value);
87 return *this;
88 }
90
92
95 inline const Aws::Utils::DateTime& GetReservoirQuotaTTL() const { return m_reservoirQuotaTTL; }
96 inline bool ReservoirQuotaTTLHasBeenSet() const { return m_reservoirQuotaTTLHasBeenSet; }
97 template <typename ReservoirQuotaTTLT = Aws::Utils::DateTime>
98 void SetReservoirQuotaTTL(ReservoirQuotaTTLT&& value) {
99 m_reservoirQuotaTTLHasBeenSet = true;
100 m_reservoirQuotaTTL = std::forward<ReservoirQuotaTTLT>(value);
101 }
102 template <typename ReservoirQuotaTTLT = Aws::Utils::DateTime>
103 SamplingTargetDocument& WithReservoirQuotaTTL(ReservoirQuotaTTLT&& value) {
104 SetReservoirQuotaTTL(std::forward<ReservoirQuotaTTLT>(value));
105 return *this;
106 }
108
110
114 inline int GetInterval() const { return m_interval; }
115 inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; }
116 inline void SetInterval(int value) {
117 m_intervalHasBeenSet = true;
118 m_interval = value;
119 }
121 SetInterval(value);
122 return *this;
123 }
125
127
130 inline const SamplingBoost& GetSamplingBoost() const { return m_samplingBoost; }
131 inline bool SamplingBoostHasBeenSet() const { return m_samplingBoostHasBeenSet; }
132 template <typename SamplingBoostT = SamplingBoost>
133 void SetSamplingBoost(SamplingBoostT&& value) {
134 m_samplingBoostHasBeenSet = true;
135 m_samplingBoost = std::forward<SamplingBoostT>(value);
136 }
137 template <typename SamplingBoostT = SamplingBoost>
138 SamplingTargetDocument& WithSamplingBoost(SamplingBoostT&& value) {
139 SetSamplingBoost(std::forward<SamplingBoostT>(value));
140 return *this;
141 }
143 private:
144 Aws::String m_ruleName;
145
146 double m_fixedRate{0.0};
147
148 int m_reservoirQuota{0};
149
150 Aws::Utils::DateTime m_reservoirQuotaTTL{};
151
152 int m_interval{0};
153
154 SamplingBoost m_samplingBoost;
155 bool m_ruleNameHasBeenSet = false;
156 bool m_fixedRateHasBeenSet = false;
157 bool m_reservoirQuotaHasBeenSet = false;
158 bool m_reservoirQuotaTTLHasBeenSet = false;
159 bool m_intervalHasBeenSet = false;
160 bool m_samplingBoostHasBeenSet = false;
161};
162
163} // namespace Model
164} // namespace XRay
165} // namespace Aws
AWS_XRAY_API SamplingTargetDocument & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_XRAY_API SamplingTargetDocument(Aws::Utils::Json::JsonView jsonValue)
SamplingTargetDocument & WithFixedRate(double value)
SamplingTargetDocument & WithReservoirQuota(int value)
const Aws::Utils::DateTime & GetReservoirQuotaTTL() const
AWS_XRAY_API SamplingTargetDocument()=default
SamplingTargetDocument & WithInterval(int value)
AWS_XRAY_API Aws::Utils::Json::JsonValue Jsonize() const
SamplingTargetDocument & WithReservoirQuotaTTL(ReservoirQuotaTTLT &&value)
SamplingTargetDocument & WithSamplingBoost(SamplingBoostT &&value)
void SetReservoirQuotaTTL(ReservoirQuotaTTLT &&value)
SamplingTargetDocument & WithRuleName(RuleNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue