AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
NewGatingRule.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 <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Route53RecoveryControlConfig
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule() = default;
37 AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule(Aws::Utils::Json::JsonView jsonValue);
38 AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const Aws::String& GetControlPanelArn() const { return m_controlPanelArn; }
47 inline bool ControlPanelArnHasBeenSet() const { return m_controlPanelArnHasBeenSet; }
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>
51 NewGatingRule& WithControlPanelArn(ControlPanelArnT&& value) { SetControlPanelArn(std::forward<ControlPanelArnT>(value)); return *this;}
53
55
59 inline const Aws::Vector<Aws::String>& GetGatingControls() const { return m_gatingControls; }
60 inline bool GatingControlsHasBeenSet() const { return m_gatingControlsHasBeenSet; }
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>>
64 NewGatingRule& WithGatingControls(GatingControlsT&& value) { SetGatingControls(std::forward<GatingControlsT>(value)); return *this;}
65 template<typename GatingControlsT = Aws::String>
66 NewGatingRule& AddGatingControls(GatingControlsT&& value) { m_gatingControlsHasBeenSet = true; m_gatingControls.emplace_back(std::forward<GatingControlsT>(value)); return *this; }
68
70
73 inline const Aws::String& GetName() const { return m_name; }
74 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
78 NewGatingRule& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
80
82
87 inline const RuleConfig& GetRuleConfig() const { return m_ruleConfig; }
88 inline bool RuleConfigHasBeenSet() const { return m_ruleConfigHasBeenSet; }
89 template<typename RuleConfigT = RuleConfig>
90 void SetRuleConfig(RuleConfigT&& value) { m_ruleConfigHasBeenSet = true; m_ruleConfig = std::forward<RuleConfigT>(value); }
91 template<typename RuleConfigT = RuleConfig>
92 NewGatingRule& WithRuleConfig(RuleConfigT&& value) { SetRuleConfig(std::forward<RuleConfigT>(value)); return *this;}
94
96
107 inline const Aws::Vector<Aws::String>& GetTargetControls() const { return m_targetControls; }
108 inline bool TargetControlsHasBeenSet() const { return m_targetControlsHasBeenSet; }
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>>
112 NewGatingRule& WithTargetControls(TargetControlsT&& value) { SetTargetControls(std::forward<TargetControlsT>(value)); return *this;}
113 template<typename TargetControlsT = Aws::String>
114 NewGatingRule& AddTargetControls(TargetControlsT&& value) { m_targetControlsHasBeenSet = true; m_targetControls.emplace_back(std::forward<TargetControlsT>(value)); return *this; }
116
118
123 inline int GetWaitPeriodMs() const { return m_waitPeriodMs; }
124 inline bool WaitPeriodMsHasBeenSet() const { return m_waitPeriodMsHasBeenSet; }
125 inline void SetWaitPeriodMs(int value) { m_waitPeriodMsHasBeenSet = true; m_waitPeriodMs = value; }
126 inline NewGatingRule& WithWaitPeriodMs(int value) { SetWaitPeriodMs(value); return *this;}
128 private:
129
130 Aws::String m_controlPanelArn;
131 bool m_controlPanelArnHasBeenSet = false;
132
133 Aws::Vector<Aws::String> m_gatingControls;
134 bool m_gatingControlsHasBeenSet = false;
135
136 Aws::String m_name;
137 bool m_nameHasBeenSet = false;
138
139 RuleConfig m_ruleConfig;
140 bool m_ruleConfigHasBeenSet = false;
141
142 Aws::Vector<Aws::String> m_targetControls;
143 bool m_targetControlsHasBeenSet = false;
144
145 int m_waitPeriodMs{0};
146 bool m_waitPeriodMsHasBeenSet = false;
147 };
148
149} // namespace Model
150} // namespace Route53RecoveryControlConfig
151} // namespace Aws
const Aws::Vector< Aws::String > & GetTargetControls() const
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule()=default
AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const
NewGatingRule & WithGatingControls(GatingControlsT &&value)
NewGatingRule & AddGatingControls(GatingControlsT &&value)
NewGatingRule & WithControlPanelArn(ControlPanelArnT &&value)
AWS_ROUTE53RECOVERYCONTROLCONFIG_API NewGatingRule(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetGatingControls() const
NewGatingRule & AddTargetControls(TargetControlsT &&value)
NewGatingRule & WithTargetControls(TargetControlsT &&value)
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