AWS SDK for C++  0.12.9
AWS SDK for C++
StepScalingPolicyConfiguration.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Json
27 {
28  class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace ApplicationAutoScaling
32 {
33 namespace Model
34 {
35 
40  {
41  public:
45  Aws::Utils::Json::JsonValue Jsonize() const;
46 
51  inline const AdjustmentType& GetAdjustmentType() const{ return m_adjustmentType; }
52 
57  inline void SetAdjustmentType(const AdjustmentType& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = value; }
58 
63  inline void SetAdjustmentType(AdjustmentType&& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = value; }
64 
69  inline StepScalingPolicyConfiguration& WithAdjustmentType(const AdjustmentType& value) { SetAdjustmentType(value); return *this;}
70 
75  inline StepScalingPolicyConfiguration& WithAdjustmentType(AdjustmentType&& value) { SetAdjustmentType(value); return *this;}
76 
81  inline const Aws::Vector<StepAdjustment>& GetStepAdjustments() const{ return m_stepAdjustments; }
82 
87  inline void SetStepAdjustments(const Aws::Vector<StepAdjustment>& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = value; }
88 
93  inline void SetStepAdjustments(Aws::Vector<StepAdjustment>&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = value; }
94 
99  inline StepScalingPolicyConfiguration& WithStepAdjustments(const Aws::Vector<StepAdjustment>& value) { SetStepAdjustments(value); return *this;}
100 
105  inline StepScalingPolicyConfiguration& WithStepAdjustments(Aws::Vector<StepAdjustment>&& value) { SetStepAdjustments(value); return *this;}
106 
111  inline StepScalingPolicyConfiguration& AddStepAdjustments(const StepAdjustment& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(value); return *this; }
112 
117  inline StepScalingPolicyConfiguration& AddStepAdjustments(StepAdjustment&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(value); return *this; }
118 
125  inline long GetMinAdjustmentMagnitude() const{ return m_minAdjustmentMagnitude; }
126 
133  inline void SetMinAdjustmentMagnitude(long value) { m_minAdjustmentMagnitudeHasBeenSet = true; m_minAdjustmentMagnitude = value; }
134 
141  inline StepScalingPolicyConfiguration& WithMinAdjustmentMagnitude(long value) { SetMinAdjustmentMagnitude(value); return *this;}
142 
164  inline long GetCooldown() const{ return m_cooldown; }
165 
187  inline void SetCooldown(long value) { m_cooldownHasBeenSet = true; m_cooldown = value; }
188 
210  inline StepScalingPolicyConfiguration& WithCooldown(long value) { SetCooldown(value); return *this;}
211 
216  inline const MetricAggregationType& GetMetricAggregationType() const{ return m_metricAggregationType; }
217 
222  inline void SetMetricAggregationType(const MetricAggregationType& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = value; }
223 
228  inline void SetMetricAggregationType(MetricAggregationType&& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = value; }
229 
234  inline StepScalingPolicyConfiguration& WithMetricAggregationType(const MetricAggregationType& value) { SetMetricAggregationType(value); return *this;}
235 
240  inline StepScalingPolicyConfiguration& WithMetricAggregationType(MetricAggregationType&& value) { SetMetricAggregationType(value); return *this;}
241 
242  private:
243  AdjustmentType m_adjustmentType;
244  bool m_adjustmentTypeHasBeenSet;
245  Aws::Vector<StepAdjustment> m_stepAdjustments;
246  bool m_stepAdjustmentsHasBeenSet;
247  long m_minAdjustmentMagnitude;
248  bool m_minAdjustmentMagnitudeHasBeenSet;
249  long m_cooldown;
250  bool m_cooldownHasBeenSet;
251  MetricAggregationType m_metricAggregationType;
252  bool m_metricAggregationTypeHasBeenSet;
253  };
254 
255 } // namespace Model
256 } // namespace ApplicationAutoScaling
257 } // namespace Aws
#define AWS_APPLICATIONAUTOSCALING_API
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
StepScalingPolicyConfiguration & AddStepAdjustments(const StepAdjustment &value)
StepScalingPolicyConfiguration & AddStepAdjustments(StepAdjustment &&value)
StepScalingPolicyConfiguration & WithMetricAggregationType(const MetricAggregationType &value)
StepScalingPolicyConfiguration & WithStepAdjustments(Aws::Vector< StepAdjustment > &&value)
StepScalingPolicyConfiguration & WithAdjustmentType(AdjustmentType &&value)
StepScalingPolicyConfiguration & WithMetricAggregationType(MetricAggregationType &&value)
StepScalingPolicyConfiguration & WithAdjustmentType(const AdjustmentType &value)
StepScalingPolicyConfiguration & WithStepAdjustments(const Aws::Vector< StepAdjustment > &value)
JSON (JavaScript Object Notation).