AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
PutScalingPolicyRequest.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
8#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
9#include <aws/application-autoscaling/model/PolicyType.h>
10#include <aws/application-autoscaling/model/PredictiveScalingPolicyConfiguration.h>
11#include <aws/application-autoscaling/model/ScalableDimension.h>
12#include <aws/application-autoscaling/model/ServiceNamespace.h>
13#include <aws/application-autoscaling/model/StepScalingPolicyConfiguration.h>
14#include <aws/application-autoscaling/model/TargetTrackingScalingPolicyConfiguration.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16
17#include <utility>
18
19namespace Aws {
20namespace ApplicationAutoScaling {
21namespace Model {
22
26 public:
27 AWS_APPLICATIONAUTOSCALING_API PutScalingPolicyRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "PutScalingPolicy"; }
34
35 AWS_APPLICATIONAUTOSCALING_API Aws::String SerializePayload() const override;
36
37 AWS_APPLICATIONAUTOSCALING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38
40
45 inline const Aws::String& GetPolicyName() const { return m_policyName; }
46 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
47 template <typename PolicyNameT = Aws::String>
48 void SetPolicyName(PolicyNameT&& value) {
49 m_policyNameHasBeenSet = true;
50 m_policyName = std::forward<PolicyNameT>(value);
51 }
52 template <typename PolicyNameT = Aws::String>
54 SetPolicyName(std::forward<PolicyNameT>(value));
55 return *this;
56 }
58
60
65 inline ServiceNamespace GetServiceNamespace() const { return m_serviceNamespace; }
66 inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
68 m_serviceNamespaceHasBeenSet = true;
69 m_serviceNamespace = value;
70 }
73 return *this;
74 }
76
78
142 inline const Aws::String& GetResourceId() const { return m_resourceId; }
143 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
144 template <typename ResourceIdT = Aws::String>
145 void SetResourceId(ResourceIdT&& value) {
146 m_resourceIdHasBeenSet = true;
147 m_resourceId = std::forward<ResourceIdT>(value);
148 }
149 template <typename ResourceIdT = Aws::String>
151 SetResourceId(std::forward<ResourceIdT>(value));
152 return *this;
153 }
155
157
209 inline ScalableDimension GetScalableDimension() const { return m_scalableDimension; }
210 inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
212 m_scalableDimensionHasBeenSet = true;
213 m_scalableDimension = value;
214 }
217 return *this;
218 }
220
222
237 inline PolicyType GetPolicyType() const { return m_policyType; }
238 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
239 inline void SetPolicyType(PolicyType value) {
240 m_policyTypeHasBeenSet = true;
241 m_policyType = value;
242 }
244 SetPolicyType(value);
245 return *this;
246 }
248
250
254 inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const { return m_stepScalingPolicyConfiguration; }
255 inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; }
256 template <typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
257 void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) {
258 m_stepScalingPolicyConfigurationHasBeenSet = true;
259 m_stepScalingPolicyConfiguration = std::forward<StepScalingPolicyConfigurationT>(value);
260 }
261 template <typename StepScalingPolicyConfigurationT = StepScalingPolicyConfiguration>
262 PutScalingPolicyRequest& WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT&& value) {
263 SetStepScalingPolicyConfiguration(std::forward<StepScalingPolicyConfigurationT>(value));
264 return *this;
265 }
267
269
275 return m_targetTrackingScalingPolicyConfiguration;
276 }
277 inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; }
278 template <typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
279 void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) {
280 m_targetTrackingScalingPolicyConfigurationHasBeenSet = true;
281 m_targetTrackingScalingPolicyConfiguration = std::forward<TargetTrackingScalingPolicyConfigurationT>(value);
282 }
283 template <typename TargetTrackingScalingPolicyConfigurationT = TargetTrackingScalingPolicyConfiguration>
284 PutScalingPolicyRequest& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT&& value) {
285 SetTargetTrackingScalingPolicyConfiguration(std::forward<TargetTrackingScalingPolicyConfigurationT>(value));
286 return *this;
287 }
289
291
295 return m_predictiveScalingPolicyConfiguration;
296 }
297 inline bool PredictiveScalingPolicyConfigurationHasBeenSet() const { return m_predictiveScalingPolicyConfigurationHasBeenSet; }
298 template <typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
299 void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) {
300 m_predictiveScalingPolicyConfigurationHasBeenSet = true;
301 m_predictiveScalingPolicyConfiguration = std::forward<PredictiveScalingPolicyConfigurationT>(value);
302 }
303 template <typename PredictiveScalingPolicyConfigurationT = PredictiveScalingPolicyConfiguration>
304 PutScalingPolicyRequest& WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT&& value) {
305 SetPredictiveScalingPolicyConfiguration(std::forward<PredictiveScalingPolicyConfigurationT>(value));
306 return *this;
307 }
309 private:
310 Aws::String m_policyName;
311
313
314 Aws::String m_resourceId;
315
317
318 PolicyType m_policyType{PolicyType::NOT_SET};
319
320 StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
321
322 TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
323
324 PredictiveScalingPolicyConfiguration m_predictiveScalingPolicyConfiguration;
325 bool m_policyNameHasBeenSet = false;
326 bool m_serviceNamespaceHasBeenSet = false;
327 bool m_resourceIdHasBeenSet = false;
328 bool m_scalableDimensionHasBeenSet = false;
329 bool m_policyTypeHasBeenSet = false;
330 bool m_stepScalingPolicyConfigurationHasBeenSet = false;
331 bool m_targetTrackingScalingPolicyConfigurationHasBeenSet = false;
332 bool m_predictiveScalingPolicyConfigurationHasBeenSet = false;
333};
334
335} // namespace Model
336} // namespace ApplicationAutoScaling
337} // namespace Aws
PutScalingPolicyRequest & WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
const PredictiveScalingPolicyConfiguration & GetPredictiveScalingPolicyConfiguration() const
const StepScalingPolicyConfiguration & GetStepScalingPolicyConfiguration() const
PutScalingPolicyRequest & WithScalableDimension(ScalableDimension value)
AWS_APPLICATIONAUTOSCALING_API PutScalingPolicyRequest()=default
PutScalingPolicyRequest & WithResourceId(ResourceIdT &&value)
PutScalingPolicyRequest & WithServiceNamespace(ServiceNamespace value)
PutScalingPolicyRequest & WithPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
void SetPredictiveScalingPolicyConfiguration(PredictiveScalingPolicyConfigurationT &&value)
void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
PutScalingPolicyRequest & WithStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
PutScalingPolicyRequest & WithPolicyName(PolicyNameT &&value)
const TargetTrackingScalingPolicyConfiguration & GetTargetTrackingScalingPolicyConfiguration() const
void SetStepScalingPolicyConfiguration(StepScalingPolicyConfigurationT &&value)
AWS_APPLICATIONAUTOSCALING_API Aws::String SerializePayload() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String