AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
AutoScalingPolicyDescription.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/elasticmapreduce/EMR_EXPORTS.h>
9#include <aws/elasticmapreduce/model/AutoScalingPolicyStatus.h>
10#include <aws/elasticmapreduce/model/ScalingConstraints.h>
11#include <aws/elasticmapreduce/model/ScalingRule.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace EMR {
23namespace Model {
24
35 public:
36 AWS_EMR_API AutoScalingPolicyDescription() = default;
40
42
45 inline const AutoScalingPolicyStatus& GetStatus() const { return m_status; }
46 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
47 template <typename StatusT = AutoScalingPolicyStatus>
48 void SetStatus(StatusT&& value) {
49 m_statusHasBeenSet = true;
50 m_status = std::forward<StatusT>(value);
51 }
52 template <typename StatusT = AutoScalingPolicyStatus>
54 SetStatus(std::forward<StatusT>(value));
55 return *this;
56 }
58
60
65 inline const ScalingConstraints& GetConstraints() const { return m_constraints; }
66 inline bool ConstraintsHasBeenSet() const { return m_constraintsHasBeenSet; }
67 template <typename ConstraintsT = ScalingConstraints>
68 void SetConstraints(ConstraintsT&& value) {
69 m_constraintsHasBeenSet = true;
70 m_constraints = std::forward<ConstraintsT>(value);
71 }
72 template <typename ConstraintsT = ScalingConstraints>
74 SetConstraints(std::forward<ConstraintsT>(value));
75 return *this;
76 }
78
80
84 inline const Aws::Vector<ScalingRule>& GetRules() const { return m_rules; }
85 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
86 template <typename RulesT = Aws::Vector<ScalingRule>>
87 void SetRules(RulesT&& value) {
88 m_rulesHasBeenSet = true;
89 m_rules = std::forward<RulesT>(value);
90 }
91 template <typename RulesT = Aws::Vector<ScalingRule>>
93 SetRules(std::forward<RulesT>(value));
94 return *this;
95 }
96 template <typename RulesT = ScalingRule>
98 m_rulesHasBeenSet = true;
99 m_rules.emplace_back(std::forward<RulesT>(value));
100 return *this;
101 }
103 private:
105
106 ScalingConstraints m_constraints;
107
109 bool m_statusHasBeenSet = false;
110 bool m_constraintsHasBeenSet = false;
111 bool m_rulesHasBeenSet = false;
112};
113
114} // namespace Model
115} // namespace EMR
116} // namespace Aws
const AutoScalingPolicyStatus & GetStatus() const
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AutoScalingPolicyDescription & WithRules(RulesT &&value)
AutoScalingPolicyDescription & AddRules(RulesT &&value)
const Aws::Vector< ScalingRule > & GetRules() const
AWS_EMR_API AutoScalingPolicyDescription(Aws::Utils::Json::JsonView jsonValue)
AutoScalingPolicyDescription & WithConstraints(ConstraintsT &&value)
AutoScalingPolicyDescription & WithStatus(StatusT &&value)
AWS_EMR_API AutoScalingPolicyDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API AutoScalingPolicyDescription()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue