AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
ScalingInstruction.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/ServiceNamespace.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/autoscaling-plans/model/ScalableDimension.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/autoscaling-plans/model/PredefinedLoadMetricSpecification.h>
13#include <aws/autoscaling-plans/model/CustomizedLoadMetricSpecification.h>
14#include <aws/autoscaling-plans/model/PredictiveScalingMaxCapacityBehavior.h>
15#include <aws/autoscaling-plans/model/PredictiveScalingMode.h>
16#include <aws/autoscaling-plans/model/ScalingPolicyUpdateBehavior.h>
17#include <aws/autoscaling-plans/model/TargetTrackingConfiguration.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace AutoScalingPlans
31{
32namespace Model
33{
34
59 {
60 public:
61 AWS_AUTOSCALINGPLANS_API ScalingInstruction();
62 AWS_AUTOSCALINGPLANS_API ScalingInstruction(Aws::Utils::Json::JsonView jsonValue);
63 AWS_AUTOSCALINGPLANS_API ScalingInstruction& operator=(Aws::Utils::Json::JsonView jsonValue);
64 AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
65
66
68
71 inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
72 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
73 inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
74 inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
75 inline ScalingInstruction& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
76 inline ScalingInstruction& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
78
80
99 inline const Aws::String& GetResourceId() const{ return m_resourceId; }
100 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
101 inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
102 inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
103 inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
104 inline ScalingInstruction& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
105 inline ScalingInstruction& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
106 inline ScalingInstruction& WithResourceId(const char* value) { SetResourceId(value); return *this;}
108
110
129 inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
130 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
131 inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
132 inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
134 inline ScalingInstruction& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
136
138
141 inline int GetMinCapacity() const{ return m_minCapacity; }
142 inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
143 inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
144 inline ScalingInstruction& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
146
148
153 inline int GetMaxCapacity() const{ return m_maxCapacity; }
154 inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
155 inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
156 inline ScalingInstruction& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
158
160
164 inline const Aws::Vector<TargetTrackingConfiguration>& GetTargetTrackingConfigurations() const{ return m_targetTrackingConfigurations; }
165 inline bool TargetTrackingConfigurationsHasBeenSet() const { return m_targetTrackingConfigurationsHasBeenSet; }
166 inline void SetTargetTrackingConfigurations(const Aws::Vector<TargetTrackingConfiguration>& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations = value; }
167 inline void SetTargetTrackingConfigurations(Aws::Vector<TargetTrackingConfiguration>&& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations = std::move(value); }
170 inline ScalingInstruction& AddTargetTrackingConfigurations(const TargetTrackingConfiguration& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations.push_back(value); return *this; }
171 inline ScalingInstruction& AddTargetTrackingConfigurations(TargetTrackingConfiguration&& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations.push_back(std::move(value)); return *this; }
173
175
180 inline const PredefinedLoadMetricSpecification& GetPredefinedLoadMetricSpecification() const{ return m_predefinedLoadMetricSpecification; }
181 inline bool PredefinedLoadMetricSpecificationHasBeenSet() const { return m_predefinedLoadMetricSpecificationHasBeenSet; }
182 inline void SetPredefinedLoadMetricSpecification(const PredefinedLoadMetricSpecification& value) { m_predefinedLoadMetricSpecificationHasBeenSet = true; m_predefinedLoadMetricSpecification = value; }
183 inline void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecification&& value) { m_predefinedLoadMetricSpecificationHasBeenSet = true; m_predefinedLoadMetricSpecification = std::move(value); }
187
189
194 inline const CustomizedLoadMetricSpecification& GetCustomizedLoadMetricSpecification() const{ return m_customizedLoadMetricSpecification; }
195 inline bool CustomizedLoadMetricSpecificationHasBeenSet() const { return m_customizedLoadMetricSpecificationHasBeenSet; }
196 inline void SetCustomizedLoadMetricSpecification(const CustomizedLoadMetricSpecification& value) { m_customizedLoadMetricSpecificationHasBeenSet = true; m_customizedLoadMetricSpecification = value; }
197 inline void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecification&& value) { m_customizedLoadMetricSpecificationHasBeenSet = true; m_customizedLoadMetricSpecification = std::move(value); }
201
203
215 inline int GetScheduledActionBufferTime() const{ return m_scheduledActionBufferTime; }
216 inline bool ScheduledActionBufferTimeHasBeenSet() const { return m_scheduledActionBufferTimeHasBeenSet; }
217 inline void SetScheduledActionBufferTime(int value) { m_scheduledActionBufferTimeHasBeenSet = true; m_scheduledActionBufferTime = value; }
220
222
239 inline const PredictiveScalingMaxCapacityBehavior& GetPredictiveScalingMaxCapacityBehavior() const{ return m_predictiveScalingMaxCapacityBehavior; }
240 inline bool PredictiveScalingMaxCapacityBehaviorHasBeenSet() const { return m_predictiveScalingMaxCapacityBehaviorHasBeenSet; }
241 inline void SetPredictiveScalingMaxCapacityBehavior(const PredictiveScalingMaxCapacityBehavior& value) { m_predictiveScalingMaxCapacityBehaviorHasBeenSet = true; m_predictiveScalingMaxCapacityBehavior = value; }
242 inline void SetPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior&& value) { m_predictiveScalingMaxCapacityBehaviorHasBeenSet = true; m_predictiveScalingMaxCapacityBehavior = std::move(value); }
246
248
259 inline int GetPredictiveScalingMaxCapacityBuffer() const{ return m_predictiveScalingMaxCapacityBuffer; }
260 inline bool PredictiveScalingMaxCapacityBufferHasBeenSet() const { return m_predictiveScalingMaxCapacityBufferHasBeenSet; }
261 inline void SetPredictiveScalingMaxCapacityBuffer(int value) { m_predictiveScalingMaxCapacityBufferHasBeenSet = true; m_predictiveScalingMaxCapacityBuffer = value; }
264
266
272 inline const PredictiveScalingMode& GetPredictiveScalingMode() const{ return m_predictiveScalingMode; }
273 inline bool PredictiveScalingModeHasBeenSet() const { return m_predictiveScalingModeHasBeenSet; }
274 inline void SetPredictiveScalingMode(const PredictiveScalingMode& value) { m_predictiveScalingModeHasBeenSet = true; m_predictiveScalingMode = value; }
275 inline void SetPredictiveScalingMode(PredictiveScalingMode&& value) { m_predictiveScalingModeHasBeenSet = true; m_predictiveScalingMode = std::move(value); }
279
281
291 inline const ScalingPolicyUpdateBehavior& GetScalingPolicyUpdateBehavior() const{ return m_scalingPolicyUpdateBehavior; }
292 inline bool ScalingPolicyUpdateBehaviorHasBeenSet() const { return m_scalingPolicyUpdateBehaviorHasBeenSet; }
293 inline void SetScalingPolicyUpdateBehavior(const ScalingPolicyUpdateBehavior& value) { m_scalingPolicyUpdateBehaviorHasBeenSet = true; m_scalingPolicyUpdateBehavior = value; }
294 inline void SetScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior&& value) { m_scalingPolicyUpdateBehaviorHasBeenSet = true; m_scalingPolicyUpdateBehavior = std::move(value); }
298
300
306 inline bool GetDisableDynamicScaling() const{ return m_disableDynamicScaling; }
307 inline bool DisableDynamicScalingHasBeenSet() const { return m_disableDynamicScalingHasBeenSet; }
308 inline void SetDisableDynamicScaling(bool value) { m_disableDynamicScalingHasBeenSet = true; m_disableDynamicScaling = value; }
309 inline ScalingInstruction& WithDisableDynamicScaling(bool value) { SetDisableDynamicScaling(value); return *this;}
311 private:
312
313 ServiceNamespace m_serviceNamespace;
314 bool m_serviceNamespaceHasBeenSet = false;
315
316 Aws::String m_resourceId;
317 bool m_resourceIdHasBeenSet = false;
318
319 ScalableDimension m_scalableDimension;
320 bool m_scalableDimensionHasBeenSet = false;
321
322 int m_minCapacity;
323 bool m_minCapacityHasBeenSet = false;
324
325 int m_maxCapacity;
326 bool m_maxCapacityHasBeenSet = false;
327
328 Aws::Vector<TargetTrackingConfiguration> m_targetTrackingConfigurations;
329 bool m_targetTrackingConfigurationsHasBeenSet = false;
330
331 PredefinedLoadMetricSpecification m_predefinedLoadMetricSpecification;
332 bool m_predefinedLoadMetricSpecificationHasBeenSet = false;
333
334 CustomizedLoadMetricSpecification m_customizedLoadMetricSpecification;
335 bool m_customizedLoadMetricSpecificationHasBeenSet = false;
336
337 int m_scheduledActionBufferTime;
338 bool m_scheduledActionBufferTimeHasBeenSet = false;
339
340 PredictiveScalingMaxCapacityBehavior m_predictiveScalingMaxCapacityBehavior;
341 bool m_predictiveScalingMaxCapacityBehaviorHasBeenSet = false;
342
343 int m_predictiveScalingMaxCapacityBuffer;
344 bool m_predictiveScalingMaxCapacityBufferHasBeenSet = false;
345
346 PredictiveScalingMode m_predictiveScalingMode;
347 bool m_predictiveScalingModeHasBeenSet = false;
348
349 ScalingPolicyUpdateBehavior m_scalingPolicyUpdateBehavior;
350 bool m_scalingPolicyUpdateBehaviorHasBeenSet = false;
351
352 bool m_disableDynamicScaling;
353 bool m_disableDynamicScalingHasBeenSet = false;
354 };
355
356} // namespace Model
357} // namespace AutoScalingPlans
358} // namespace Aws
void SetScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior &&value)
ScalingInstruction & WithTargetTrackingConfigurations(Aws::Vector< TargetTrackingConfiguration > &&value)
ScalingInstruction & WithCustomizedLoadMetricSpecification(const CustomizedLoadMetricSpecification &value)
ScalingInstruction & WithPredictiveScalingMode(PredictiveScalingMode &&value)
void SetPredefinedLoadMetricSpecification(const PredefinedLoadMetricSpecification &value)
ScalingInstruction & WithCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecification &&value)
ScalingInstruction & WithResourceId(const Aws::String &value)
ScalingInstruction & WithPredefinedLoadMetricSpecification(const PredefinedLoadMetricSpecification &value)
ScalingInstruction & WithTargetTrackingConfigurations(const Aws::Vector< TargetTrackingConfiguration > &value)
void SetTargetTrackingConfigurations(const Aws::Vector< TargetTrackingConfiguration > &value)
ScalingInstruction & WithPredictiveScalingMaxCapacityBehavior(const PredictiveScalingMaxCapacityBehavior &value)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
const ServiceNamespace & GetServiceNamespace() const
ScalingInstruction & WithPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior &&value)
ScalingInstruction & WithScalableDimension(const ScalableDimension &value)
void SetScalableDimension(const ScalableDimension &value)
void SetServiceNamespace(const ServiceNamespace &value)
const ScalingPolicyUpdateBehavior & GetScalingPolicyUpdateBehavior() const
void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecification &&value)
ScalingInstruction & WithDisableDynamicScaling(bool value)
void SetPredictiveScalingMode(const PredictiveScalingMode &value)
void SetCustomizedLoadMetricSpecification(const CustomizedLoadMetricSpecification &value)
void SetScalableDimension(ScalableDimension &&value)
ScalingInstruction & WithResourceId(Aws::String &&value)
const CustomizedLoadMetricSpecification & GetCustomizedLoadMetricSpecification() const
const PredefinedLoadMetricSpecification & GetPredefinedLoadMetricSpecification() const
ScalingInstruction & WithScheduledActionBufferTime(int value)
ScalingInstruction & WithPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecification &&value)
ScalingInstruction & WithScalableDimension(ScalableDimension &&value)
ScalingInstruction & WithScalingPolicyUpdateBehavior(const ScalingPolicyUpdateBehavior &value)
ScalingInstruction & AddTargetTrackingConfigurations(const TargetTrackingConfiguration &value)
ScalingInstruction & WithResourceId(const char *value)
const PredictiveScalingMaxCapacityBehavior & GetPredictiveScalingMaxCapacityBehavior() const
void SetPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior &&value)
const Aws::Vector< TargetTrackingConfiguration > & GetTargetTrackingConfigurations() const
void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecification &&value)
void SetScalingPolicyUpdateBehavior(const ScalingPolicyUpdateBehavior &value)
const ScalableDimension & GetScalableDimension() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction(Aws::Utils::Json::JsonView jsonValue)
ScalingInstruction & WithServiceNamespace(const ServiceNamespace &value)
AWS_AUTOSCALINGPLANS_API ScalingInstruction & operator=(Aws::Utils::Json::JsonView jsonValue)
ScalingInstruction & WithServiceNamespace(ServiceNamespace &&value)
void SetTargetTrackingConfigurations(Aws::Vector< TargetTrackingConfiguration > &&value)
const PredictiveScalingMode & GetPredictiveScalingMode() const
void SetPredictiveScalingMode(PredictiveScalingMode &&value)
void SetPredictiveScalingMaxCapacityBehavior(const PredictiveScalingMaxCapacityBehavior &value)
ScalingInstruction & WithScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior &&value)
ScalingInstruction & WithPredictiveScalingMaxCapacityBuffer(int value)
ScalingInstruction & WithPredictiveScalingMode(const PredictiveScalingMode &value)
ScalingInstruction & AddTargetTrackingConfigurations(TargetTrackingConfiguration &&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