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>
29namespace ApplicationSignals
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>
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>
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>
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>
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>
126 template<
typename SliT = ServiceLevelIndicator>
127 void SetSli(SliT&& value) { m_sliHasBeenSet =
true; m_sli = std::forward<SliT>(value); }
128 template<
typename SliT = ServiceLevelIndicator>
139 template<
typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
140 void SetRequestBasedSli(RequestBasedSliT&& value) { m_requestBasedSliHasBeenSet =
true; m_requestBasedSli = std::forward<RequestBasedSliT>(value); }
141 template<
typename RequestBasedSliT = RequestBasedServiceLevelIndicator>
159 template<
typename GoalT = Goal>
160 void SetGoal(GoalT&& value) { m_goalHasBeenSet =
true; m_goal = std::forward<GoalT>(value); }
161 template<
typename GoalT = Goal>
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>>
178 template<
typename BurnRateConfigurationsT = BurnRateConfiguration>
196 bool m_arnHasBeenSet =
false;
199 bool m_nameHasBeenSet =
false;
202 bool m_descriptionHasBeenSet =
false;
205 bool m_createdTimeHasBeenSet =
false;
208 bool m_lastUpdatedTimeHasBeenSet =
false;
210 ServiceLevelIndicator m_sli;
211 bool m_sliHasBeenSet =
false;
213 RequestBasedServiceLevelIndicator m_requestBasedSli;
214 bool m_requestBasedSliHasBeenSet =
false;
217 bool m_evaluationTypeHasBeenSet =
false;
220 bool m_goalHasBeenSet =
false;
223 bool m_burnRateConfigurationsHasBeenSet =
false;
226 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