1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace ApplicationAutoScaling
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>Represents the minimum and maximum capacity for a scheduled
26    * action.</p><p><h3>See Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalableTargetAction">AWS
28    * API Reference</a></p>
29    */
30   class AWS_APPLICATIONAUTOSCALING_API ScalableTargetAction
31   {
32   public:
33     ScalableTargetAction();
34     ScalableTargetAction(Aws::Utils::Json::JsonView jsonValue);
35     ScalableTargetAction& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * <p>The minimum capacity.</p> <p>For certain resources, the minimum value allowed
41      * is 0. This includes Lambda provisioned concurrency, Spot Fleet, ECS services,
42      * Aurora DB clusters, EMR clusters, and custom resources. For all other resources,
43      * the minimum value allowed is 1.</p>
44      */
GetMinCapacity()45     inline int GetMinCapacity() const{ return m_minCapacity; }
46 
47     /**
48      * <p>The minimum capacity.</p> <p>For certain resources, the minimum value allowed
49      * is 0. This includes Lambda provisioned concurrency, Spot Fleet, ECS services,
50      * Aurora DB clusters, EMR clusters, and custom resources. For all other resources,
51      * the minimum value allowed is 1.</p>
52      */
MinCapacityHasBeenSet()53     inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
54 
55     /**
56      * <p>The minimum capacity.</p> <p>For certain resources, the minimum value allowed
57      * is 0. This includes Lambda provisioned concurrency, Spot Fleet, ECS services,
58      * Aurora DB clusters, EMR clusters, and custom resources. For all other resources,
59      * the minimum value allowed is 1.</p>
60      */
SetMinCapacity(int value)61     inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
62 
63     /**
64      * <p>The minimum capacity.</p> <p>For certain resources, the minimum value allowed
65      * is 0. This includes Lambda provisioned concurrency, Spot Fleet, ECS services,
66      * Aurora DB clusters, EMR clusters, and custom resources. For all other resources,
67      * the minimum value allowed is 1.</p>
68      */
WithMinCapacity(int value)69     inline ScalableTargetAction& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
70 
71 
72     /**
73      * <p>The maximum capacity.</p> <p>Although you can specify a large maximum
74      * capacity, note that service quotas may impose lower limits. Each service has its
75      * own default quotas for the maximum capacity of the resource. If you want to
76      * specify a higher limit, you can request an increase. For more information,
77      * consult the documentation for that service. For information about the default
78      * quotas for each service, see <a
79      * href="https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html">Service
80      * Endpoints and Quotas</a> in the <i>Amazon Web Services General
81      * Reference</i>.</p>
82      */
GetMaxCapacity()83     inline int GetMaxCapacity() const{ return m_maxCapacity; }
84 
85     /**
86      * <p>The maximum capacity.</p> <p>Although you can specify a large maximum
87      * capacity, note that service quotas may impose lower limits. Each service has its
88      * own default quotas for the maximum capacity of the resource. If you want to
89      * specify a higher limit, you can request an increase. For more information,
90      * consult the documentation for that service. For information about the default
91      * quotas for each service, see <a
92      * href="https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html">Service
93      * Endpoints and Quotas</a> in the <i>Amazon Web Services General
94      * Reference</i>.</p>
95      */
MaxCapacityHasBeenSet()96     inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
97 
98     /**
99      * <p>The maximum capacity.</p> <p>Although you can specify a large maximum
100      * capacity, note that service quotas may impose lower limits. Each service has its
101      * own default quotas for the maximum capacity of the resource. If you want to
102      * specify a higher limit, you can request an increase. For more information,
103      * consult the documentation for that service. For information about the default
104      * quotas for each service, see <a
105      * href="https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html">Service
106      * Endpoints and Quotas</a> in the <i>Amazon Web Services General
107      * Reference</i>.</p>
108      */
SetMaxCapacity(int value)109     inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
110 
111     /**
112      * <p>The maximum capacity.</p> <p>Although you can specify a large maximum
113      * capacity, note that service quotas may impose lower limits. Each service has its
114      * own default quotas for the maximum capacity of the resource. If you want to
115      * specify a higher limit, you can request an increase. For more information,
116      * consult the documentation for that service. For information about the default
117      * quotas for each service, see <a
118      * href="https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html">Service
119      * Endpoints and Quotas</a> in the <i>Amazon Web Services General
120      * Reference</i>.</p>
121      */
WithMaxCapacity(int value)122     inline ScalableTargetAction& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
123 
124   private:
125 
126     int m_minCapacity;
127     bool m_minCapacityHasBeenSet;
128 
129     int m_maxCapacity;
130     bool m_maxCapacityHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace ApplicationAutoScaling
135 } // namespace Aws
136