AWS SDK for C++

AWS SDK for C++ Version 1.11.762

Loading...
Searching...
No Matches
ScalingPlanResource.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/ScalableDimension.h>
9#include <aws/autoscaling-plans/model/ScalingPolicy.h>
10#include <aws/autoscaling-plans/model/ScalingStatusCode.h>
11#include <aws/autoscaling-plans/model/ServiceNamespace.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 ScalingPlanResource() = default;
35 AWS_AUTOSCALINGPLANS_API ScalingPlanResource(Aws::Utils::Json::JsonView jsonValue);
36 AWS_AUTOSCALINGPLANS_API ScalingPlanResource& 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 ScalingPlanResource& 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 }
69 return *this;
70 }
72
74
77 inline ServiceNamespace GetServiceNamespace() const { return m_serviceNamespace; }
78 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
80 m_serviceNamespaceHasBeenSet = true;
81 m_serviceNamespace = value;
82 }
85 return *this;
86 }
88
90
109 inline const Aws::String& GetResourceId() const { return m_resourceId; }
110 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
111 template <typename ResourceIdT = Aws::String>
112 void SetResourceId(ResourceIdT&& value) {
113 m_resourceIdHasBeenSet = true;
114 m_resourceId = std::forward<ResourceIdT>(value);
115 }
116 template <typename ResourceIdT = Aws::String>
117 ScalingPlanResource& WithResourceId(ResourceIdT&& value) {
118 SetResourceId(std::forward<ResourceIdT>(value));
119 return *this;
120 }
122
124
143 inline ScalableDimension GetScalableDimension() const { return m_scalableDimension; }
144 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
146 m_scalableDimensionHasBeenSet = true;
147 m_scalableDimension = value;
148 }
151 return *this;
152 }
154
156
159 inline const Aws::Vector<ScalingPolicy>& GetScalingPolicies() const { return m_scalingPolicies; }
160 inline bool ScalingPoliciesHasBeenSet() const { return m_scalingPoliciesHasBeenSet; }
161 template <typename ScalingPoliciesT = Aws::Vector<ScalingPolicy>>
162 void SetScalingPolicies(ScalingPoliciesT&& value) {
163 m_scalingPoliciesHasBeenSet = true;
164 m_scalingPolicies = std::forward<ScalingPoliciesT>(value);
165 }
166 template <typename ScalingPoliciesT = Aws::Vector<ScalingPolicy>>
167 ScalingPlanResource& WithScalingPolicies(ScalingPoliciesT&& value) {
168 SetScalingPolicies(std::forward<ScalingPoliciesT>(value));
169 return *this;
170 }
171 template <typename ScalingPoliciesT = ScalingPolicy>
172 ScalingPlanResource& AddScalingPolicies(ScalingPoliciesT&& value) {
173 m_scalingPoliciesHasBeenSet = true;
174 m_scalingPolicies.emplace_back(std::forward<ScalingPoliciesT>(value));
175 return *this;
176 }
178
180
190 inline ScalingStatusCode GetScalingStatusCode() const { return m_scalingStatusCode; }
191 inline bool ScalingStatusCodeHasBeenSet() const { return m_scalingStatusCodeHasBeenSet; }
193 m_scalingStatusCodeHasBeenSet = true;
194 m_scalingStatusCode = value;
195 }
198 return *this;
199 }
201
203
206 inline const Aws::String& GetScalingStatusMessage() const { return m_scalingStatusMessage; }
207 inline bool ScalingStatusMessageHasBeenSet() const { return m_scalingStatusMessageHasBeenSet; }
208 template <typename ScalingStatusMessageT = Aws::String>
209 void SetScalingStatusMessage(ScalingStatusMessageT&& value) {
210 m_scalingStatusMessageHasBeenSet = true;
211 m_scalingStatusMessage = std::forward<ScalingStatusMessageT>(value);
212 }
213 template <typename ScalingStatusMessageT = Aws::String>
214 ScalingPlanResource& WithScalingStatusMessage(ScalingStatusMessageT&& value) {
215 SetScalingStatusMessage(std::forward<ScalingStatusMessageT>(value));
216 return *this;
217 }
219 private:
220 Aws::String m_scalingPlanName;
221
222 long long m_scalingPlanVersion{0};
223
225
226 Aws::String m_resourceId;
227
229
230 Aws::Vector<ScalingPolicy> m_scalingPolicies;
231
233
234 Aws::String m_scalingStatusMessage;
235 bool m_scalingPlanNameHasBeenSet = false;
236 bool m_scalingPlanVersionHasBeenSet = false;
237 bool m_serviceNamespaceHasBeenSet = false;
238 bool m_resourceIdHasBeenSet = false;
239 bool m_scalableDimensionHasBeenSet = false;
240 bool m_scalingPoliciesHasBeenSet = false;
241 bool m_scalingStatusCodeHasBeenSet = false;
242 bool m_scalingStatusMessageHasBeenSet = false;
243};
244
245} // namespace Model
246} // namespace AutoScalingPlans
247} // namespace Aws
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
ScalingPlanResource & WithScalableDimension(ScalableDimension value)
ScalingPlanResource & WithScalingPlanVersion(long long value)
AWS_AUTOSCALINGPLANS_API ScalingPlanResource()=default
void SetScalingStatusMessage(ScalingStatusMessageT &&value)
ScalingPlanResource & WithScalingPlanName(ScalingPlanNameT &&value)
AWS_AUTOSCALINGPLANS_API ScalingPlanResource & operator=(Aws::Utils::Json::JsonView jsonValue)
ScalingPlanResource & WithScalingStatusMessage(ScalingStatusMessageT &&value)
ScalingPlanResource & WithServiceNamespace(ServiceNamespace value)
ScalingPlanResource & WithResourceId(ResourceIdT &&value)
ScalingPlanResource & WithScalingStatusCode(ScalingStatusCode value)
const Aws::Vector< ScalingPolicy > & GetScalingPolicies() const
ScalingPlanResource & WithScalingPolicies(ScalingPoliciesT &&value)
AWS_AUTOSCALINGPLANS_API ScalingPlanResource(Aws::Utils::Json::JsonView jsonValue)
ScalingPlanResource & AddScalingPolicies(ScalingPoliciesT &&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