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>
23namespace Route53RecoveryControlConfig
48 template<
typename ControlPanelArnT = Aws::String>
49 void SetControlPanelArn(ControlPanelArnT&& value) { m_controlPanelArnHasBeenSet =
true; m_controlPanelArn = std::forward<ControlPanelArnT>(value); }
50 template<
typename ControlPanelArnT = Aws::String>
61 template<
typename GatingControlsT = Aws::Vector<Aws::String>>
62 void SetGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet =
true; m_gatingControls = std::forward<GatingControlsT>(value); }
63 template<
typename GatingControlsT = Aws::Vector<Aws::String>>
65 template<
typename GatingControlsT = Aws::String>
66 NewGatingRule&
AddGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet =
true; m_gatingControls.emplace_back(std::forward<GatingControlsT>(value));
return *
this; }
75 template<
typename NameT = Aws::String>
76 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
77 template<
typename NameT = Aws::String>
89 template<
typename RuleConfigT = RuleConfig>
90 void SetRuleConfig(RuleConfigT&& value) { m_ruleConfigHasBeenSet =
true; m_ruleConfig = std::forward<RuleConfigT>(value); }
91 template<
typename RuleConfigT = RuleConfig>
109 template<
typename TargetControlsT = Aws::Vector<Aws::String>>
110 void SetTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet =
true; m_targetControls = std::forward<TargetControlsT>(value); }
111 template<
typename TargetControlsT = Aws::Vector<Aws::String>>
113 template<
typename TargetControlsT = Aws::String>
114 NewGatingRule&
AddTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet =
true; m_targetControls.emplace_back(std::forward<TargetControlsT>(value));
return *
this; }
125 inline void SetWaitPeriodMs(
int value) { m_waitPeriodMsHasBeenSet =
true; m_waitPeriodMs = value; }
131 bool m_controlPanelArnHasBeenSet =
false;
134 bool m_gatingControlsHasBeenSet =
false;
137 bool m_nameHasBeenSet =
false;
140 bool m_ruleConfigHasBeenSet =
false;
143 bool m_targetControlsHasBeenSet =
false;
145 int m_waitPeriodMs{0};
146 bool m_waitPeriodMsHasBeenSet =
false;
const Aws::Vector< Aws::String > & GetTargetControls() const
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule()=default
void SetGatingControls(GatingControlsT &&value)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const
NewGatingRule & WithGatingControls(GatingControlsT &&value)
bool TargetControlsHasBeenSet() const
NewGatingRule & WithWaitPeriodMs(int value)
void SetRuleConfig(RuleConfigT &&value)
void SetWaitPeriodMs(int value)
bool GatingControlsHasBeenSet() const
NewGatingRule & AddGatingControls(GatingControlsT &&value)
NewGatingRule & WithControlPanelArn(ControlPanelArnT &&value)
NewGatingRule & WithName(NameT &&value)
bool WaitPeriodMsHasBeenSet() const
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule(Aws::Utils::Json::JsonView jsonValue)
int GetWaitPeriodMs() const
const Aws::Vector< Aws::String > & GetGatingControls() const
NewGatingRule & AddTargetControls(TargetControlsT &&value)
bool RuleConfigHasBeenSet() const
const Aws::String & GetName() const
NewGatingRule & WithTargetControls(TargetControlsT &&value)
void SetControlPanelArn(ControlPanelArnT &&value)
const Aws::String & GetControlPanelArn() const
bool ControlPanelArnHasBeenSet() const
void SetTargetControls(TargetControlsT &&value)
bool NameHasBeenSet() const
void SetName(NameT &&value)
const RuleConfig & GetRuleConfig() const
NewGatingRule & WithRuleConfig(RuleConfigT &&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