AWS SDK for C++  0.14.3
AWS SDK for C++
ScalingPolicy.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Json
31 {
32  class JsonValue;
33 } // namespace Json
34 } // namespace Utils
35 namespace ApplicationAutoScaling
36 {
37 namespace Model
38 {
39 
44  {
45  public:
46  ScalingPolicy();
48  ScalingPolicy& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
49  Aws::Utils::Json::JsonValue Jsonize() const;
50 
54  inline const Aws::String& GetPolicyARN() const{ return m_policyARN; }
55 
59  inline void SetPolicyARN(const Aws::String& value) { m_policyARNHasBeenSet = true; m_policyARN = value; }
60 
64  inline void SetPolicyARN(Aws::String&& value) { m_policyARNHasBeenSet = true; m_policyARN = value; }
65 
69  inline void SetPolicyARN(const char* value) { m_policyARNHasBeenSet = true; m_policyARN.assign(value); }
70 
74  inline ScalingPolicy& WithPolicyARN(const Aws::String& value) { SetPolicyARN(value); return *this;}
75 
79  inline ScalingPolicy& WithPolicyARN(Aws::String&& value) { SetPolicyARN(value); return *this;}
80 
84  inline ScalingPolicy& WithPolicyARN(const char* value) { SetPolicyARN(value); return *this;}
85 
89  inline const Aws::String& GetPolicyName() const{ return m_policyName; }
90 
94  inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
95 
99  inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
100 
104  inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
105 
109  inline ScalingPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
110 
114  inline ScalingPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(value); return *this;}
115 
119  inline ScalingPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
120 
127  inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
128 
135  inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
136 
143  inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
144 
151  inline ScalingPolicy& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
152 
159  inline ScalingPolicy& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(value); return *this;}
160 
167  inline const Aws::String& GetResourceId() const{ return m_resourceId; }
168 
175  inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
176 
183  inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
184 
191  inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
192 
199  inline ScalingPolicy& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
200 
207  inline ScalingPolicy& WithResourceId(Aws::String&& value) { SetResourceId(value); return *this;}
208 
215  inline ScalingPolicy& WithResourceId(const char* value) { SetResourceId(value); return *this;}
216 
223  inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
224 
231  inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
232 
239  inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
240 
247  inline ScalingPolicy& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
248 
255  inline ScalingPolicy& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(value); return *this;}
256 
260  inline const PolicyType& GetPolicyType() const{ return m_policyType; }
261 
265  inline void SetPolicyType(const PolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
266 
270  inline void SetPolicyType(PolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
271 
275  inline ScalingPolicy& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;}
276 
280  inline ScalingPolicy& WithPolicyType(PolicyType&& value) { SetPolicyType(value); return *this;}
281 
285  inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const{ return m_stepScalingPolicyConfiguration; }
286 
290  inline void SetStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = value; }
291 
295  inline void SetStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = value; }
296 
300  inline ScalingPolicy& WithStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { SetStepScalingPolicyConfiguration(value); return *this;}
301 
305  inline ScalingPolicy& WithStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { SetStepScalingPolicyConfiguration(value); return *this;}
306 
310  inline const Aws::Vector<Alarm>& GetAlarms() const{ return m_alarms; }
311 
315  inline void SetAlarms(const Aws::Vector<Alarm>& value) { m_alarmsHasBeenSet = true; m_alarms = value; }
316 
320  inline void SetAlarms(Aws::Vector<Alarm>&& value) { m_alarmsHasBeenSet = true; m_alarms = value; }
321 
325  inline ScalingPolicy& WithAlarms(const Aws::Vector<Alarm>& value) { SetAlarms(value); return *this;}
326 
330  inline ScalingPolicy& WithAlarms(Aws::Vector<Alarm>&& value) { SetAlarms(value); return *this;}
331 
335  inline ScalingPolicy& AddAlarms(const Alarm& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; }
336 
340  inline ScalingPolicy& AddAlarms(Alarm&& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; }
341 
345  inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
346 
350  inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
351 
355  inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
356 
360  inline ScalingPolicy& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
361 
365  inline ScalingPolicy& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(value); return *this;}
366 
367  private:
368  Aws::String m_policyARN;
369  bool m_policyARNHasBeenSet;
370  Aws::String m_policyName;
371  bool m_policyNameHasBeenSet;
372  ServiceNamespace m_serviceNamespace;
373  bool m_serviceNamespaceHasBeenSet;
374  Aws::String m_resourceId;
375  bool m_resourceIdHasBeenSet;
376  ScalableDimension m_scalableDimension;
377  bool m_scalableDimensionHasBeenSet;
378  PolicyType m_policyType;
379  bool m_policyTypeHasBeenSet;
380  StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
381  bool m_stepScalingPolicyConfigurationHasBeenSet;
382  Aws::Vector<Alarm> m_alarms;
383  bool m_alarmsHasBeenSet;
384  Aws::Utils::DateTime m_creationTime;
385  bool m_creationTimeHasBeenSet;
386  };
387 
388 } // namespace Model
389 } // namespace ApplicationAutoScaling
390 } // namespace Aws
ScalingPolicy & WithServiceNamespace(ServiceNamespace &&value)
ScalingPolicy & AddAlarms(const Alarm &value)
const StepScalingPolicyConfiguration & GetStepScalingPolicyConfiguration() const
void SetServiceNamespace(ServiceNamespace &&value)
void SetPolicyName(const Aws::String &value)
Definition: ScalingPolicy.h:94
const ScalableDimension & GetScalableDimension() const
void SetPolicyARN(const Aws::String &value)
Definition: ScalingPolicy.h:59
ScalingPolicy & WithPolicyARN(const Aws::String &value)
Definition: ScalingPolicy.h:74
void SetStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration &value)
ScalingPolicy & WithPolicyName(const char *value)
#define AWS_APPLICATIONAUTOSCALING_API
ScalingPolicy & WithScalableDimension(ScalableDimension &&value)
const ServiceNamespace & GetServiceNamespace() const
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
ScalingPolicy & WithScalableDimension(const ScalableDimension &value)
ScalingPolicy & WithStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration &value)
ScalingPolicy & WithPolicyARN(Aws::String &&value)
Definition: ScalingPolicy.h:79
ScalingPolicy & WithCreationTime(Aws::Utils::DateTime &&value)
ScalingPolicy & WithResourceId(const char *value)
const Aws::Utils::DateTime & GetCreationTime() const
const Aws::Vector< Alarm > & GetAlarms() const
ScalingPolicy & WithPolicyType(const PolicyType &value)
void SetResourceId(const Aws::String &value)
ScalingPolicy & WithStepScalingPolicyConfiguration(StepScalingPolicyConfiguration &&value)
ScalingPolicy & WithPolicyType(PolicyType &&value)
void SetCreationTime(Aws::Utils::DateTime &&value)
void SetCreationTime(const Aws::Utils::DateTime &value)
void SetScalableDimension(ScalableDimension &&value)
ScalingPolicy & WithAlarms(Aws::Vector< Alarm > &&value)
ScalingPolicy & WithPolicyARN(const char *value)
Definition: ScalingPolicy.h:84
ScalingPolicy & WithCreationTime(const Aws::Utils::DateTime &value)
void SetServiceNamespace(const ServiceNamespace &value)
void SetStepScalingPolicyConfiguration(StepScalingPolicyConfiguration &&value)
ScalingPolicy & WithServiceNamespace(const ServiceNamespace &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetAlarms(const Aws::Vector< Alarm > &value)
ScalingPolicy & WithPolicyName(const Aws::String &value)
ScalingPolicy & WithResourceId(Aws::String &&value)
ScalingPolicy & WithPolicyName(Aws::String &&value)
void SetScalableDimension(const ScalableDimension &value)
ScalingPolicy & WithResourceId(const Aws::String &value)
ScalingPolicy & WithAlarms(const Aws::Vector< Alarm > &value)
void SetAlarms(Aws::Vector< Alarm > &&value)
JSON (JavaScript Object Notation).