AWS SDK for C++

AWS SDK for C++ Version 1.11.609

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() = default;
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 ServiceNamespace GetServiceNamespace() const { return m_serviceNamespace; }
72 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
73 inline void SetServiceNamespace(ServiceNamespace value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
76
78
97 inline const Aws::String& GetResourceId() const { return m_resourceId; }
98 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
99 template<typename ResourceIdT = Aws::String>
100 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward<ResourceIdT>(value); }
101 template<typename ResourceIdT = Aws::String>
102 ScalingInstruction& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward<ResourceIdT>(value)); return *this;}
104
106
125 inline ScalableDimension GetScalableDimension() const { return m_scalableDimension; }
126 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
127 inline void SetScalableDimension(ScalableDimension value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
130
132
135 inline int GetMinCapacity() const { return m_minCapacity; }
136 inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
137 inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
138 inline ScalingInstruction& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
140
142
147 inline int GetMaxCapacity() const { return m_maxCapacity; }
148 inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
149 inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
150 inline ScalingInstruction& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
152
154
158 inline const Aws::Vector<TargetTrackingConfiguration>& GetTargetTrackingConfigurations() const { return m_targetTrackingConfigurations; }
159 inline bool TargetTrackingConfigurationsHasBeenSet() const { return m_targetTrackingConfigurationsHasBeenSet; }
160 template<typename TargetTrackingConfigurationsT = Aws::Vector<TargetTrackingConfiguration>>
161 void SetTargetTrackingConfigurations(TargetTrackingConfigurationsT&& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations = std::forward<TargetTrackingConfigurationsT>(value); }
162 template<typename TargetTrackingConfigurationsT = Aws::Vector<TargetTrackingConfiguration>>
163 ScalingInstruction& WithTargetTrackingConfigurations(TargetTrackingConfigurationsT&& value) { SetTargetTrackingConfigurations(std::forward<TargetTrackingConfigurationsT>(value)); return *this;}
164 template<typename TargetTrackingConfigurationsT = TargetTrackingConfiguration>
165 ScalingInstruction& AddTargetTrackingConfigurations(TargetTrackingConfigurationsT&& value) { m_targetTrackingConfigurationsHasBeenSet = true; m_targetTrackingConfigurations.emplace_back(std::forward<TargetTrackingConfigurationsT>(value)); return *this; }
167
169
174 inline const PredefinedLoadMetricSpecification& GetPredefinedLoadMetricSpecification() const { return m_predefinedLoadMetricSpecification; }
175 inline bool PredefinedLoadMetricSpecificationHasBeenSet() const { return m_predefinedLoadMetricSpecificationHasBeenSet; }
176 template<typename PredefinedLoadMetricSpecificationT = PredefinedLoadMetricSpecification>
177 void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT&& value) { m_predefinedLoadMetricSpecificationHasBeenSet = true; m_predefinedLoadMetricSpecification = std::forward<PredefinedLoadMetricSpecificationT>(value); }
178 template<typename PredefinedLoadMetricSpecificationT = PredefinedLoadMetricSpecification>
179 ScalingInstruction& WithPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT&& value) { SetPredefinedLoadMetricSpecification(std::forward<PredefinedLoadMetricSpecificationT>(value)); return *this;}
181
183
188 inline const CustomizedLoadMetricSpecification& GetCustomizedLoadMetricSpecification() const { return m_customizedLoadMetricSpecification; }
189 inline bool CustomizedLoadMetricSpecificationHasBeenSet() const { return m_customizedLoadMetricSpecificationHasBeenSet; }
190 template<typename CustomizedLoadMetricSpecificationT = CustomizedLoadMetricSpecification>
191 void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT&& value) { m_customizedLoadMetricSpecificationHasBeenSet = true; m_customizedLoadMetricSpecification = std::forward<CustomizedLoadMetricSpecificationT>(value); }
192 template<typename CustomizedLoadMetricSpecificationT = CustomizedLoadMetricSpecification>
193 ScalingInstruction& WithCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT&& value) { SetCustomizedLoadMetricSpecification(std::forward<CustomizedLoadMetricSpecificationT>(value)); return *this;}
195
197
209 inline int GetScheduledActionBufferTime() const { return m_scheduledActionBufferTime; }
210 inline bool ScheduledActionBufferTimeHasBeenSet() const { return m_scheduledActionBufferTimeHasBeenSet; }
211 inline void SetScheduledActionBufferTime(int value) { m_scheduledActionBufferTimeHasBeenSet = true; m_scheduledActionBufferTime = value; }
214
216
233 inline PredictiveScalingMaxCapacityBehavior GetPredictiveScalingMaxCapacityBehavior() const { return m_predictiveScalingMaxCapacityBehavior; }
234 inline bool PredictiveScalingMaxCapacityBehaviorHasBeenSet() const { return m_predictiveScalingMaxCapacityBehaviorHasBeenSet; }
235 inline void SetPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior value) { m_predictiveScalingMaxCapacityBehaviorHasBeenSet = true; m_predictiveScalingMaxCapacityBehavior = value; }
238
240
251 inline int GetPredictiveScalingMaxCapacityBuffer() const { return m_predictiveScalingMaxCapacityBuffer; }
252 inline bool PredictiveScalingMaxCapacityBufferHasBeenSet() const { return m_predictiveScalingMaxCapacityBufferHasBeenSet; }
253 inline void SetPredictiveScalingMaxCapacityBuffer(int value) { m_predictiveScalingMaxCapacityBufferHasBeenSet = true; m_predictiveScalingMaxCapacityBuffer = value; }
256
258
264 inline PredictiveScalingMode GetPredictiveScalingMode() const { return m_predictiveScalingMode; }
265 inline bool PredictiveScalingModeHasBeenSet() const { return m_predictiveScalingModeHasBeenSet; }
266 inline void SetPredictiveScalingMode(PredictiveScalingMode value) { m_predictiveScalingModeHasBeenSet = true; m_predictiveScalingMode = value; }
269
271
281 inline ScalingPolicyUpdateBehavior GetScalingPolicyUpdateBehavior() const { return m_scalingPolicyUpdateBehavior; }
282 inline bool ScalingPolicyUpdateBehaviorHasBeenSet() const { return m_scalingPolicyUpdateBehaviorHasBeenSet; }
283 inline void SetScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior value) { m_scalingPolicyUpdateBehaviorHasBeenSet = true; m_scalingPolicyUpdateBehavior = value; }
286
288
294 inline bool GetDisableDynamicScaling() const { return m_disableDynamicScaling; }
295 inline bool DisableDynamicScalingHasBeenSet() const { return m_disableDynamicScalingHasBeenSet; }
296 inline void SetDisableDynamicScaling(bool value) { m_disableDynamicScalingHasBeenSet = true; m_disableDynamicScaling = value; }
297 inline ScalingInstruction& WithDisableDynamicScaling(bool value) { SetDisableDynamicScaling(value); return *this;}
299 private:
300
302 bool m_serviceNamespaceHasBeenSet = false;
303
304 Aws::String m_resourceId;
305 bool m_resourceIdHasBeenSet = false;
306
308 bool m_scalableDimensionHasBeenSet = false;
309
310 int m_minCapacity{0};
311 bool m_minCapacityHasBeenSet = false;
312
313 int m_maxCapacity{0};
314 bool m_maxCapacityHasBeenSet = false;
315
316 Aws::Vector<TargetTrackingConfiguration> m_targetTrackingConfigurations;
317 bool m_targetTrackingConfigurationsHasBeenSet = false;
318
319 PredefinedLoadMetricSpecification m_predefinedLoadMetricSpecification;
320 bool m_predefinedLoadMetricSpecificationHasBeenSet = false;
321
322 CustomizedLoadMetricSpecification m_customizedLoadMetricSpecification;
323 bool m_customizedLoadMetricSpecificationHasBeenSet = false;
324
325 int m_scheduledActionBufferTime{0};
326 bool m_scheduledActionBufferTimeHasBeenSet = false;
327
329 bool m_predictiveScalingMaxCapacityBehaviorHasBeenSet = false;
330
331 int m_predictiveScalingMaxCapacityBuffer{0};
332 bool m_predictiveScalingMaxCapacityBufferHasBeenSet = false;
333
335 bool m_predictiveScalingModeHasBeenSet = false;
336
338 bool m_scalingPolicyUpdateBehaviorHasBeenSet = false;
339
340 bool m_disableDynamicScaling{false};
341 bool m_disableDynamicScalingHasBeenSet = false;
342 };
343
344} // namespace Model
345} // namespace AutoScalingPlans
346} // namespace Aws
ScalingInstruction & WithPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior value)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
ScalingInstruction & WithDisableDynamicScaling(bool value)
ScalingPolicyUpdateBehavior GetScalingPolicyUpdateBehavior() const
ScalingInstruction & WithPredictiveScalingMode(PredictiveScalingMode value)
const CustomizedLoadMetricSpecification & GetCustomizedLoadMetricSpecification() const
const PredefinedLoadMetricSpecification & GetPredefinedLoadMetricSpecification() const
ScalingInstruction & WithServiceNamespace(ServiceNamespace value)
ScalingInstruction & WithScheduledActionBufferTime(int value)
void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
void SetPredictiveScalingMode(PredictiveScalingMode value)
void SetPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior value)
ScalingInstruction & WithPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
ScalingInstruction & AddTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
void SetScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior value)
ScalingInstruction & WithTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
const Aws::Vector< TargetTrackingConfiguration > & GetTargetTrackingConfigurations() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction()=default
AWS_AUTOSCALINGPLANS_API ScalingInstruction(Aws::Utils::Json::JsonView jsonValue)
PredictiveScalingMaxCapacityBehavior GetPredictiveScalingMaxCapacityBehavior() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction & operator=(Aws::Utils::Json::JsonView jsonValue)
ScalingInstruction & WithPredictiveScalingMaxCapacityBuffer(int value)
ScalingInstruction & WithScalableDimension(ScalableDimension value)
ScalingInstruction & WithScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior value)
ScalingInstruction & WithResourceId(ResourceIdT &&value)
ScalingInstruction & WithCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&value)
void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&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