7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/CustomizedLoadMetricSpecification.h>
9#include <aws/autoscaling-plans/model/PredefinedLoadMetricSpecification.h>
10#include <aws/autoscaling-plans/model/PredictiveScalingMaxCapacityBehavior.h>
11#include <aws/autoscaling-plans/model/PredictiveScalingMode.h>
12#include <aws/autoscaling-plans/model/ScalableDimension.h>
13#include <aws/autoscaling-plans/model/ScalingPolicyUpdateBehavior.h>
14#include <aws/autoscaling-plans/model/ServiceNamespace.h>
15#include <aws/autoscaling-plans/model/TargetTrackingConfiguration.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
28namespace AutoScalingPlans {
68 m_serviceNamespaceHasBeenSet =
true;
69 m_serviceNamespace = value;
99 template <
typename ResourceIdT = Aws::String>
101 m_resourceIdHasBeenSet =
true;
102 m_resourceId = std::forward<ResourceIdT>(value);
104 template <
typename ResourceIdT = Aws::String>
134 m_scalableDimensionHasBeenSet =
true;
135 m_scalableDimension = value;
150 m_minCapacityHasBeenSet =
true;
151 m_minCapacity = value;
168 m_maxCapacityHasBeenSet =
true;
169 m_maxCapacity = value;
184 template <
typename TargetTrackingConfigurationsT = Aws::Vector<TargetTrackingConfiguration>>
186 m_targetTrackingConfigurationsHasBeenSet =
true;
187 m_targetTrackingConfigurations = std::forward<TargetTrackingConfigurationsT>(value);
189 template <
typename TargetTrackingConfigurationsT = Aws::Vector<TargetTrackingConfiguration>>
194 template <
typename TargetTrackingConfigurationsT = TargetTrackingConfiguration>
196 m_targetTrackingConfigurationsHasBeenSet =
true;
197 m_targetTrackingConfigurations.emplace_back(std::forward<TargetTrackingConfigurationsT>(value));
209 return m_predefinedLoadMetricSpecification;
212 template <
typename PredefinedLoadMetricSpecificationT = PredefinedLoadMetricSpecification>
214 m_predefinedLoadMetricSpecificationHasBeenSet =
true;
215 m_predefinedLoadMetricSpecification = std::forward<PredefinedLoadMetricSpecificationT>(value);
217 template <
typename PredefinedLoadMetricSpecificationT = PredefinedLoadMetricSpecification>
231 return m_customizedLoadMetricSpecification;
234 template <
typename CustomizedLoadMetricSpecificationT = CustomizedLoadMetricSpecification>
236 m_customizedLoadMetricSpecificationHasBeenSet =
true;
237 m_customizedLoadMetricSpecification = std::forward<CustomizedLoadMetricSpecificationT>(value);
239 template <
typename CustomizedLoadMetricSpecificationT = CustomizedLoadMetricSpecification>
262 m_scheduledActionBufferTimeHasBeenSet =
true;
263 m_scheduledActionBufferTime = value;
290 return m_predictiveScalingMaxCapacityBehavior;
294 m_predictiveScalingMaxCapacityBehaviorHasBeenSet =
true;
295 m_predictiveScalingMaxCapacityBehavior = value;
318 m_predictiveScalingMaxCapacityBufferHasBeenSet =
true;
319 m_predictiveScalingMaxCapacityBuffer = value;
337 m_predictiveScalingModeHasBeenSet =
true;
338 m_predictiveScalingMode = value;
360 m_scalingPolicyUpdateBehaviorHasBeenSet =
true;
361 m_scalingPolicyUpdateBehavior = value;
379 m_disableDynamicScalingHasBeenSet =
true;
380 m_disableDynamicScaling = value;
394 int m_minCapacity{0};
396 int m_maxCapacity{0};
400 PredefinedLoadMetricSpecification m_predefinedLoadMetricSpecification;
402 CustomizedLoadMetricSpecification m_customizedLoadMetricSpecification;
404 int m_scheduledActionBufferTime{0};
408 int m_predictiveScalingMaxCapacityBuffer{0};
414 bool m_disableDynamicScaling{
false};
415 bool m_serviceNamespaceHasBeenSet =
false;
416 bool m_resourceIdHasBeenSet =
false;
417 bool m_scalableDimensionHasBeenSet =
false;
418 bool m_minCapacityHasBeenSet =
false;
419 bool m_maxCapacityHasBeenSet =
false;
420 bool m_targetTrackingConfigurationsHasBeenSet =
false;
421 bool m_predefinedLoadMetricSpecificationHasBeenSet =
false;
422 bool m_customizedLoadMetricSpecificationHasBeenSet =
false;
423 bool m_scheduledActionBufferTimeHasBeenSet =
false;
424 bool m_predictiveScalingMaxCapacityBehaviorHasBeenSet =
false;
425 bool m_predictiveScalingMaxCapacityBufferHasBeenSet =
false;
426 bool m_predictiveScalingModeHasBeenSet =
false;
427 bool m_scalingPolicyUpdateBehaviorHasBeenSet =
false;
428 bool m_disableDynamicScalingHasBeenSet =
false;
bool TargetTrackingConfigurationsHasBeenSet() const
PredictiveScalingMode GetPredictiveScalingMode() const
ScalingInstruction & WithPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior value)
bool ServiceNamespaceHasBeenSet() const
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
bool PredefinedLoadMetricSpecificationHasBeenSet() const
void SetDisableDynamicScaling(bool value)
void SetTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
bool MinCapacityHasBeenSet() const
int GetScheduledActionBufferTime() const
bool ScalableDimensionHasBeenSet() const
bool MaxCapacityHasBeenSet() const
void SetMaxCapacity(int value)
ScalingInstruction & WithDisableDynamicScaling(bool value)
int GetMinCapacity() const
bool ResourceIdHasBeenSet() const
ScalingPolicyUpdateBehavior GetScalingPolicyUpdateBehavior() const
void SetServiceNamespace(ServiceNamespace value)
void SetPredictiveScalingMaxCapacityBuffer(int value)
ScalingInstruction & WithPredictiveScalingMode(PredictiveScalingMode value)
bool PredictiveScalingMaxCapacityBufferHasBeenSet() const
ScalingInstruction & WithMaxCapacity(int value)
const Aws::String & GetResourceId() const
ServiceNamespace GetServiceNamespace() const
bool ScalingPolicyUpdateBehaviorHasBeenSet() const
const CustomizedLoadMetricSpecification & GetCustomizedLoadMetricSpecification() const
const PredefinedLoadMetricSpecification & GetPredefinedLoadMetricSpecification() const
ScalingInstruction & WithServiceNamespace(ServiceNamespace value)
bool ScheduledActionBufferTimeHasBeenSet() const
void SetScheduledActionBufferTime(int value)
bool PredictiveScalingModeHasBeenSet() const
ScalingInstruction & WithScheduledActionBufferTime(int value)
void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
ScalingInstruction & WithMinCapacity(int value)
int GetPredictiveScalingMaxCapacityBuffer() const
void SetPredictiveScalingMode(PredictiveScalingMode value)
void SetPredictiveScalingMaxCapacityBehavior(PredictiveScalingMaxCapacityBehavior value)
ScalingInstruction & WithPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
bool DisableDynamicScalingHasBeenSet() const
ScalingInstruction & AddTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
void SetScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior value)
ScalingInstruction & WithTargetTrackingConfigurations(TargetTrackingConfigurationsT &&value)
const Aws::Vector< TargetTrackingConfiguration > & GetTargetTrackingConfigurations() const
bool CustomizedLoadMetricSpecificationHasBeenSet() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction()=default
bool PredictiveScalingMaxCapacityBehaviorHasBeenSet() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction(Aws::Utils::Json::JsonView jsonValue)
PredictiveScalingMaxCapacityBehavior GetPredictiveScalingMaxCapacityBehavior() const
bool GetDisableDynamicScaling() const
AWS_AUTOSCALINGPLANS_API ScalingInstruction & operator=(Aws::Utils::Json::JsonView jsonValue)
int GetMaxCapacity() const
void SetMinCapacity(int value)
ScalableDimension GetScalableDimension() const
ScalingInstruction & WithPredictiveScalingMaxCapacityBuffer(int value)
ScalingInstruction & WithScalableDimension(ScalableDimension value)
void SetResourceId(ResourceIdT &&value)
ScalingInstruction & WithScalingPolicyUpdateBehavior(ScalingPolicyUpdateBehavior value)
ScalingInstruction & WithResourceId(ResourceIdT &&value)
ScalingInstruction & WithCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&value)
void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&value)
void SetScalableDimension(ScalableDimension value)
ScalingPolicyUpdateBehavior
PredictiveScalingMaxCapacityBehavior
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue