AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ServiceLevelObjective.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/application-signals/model/BurnRateConfiguration.h>
9#include <aws/application-signals/model/EvaluationType.h>
10#include <aws/application-signals/model/Goal.h>
11#include <aws/application-signals/model/MetricSourceType.h>
12#include <aws/application-signals/model/RequestBasedServiceLevelIndicator.h>
13#include <aws/application-signals/model/ServiceLevelIndicator.h>
14#include <aws/core/utils/DateTime.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace ApplicationSignals {
28namespace Model {
29
43 public:
44 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective() = default;
45 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective(Aws::Utils::Json::JsonView jsonValue);
46 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective& operator=(Aws::Utils::Json::JsonView jsonValue);
47 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
48
50
53 inline const Aws::String& GetArn() const { return m_arn; }
54 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
55 template <typename ArnT = Aws::String>
56 void SetArn(ArnT&& value) {
57 m_arnHasBeenSet = true;
58 m_arn = std::forward<ArnT>(value);
59 }
60 template <typename ArnT = Aws::String>
62 SetArn(std::forward<ArnT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::String& GetName() const { return m_name; }
72 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
73 template <typename NameT = Aws::String>
74 void SetName(NameT&& value) {
75 m_nameHasBeenSet = true;
76 m_name = std::forward<NameT>(value);
77 }
78 template <typename NameT = Aws::String>
80 SetName(std::forward<NameT>(value));
81 return *this;
82 }
84
86
89 inline const Aws::String& GetDescription() const { return m_description; }
90 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
91 template <typename DescriptionT = Aws::String>
92 void SetDescription(DescriptionT&& value) {
93 m_descriptionHasBeenSet = true;
94 m_description = std::forward<DescriptionT>(value);
95 }
96 template <typename DescriptionT = Aws::String>
97 ServiceLevelObjective& WithDescription(DescriptionT&& value) {
98 SetDescription(std::forward<DescriptionT>(value));
99 return *this;
100 }
102
104
109 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
110 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
111 template <typename CreatedTimeT = Aws::Utils::DateTime>
112 void SetCreatedTime(CreatedTimeT&& value) {
113 m_createdTimeHasBeenSet = true;
114 m_createdTime = std::forward<CreatedTimeT>(value);
115 }
116 template <typename CreatedTimeT = Aws::Utils::DateTime>
117 ServiceLevelObjective& WithCreatedTime(CreatedTimeT&& value) {
118 SetCreatedTime(std::forward<CreatedTimeT>(value));
119 return *this;
120 }
122
124
129 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
130 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
131 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
132 void SetLastUpdatedTime(LastUpdatedTimeT&& value) {
133 m_lastUpdatedTimeHasBeenSet = true;
134 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
135 }
136 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
137 ServiceLevelObjective& WithLastUpdatedTime(LastUpdatedTimeT&& value) {
138 SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value));
139 return *this;
140 }
142
144
148 inline const ServiceLevelIndicator& GetSli() const { return m_sli; }
149 inline bool SliHasBeenSet() const { return m_sliHasBeenSet; }
150 template <typename SliT = ServiceLevelIndicator>
151 void SetSli(SliT&& value) {
152 m_sliHasBeenSet = true;
153 m_sli = std::forward<SliT>(value);
154 }
155 template <typename SliT = ServiceLevelIndicator>
157 SetSli(std::forward<SliT>(value));
158 return *this;
159 }
161
163
167 inline const RequestBasedServiceLevelIndicator& GetRequestBasedSli() const { return m_requestBasedSli; }
168 inline bool RequestBasedSliHasBeenSet() const { return m_requestBasedSliHasBeenSet; }
169 template <typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
170 void SetRequestBasedSli(RequestBasedSliT&& value) {
171 m_requestBasedSliHasBeenSet = true;
172 m_requestBasedSli = std::forward<RequestBasedSliT>(value);
173 }
174 template <typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
175 ServiceLevelObjective& WithRequestBasedSli(RequestBasedSliT&& value) {
176 SetRequestBasedSli(std::forward<RequestBasedSliT>(value));
177 return *this;
178 }
180
182
185 inline EvaluationType GetEvaluationType() const { return m_evaluationType; }
186 inline bool EvaluationTypeHasBeenSet() const { return m_evaluationTypeHasBeenSet; }
188 m_evaluationTypeHasBeenSet = true;
189 m_evaluationType = value;
190 }
192 SetEvaluationType(value);
193 return *this;
194 }
196
198
199 inline const Goal& GetGoal() const { return m_goal; }
200 inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; }
201 template <typename GoalT = Goal>
202 void SetGoal(GoalT&& value) {
203 m_goalHasBeenSet = true;
204 m_goal = std::forward<GoalT>(value);
205 }
206 template <typename GoalT = Goal>
208 SetGoal(std::forward<GoalT>(value));
209 return *this;
210 }
212
214
220 inline const Aws::Vector<BurnRateConfiguration>& GetBurnRateConfigurations() const { return m_burnRateConfigurations; }
221 inline bool BurnRateConfigurationsHasBeenSet() const { return m_burnRateConfigurationsHasBeenSet; }
222 template <typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
223 void SetBurnRateConfigurations(BurnRateConfigurationsT&& value) {
224 m_burnRateConfigurationsHasBeenSet = true;
225 m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value);
226 }
227 template <typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
228 ServiceLevelObjective& WithBurnRateConfigurations(BurnRateConfigurationsT&& value) {
229 SetBurnRateConfigurations(std::forward<BurnRateConfigurationsT>(value));
230 return *this;
231 }
232 template <typename BurnRateConfigurationsT = BurnRateConfiguration>
233 ServiceLevelObjective& AddBurnRateConfigurations(BurnRateConfigurationsT&& value) {
234 m_burnRateConfigurationsHasBeenSet = true;
235 m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value));
236 return *this;
237 }
239
241
246 inline MetricSourceType GetMetricSourceType() const { return m_metricSourceType; }
247 inline bool MetricSourceTypeHasBeenSet() const { return m_metricSourceTypeHasBeenSet; }
249 m_metricSourceTypeHasBeenSet = true;
250 m_metricSourceType = value;
251 }
253 SetMetricSourceType(value);
254 return *this;
255 }
257 private:
258 Aws::String m_arn;
259
260 Aws::String m_name;
261
262 Aws::String m_description;
263
264 Aws::Utils::DateTime m_createdTime{};
265
266 Aws::Utils::DateTime m_lastUpdatedTime{};
267
268 ServiceLevelIndicator m_sli;
269
270 RequestBasedServiceLevelIndicator m_requestBasedSli;
271
272 EvaluationType m_evaluationType{EvaluationType::NOT_SET};
273
274 Goal m_goal;
275
276 Aws::Vector<BurnRateConfiguration> m_burnRateConfigurations;
277
279 bool m_arnHasBeenSet = false;
280 bool m_nameHasBeenSet = false;
281 bool m_descriptionHasBeenSet = false;
282 bool m_createdTimeHasBeenSet = false;
283 bool m_lastUpdatedTimeHasBeenSet = false;
284 bool m_sliHasBeenSet = false;
285 bool m_requestBasedSliHasBeenSet = false;
286 bool m_evaluationTypeHasBeenSet = false;
287 bool m_goalHasBeenSet = false;
288 bool m_burnRateConfigurationsHasBeenSet = false;
289 bool m_metricSourceTypeHasBeenSet = false;
290};
291
292} // namespace Model
293} // namespace ApplicationSignals
294} // namespace Aws
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective(Aws::Utils::Json::JsonView jsonValue)
ServiceLevelObjective & WithBurnRateConfigurations(BurnRateConfigurationsT &&value)
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective & operator=(Aws::Utils::Json::JsonView jsonValue)
ServiceLevelObjective & WithDescription(DescriptionT &&value)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< BurnRateConfiguration > & GetBurnRateConfigurations() const
ServiceLevelObjective & WithCreatedTime(CreatedTimeT &&value)
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective()=default
ServiceLevelObjective & WithRequestBasedSli(RequestBasedSliT &&value)
ServiceLevelObjective & AddBurnRateConfigurations(BurnRateConfigurationsT &&value)
const RequestBasedServiceLevelIndicator & GetRequestBasedSli() const
ServiceLevelObjective & WithMetricSourceType(MetricSourceType value)
void SetBurnRateConfigurations(BurnRateConfigurationsT &&value)
ServiceLevelObjective & WithEvaluationType(EvaluationType value)
ServiceLevelObjective & WithLastUpdatedTime(LastUpdatedTimeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue