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>
28namespace ApplicationAutoScaling {
54 template <
typename PolicyARNT = Aws::String>
56 m_policyARNHasBeenSet =
true;
57 m_policyARN = std::forward<PolicyARNT>(value);
59 template <
typename PolicyARNT = Aws::String>
72 template <
typename PolicyNameT = Aws::String>
74 m_policyNameHasBeenSet =
true;
75 m_policyName = std::forward<PolicyNameT>(value);
77 template <
typename PolicyNameT = Aws::String>
92 m_serviceNamespaceHasBeenSet =
true;
93 m_serviceNamespace = value;
168 template <
typename ResourceIdT = Aws::String>
170 m_resourceIdHasBeenSet =
true;
171 m_resourceId = std::forward<ResourceIdT>(value);
173 template <
typename ResourceIdT = Aws::String>
236 m_scalableDimensionHasBeenSet =
true;
237 m_scalableDimension = value;
256 m_policyTypeHasBeenSet =
true;
257 m_policyType = value;
271 template <
typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
273 m_stepScalingPolicyConfigurationHasBeenSet =
true;
274 m_stepScalingPolicyConfiguration = std::forward<StepScalingPolicyConfigurationT>(value);
276 template <
typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
288 return m_targetTrackingScalingPolicyConfiguration;
291 template <
typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
293 m_targetTrackingScalingPolicyConfigurationHasBeenSet =
true;
294 m_targetTrackingScalingPolicyConfiguration = std::forward<TargetTrackingScalingPolicyConfigurationT>(value);
296 template <
typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
308 return m_predictiveScalingPolicyConfiguration;
311 template <
typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
313 m_predictiveScalingPolicyConfigurationHasBeenSet =
true;
314 m_predictiveScalingPolicyConfiguration = std::forward<PredictiveScalingPolicyConfigurationT>(value);
316 template <
typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
329 template <
typename AlarmsT = Aws::Vector<Alarm>>
331 m_alarmsHasBeenSet =
true;
332 m_alarms = std::forward<AlarmsT>(value);
334 template <
typename AlarmsT = Aws::Vector<Alarm>>
339 template <
typename AlarmsT = Alarm>
341 m_alarmsHasBeenSet =
true;
342 m_alarms.emplace_back(std::forward<AlarmsT>(value));
353 template <
typename CreationTimeT = Aws::Utils::DateTime>
355 m_creationTimeHasBeenSet =
true;
356 m_creationTime = std::forward<CreationTimeT>(value);
358 template <
typename CreationTimeT = Aws::Utils::DateTime>
377 StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
379 TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
381 PredictiveScalingPolicyConfiguration m_predictiveScalingPolicyConfiguration;
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;
void SetPolicyName(PolicyNameT &&value)
ScalingPolicy & AddAlarms(AlarmsT &&value)
ScalingPolicy & WithServiceNamespace(ServiceNamespace value)
ScalingPolicy & WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
ScalingPolicy & WithPolicyType(PolicyType value)
bool PolicyARNHasBeenSet() const
const PredictiveScalingPolicyConfiguration & GetPredictiveScalingPolicyConfiguration() const
bool ResourceIdHasBeenSet() const
bool ScalableDimensionHasBeenSet() const
const Aws::String & GetPolicyARN() const
ScalingPolicy & WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
bool StepScalingPolicyConfigurationHasBeenSet() const
const Aws::String & GetResourceId() const
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetScalableDimension(ScalableDimension value)
const Aws::String & GetPolicyName() const
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue)
bool PolicyTypeHasBeenSet() const
const StepScalingPolicyConfiguration & GetStepScalingPolicyConfiguration() const
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy()=default
ScalableDimension GetScalableDimension() const
void SetCreationTime(CreationTimeT &&value)
bool CreationTimeHasBeenSet() const
void SetAlarms(AlarmsT &&value)
bool AlarmsHasBeenSet() const
ScalingPolicy & WithCreationTime(CreationTimeT &&value)
const Aws::Vector< Alarm > & GetAlarms() const
ScalingPolicy & WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
void SetServiceNamespace(ServiceNamespace value)
void SetResourceId(ResourceIdT &&value)
const TargetTrackingScalingPolicyConfiguration & GetTargetTrackingScalingPolicyConfiguration() const
ScalingPolicy & WithAlarms(AlarmsT &&value)
ScalingPolicy & WithPolicyName(PolicyNameT &&value)
ScalingPolicy & WithScalableDimension(ScalableDimension value)
const Aws::Utils::DateTime & GetCreationTime() const
void SetPolicyType(PolicyType value)
ScalingPolicy & WithPolicyARN(PolicyARNT &&value)
ScalingPolicy & WithResourceId(ResourceIdT &&value)
PolicyType GetPolicyType() const
void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const
void SetPolicyARN(PolicyARNT &&value)
ServiceNamespace GetServiceNamespace() const
void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
bool ServiceNamespaceHasBeenSet() const
void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
bool PolicyNameHasBeenSet() const
bool PredictiveScalingPolicyConfigurationHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue