AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GatingRule.h
1
6#pragma once
7#include <aws/route53-recovery-control-config/Route53RecoveryControlConfig_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/route53-recovery-control-config/model/RuleConfig.h>
11#include <aws/route53-recovery-control-config/model/Status.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 Route53RecoveryControlConfig
25{
26namespace Model
27{
28
43 {
44 public:
45 AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule() = default;
46 AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule(Aws::Utils::Json::JsonView jsonValue);
47 AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule& operator=(Aws::Utils::Json::JsonView jsonValue);
48 AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
55 inline const Aws::String& GetControlPanelArn() const { return m_controlPanelArn; }
56 inline bool ControlPanelArnHasBeenSet() const { return m_controlPanelArnHasBeenSet; }
57 template<typename ControlPanelArnT = Aws::String>
58 void SetControlPanelArn(ControlPanelArnT&& value) { m_controlPanelArnHasBeenSet = true; m_controlPanelArn = std::forward<ControlPanelArnT>(value); }
59 template<typename ControlPanelArnT = Aws::String>
60 GatingRule& WithControlPanelArn(ControlPanelArnT&& value) { SetControlPanelArn(std::forward<ControlPanelArnT>(value)); return *this;}
62
64
70 inline const Aws::Vector<Aws::String>& GetGatingControls() const { return m_gatingControls; }
71 inline bool GatingControlsHasBeenSet() const { return m_gatingControlsHasBeenSet; }
72 template<typename GatingControlsT = Aws::Vector<Aws::String>>
73 void SetGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet = true; m_gatingControls = std::forward<GatingControlsT>(value); }
74 template<typename GatingControlsT = Aws::Vector<Aws::String>>
75 GatingRule& WithGatingControls(GatingControlsT&& value) { SetGatingControls(std::forward<GatingControlsT>(value)); return *this;}
76 template<typename GatingControlsT = Aws::String>
77 GatingRule& AddGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet = true; m_gatingControls.emplace_back(std::forward<GatingControlsT>(value)); return *this; }
79
81
85 inline const Aws::String& GetName() const { return m_name; }
86 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
87 template<typename NameT = Aws::String>
88 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
89 template<typename NameT = Aws::String>
90 GatingRule& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
92
94
99 inline const RuleConfig& GetRuleConfig() const { return m_ruleConfig; }
100 inline bool RuleConfigHasBeenSet() const { return m_ruleConfigHasBeenSet; }
101 template<typename RuleConfigT = RuleConfig>
102 void SetRuleConfig(RuleConfigT&& value) { m_ruleConfigHasBeenSet = true; m_ruleConfig = std::forward<RuleConfigT>(value); }
103 template<typename RuleConfigT = RuleConfig>
104 GatingRule& WithRuleConfig(RuleConfigT&& value) { SetRuleConfig(std::forward<RuleConfigT>(value)); return *this;}
106
108
111 inline const Aws::String& GetSafetyRuleArn() const { return m_safetyRuleArn; }
112 inline bool SafetyRuleArnHasBeenSet() const { return m_safetyRuleArnHasBeenSet; }
113 template<typename SafetyRuleArnT = Aws::String>
114 void SetSafetyRuleArn(SafetyRuleArnT&& value) { m_safetyRuleArnHasBeenSet = true; m_safetyRuleArn = std::forward<SafetyRuleArnT>(value); }
115 template<typename SafetyRuleArnT = Aws::String>
116 GatingRule& WithSafetyRuleArn(SafetyRuleArnT&& value) { SetSafetyRuleArn(std::forward<SafetyRuleArnT>(value)); return *this;}
118
120
124 inline Status GetStatus() const { return m_status; }
125 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
126 inline void SetStatus(Status value) { m_statusHasBeenSet = true; m_status = value; }
127 inline GatingRule& WithStatus(Status value) { SetStatus(value); return *this;}
129
131
139 inline const Aws::Vector<Aws::String>& GetTargetControls() const { return m_targetControls; }
140 inline bool TargetControlsHasBeenSet() const { return m_targetControlsHasBeenSet; }
141 template<typename TargetControlsT = Aws::Vector<Aws::String>>
142 void SetTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet = true; m_targetControls = std::forward<TargetControlsT>(value); }
143 template<typename TargetControlsT = Aws::Vector<Aws::String>>
144 GatingRule& WithTargetControls(TargetControlsT&& value) { SetTargetControls(std::forward<TargetControlsT>(value)); return *this;}
145 template<typename TargetControlsT = Aws::String>
146 GatingRule& AddTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet = true; m_targetControls.emplace_back(std::forward<TargetControlsT>(value)); return *this; }
148
150
155 inline int GetWaitPeriodMs() const { return m_waitPeriodMs; }
156 inline bool WaitPeriodMsHasBeenSet() const { return m_waitPeriodMsHasBeenSet; }
157 inline void SetWaitPeriodMs(int value) { m_waitPeriodMsHasBeenSet = true; m_waitPeriodMs = value; }
158 inline GatingRule& WithWaitPeriodMs(int value) { SetWaitPeriodMs(value); return *this;}
160
162
165 inline const Aws::String& GetOwner() const { return m_owner; }
166 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
167 template<typename OwnerT = Aws::String>
168 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
169 template<typename OwnerT = Aws::String>
170 GatingRule& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
172 private:
173
174 Aws::String m_controlPanelArn;
175 bool m_controlPanelArnHasBeenSet = false;
176
177 Aws::Vector<Aws::String> m_gatingControls;
178 bool m_gatingControlsHasBeenSet = false;
179
180 Aws::String m_name;
181 bool m_nameHasBeenSet = false;
182
183 RuleConfig m_ruleConfig;
184 bool m_ruleConfigHasBeenSet = false;
185
186 Aws::String m_safetyRuleArn;
187 bool m_safetyRuleArnHasBeenSet = false;
188
189 Status m_status{Status::NOT_SET};
190 bool m_statusHasBeenSet = false;
191
192 Aws::Vector<Aws::String> m_targetControls;
193 bool m_targetControlsHasBeenSet = false;
194
195 int m_waitPeriodMs{0};
196 bool m_waitPeriodMsHasBeenSet = false;
197
198 Aws::String m_owner;
199 bool m_ownerHasBeenSet = false;
200 };
201
202} // namespace Model
203} // namespace Route53RecoveryControlConfig
204} // namespace Aws
GatingRule & WithSafetyRuleArn(SafetyRuleArnT &&value)
Definition GatingRule.h:116
const Aws::Vector< Aws::String > & GetGatingControls() const
Definition GatingRule.h:70
GatingRule & WithControlPanelArn(ControlPanelArnT &&value)
Definition GatingRule.h:60
GatingRule & AddTargetControls(TargetControlsT &&value)
Definition GatingRule.h:146
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule(Aws::Utils::Json::JsonView jsonValue)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetTargetControls() const
Definition GatingRule.h:139
GatingRule & WithRuleConfig(RuleConfigT &&value)
Definition GatingRule.h:104
void SetTargetControls(TargetControlsT &&value)
Definition GatingRule.h:142
void SetControlPanelArn(ControlPanelArnT &&value)
Definition GatingRule.h:58
AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const
GatingRule & AddGatingControls(GatingControlsT &&value)
Definition GatingRule.h:77
void SetGatingControls(GatingControlsT &&value)
Definition GatingRule.h:73
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule()=default
GatingRule & WithGatingControls(GatingControlsT &&value)
Definition GatingRule.h:75
GatingRule & WithTargetControls(TargetControlsT &&value)
Definition GatingRule.h:144
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue