7#include <aws/application-signals/ApplicationSignalsRequest.h>
8#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
9#include <aws/application-signals/model/BurnRateConfiguration.h>
10#include <aws/application-signals/model/Goal.h>
11#include <aws/application-signals/model/RequestBasedServiceLevelIndicatorConfig.h>
12#include <aws/application-signals/model/ServiceLevelIndicatorConfig.h>
13#include <aws/application-signals/model/Tag.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
20namespace ApplicationSignals {
43 template <
typename NameT = Aws::String>
45 m_nameHasBeenSet =
true;
46 m_name = std::forward<NameT>(value);
48 template <
typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
61 template <
typename DescriptionT = Aws::String>
63 m_descriptionHasBeenSet =
true;
64 m_description = std::forward<DescriptionT>(value);
66 template <
typename DescriptionT = Aws::String>
82 template <
typename SliConfigT = ServiceLevelIndicatorConfig>
84 m_sliConfigHasBeenSet =
true;
85 m_sliConfig = std::forward<SliConfigT>(value);
87 template <
typename SliConfigT = ServiceLevelIndicatorConfig>
103 template <
typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
105 m_requestBasedSliConfigHasBeenSet =
true;
106 m_requestBasedSliConfig = std::forward<RequestBasedSliConfigT>(value);
108 template <
typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
122 template <
typename GoalT = Goal>
124 m_goalHasBeenSet =
true;
125 m_goal = std::forward<GoalT>(value);
127 template <
typename GoalT = Goal>
129 SetGoal(std::forward<GoalT>(value));
145 template <
typename TagsT = Aws::Vector<Tag>>
147 m_tagsHasBeenSet =
true;
148 m_tags = std::forward<TagsT>(value);
150 template <
typename TagsT = Aws::Vector<Tag>>
152 SetTags(std::forward<TagsT>(value));
155 template <
typename TagsT = Tag>
157 m_tagsHasBeenSet =
true;
158 m_tags.emplace_back(std::forward<TagsT>(value));
171 template <
typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
173 m_burnRateConfigurationsHasBeenSet =
true;
174 m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value);
176 template <
typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
181 template <
typename BurnRateConfigurationsT = BurnRateConfiguration>
183 m_burnRateConfigurationsHasBeenSet =
true;
184 m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value));
201 m_createRecommendedSloHasBeenSet =
true;
202 m_createRecommendedSlo = value;
218 m_autoInvestigationEnabledHasBeenSet =
true;
219 m_autoInvestigationEnabled = value;
241 bool m_createRecommendedSlo{
false};
243 bool m_autoInvestigationEnabled{
false};
244 bool m_nameHasBeenSet =
false;
245 bool m_descriptionHasBeenSet =
false;
246 bool m_sliConfigHasBeenSet =
false;
247 bool m_requestBasedSliConfigHasBeenSet =
false;
248 bool m_goalHasBeenSet =
false;
249 bool m_tagsHasBeenSet =
false;
250 bool m_burnRateConfigurationsHasBeenSet =
false;
251 bool m_createRecommendedSloHasBeenSet =
false;
252 bool m_autoInvestigationEnabledHasBeenSet =
false;
AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveRequest()=default
const Aws::Vector< BurnRateConfiguration > & GetBurnRateConfigurations() const
CreateServiceLevelObjectiveRequest & WithCreateRecommendedSlo(bool value)
void SetTags(TagsT &&value)
void SetGoal(GoalT &&value)
bool AutoInvestigationEnabledHasBeenSet() const
bool GetAutoInvestigationEnabled() const
bool CreateRecommendedSloHasBeenSet() const
bool DescriptionHasBeenSet() const
CreateServiceLevelObjectiveRequest & WithBurnRateConfigurations(BurnRateConfigurationsT &&value)
const Aws::String & GetDescription() const
CreateServiceLevelObjectiveRequest & WithAutoInvestigationEnabled(bool value)
CreateServiceLevelObjectiveRequest & WithSliConfig(SliConfigT &&value)
virtual const char * GetServiceRequestName() const override
bool TagsHasBeenSet() const
bool GetCreateRecommendedSlo() const
const ServiceLevelIndicatorConfig & GetSliConfig() const
void SetAutoInvestigationEnabled(bool value)
CreateServiceLevelObjectiveRequest & WithName(NameT &&value)
bool RequestBasedSliConfigHasBeenSet() const
CreateServiceLevelObjectiveRequest & WithTags(TagsT &&value)
bool SliConfigHasBeenSet() const
CreateServiceLevelObjectiveRequest & WithDescription(DescriptionT &&value)
bool BurnRateConfigurationsHasBeenSet() const
void SetCreateRecommendedSlo(bool value)
const Aws::String & GetName() const
bool NameHasBeenSet() const
void SetDescription(DescriptionT &&value)
void SetSliConfig(SliConfigT &&value)
const RequestBasedServiceLevelIndicatorConfig & GetRequestBasedSliConfig() const
CreateServiceLevelObjectiveRequest & WithRequestBasedSliConfig(RequestBasedSliConfigT &&value)
CreateServiceLevelObjectiveRequest & AddTags(TagsT &&value)
const Goal & GetGoal() const
void SetName(NameT &&value)
void SetRequestBasedSliConfig(RequestBasedSliConfigT &&value)
void SetBurnRateConfigurations(BurnRateConfigurationsT &&value)
const Aws::Vector< Tag > & GetTags() const
bool GoalHasBeenSet() const
AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override
CreateServiceLevelObjectiveRequest & AddBurnRateConfigurations(BurnRateConfigurationsT &&value)
CreateServiceLevelObjectiveRequest & WithGoal(GoalT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector