1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h> 8 #include <aws/autoscaling-plans/AutoScalingPlansRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/autoscaling-plans/model/ApplicationSource.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/autoscaling-plans/model/ScalingInstruction.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace AutoScalingPlans 18 { 19 namespace Model 20 { 21 22 /** 23 */ 24 class AWS_AUTOSCALINGPLANS_API UpdateScalingPlanRequest : public AutoScalingPlansRequest 25 { 26 public: 27 UpdateScalingPlanRequest(); 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. GetServiceRequestName()33 inline virtual const char* GetServiceRequestName() const override { return "UpdateScalingPlan"; } 34 35 Aws::String SerializePayload() const override; 36 37 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 38 39 40 /** 41 * <p>The name of the scaling plan.</p> 42 */ GetScalingPlanName()43 inline const Aws::String& GetScalingPlanName() const{ return m_scalingPlanName; } 44 45 /** 46 * <p>The name of the scaling plan.</p> 47 */ ScalingPlanNameHasBeenSet()48 inline bool ScalingPlanNameHasBeenSet() const { return m_scalingPlanNameHasBeenSet; } 49 50 /** 51 * <p>The name of the scaling plan.</p> 52 */ SetScalingPlanName(const Aws::String & value)53 inline void SetScalingPlanName(const Aws::String& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = value; } 54 55 /** 56 * <p>The name of the scaling plan.</p> 57 */ SetScalingPlanName(Aws::String && value)58 inline void SetScalingPlanName(Aws::String&& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = std::move(value); } 59 60 /** 61 * <p>The name of the scaling plan.</p> 62 */ SetScalingPlanName(const char * value)63 inline void SetScalingPlanName(const char* value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName.assign(value); } 64 65 /** 66 * <p>The name of the scaling plan.</p> 67 */ WithScalingPlanName(const Aws::String & value)68 inline UpdateScalingPlanRequest& WithScalingPlanName(const Aws::String& value) { SetScalingPlanName(value); return *this;} 69 70 /** 71 * <p>The name of the scaling plan.</p> 72 */ WithScalingPlanName(Aws::String && value)73 inline UpdateScalingPlanRequest& WithScalingPlanName(Aws::String&& value) { SetScalingPlanName(std::move(value)); return *this;} 74 75 /** 76 * <p>The name of the scaling plan.</p> 77 */ WithScalingPlanName(const char * value)78 inline UpdateScalingPlanRequest& WithScalingPlanName(const char* value) { SetScalingPlanName(value); return *this;} 79 80 81 /** 82 * <p>The version number of the scaling plan. The only valid value is 83 * <code>1</code>. Currently, you cannot have multiple scaling plan versions.</p> 84 */ GetScalingPlanVersion()85 inline long long GetScalingPlanVersion() const{ return m_scalingPlanVersion; } 86 87 /** 88 * <p>The version number of the scaling plan. The only valid value is 89 * <code>1</code>. Currently, you cannot have multiple scaling plan versions.</p> 90 */ ScalingPlanVersionHasBeenSet()91 inline bool ScalingPlanVersionHasBeenSet() const { return m_scalingPlanVersionHasBeenSet; } 92 93 /** 94 * <p>The version number of the scaling plan. The only valid value is 95 * <code>1</code>. Currently, you cannot have multiple scaling plan versions.</p> 96 */ SetScalingPlanVersion(long long value)97 inline void SetScalingPlanVersion(long long value) { m_scalingPlanVersionHasBeenSet = true; m_scalingPlanVersion = value; } 98 99 /** 100 * <p>The version number of the scaling plan. The only valid value is 101 * <code>1</code>. Currently, you cannot have multiple scaling plan versions.</p> 102 */ WithScalingPlanVersion(long long value)103 inline UpdateScalingPlanRequest& WithScalingPlanVersion(long long value) { SetScalingPlanVersion(value); return *this;} 104 105 106 /** 107 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 108 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 109 * in the <i>AWS Auto Scaling API Reference</i>.</p> 110 */ GetApplicationSource()111 inline const ApplicationSource& GetApplicationSource() const{ return m_applicationSource; } 112 113 /** 114 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 115 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 116 * in the <i>AWS Auto Scaling API Reference</i>.</p> 117 */ ApplicationSourceHasBeenSet()118 inline bool ApplicationSourceHasBeenSet() const { return m_applicationSourceHasBeenSet; } 119 120 /** 121 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 122 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 123 * in the <i>AWS Auto Scaling API Reference</i>.</p> 124 */ SetApplicationSource(const ApplicationSource & value)125 inline void SetApplicationSource(const ApplicationSource& value) { m_applicationSourceHasBeenSet = true; m_applicationSource = value; } 126 127 /** 128 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 129 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 130 * in the <i>AWS Auto Scaling API Reference</i>.</p> 131 */ SetApplicationSource(ApplicationSource && value)132 inline void SetApplicationSource(ApplicationSource&& value) { m_applicationSourceHasBeenSet = true; m_applicationSource = std::move(value); } 133 134 /** 135 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 136 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 137 * in the <i>AWS Auto Scaling API Reference</i>.</p> 138 */ WithApplicationSource(const ApplicationSource & value)139 inline UpdateScalingPlanRequest& WithApplicationSource(const ApplicationSource& value) { SetApplicationSource(value); return *this;} 140 141 /** 142 * <p>A CloudFormation stack or set of tags.</p> <p>For more information, see <a 143 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html">ApplicationSource</a> 144 * in the <i>AWS Auto Scaling API Reference</i>.</p> 145 */ WithApplicationSource(ApplicationSource && value)146 inline UpdateScalingPlanRequest& WithApplicationSource(ApplicationSource&& value) { SetApplicationSource(std::move(value)); return *this;} 147 148 149 /** 150 * <p>The scaling instructions.</p> <p>For more information, see <a 151 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 152 * in the <i>AWS Auto Scaling API Reference</i>.</p> 153 */ GetScalingInstructions()154 inline const Aws::Vector<ScalingInstruction>& GetScalingInstructions() const{ return m_scalingInstructions; } 155 156 /** 157 * <p>The scaling instructions.</p> <p>For more information, see <a 158 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 159 * in the <i>AWS Auto Scaling API Reference</i>.</p> 160 */ ScalingInstructionsHasBeenSet()161 inline bool ScalingInstructionsHasBeenSet() const { return m_scalingInstructionsHasBeenSet; } 162 163 /** 164 * <p>The scaling instructions.</p> <p>For more information, see <a 165 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 166 * in the <i>AWS Auto Scaling API Reference</i>.</p> 167 */ SetScalingInstructions(const Aws::Vector<ScalingInstruction> & value)168 inline void SetScalingInstructions(const Aws::Vector<ScalingInstruction>& value) { m_scalingInstructionsHasBeenSet = true; m_scalingInstructions = value; } 169 170 /** 171 * <p>The scaling instructions.</p> <p>For more information, see <a 172 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 173 * in the <i>AWS Auto Scaling API Reference</i>.</p> 174 */ SetScalingInstructions(Aws::Vector<ScalingInstruction> && value)175 inline void SetScalingInstructions(Aws::Vector<ScalingInstruction>&& value) { m_scalingInstructionsHasBeenSet = true; m_scalingInstructions = std::move(value); } 176 177 /** 178 * <p>The scaling instructions.</p> <p>For more information, see <a 179 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 180 * in the <i>AWS Auto Scaling API Reference</i>.</p> 181 */ WithScalingInstructions(const Aws::Vector<ScalingInstruction> & value)182 inline UpdateScalingPlanRequest& WithScalingInstructions(const Aws::Vector<ScalingInstruction>& value) { SetScalingInstructions(value); return *this;} 183 184 /** 185 * <p>The scaling instructions.</p> <p>For more information, see <a 186 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 187 * in the <i>AWS Auto Scaling API Reference</i>.</p> 188 */ WithScalingInstructions(Aws::Vector<ScalingInstruction> && value)189 inline UpdateScalingPlanRequest& WithScalingInstructions(Aws::Vector<ScalingInstruction>&& value) { SetScalingInstructions(std::move(value)); return *this;} 190 191 /** 192 * <p>The scaling instructions.</p> <p>For more information, see <a 193 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 194 * in the <i>AWS Auto Scaling API Reference</i>.</p> 195 */ AddScalingInstructions(const ScalingInstruction & value)196 inline UpdateScalingPlanRequest& AddScalingInstructions(const ScalingInstruction& value) { m_scalingInstructionsHasBeenSet = true; m_scalingInstructions.push_back(value); return *this; } 197 198 /** 199 * <p>The scaling instructions.</p> <p>For more information, see <a 200 * href="https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html">ScalingInstruction</a> 201 * in the <i>AWS Auto Scaling API Reference</i>.</p> 202 */ AddScalingInstructions(ScalingInstruction && value)203 inline UpdateScalingPlanRequest& AddScalingInstructions(ScalingInstruction&& value) { m_scalingInstructionsHasBeenSet = true; m_scalingInstructions.push_back(std::move(value)); return *this; } 204 205 private: 206 207 Aws::String m_scalingPlanName; 208 bool m_scalingPlanNameHasBeenSet; 209 210 long long m_scalingPlanVersion; 211 bool m_scalingPlanVersionHasBeenSet; 212 213 ApplicationSource m_applicationSource; 214 bool m_applicationSourceHasBeenSet; 215 216 Aws::Vector<ScalingInstruction> m_scalingInstructions; 217 bool m_scalingInstructionsHasBeenSet; 218 }; 219 220 } // namespace Model 221 } // namespace AutoScalingPlans 222 } // namespace Aws 223