AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ScalingPolicy.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/application-autoscaling/model/ServiceNamespace.h>
10#include <aws/application-autoscaling/model/ScalableDimension.h>
11#include <aws/application-autoscaling/model/PolicyType.h>
12#include <aws/application-autoscaling/model/StepScalingPolicyConfiguration.h>
13#include <aws/application-autoscaling/model/TargetTrackingScalingPolicyConfiguration.h>
14#include <aws/application-autoscaling/model/PredictiveScalingPolicyConfiguration.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16#include <aws/core/utils/DateTime.h>
17#include <aws/application-autoscaling/model/Alarm.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 ApplicationAutoScaling
31{
32namespace Model
33{
34
46 {
47 public:
48 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy() = default;
49 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue);
50 AWS_APPLICATIONAUTOSCALING_API ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
51 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
52
53
55
58 inline const Aws::String& GetPolicyARN() const { return m_policyARN; }
59 inline bool PolicyARNHasBeenSet() const { return m_policyARNHasBeenSet; }
60 template<typename PolicyARNT = Aws::String>
61 void SetPolicyARN(PolicyARNT&& value) { m_policyARNHasBeenSet = true; m_policyARN = std::forward<PolicyARNT>(value); }
62 template<typename PolicyARNT = Aws::String>
63 ScalingPolicy& WithPolicyARN(PolicyARNT&& value) { SetPolicyARN(std::forward<PolicyARNT>(value)); return *this;}
65
67
70 inline const Aws::String& GetPolicyName() const { return m_policyName; }
71 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
72 template<typename PolicyNameT = Aws::String>
73 void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward<PolicyNameT>(value); }
74 template<typename PolicyNameT = Aws::String>
75 ScalingPolicy& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward<PolicyNameT>(value)); return *this;}
77
79
83 inline ServiceNamespace GetServiceNamespace() const { return m_serviceNamespace; }
84 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
85 inline void SetServiceNamespace(ServiceNamespace value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
88
90
154 inline const Aws::String& GetResourceId() const { return m_resourceId; }
155 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
156 template<typename ResourceIdT = Aws::String>
157 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward<ResourceIdT>(value); }
158 template<typename ResourceIdT = Aws::String>
159 ScalingPolicy& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward<ResourceIdT>(value)); return *this;}
161
163
215 inline ScalableDimension GetScalableDimension() const { return m_scalableDimension; }
216 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
217 inline void SetScalableDimension(ScalableDimension value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
220
222
229 inline PolicyType GetPolicyType() const { return m_policyType; }
230 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
231 inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
232 inline ScalingPolicy& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;}
234
236
239 inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const { return m_stepScalingPolicyConfiguration; }
240 inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; }
241 template<typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
242 void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = std::forward<StepScalingPolicyConfigurationT>(value); }
243 template<typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
244 ScalingPolicy& WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) { SetStepScalingPolicyConfiguration(std::forward<StepScalingPolicyConfigurationT>(value)); return *this;}
246
248
251 inline const TargetTrackingScalingPolicyConfiguration& GetTargetTrackingScalingPolicyConfiguration() const { return m_targetTrackingScalingPolicyConfiguration; }
252 inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; }
253 template<typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
254 void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = std::forward<TargetTrackingScalingPolicyConfigurationT>(value); }
255 template<typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
256 ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) { SetTargetTrackingScalingPolicyConfiguration(std::forward<TargetTrackingScalingPolicyConfigurationT>(value)); return *this;}
258
260
263 inline const PredictiveScalingPolicyConfiguration& GetPredictiveScalingPolicyConfiguration() const { return m_predictiveScalingPolicyConfiguration; }
264 inline bool PredictiveScalingPolicyConfigurationHasBeenSet() const { return m_predictiveScalingPolicyConfigurationHasBeenSet; }
265 template<typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
266 void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) { m_predictiveScalingPolicyConfigurationHasBeenSet = true; m_predictiveScalingPolicyConfiguration = std::forward<PredictiveScalingPolicyConfigurationT>(value); }
267 template<typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
268 ScalingPolicy& WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) { SetPredictiveScalingPolicyConfiguration(std::forward<PredictiveScalingPolicyConfigurationT>(value)); return *this;}
270
272
275 inline const Aws::Vector<Alarm>& GetAlarms() const { return m_alarms; }
276 inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
277 template<typename AlarmsT = Aws::Vector<Alarm>>
278 void SetAlarms(AlarmsT&& value) { m_alarmsHasBeenSet = true; m_alarms = std::forward<AlarmsT>(value); }
279 template<typename AlarmsT = Aws::Vector<Alarm>>
280 ScalingPolicy& WithAlarms(AlarmsT&& value) { SetAlarms(std::forward<AlarmsT>(value)); return *this;}
281 template<typename AlarmsT = Alarm>
282 ScalingPolicy& AddAlarms(AlarmsT&& value) { m_alarmsHasBeenSet = true; m_alarms.emplace_back(std::forward<AlarmsT>(value)); return *this; }
284
286
289 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
290 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
291 template<typename CreationTimeT = Aws::Utils::DateTime>
292 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
293 template<typename CreationTimeT = Aws::Utils::DateTime>
294 ScalingPolicy& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
296 private:
297
298 Aws::String m_policyARN;
299 bool m_policyARNHasBeenSet = false;
300
301 Aws::String m_policyName;
302 bool m_policyNameHasBeenSet = false;
303
305 bool m_serviceNamespaceHasBeenSet = false;
306
307 Aws::String m_resourceId;
308 bool m_resourceIdHasBeenSet = false;
309
311 bool m_scalableDimensionHasBeenSet = false;
312
313 PolicyType m_policyType{PolicyType::NOT_SET};
314 bool m_policyTypeHasBeenSet = false;
315
316 StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
317 bool m_stepScalingPolicyConfigurationHasBeenSet = false;
318
319 TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
320 bool m_targetTrackingScalingPolicyConfigurationHasBeenSet = false;
321
322 PredictiveScalingPolicyConfiguration m_predictiveScalingPolicyConfiguration;
323 bool m_predictiveScalingPolicyConfigurationHasBeenSet = false;
324
325 Aws::Vector<Alarm> m_alarms;
326 bool m_alarmsHasBeenSet = false;
327
328 Aws::Utils::DateTime m_creationTime{};
329 bool m_creationTimeHasBeenSet = false;
330 };
331
332} // namespace Model
333} // namespace ApplicationAutoScaling
334} // namespace Aws
ScalingPolicy & AddAlarms(AlarmsT &&value)
ScalingPolicy & WithServiceNamespace(ServiceNamespace value)
ScalingPolicy & WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
ScalingPolicy & WithPolicyType(PolicyType value)
const PredictiveScalingPolicyConfiguration & GetPredictiveScalingPolicyConfiguration() const
ScalingPolicy & WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetScalableDimension(ScalableDimension value)
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue)
const StepScalingPolicyConfiguration & GetStepScalingPolicyConfiguration() const
AWS_APPLICATIONAUTOSCALING_API ScalingPolicy()=default
ScalingPolicy & WithCreationTime(CreationTimeT &&value)
const Aws::Vector< Alarm > & GetAlarms() const
ScalingPolicy & WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
void SetServiceNamespace(ServiceNamespace value)
const TargetTrackingScalingPolicyConfiguration & GetTargetTrackingScalingPolicyConfiguration() const
ScalingPolicy & WithAlarms(AlarmsT &&value)
ScalingPolicy & WithPolicyName(PolicyNameT &&value)
ScalingPolicy & WithScalableDimension(ScalableDimension value)
const Aws::Utils::DateTime & GetCreationTime() const
ScalingPolicy & WithPolicyARN(PolicyARNT &&value)
ScalingPolicy & WithResourceId(ResourceIdT &&value)
void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&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