AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
TargetTrackingConfiguration.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/CustomizedMetricSpecification.h>
9#include <aws/autoscaling/model/PredefinedMetricSpecification.h>
10#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace AutoScaling {
21namespace Model {
22
30 public:
31 AWS_AUTOSCALING_API TargetTrackingConfiguration() = default;
32 AWS_AUTOSCALING_API TargetTrackingConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
43 inline const PredefinedMetricSpecification& GetPredefinedMetricSpecification() const { return m_predefinedMetricSpecification; }
44 inline bool PredefinedMetricSpecificationHasBeenSet() const { return m_predefinedMetricSpecificationHasBeenSet; }
45 template <typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
46 void SetPredefinedMetricSpecification(PredefinedMetricSpecificationT&& value) {
47 m_predefinedMetricSpecificationHasBeenSet = true;
48 m_predefinedMetricSpecification = std::forward<PredefinedMetricSpecificationT>(value);
49 }
50 template <typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
51 TargetTrackingConfiguration& WithPredefinedMetricSpecification(PredefinedMetricSpecificationT&& value) {
52 SetPredefinedMetricSpecification(std::forward<PredefinedMetricSpecificationT>(value));
53 return *this;
54 }
56
58
62 inline const CustomizedMetricSpecification& GetCustomizedMetricSpecification() const { return m_customizedMetricSpecification; }
63 inline bool CustomizedMetricSpecificationHasBeenSet() const { return m_customizedMetricSpecificationHasBeenSet; }
64 template <typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
65 void SetCustomizedMetricSpecification(CustomizedMetricSpecificationT&& value) {
66 m_customizedMetricSpecificationHasBeenSet = true;
67 m_customizedMetricSpecification = std::forward<CustomizedMetricSpecificationT>(value);
68 }
69 template <typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
70 TargetTrackingConfiguration& WithCustomizedMetricSpecification(CustomizedMetricSpecificationT&& value) {
71 SetCustomizedMetricSpecification(std::forward<CustomizedMetricSpecificationT>(value));
72 return *this;
73 }
75
77
85 inline double GetTargetValue() const { return m_targetValue; }
86 inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
87 inline void SetTargetValue(double value) {
88 m_targetValueHasBeenSet = true;
89 m_targetValue = value;
90 }
92 SetTargetValue(value);
93 return *this;
94 }
96
98
105 inline bool GetDisableScaleIn() const { return m_disableScaleIn; }
106 inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; }
107 inline void SetDisableScaleIn(bool value) {
108 m_disableScaleInHasBeenSet = true;
109 m_disableScaleIn = value;
110 }
112 SetDisableScaleIn(value);
113 return *this;
114 }
116 private:
117 PredefinedMetricSpecification m_predefinedMetricSpecification;
118
119 CustomizedMetricSpecification m_customizedMetricSpecification;
120
121 double m_targetValue{0.0};
122
123 bool m_disableScaleIn{false};
124 bool m_predefinedMetricSpecificationHasBeenSet = false;
125 bool m_customizedMetricSpecificationHasBeenSet = false;
126 bool m_targetValueHasBeenSet = false;
127 bool m_disableScaleInHasBeenSet = false;
128};
129
130} // namespace Model
131} // namespace AutoScaling
132} // namespace Aws
TargetTrackingConfiguration & WithPredefinedMetricSpecification(PredefinedMetricSpecificationT &&value)
void SetPredefinedMetricSpecification(PredefinedMetricSpecificationT &&value)
AWS_AUTOSCALING_API TargetTrackingConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const PredefinedMetricSpecification & GetPredefinedMetricSpecification() const
const CustomizedMetricSpecification & GetCustomizedMetricSpecification() const
AWS_AUTOSCALING_API TargetTrackingConfiguration()=default
AWS_AUTOSCALING_API TargetTrackingConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCustomizedMetricSpecification(CustomizedMetricSpecificationT &&value)
TargetTrackingConfiguration & WithTargetValue(double value)
TargetTrackingConfiguration & WithCustomizedMetricSpecification(CustomizedMetricSpecificationT &&value)
TargetTrackingConfiguration & WithDisableScaleIn(bool value)
std::basic_ostream< char, std::char_traits< char > > OStream