AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
ScalingPolicy.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/Alarm.h>
9#include <aws/application-autoscaling/model/PolicyType.h>
10#include <aws/application-autoscaling/model/PredictiveScalingPolicyConfiguration.h>
11#include <aws/application-autoscaling/model/ScalableDimension.h>
12#include <aws/application-autoscaling/model/ServiceNamespace.h>
13#include <aws/application-autoscaling/model/StepScalingPolicyConfiguration.h>
14#include <aws/application-autoscaling/model/TargetTrackingScalingPolicyConfiguration.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ApplicationAutoScaling {
29namespace Model {
30
42 public:
43 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy() = default;
44 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue);
45 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
46 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
47
49
52 inline const Aws::String& GetPolicyARN() const { return m_policyARN; }
53 inline bool PolicyARNHasBeenSet() const { return m_policyARNHasBeenSet; }
54 template <typename PolicyARNT = Aws::String>
55 void SetPolicyARN(PolicyARNT&& value) {
56 m_policyARNHasBeenSet = true;
57 m_policyARN = std::forward<PolicyARNT>(value);
58 }
59 template <typename PolicyARNT = Aws::String>
60 ScalingPolicy& WithPolicyARN(PolicyARNT&& value) {
61 SetPolicyARN(std::forward<PolicyARNT>(value));
62 return *this;
63 }
65
67
70 inline const Aws::String& GetPolicyName() const { return m_policyName; }
71 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
72 template <typename PolicyNameT = Aws::String>
73 void SetPolicyName(PolicyNameT&& value) {
74 m_policyNameHasBeenSet = true;
75 m_policyName = std::forward<PolicyNameT>(value);
76 }
77 template <typename PolicyNameT = Aws::String>
78 ScalingPolicy& WithPolicyName(PolicyNameT&& value) {
79 SetPolicyName(std::forward<PolicyNameT>(value));
80 return *this;
81 }
83
85
89 inline ServiceNamespace GetServiceNamespace() const { return m_serviceNamespace; }
90 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
92 m_serviceNamespaceHasBeenSet = true;
93 m_serviceNamespace = value;
94 }
97 return *this;
98 }
100
102
166 inline const Aws::String& GetResourceId() const { return m_resourceId; }
167 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
168 template <typename ResourceIdT = Aws::String>
169 void SetResourceId(ResourceIdT&& value) {
170 m_resourceIdHasBeenSet = true;
171 m_resourceId = std::forward<ResourceIdT>(value);
172 }
173 template <typename ResourceIdT = Aws::String>
174 ScalingPolicy& WithResourceId(ResourceIdT&& value) {
175 SetResourceId(std::forward<ResourceIdT>(value));
176 return *this;
177 }
179
181
233 inline ScalableDimension GetScalableDimension() const { return m_scalableDimension; }
234 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
236 m_scalableDimensionHasBeenSet = true;
237 m_scalableDimension = value;
238 }
241 return *this;
242 }
244
246
253 inline PolicyType GetPolicyType() const { return m_policyType; }
254 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
255 inline void SetPolicyType(PolicyType value) {
256 m_policyTypeHasBeenSet = true;
257 m_policyType = value;
258 }
260 SetPolicyType(value);
261 return *this;
262 }
264
266
269 inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const { return m_stepScalingPolicyConfiguration; }
270 inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; }
271 template <typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
272 void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) {
273 m_stepScalingPolicyConfigurationHasBeenSet = true;
274 m_stepScalingPolicyConfiguration = std::forward<StepScalingPolicyConfigurationT>(value);
275 }
276 template <typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
277 ScalingPolicy& WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) {
278 SetStepScalingPolicyConfiguration(std::forward<StepScalingPolicyConfigurationT>(value));
279 return *this;
280 }
282
284
288 return m_targetTrackingScalingPolicyConfiguration;
289 }
290 inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; }
291 template <typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
292 void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) {
293 m_targetTrackingScalingPolicyConfigurationHasBeenSet = true;
294 m_targetTrackingScalingPolicyConfiguration = std::forward<TargetTrackingScalingPolicyConfigurationT>(value);
295 }
296 template <typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
297 ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) {
298 SetTargetTrackingScalingPolicyConfiguration(std::forward<TargetTrackingScalingPolicyConfigurationT>(value));
299 return *this;
300 }
302
304
308 return m_predictiveScalingPolicyConfiguration;
309 }
310 inline bool PredictiveScalingPolicyConfigurationHasBeenSet() const { return m_predictiveScalingPolicyConfigurationHasBeenSet; }
311 template <typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
312 void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) {
313 m_predictiveScalingPolicyConfigurationHasBeenSet = true;
314 m_predictiveScalingPolicyConfiguration = std::forward<PredictiveScalingPolicyConfigurationT>(value);
315 }
316 template <typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
317 ScalingPolicy& WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) {
318 SetPredictiveScalingPolicyConfiguration(std::forward<PredictiveScalingPolicyConfigurationT>(value));
319 return *this;
320 }
322
324
327 inline const Aws::Vector<Alarm>& GetAlarms() const { return m_alarms; }
328 inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
329 template <typename AlarmsT = Aws::Vector<Alarm>>
330 void SetAlarms(AlarmsT&& value) {
331 m_alarmsHasBeenSet = true;
332 m_alarms = std::forward<AlarmsT>(value);
333 }
334 template <typename AlarmsT = Aws::Vector<Alarm>>
335 ScalingPolicy& WithAlarms(AlarmsT&& value) {
336 SetAlarms(std::forward<AlarmsT>(value));
337 return *this;
338 }
339 template <typename AlarmsT = Alarm>
340 ScalingPolicy& AddAlarms(AlarmsT&& value) {
341 m_alarmsHasBeenSet = true;
342 m_alarms.emplace_back(std::forward<AlarmsT>(value));
343 return *this;
344 }
346
348
351 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
352 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
353 template <typename CreationTimeT = Aws::Utils::DateTime>
354 void SetCreationTime(CreationTimeT&& value) {
355 m_creationTimeHasBeenSet = true;
356 m_creationTime = std::forward<CreationTimeT>(value);
357 }
358 template <typename CreationTimeT = Aws::Utils::DateTime>
359 ScalingPolicy& WithCreationTime(CreationTimeT&& value) {
360 SetCreationTime(std::forward<CreationTimeT>(value));
361 return *this;
362 }
364 private:
365 Aws::String m_policyARN;
366
367 Aws::String m_policyName;
368
370
371 Aws::String m_resourceId;
372
374
375 PolicyType m_policyType{PolicyType::NOT_SET};
376
377 StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
378
379 TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
380
381 PredictiveScalingPolicyConfiguration m_predictiveScalingPolicyConfiguration;
382
383 Aws::Vector<Alarm> m_alarms;
384
385 Aws::Utils::DateTime m_creationTime{};
386 bool m_policyARNHasBeenSet = false;
387 bool m_policyNameHasBeenSet = false;
388 bool m_serviceNamespaceHasBeenSet = false;
389 bool m_resourceIdHasBeenSet = false;
390 bool m_scalableDimensionHasBeenSet = false;
391 bool m_policyTypeHasBeenSet = false;
392 bool m_stepScalingPolicyConfigurationHasBeenSet = false;
393 bool m_targetTrackingScalingPolicyConfigurationHasBeenSet = false;
394 bool m_predictiveScalingPolicyConfigurationHasBeenSet = false;
395 bool m_alarmsHasBeenSet = false;
396 bool m_creationTimeHasBeenSet = false;
397};
398
399} // namespace Model
400} // namespace ApplicationAutoScaling
401} // namespace Aws
ScalingPolicy & AddAlarms(AlarmsT &&value)
ScalingPolicy & WithServiceNamespace(ServiceNamespace value)
ScalingPolicy & WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
ScalingPolicy & WithPolicyType(PolicyType value)
const PredictiveScalingPolicyConfiguration & GetPredictiveScalingPolicyConfiguration() const
ScalingPolicy & WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetScalableDimension(ScalableDimension value)
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue)
const StepScalingPolicyConfiguration & GetStepScalingPolicyConfiguration() const
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy()=default
ScalingPolicy & WithCreationTime(CreationTimeT &&value)
const Aws::Vector< Alarm > & GetAlarms() const
ScalingPolicy & WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
void SetServiceNamespace(ServiceNamespace value)
const TargetTrackingScalingPolicyConfiguration & GetTargetTrackingScalingPolicyConfiguration() const
ScalingPolicy & WithAlarms(AlarmsT &&value)
ScalingPolicy & WithPolicyName(PolicyNameT &&value)
ScalingPolicy & WithScalableDimension(ScalableDimension value)
const Aws::Utils::DateTime & GetCreationTime() const
ScalingPolicy & WithPolicyARN(PolicyARNT &&value)
ScalingPolicy & WithResourceId(ResourceIdT &&value)
void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue