AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateScalingPlanRequest.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlansRequest.h>
8#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
9#include <aws/autoscaling-plans/model/ApplicationSource.h>
10#include <aws/autoscaling-plans/model/ScalingInstruction.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace AutoScalingPlans {
18namespace Model {
19
23 public:
24 AWS_AUTOSCALINGPLANS_API CreateScalingPlanRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "CreateScalingPlan"; }
31
32 AWS_AUTOSCALINGPLANS_API Aws::String SerializePayload() const override;
33
34 AWS_AUTOSCALINGPLANS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35
37
41 inline const Aws::String& GetScalingPlanName() const { return m_scalingPlanName; }
42 inline bool ScalingPlanNameHasBeenSet() const { return m_scalingPlanNameHasBeenSet; }
43 template <typename ScalingPlanNameT = Aws::String>
44 void SetScalingPlanName(ScalingPlanNameT&& value) {
45 m_scalingPlanNameHasBeenSet = true;
46 m_scalingPlanName = std::forward<ScalingPlanNameT>(value);
47 }
48 template <typename ScalingPlanNameT = Aws::String>
49 CreateScalingPlanRequest& WithScalingPlanName(ScalingPlanNameT&& value) {
50 SetScalingPlanName(std::forward<ScalingPlanNameT>(value));
51 return *this;
52 }
54
56
62 inline const ApplicationSource& GetApplicationSource() const { return m_applicationSource; }
63 inline bool ApplicationSourceHasBeenSet() const { return m_applicationSourceHasBeenSet; }
64 template <typename ApplicationSourceT = ApplicationSource>
65 void SetApplicationSource(ApplicationSourceT&& value) {
66 m_applicationSourceHasBeenSet = true;
67 m_applicationSource = std::forward<ApplicationSourceT>(value);
68 }
69 template <typename ApplicationSourceT = ApplicationSource>
70 CreateScalingPlanRequest& WithApplicationSource(ApplicationSourceT&& value) {
71 SetApplicationSource(std::forward<ApplicationSourceT>(value));
72 return *this;
73 }
75
77
82 inline const Aws::Vector<ScalingInstruction>& GetScalingInstructions() const { return m_scalingInstructions; }
83 inline bool ScalingInstructionsHasBeenSet() const { return m_scalingInstructionsHasBeenSet; }
84 template <typename ScalingInstructionsT = Aws::Vector<ScalingInstruction>>
85 void SetScalingInstructions(ScalingInstructionsT&& value) {
86 m_scalingInstructionsHasBeenSet = true;
87 m_scalingInstructions = std::forward<ScalingInstructionsT>(value);
88 }
89 template <typename ScalingInstructionsT = Aws::Vector<ScalingInstruction>>
90 CreateScalingPlanRequest& WithScalingInstructions(ScalingInstructionsT&& value) {
91 SetScalingInstructions(std::forward<ScalingInstructionsT>(value));
92 return *this;
93 }
94 template <typename ScalingInstructionsT = ScalingInstruction>
95 CreateScalingPlanRequest& AddScalingInstructions(ScalingInstructionsT&& value) {
96 m_scalingInstructionsHasBeenSet = true;
97 m_scalingInstructions.emplace_back(std::forward<ScalingInstructionsT>(value));
98 return *this;
99 }
101 private:
102 Aws::String m_scalingPlanName;
103
104 ApplicationSource m_applicationSource;
105
106 Aws::Vector<ScalingInstruction> m_scalingInstructions;
107 bool m_scalingPlanNameHasBeenSet = false;
108 bool m_applicationSourceHasBeenSet = false;
109 bool m_scalingInstructionsHasBeenSet = false;
110};
111
112} // namespace Model
113} // namespace AutoScalingPlans
114} // namespace Aws
CreateScalingPlanRequest & AddScalingInstructions(ScalingInstructionsT &&value)
CreateScalingPlanRequest & WithScalingInstructions(ScalingInstructionsT &&value)
AWS_AUTOSCALINGPLANS_API CreateScalingPlanRequest()=default
AWS_AUTOSCALINGPLANS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::Vector< ScalingInstruction > & GetScalingInstructions() const
CreateScalingPlanRequest & WithScalingPlanName(ScalingPlanNameT &&value)
AWS_AUTOSCALINGPLANS_API Aws::String SerializePayload() const override
CreateScalingPlanRequest & WithApplicationSource(ApplicationSourceT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector