AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
AutoScalingPolicyDescription.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/AutoScalingPolicyStatus.h>
9#include <aws/elasticmapreduce/model/ScalingConstraints.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticmapreduce/model/ScalingRule.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace EMR
25{
26namespace Model
27{
28
39 {
40 public:
41 AWS_EMR_API AutoScalingPolicyDescription() = default;
45
46
48
51 inline const AutoScalingPolicyStatus& GetStatus() const { return m_status; }
52 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
53 template<typename StatusT = AutoScalingPolicyStatus>
54 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
55 template<typename StatusT = AutoScalingPolicyStatus>
56 AutoScalingPolicyDescription& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
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) { m_constraintsHasBeenSet = true; m_constraints = std::forward<ConstraintsT>(value); }
69 template<typename ConstraintsT = ScalingConstraints>
70 AutoScalingPolicyDescription& WithConstraints(ConstraintsT&& value) { SetConstraints(std::forward<ConstraintsT>(value)); return *this;}
72
74
78 inline const Aws::Vector<ScalingRule>& GetRules() const { return m_rules; }
79 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
80 template<typename RulesT = Aws::Vector<ScalingRule>>
81 void SetRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules = std::forward<RulesT>(value); }
82 template<typename RulesT = Aws::Vector<ScalingRule>>
83 AutoScalingPolicyDescription& WithRules(RulesT&& value) { SetRules(std::forward<RulesT>(value)); return *this;}
84 template<typename RulesT = ScalingRule>
85 AutoScalingPolicyDescription& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward<RulesT>(value)); return *this; }
87 private:
88
90 bool m_statusHasBeenSet = false;
91
92 ScalingConstraints m_constraints;
93 bool m_constraintsHasBeenSet = false;
94
96 bool m_rulesHasBeenSet = false;
97 };
98
99} // namespace Model
100} // namespace EMR
101} // 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