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>
24namespace Route53RecoveryControlConfig
45 AWS_ROUTE53RECOVERYCONTROLCONFIG_API
GatingRule() =
default;
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>
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>>
76 template<
typename GatingControlsT = Aws::String>
77 GatingRule&
AddGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet =
true; m_gatingControls.emplace_back(std::forward<GatingControlsT>(value));
return *
this; }
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>
101 template<
typename RuleConfigT = RuleConfig>
102 void SetRuleConfig(RuleConfigT&& value) { m_ruleConfigHasBeenSet =
true; m_ruleConfig = std::forward<RuleConfigT>(value); }
103 template<
typename RuleConfigT = RuleConfig>
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>
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>>
145 template<
typename TargetControlsT = Aws::String>
146 GatingRule&
AddTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet =
true; m_targetControls.emplace_back(std::forward<TargetControlsT>(value));
return *
this; }
157 inline void SetWaitPeriodMs(
int value) { m_waitPeriodMsHasBeenSet =
true; m_waitPeriodMs = value; }
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>
175 bool m_controlPanelArnHasBeenSet =
false;
178 bool m_gatingControlsHasBeenSet =
false;
181 bool m_nameHasBeenSet =
false;
184 bool m_ruleConfigHasBeenSet =
false;
187 bool m_safetyRuleArnHasBeenSet =
false;
190 bool m_statusHasBeenSet =
false;
193 bool m_targetControlsHasBeenSet =
false;
195 int m_waitPeriodMs{0};
196 bool m_waitPeriodMsHasBeenSet =
false;
199 bool m_ownerHasBeenSet =
false;
bool GatingControlsHasBeenSet() const
bool RuleConfigHasBeenSet() const
GatingRule & WithSafetyRuleArn(SafetyRuleArnT &&value)
bool TargetControlsHasBeenSet() const
const Aws::Vector< Aws::String > & GetGatingControls() const
GatingRule & WithControlPanelArn(ControlPanelArnT &&value)
GatingRule & AddTargetControls(TargetControlsT &&value)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule(Aws::Utils::Json::JsonView jsonValue)
void SetName(NameT &&value)
const Aws::String & GetControlPanelArn() const
void SetSafetyRuleArn(SafetyRuleArnT &&value)
const Aws::String & GetName() const
bool StatusHasBeenSet() const
const RuleConfig & GetRuleConfig() const
bool ControlPanelArnHasBeenSet() const
bool SafetyRuleArnHasBeenSet() const
GatingRule & WithWaitPeriodMs(int value)
const Aws::String & GetSafetyRuleArn() const
bool NameHasBeenSet() const
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetTargetControls() const
GatingRule & WithOwner(OwnerT &&value)
GatingRule & WithRuleConfig(RuleConfigT &&value)
bool WaitPeriodMsHasBeenSet() const
GatingRule & WithStatus(Status value)
void SetTargetControls(TargetControlsT &&value)
void SetControlPanelArn(ControlPanelArnT &&value)
void SetRuleConfig(RuleConfigT &&value)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const
GatingRule & AddGatingControls(GatingControlsT &&value)
void SetGatingControls(GatingControlsT &&value)
void SetWaitPeriodMs(int value)
GatingRule & WithName(NameT &&value)
void SetStatus(Status value)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API GatingRule()=default
GatingRule & WithGatingControls(GatingControlsT &&value)
const Aws::String & GetOwner() const
int GetWaitPeriodMs() const
GatingRule & WithTargetControls(TargetControlsT &&value)
bool OwnerHasBeenSet() const
void SetOwner(OwnerT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue