AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
AutoScalingSettings.h
1
6#pragma once
7#include <aws/keyspaces/Keyspaces_EXPORTS.h>
8#include <aws/keyspaces/model/AutoScalingPolicy.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace Keyspaces {
20namespace Model {
21
63 public:
64 AWS_KEYSPACES_API AutoScalingSettings() = default;
65 AWS_KEYSPACES_API AutoScalingSettings(Aws::Utils::Json::JsonView jsonValue);
67 AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const;
68
70
74 inline bool GetAutoScalingDisabled() const { return m_autoScalingDisabled; }
75 inline bool AutoScalingDisabledHasBeenSet() const { return m_autoScalingDisabledHasBeenSet; }
76 inline void SetAutoScalingDisabled(bool value) {
77 m_autoScalingDisabledHasBeenSet = true;
78 m_autoScalingDisabled = value;
79 }
82 return *this;
83 }
85
87
92 inline long long GetMinimumUnits() const { return m_minimumUnits; }
93 inline bool MinimumUnitsHasBeenSet() const { return m_minimumUnitsHasBeenSet; }
94 inline void SetMinimumUnits(long long value) {
95 m_minimumUnitsHasBeenSet = true;
96 m_minimumUnits = value;
97 }
98 inline AutoScalingSettings& WithMinimumUnits(long long value) {
99 SetMinimumUnits(value);
100 return *this;
101 }
103
105
110 inline long long GetMaximumUnits() const { return m_maximumUnits; }
111 inline bool MaximumUnitsHasBeenSet() const { return m_maximumUnitsHasBeenSet; }
112 inline void SetMaximumUnits(long long value) {
113 m_maximumUnitsHasBeenSet = true;
114 m_maximumUnits = value;
115 }
116 inline AutoScalingSettings& WithMaximumUnits(long long value) {
117 SetMaximumUnits(value);
118 return *this;
119 }
121
123
129 inline const AutoScalingPolicy& GetScalingPolicy() const { return m_scalingPolicy; }
130 inline bool ScalingPolicyHasBeenSet() const { return m_scalingPolicyHasBeenSet; }
131 template <typename ScalingPolicyT = AutoScalingPolicy>
132 void SetScalingPolicy(ScalingPolicyT&& value) {
133 m_scalingPolicyHasBeenSet = true;
134 m_scalingPolicy = std::forward<ScalingPolicyT>(value);
135 }
136 template <typename ScalingPolicyT = AutoScalingPolicy>
137 AutoScalingSettings& WithScalingPolicy(ScalingPolicyT&& value) {
138 SetScalingPolicy(std::forward<ScalingPolicyT>(value));
139 return *this;
140 }
142 private:
143 bool m_autoScalingDisabled{false};
144
145 long long m_minimumUnits{0};
146
147 long long m_maximumUnits{0};
148
149 AutoScalingPolicy m_scalingPolicy;
150 bool m_autoScalingDisabledHasBeenSet = false;
151 bool m_minimumUnitsHasBeenSet = false;
152 bool m_maximumUnitsHasBeenSet = false;
153 bool m_scalingPolicyHasBeenSet = false;
154};
155
156} // namespace Model
157} // namespace Keyspaces
158} // namespace Aws
AutoScalingSettings & WithScalingPolicy(ScalingPolicyT &&value)
AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_KEYSPACES_API AutoScalingSettings & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_KEYSPACES_API AutoScalingSettings(Aws::Utils::Json::JsonView jsonValue)
AutoScalingSettings & WithMaximumUnits(long long value)
const AutoScalingPolicy & GetScalingPolicy() const
AutoScalingSettings & WithAutoScalingDisabled(bool value)
AWS_KEYSPACES_API AutoScalingSettings()=default
AutoScalingSettings & WithMinimumUnits(long long value)
Aws::Utils::Json::JsonValue JsonValue