AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateServiceLevelObjectiveRequest.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/application-signals/ApplicationSignalsRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/application-signals/model/ServiceLevelIndicatorConfig.h>
11#include <aws/application-signals/model/RequestBasedServiceLevelIndicatorConfig.h>
12#include <aws/application-signals/model/Goal.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/application-signals/model/Tag.h>
15#include <aws/application-signals/model/BurnRateConfiguration.h>
16#include <utility>
17
18namespace Aws
19{
20namespace ApplicationSignals
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateServiceLevelObjective"; }
37
38 AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override;
39
40
42
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template<typename NameT = Aws::String>
48 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
49 template<typename NameT = Aws::String>
50 CreateServiceLevelObjectiveRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
52
54
57 inline const Aws::String& GetDescription() const { return m_description; }
58 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
59 template<typename DescriptionT = Aws::String>
60 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
61 template<typename DescriptionT = Aws::String>
62 CreateServiceLevelObjectiveRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
64
66
72 inline const ServiceLevelIndicatorConfig& GetSliConfig() const { return m_sliConfig; }
73 inline bool SliConfigHasBeenSet() const { return m_sliConfigHasBeenSet; }
74 template<typename SliConfigT = ServiceLevelIndicatorConfig>
75 void SetSliConfig(SliConfigT&& value) { m_sliConfigHasBeenSet = true; m_sliConfig = std::forward<SliConfigT>(value); }
76 template<typename SliConfigT = ServiceLevelIndicatorConfig>
77 CreateServiceLevelObjectiveRequest& WithSliConfig(SliConfigT&& value) { SetSliConfig(std::forward<SliConfigT>(value)); return *this;}
79
81
87 inline const RequestBasedServiceLevelIndicatorConfig& GetRequestBasedSliConfig() const { return m_requestBasedSliConfig; }
88 inline bool RequestBasedSliConfigHasBeenSet() const { return m_requestBasedSliConfigHasBeenSet; }
89 template<typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
90 void SetRequestBasedSliConfig(RequestBasedSliConfigT&& value) { m_requestBasedSliConfigHasBeenSet = true; m_requestBasedSliConfig = std::forward<RequestBasedSliConfigT>(value); }
91 template<typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
92 CreateServiceLevelObjectiveRequest& WithRequestBasedSliConfig(RequestBasedSliConfigT&& value) { SetRequestBasedSliConfig(std::forward<RequestBasedSliConfigT>(value)); return *this;}
94
96
100 inline const Goal& GetGoal() const { return m_goal; }
101 inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; }
102 template<typename GoalT = Goal>
103 void SetGoal(GoalT&& value) { m_goalHasBeenSet = true; m_goal = std::forward<GoalT>(value); }
104 template<typename GoalT = Goal>
105 CreateServiceLevelObjectiveRequest& WithGoal(GoalT&& value) { SetGoal(std::forward<GoalT>(value)); return *this;}
107
109
117 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
118 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
119 template<typename TagsT = Aws::Vector<Tag>>
120 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
121 template<typename TagsT = Aws::Vector<Tag>>
122 CreateServiceLevelObjectiveRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
123 template<typename TagsT = Tag>
124 CreateServiceLevelObjectiveRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
126
128
133 inline const Aws::Vector<BurnRateConfiguration>& GetBurnRateConfigurations() const { return m_burnRateConfigurations; }
134 inline bool BurnRateConfigurationsHasBeenSet() const { return m_burnRateConfigurationsHasBeenSet; }
135 template<typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
136 void SetBurnRateConfigurations(BurnRateConfigurationsT&& value) { m_burnRateConfigurationsHasBeenSet = true; m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value); }
137 template<typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
138 CreateServiceLevelObjectiveRequest& WithBurnRateConfigurations(BurnRateConfigurationsT&& value) { SetBurnRateConfigurations(std::forward<BurnRateConfigurationsT>(value)); return *this;}
139 template<typename BurnRateConfigurationsT = BurnRateConfiguration>
140 CreateServiceLevelObjectiveRequest& AddBurnRateConfigurations(BurnRateConfigurationsT&& value) { m_burnRateConfigurationsHasBeenSet = true; m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value)); return *this; }
142 private:
143
144 Aws::String m_name;
145 bool m_nameHasBeenSet = false;
146
147 Aws::String m_description;
148 bool m_descriptionHasBeenSet = false;
149
150 ServiceLevelIndicatorConfig m_sliConfig;
151 bool m_sliConfigHasBeenSet = false;
152
153 RequestBasedServiceLevelIndicatorConfig m_requestBasedSliConfig;
154 bool m_requestBasedSliConfigHasBeenSet = false;
155
156 Goal m_goal;
157 bool m_goalHasBeenSet = false;
158
159 Aws::Vector<Tag> m_tags;
160 bool m_tagsHasBeenSet = false;
161
162 Aws::Vector<BurnRateConfiguration> m_burnRateConfigurations;
163 bool m_burnRateConfigurationsHasBeenSet = false;
164 };
165
166} // namespace Model
167} // namespace ApplicationSignals
168} // namespace Aws
AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveRequest()=default
const Aws::Vector< BurnRateConfiguration > & GetBurnRateConfigurations() const
CreateServiceLevelObjectiveRequest & WithBurnRateConfigurations(BurnRateConfigurationsT &&value)
CreateServiceLevelObjectiveRequest & WithSliConfig(SliConfigT &&value)
CreateServiceLevelObjectiveRequest & WithDescription(DescriptionT &&value)
const RequestBasedServiceLevelIndicatorConfig & GetRequestBasedSliConfig() const
CreateServiceLevelObjectiveRequest & WithRequestBasedSliConfig(RequestBasedSliConfigT &&value)
AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override
CreateServiceLevelObjectiveRequest & AddBurnRateConfigurations(BurnRateConfigurationsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector