AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ServiceLevelObjective.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/application-signals/model/ServiceLevelIndicator.h>
11#include <aws/application-signals/model/RequestBasedServiceLevelIndicator.h>
12#include <aws/application-signals/model/EvaluationType.h>
13#include <aws/application-signals/model/Goal.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/application-signals/model/MetricSourceType.h>
16#include <aws/application-signals/model/BurnRateConfiguration.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace ApplicationSignals
30{
31namespace Model
32{
33
47 {
48 public:
49 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective() = default;
50 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective(Aws::Utils::Json::JsonView jsonValue);
51 AWS_APPLICATIONSIGNALS_API ServiceLevelObjective& operator=(Aws::Utils::Json::JsonView jsonValue);
52 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
53
54
56
59 inline const Aws::String& GetArn() const { return m_arn; }
60 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
61 template<typename ArnT = Aws::String>
62 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
63 template<typename ArnT = Aws::String>
64 ServiceLevelObjective& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
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) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
75 template<typename NameT = Aws::String>
76 ServiceLevelObjective& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
78
80
83 inline const Aws::String& GetDescription() const { return m_description; }
84 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
85 template<typename DescriptionT = Aws::String>
86 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
87 template<typename DescriptionT = Aws::String>
88 ServiceLevelObjective& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
90
92
97 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
98 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
99 template<typename CreatedTimeT = Aws::Utils::DateTime>
100 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::forward<CreatedTimeT>(value); }
101 template<typename CreatedTimeT = Aws::Utils::DateTime>
102 ServiceLevelObjective& WithCreatedTime(CreatedTimeT&& value) { SetCreatedTime(std::forward<CreatedTimeT>(value)); return *this;}
104
106
111 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
112 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
113 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
114 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
115 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
116 ServiceLevelObjective& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value)); return *this;}
118
120
124 inline const ServiceLevelIndicator& GetSli() const { return m_sli; }
125 inline bool SliHasBeenSet() const { return m_sliHasBeenSet; }
126 template<typename SliT = ServiceLevelIndicator>
127 void SetSli(SliT&& value) { m_sliHasBeenSet = true; m_sli = std::forward<SliT>(value); }
128 template<typename SliT = ServiceLevelIndicator>
129 ServiceLevelObjective& WithSli(SliT&& value) { SetSli(std::forward<SliT>(value)); return *this;}
131
133
137 inline const RequestBasedServiceLevelIndicator& GetRequestBasedSli() const { return m_requestBasedSli; }
138 inline bool RequestBasedSliHasBeenSet() const { return m_requestBasedSliHasBeenSet; }
139 template<typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
140 void SetRequestBasedSli(RequestBasedSliT&& value) { m_requestBasedSliHasBeenSet = true; m_requestBasedSli = std::forward<RequestBasedSliT>(value); }
141 template<typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
142 ServiceLevelObjective& WithRequestBasedSli(RequestBasedSliT&& value) { SetRequestBasedSli(std::forward<RequestBasedSliT>(value)); return *this;}
144
146
149 inline EvaluationType GetEvaluationType() const { return m_evaluationType; }
150 inline bool EvaluationTypeHasBeenSet() const { return m_evaluationTypeHasBeenSet; }
151 inline void SetEvaluationType(EvaluationType value) { m_evaluationTypeHasBeenSet = true; m_evaluationType = value; }
154
156
157 inline const Goal& GetGoal() const { return m_goal; }
158 inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; }
159 template<typename GoalT = Goal>
160 void SetGoal(GoalT&& value) { m_goalHasBeenSet = true; m_goal = std::forward<GoalT>(value); }
161 template<typename GoalT = Goal>
162 ServiceLevelObjective& WithGoal(GoalT&& value) { SetGoal(std::forward<GoalT>(value)); return *this;}
164
166
172 inline const Aws::Vector<BurnRateConfiguration>& GetBurnRateConfigurations() const { return m_burnRateConfigurations; }
173 inline bool BurnRateConfigurationsHasBeenSet() const { return m_burnRateConfigurationsHasBeenSet; }
174 template<typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
175 void SetBurnRateConfigurations(BurnRateConfigurationsT&& value) { m_burnRateConfigurationsHasBeenSet = true; m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value); }
176 template<typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
177 ServiceLevelObjective& WithBurnRateConfigurations(BurnRateConfigurationsT&& value) { SetBurnRateConfigurations(std::forward<BurnRateConfigurationsT>(value)); return *this;}
178 template<typename BurnRateConfigurationsT = BurnRateConfiguration>
179 ServiceLevelObjective& AddBurnRateConfigurations(BurnRateConfigurationsT&& value) { m_burnRateConfigurationsHasBeenSet = true; m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value)); return *this; }
181
183
188 inline MetricSourceType GetMetricSourceType() const { return m_metricSourceType; }
189 inline bool MetricSourceTypeHasBeenSet() const { return m_metricSourceTypeHasBeenSet; }
190 inline void SetMetricSourceType(MetricSourceType value) { m_metricSourceTypeHasBeenSet = true; m_metricSourceType = value; }
193 private:
194
195 Aws::String m_arn;
196 bool m_arnHasBeenSet = false;
197
198 Aws::String m_name;
199 bool m_nameHasBeenSet = false;
200
201 Aws::String m_description;
202 bool m_descriptionHasBeenSet = false;
203
204 Aws::Utils::DateTime m_createdTime{};
205 bool m_createdTimeHasBeenSet = false;
206
207 Aws::Utils::DateTime m_lastUpdatedTime{};
208 bool m_lastUpdatedTimeHasBeenSet = false;
209
210 ServiceLevelIndicator m_sli;
211 bool m_sliHasBeenSet = false;
212
213 RequestBasedServiceLevelIndicator m_requestBasedSli;
214 bool m_requestBasedSliHasBeenSet = false;
215
216 EvaluationType m_evaluationType{EvaluationType::NOT_SET};
217 bool m_evaluationTypeHasBeenSet = false;
218
219 Goal m_goal;
220 bool m_goalHasBeenSet = false;
221
222 Aws::Vector<BurnRateConfiguration> m_burnRateConfigurations;
223 bool m_burnRateConfigurationsHasBeenSet = false;
224
226 bool m_metricSourceTypeHasBeenSet = false;
227 };
228
229} // namespace Model
230} // namespace ApplicationSignals
231} // 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