AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
ManagedScalingPolicy.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/ComputeLimits.h>
9#include <aws/elasticmapreduce/model/ScalingStrategy.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace EMR {
21namespace Model {
22
32 public:
33 AWS_EMR_API ManagedScalingPolicy() = default;
37
39
45 inline const ComputeLimits& GetComputeLimits() const { return m_computeLimits; }
46 inline bool ComputeLimitsHasBeenSet() const { return m_computeLimitsHasBeenSet; }
47 template <typename ComputeLimitsT = ComputeLimits>
48 void SetComputeLimits(ComputeLimitsT&& value) {
49 m_computeLimitsHasBeenSet = true;
50 m_computeLimits = std::forward<ComputeLimitsT>(value);
51 }
52 template <typename ComputeLimitsT = ComputeLimits>
53 ManagedScalingPolicy& WithComputeLimits(ComputeLimitsT&& value) {
54 SetComputeLimits(std::forward<ComputeLimitsT>(value));
55 return *this;
56 }
58
60
66 inline int GetUtilizationPerformanceIndex() const { return m_utilizationPerformanceIndex; }
67 inline bool UtilizationPerformanceIndexHasBeenSet() const { return m_utilizationPerformanceIndexHasBeenSet; }
68 inline void SetUtilizationPerformanceIndex(int value) {
69 m_utilizationPerformanceIndexHasBeenSet = true;
70 m_utilizationPerformanceIndex = value;
71 }
74 return *this;
75 }
77
79
83 inline ScalingStrategy GetScalingStrategy() const { return m_scalingStrategy; }
84 inline bool ScalingStrategyHasBeenSet() const { return m_scalingStrategyHasBeenSet; }
86 m_scalingStrategyHasBeenSet = true;
87 m_scalingStrategy = value;
88 }
90 SetScalingStrategy(value);
91 return *this;
92 }
94 private:
95 ComputeLimits m_computeLimits;
96
97 int m_utilizationPerformanceIndex{0};
98
100 bool m_computeLimitsHasBeenSet = false;
101 bool m_utilizationPerformanceIndexHasBeenSet = false;
102 bool m_scalingStrategyHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace EMR
107} // namespace Aws
ManagedScalingPolicy & WithUtilizationPerformanceIndex(int value)
AWS_EMR_API ManagedScalingPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
void SetComputeLimits(ComputeLimitsT &&value)
const ComputeLimits & GetComputeLimits() const
AWS_EMR_API ManagedScalingPolicy(Aws::Utils::Json::JsonView jsonValue)
ManagedScalingPolicy & WithScalingStrategy(ScalingStrategy value)
AWS_EMR_API ManagedScalingPolicy()=default
void SetScalingStrategy(ScalingStrategy value)
ManagedScalingPolicy & WithComputeLimits(ComputeLimitsT &&value)
Aws::Utils::Json::JsonValue JsonValue