AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
CreateServiceLevelObjectiveRequest.h
1
6#pragma once
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>
16
17#include <utility>
18
19namespace Aws {
20namespace ApplicationSignals {
21namespace Model {
22
26 public:
27 AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateServiceLevelObjective"; }
34
35 AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override;
36
38
41 inline const Aws::String& GetName() const { return m_name; }
42 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
43 template <typename NameT = Aws::String>
44 void SetName(NameT&& value) {
45 m_nameHasBeenSet = true;
46 m_name = std::forward<NameT>(value);
47 }
48 template <typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetDescription() const { return m_description; }
60 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
61 template <typename DescriptionT = Aws::String>
62 void SetDescription(DescriptionT&& value) {
63 m_descriptionHasBeenSet = true;
64 m_description = std::forward<DescriptionT>(value);
65 }
66 template <typename DescriptionT = Aws::String>
68 SetDescription(std::forward<DescriptionT>(value));
69 return *this;
70 }
72
74
80 inline const ServiceLevelIndicatorConfig& GetSliConfig() const { return m_sliConfig; }
81 inline bool SliConfigHasBeenSet() const { return m_sliConfigHasBeenSet; }
82 template <typename SliConfigT = ServiceLevelIndicatorConfig>
83 void SetSliConfig(SliConfigT&& value) {
84 m_sliConfigHasBeenSet = true;
85 m_sliConfig = std::forward<SliConfigT>(value);
86 }
87 template <typename SliConfigT = ServiceLevelIndicatorConfig>
89 SetSliConfig(std::forward<SliConfigT>(value));
90 return *this;
91 }
93
95
101 inline const RequestBasedServiceLevelIndicatorConfig& GetRequestBasedSliConfig() const { return m_requestBasedSliConfig; }
102 inline bool RequestBasedSliConfigHasBeenSet() const { return m_requestBasedSliConfigHasBeenSet; }
103 template <typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
104 void SetRequestBasedSliConfig(RequestBasedSliConfigT&& value) {
105 m_requestBasedSliConfigHasBeenSet = true;
106 m_requestBasedSliConfig = std::forward<RequestBasedSliConfigT>(value);
107 }
108 template <typename RequestBasedSliConfigT = RequestBasedServiceLevelIndicatorConfig>
110 SetRequestBasedSliConfig(std::forward<RequestBasedSliConfigT>(value));
111 return *this;
112 }
114
116
120 inline const Goal& GetGoal() const { return m_goal; }
121 inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; }
122 template <typename GoalT = Goal>
123 void SetGoal(GoalT&& value) {
124 m_goalHasBeenSet = true;
125 m_goal = std::forward<GoalT>(value);
126 }
127 template <typename GoalT = Goal>
129 SetGoal(std::forward<GoalT>(value));
130 return *this;
131 }
133
135
143 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
144 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
145 template <typename TagsT = Aws::Vector<Tag>>
146 void SetTags(TagsT&& value) {
147 m_tagsHasBeenSet = true;
148 m_tags = std::forward<TagsT>(value);
149 }
150 template <typename TagsT = Aws::Vector<Tag>>
152 SetTags(std::forward<TagsT>(value));
153 return *this;
154 }
155 template <typename TagsT = Tag>
157 m_tagsHasBeenSet = true;
158 m_tags.emplace_back(std::forward<TagsT>(value));
159 return *this;
160 }
162
164
169 inline const Aws::Vector<BurnRateConfiguration>& GetBurnRateConfigurations() const { return m_burnRateConfigurations; }
170 inline bool BurnRateConfigurationsHasBeenSet() const { return m_burnRateConfigurationsHasBeenSet; }
171 template <typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
172 void SetBurnRateConfigurations(BurnRateConfigurationsT&& value) {
173 m_burnRateConfigurationsHasBeenSet = true;
174 m_burnRateConfigurations = std::forward<BurnRateConfigurationsT>(value);
175 }
176 template <typename BurnRateConfigurationsT = Aws::Vector<BurnRateConfiguration>>
178 SetBurnRateConfigurations(std::forward<BurnRateConfigurationsT>(value));
179 return *this;
180 }
181 template <typename BurnRateConfigurationsT = BurnRateConfiguration>
183 m_burnRateConfigurationsHasBeenSet = true;
184 m_burnRateConfigurations.emplace_back(std::forward<BurnRateConfigurationsT>(value));
185 return *this;
186 }
188 private:
189 Aws::String m_name;
190
191 Aws::String m_description;
192
193 ServiceLevelIndicatorConfig m_sliConfig;
194
195 RequestBasedServiceLevelIndicatorConfig m_requestBasedSliConfig;
196
197 Goal m_goal;
198
199 Aws::Vector<Tag> m_tags;
200
201 Aws::Vector<BurnRateConfiguration> m_burnRateConfigurations;
202 bool m_nameHasBeenSet = false;
203 bool m_descriptionHasBeenSet = false;
204 bool m_sliConfigHasBeenSet = false;
205 bool m_requestBasedSliConfigHasBeenSet = false;
206 bool m_goalHasBeenSet = false;
207 bool m_tagsHasBeenSet = false;
208 bool m_burnRateConfigurationsHasBeenSet = false;
209};
210
211} // namespace Model
212} // namespace ApplicationSignals
213} // 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