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>
27namespace ApplicationSignals {
55 template <
typename ArnT = Aws::String>
57 m_arnHasBeenSet =
true;
58 m_arn = std::forward<ArnT>(value);
60 template <
typename ArnT = Aws::String>
62 SetArn(std::forward<ArnT>(value));
73 template <
typename NameT = Aws::String>
75 m_nameHasBeenSet =
true;
76 m_name = std::forward<NameT>(value);
78 template <
typename NameT = Aws::String>
80 SetName(std::forward<NameT>(value));
91 template <
typename DescriptionT = Aws::String>
93 m_descriptionHasBeenSet =
true;
94 m_description = std::forward<DescriptionT>(value);
96 template <
typename DescriptionT = Aws::String>
111 template <
typename CreatedTimeT = Aws::Utils::DateTime>
113 m_createdTimeHasBeenSet =
true;
114 m_createdTime = std::forward<CreatedTimeT>(value);
116 template <
typename CreatedTimeT = Aws::Utils::DateTime>
131 template <
typename LastUpdatedTimeT = Aws::Utils::DateTime>
133 m_lastUpdatedTimeHasBeenSet =
true;
134 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
136 template <
typename LastUpdatedTimeT = Aws::Utils::DateTime>
150 template <
typename SliT = ServiceLevelIndicator>
152 m_sliHasBeenSet =
true;
153 m_sli = std::forward<SliT>(value);
155 template <
typename SliT = ServiceLevelIndicator>
157 SetSli(std::forward<SliT>(value));
169 template <
typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
171 m_requestBasedSliHasBeenSet =
true;
172 m_requestBasedSli = std::forward<RequestBasedSliT>(value);
174 template <
typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
188 m_evaluationTypeHasBeenSet =
true;
189 m_evaluationType = value;
201 template <
typename GoalT = Goal>
203 m_goalHasBeenSet =
true;
204 m_goal = std::forward<GoalT>(value);
206 template <
typename GoalT = Goal>
208 SetGoal(std::forward<GoalT>(value));
222 template <
typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
224 m_burnRateConfigurationsHasBeenSet =
true;
225 m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value);
227 template <
typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
232 template <
typename BurnRateConfigurationsT = BurnRateConfiguration>
234 m_burnRateConfigurationsHasBeenSet =
true;
235 m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value));
249 m_metricSourceTypeHasBeenSet =
true;
250 m_metricSourceType = value;
268 ServiceLevelIndicator m_sli;
270 RequestBasedServiceLevelIndicator m_requestBasedSli;
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;
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective(Aws::Utils::Json::JsonView jsonValue)
MetricSourceType GetMetricSourceType() const
void SetSli(SliT &&value)
void SetEvaluationType(EvaluationType value)
const ServiceLevelIndicator & GetSli() const
ServiceLevelObjective & WithName(NameT &&value)
void SetRequestBasedSli(RequestBasedSliT &&value)
const Aws::String & GetName() const
void SetDescription(DescriptionT &&value)
ServiceLevelObjective & WithBurnRateConfigurations(BurnRateConfigurationsT &&value)
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective & operator=(Aws::Utils::Json::JsonView jsonValue)
ServiceLevelObjective & WithDescription(DescriptionT &&value)
bool MetricSourceTypeHasBeenSet() const
void SetArn(ArnT &&value)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
bool ArnHasBeenSet() const
const Aws::Utils::DateTime & GetCreatedTime() const
bool BurnRateConfigurationsHasBeenSet() const
const Aws::Vector< BurnRateConfiguration > & GetBurnRateConfigurations() const
void SetMetricSourceType(MetricSourceType value)
void SetGoal(GoalT &&value)
ServiceLevelObjective & WithArn(ArnT &&value)
ServiceLevelObjective & WithCreatedTime(CreatedTimeT &&value)
bool CreatedTimeHasBeenSet() const
bool EvaluationTypeHasBeenSet() const
AWS_APPLICATIONSIGNALS_API ServiceLevelObjective()=default
ServiceLevelObjective & WithRequestBasedSli(RequestBasedSliT &&value)
ServiceLevelObjective & AddBurnRateConfigurations(BurnRateConfigurationsT &&value)
bool DescriptionHasBeenSet() const
const RequestBasedServiceLevelIndicator & GetRequestBasedSli() const
bool SliHasBeenSet() const
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
bool NameHasBeenSet() const
bool LastUpdatedTimeHasBeenSet() const
ServiceLevelObjective & WithGoal(GoalT &&value)
bool GoalHasBeenSet() const
ServiceLevelObjective & WithMetricSourceType(MetricSourceType value)
void SetBurnRateConfigurations(BurnRateConfigurationsT &&value)
EvaluationType GetEvaluationType() const
void SetCreatedTime(CreatedTimeT &&value)
const Aws::String & GetArn() const
ServiceLevelObjective & WithEvaluationType(EvaluationType value)
ServiceLevelObjective & WithSli(SliT &&value)
bool RequestBasedSliHasBeenSet() const
const Aws::String & GetDescription() const
const Aws::Utils::DateTime & GetLastUpdatedTime() const
void SetName(NameT &&value)
ServiceLevelObjective & WithLastUpdatedTime(LastUpdatedTimeT &&value)
const Goal & GetGoal() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue