AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
ScalingPlan.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/ApplicationSource.h>
9#include <aws/autoscaling-plans/model/ScalingInstruction.h>
10#include <aws/autoscaling-plans/model/ScalingPlanStatusCode.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace AutoScalingPlans {
25namespace Model {
26
33 public:
34 AWS_AUTOSCALINGPLANS_API ScalingPlan() = default;
35 AWS_AUTOSCALINGPLANS_API ScalingPlan(Aws::Utils::Json::JsonView jsonValue);
36 AWS_AUTOSCALINGPLANS_API ScalingPlan& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetScalingPlanName() const { return m_scalingPlanName; }
44 inline bool ScalingPlanNameHasBeenSet() const { return m_scalingPlanNameHasBeenSet; }
45 template <typename ScalingPlanNameT = Aws::String>
46 void SetScalingPlanName(ScalingPlanNameT&& value) {
47 m_scalingPlanNameHasBeenSet = true;
48 m_scalingPlanName = std::forward<ScalingPlanNameT>(value);
49 }
50 template <typename ScalingPlanNameT = Aws::String>
51 ScalingPlan& WithScalingPlanName(ScalingPlanNameT&& value) {
52 SetScalingPlanName(std::forward<ScalingPlanNameT>(value));
53 return *this;
54 }
56
58
61 inline long long GetScalingPlanVersion() const { return m_scalingPlanVersion; }
62 inline bool ScalingPlanVersionHasBeenSet() const { return m_scalingPlanVersionHasBeenSet; }
63 inline void SetScalingPlanVersion(long long value) {
64 m_scalingPlanVersionHasBeenSet = true;
65 m_scalingPlanVersion = value;
66 }
67 inline ScalingPlan& WithScalingPlanVersion(long long value) {
69 return *this;
70 }
72
74
78 inline const ApplicationSource& GetApplicationSource() const { return m_applicationSource; }
79 inline bool ApplicationSourceHasBeenSet() const { return m_applicationSourceHasBeenSet; }
80 template <typename ApplicationSourceT = ApplicationSource>
81 void SetApplicationSource(ApplicationSourceT&& value) {
82 m_applicationSourceHasBeenSet = true;
83 m_applicationSource = std::forward<ApplicationSourceT>(value);
84 }
85 template <typename ApplicationSourceT = ApplicationSource>
86 ScalingPlan& WithApplicationSource(ApplicationSourceT&& value) {
87 SetApplicationSource(std::forward<ApplicationSourceT>(value));
88 return *this;
89 }
91
93
96 inline const Aws::Vector<ScalingInstruction>& GetScalingInstructions() const { return m_scalingInstructions; }
97 inline bool ScalingInstructionsHasBeenSet() const { return m_scalingInstructionsHasBeenSet; }
98 template <typename ScalingInstructionsT = Aws::Vector<ScalingInstruction>>
99 void SetScalingInstructions(ScalingInstructionsT&& value) {
100 m_scalingInstructionsHasBeenSet = true;
101 m_scalingInstructions = std::forward<ScalingInstructionsT>(value);
102 }
103 template <typename ScalingInstructionsT = Aws::Vector<ScalingInstruction>>
104 ScalingPlan& WithScalingInstructions(ScalingInstructionsT&& value) {
105 SetScalingInstructions(std::forward<ScalingInstructionsT>(value));
106 return *this;
107 }
108 template <typename ScalingInstructionsT = ScalingInstruction>
109 ScalingPlan& AddScalingInstructions(ScalingInstructionsT&& value) {
110 m_scalingInstructionsHasBeenSet = true;
111 m_scalingInstructions.emplace_back(std::forward<ScalingInstructionsT>(value));
112 return *this;
113 }
115
117
130 inline ScalingPlanStatusCode GetStatusCode() const { return m_statusCode; }
131 inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
133 m_statusCodeHasBeenSet = true;
134 m_statusCode = value;
135 }
137 SetStatusCode(value);
138 return *this;
139 }
141
143
146 inline const Aws::String& GetStatusMessage() const { return m_statusMessage; }
147 inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; }
148 template <typename StatusMessageT = Aws::String>
149 void SetStatusMessage(StatusMessageT&& value) {
150 m_statusMessageHasBeenSet = true;
151 m_statusMessage = std::forward<StatusMessageT>(value);
152 }
153 template <typename StatusMessageT = Aws::String>
154 ScalingPlan& WithStatusMessage(StatusMessageT&& value) {
155 SetStatusMessage(std::forward<StatusMessageT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::Utils::DateTime& GetStatusStartTime() const { return m_statusStartTime; }
165 inline bool StatusStartTimeHasBeenSet() const { return m_statusStartTimeHasBeenSet; }
166 template <typename StatusStartTimeT = Aws::Utils::DateTime>
167 void SetStatusStartTime(StatusStartTimeT&& value) {
168 m_statusStartTimeHasBeenSet = true;
169 m_statusStartTime = std::forward<StatusStartTimeT>(value);
170 }
171 template <typename StatusStartTimeT = Aws::Utils::DateTime>
172 ScalingPlan& WithStatusStartTime(StatusStartTimeT&& value) {
173 SetStatusStartTime(std::forward<StatusStartTimeT>(value));
174 return *this;
175 }
177
179
182 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
183 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
184 template <typename CreationTimeT = Aws::Utils::DateTime>
185 void SetCreationTime(CreationTimeT&& value) {
186 m_creationTimeHasBeenSet = true;
187 m_creationTime = std::forward<CreationTimeT>(value);
188 }
189 template <typename CreationTimeT = Aws::Utils::DateTime>
190 ScalingPlan& WithCreationTime(CreationTimeT&& value) {
191 SetCreationTime(std::forward<CreationTimeT>(value));
192 return *this;
193 }
195 private:
196 Aws::String m_scalingPlanName;
197
198 long long m_scalingPlanVersion{0};
199
200 ApplicationSource m_applicationSource;
201
202 Aws::Vector<ScalingInstruction> m_scalingInstructions;
203
205
206 Aws::String m_statusMessage;
207
208 Aws::Utils::DateTime m_statusStartTime{};
209
210 Aws::Utils::DateTime m_creationTime{};
211 bool m_scalingPlanNameHasBeenSet = false;
212 bool m_scalingPlanVersionHasBeenSet = false;
213 bool m_applicationSourceHasBeenSet = false;
214 bool m_scalingInstructionsHasBeenSet = false;
215 bool m_statusCodeHasBeenSet = false;
216 bool m_statusMessageHasBeenSet = false;
217 bool m_statusStartTimeHasBeenSet = false;
218 bool m_creationTimeHasBeenSet = false;
219};
220
221} // namespace Model
222} // namespace AutoScalingPlans
223} // namespace Aws
const Aws::Utils::DateTime & GetCreationTime() const
ScalingPlan & WithStatusCode(ScalingPlanStatusCode value)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
ScalingPlan & WithScalingInstructions(ScalingInstructionsT &&value)
ScalingPlan & WithCreationTime(CreationTimeT &&value)
const Aws::String & GetStatusMessage() const
AWS_AUTOSCALINGPLANS_API ScalingPlan()=default
AWS_AUTOSCALINGPLANS_API ScalingPlan & operator=(Aws::Utils::Json::JsonView jsonValue)
const ApplicationSource & GetApplicationSource() const
Definition ScalingPlan.h:78
void SetScalingPlanName(ScalingPlanNameT &&value)
Definition ScalingPlan.h:46
void SetApplicationSource(ApplicationSourceT &&value)
Definition ScalingPlan.h:81
void SetScalingPlanVersion(long long value)
Definition ScalingPlan.h:63
const Aws::Utils::DateTime & GetStatusStartTime() const
AWS_AUTOSCALINGPLANS_API ScalingPlan(Aws::Utils::Json::JsonView jsonValue)
void SetStatusMessage(StatusMessageT &&value)
void SetStatusCode(ScalingPlanStatusCode value)
ScalingPlan & WithScalingPlanName(ScalingPlanNameT &&value)
Definition ScalingPlan.h:51
const Aws::Vector< ScalingInstruction > & GetScalingInstructions() const
Definition ScalingPlan.h:96
const Aws::String & GetScalingPlanName() const
Definition ScalingPlan.h:43
ScalingPlan & WithScalingPlanVersion(long long value)
Definition ScalingPlan.h:67
ScalingPlanStatusCode GetStatusCode() const
void SetScalingInstructions(ScalingInstructionsT &&value)
Definition ScalingPlan.h:99
ScalingPlan & WithStatusMessage(StatusMessageT &&value)
void SetStatusStartTime(StatusStartTimeT &&value)
ScalingPlan & WithApplicationSource(ApplicationSourceT &&value)
Definition ScalingPlan.h:86
ScalingPlan & WithStatusStartTime(StatusStartTimeT &&value)
void SetCreationTime(CreationTimeT &&value)
ScalingPlan & AddScalingInstructions(ScalingInstructionsT &&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