AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
ScalingRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/elasticmapreduce/EMR_EXPORTS.h>
9#include <aws/elasticmapreduce/model/ScalingAction.h>
10#include <aws/elasticmapreduce/model/ScalingTrigger.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace EMR {
22namespace Model {
23
34 public:
35 AWS_EMR_API ScalingRule() = default;
39
41
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
53 ScalingRule& WithName(NameT&& value) {
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetDescription() const { return m_description; }
64 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
65 template <typename DescriptionT = Aws::String>
66 void SetDescription(DescriptionT&& value) {
67 m_descriptionHasBeenSet = true;
68 m_description = std::forward<DescriptionT>(value);
69 }
70 template <typename DescriptionT = Aws::String>
71 ScalingRule& WithDescription(DescriptionT&& value) {
72 SetDescription(std::forward<DescriptionT>(value));
73 return *this;
74 }
76
78
81 inline const ScalingAction& GetAction() const { return m_action; }
82 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
83 template <typename ActionT = ScalingAction>
84 void SetAction(ActionT&& value) {
85 m_actionHasBeenSet = true;
86 m_action = std::forward<ActionT>(value);
87 }
88 template <typename ActionT = ScalingAction>
89 ScalingRule& WithAction(ActionT&& value) {
90 SetAction(std::forward<ActionT>(value));
91 return *this;
92 }
94
96
100 inline const ScalingTrigger& GetTrigger() const { return m_trigger; }
101 inline bool TriggerHasBeenSet() const { return m_triggerHasBeenSet; }
102 template <typename TriggerT = ScalingTrigger>
103 void SetTrigger(TriggerT&& value) {
104 m_triggerHasBeenSet = true;
105 m_trigger = std::forward<TriggerT>(value);
106 }
107 template <typename TriggerT = ScalingTrigger>
108 ScalingRule& WithTrigger(TriggerT&& value) {
109 SetTrigger(std::forward<TriggerT>(value));
110 return *this;
111 }
113 private:
114 Aws::String m_name;
115
116 Aws::String m_description;
117
118 ScalingAction m_action;
119
120 ScalingTrigger m_trigger;
121 bool m_nameHasBeenSet = false;
122 bool m_descriptionHasBeenSet = false;
123 bool m_actionHasBeenSet = false;
124 bool m_triggerHasBeenSet = false;
125};
126
127} // namespace Model
128} // namespace EMR
129} // namespace Aws
const ScalingTrigger & GetTrigger() const
AWS_EMR_API ScalingRule()=default
void SetName(NameT &&value)
Definition ScalingRule.h:48
AWS_EMR_API ScalingRule(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetName() const
Definition ScalingRule.h:45
AWS_EMR_API ScalingRule & operator=(Aws::Utils::Json::JsonView jsonValue)
ScalingRule & WithAction(ActionT &&value)
Definition ScalingRule.h:89
ScalingRule & WithTrigger(TriggerT &&value)
void SetTrigger(TriggerT &&value)
void SetDescription(DescriptionT &&value)
Definition ScalingRule.h:66
bool DescriptionHasBeenSet() const
Definition ScalingRule.h:64
void SetAction(ActionT &&value)
Definition ScalingRule.h:84
const Aws::String & GetDescription() const
Definition ScalingRule.h:63
ScalingRule & WithDescription(DescriptionT &&value)
Definition ScalingRule.h:71
ScalingRule & WithName(NameT &&value)
Definition ScalingRule.h:53
const ScalingAction & GetAction() const
Definition ScalingRule.h:81
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue