AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
NetworkFirewallPolicyDescription.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/fms/FMS_EXPORTS.h>
10#include <aws/fms/model/StatefulEngineOptions.h>
11#include <aws/fms/model/StatefulRuleGroup.h>
12#include <aws/fms/model/StatelessRuleGroup.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace FMS {
24namespace Model {
25
33 public:
34 AWS_FMS_API NetworkFirewallPolicyDescription() = default;
38
40
44 inline const Aws::Vector<StatelessRuleGroup>& GetStatelessRuleGroups() const { return m_statelessRuleGroups; }
45 inline bool StatelessRuleGroupsHasBeenSet() const { return m_statelessRuleGroupsHasBeenSet; }
46 template <typename StatelessRuleGroupsT = Aws::Vector<StatelessRuleGroup>>
47 void SetStatelessRuleGroups(StatelessRuleGroupsT&& value) {
48 m_statelessRuleGroupsHasBeenSet = true;
49 m_statelessRuleGroups = std::forward<StatelessRuleGroupsT>(value);
50 }
51 template <typename StatelessRuleGroupsT = Aws::Vector<StatelessRuleGroup>>
53 SetStatelessRuleGroups(std::forward<StatelessRuleGroupsT>(value));
54 return *this;
55 }
56 template <typename StatelessRuleGroupsT = StatelessRuleGroup>
58 m_statelessRuleGroupsHasBeenSet = true;
59 m_statelessRuleGroups.emplace_back(std::forward<StatelessRuleGroupsT>(value));
60 return *this;
61 }
63
65
69 inline const Aws::Vector<Aws::String>& GetStatelessDefaultActions() const { return m_statelessDefaultActions; }
70 inline bool StatelessDefaultActionsHasBeenSet() const { return m_statelessDefaultActionsHasBeenSet; }
71 template <typename StatelessDefaultActionsT = Aws::Vector<Aws::String>>
72 void SetStatelessDefaultActions(StatelessDefaultActionsT&& value) {
73 m_statelessDefaultActionsHasBeenSet = true;
74 m_statelessDefaultActions = std::forward<StatelessDefaultActionsT>(value);
75 }
76 template <typename StatelessDefaultActionsT = Aws::Vector<Aws::String>>
78 SetStatelessDefaultActions(std::forward<StatelessDefaultActionsT>(value));
79 return *this;
80 }
81 template <typename StatelessDefaultActionsT = Aws::String>
83 m_statelessDefaultActionsHasBeenSet = true;
84 m_statelessDefaultActions.emplace_back(std::forward<StatelessDefaultActionsT>(value));
85 return *this;
86 }
88
90
94 inline const Aws::Vector<Aws::String>& GetStatelessFragmentDefaultActions() const { return m_statelessFragmentDefaultActions; }
95 inline bool StatelessFragmentDefaultActionsHasBeenSet() const { return m_statelessFragmentDefaultActionsHasBeenSet; }
96 template <typename StatelessFragmentDefaultActionsT = Aws::Vector<Aws::String>>
97 void SetStatelessFragmentDefaultActions(StatelessFragmentDefaultActionsT&& value) {
98 m_statelessFragmentDefaultActionsHasBeenSet = true;
99 m_statelessFragmentDefaultActions = std::forward<StatelessFragmentDefaultActionsT>(value);
100 }
101 template <typename StatelessFragmentDefaultActionsT = Aws::Vector<Aws::String>>
103 SetStatelessFragmentDefaultActions(std::forward<StatelessFragmentDefaultActionsT>(value));
104 return *this;
105 }
106 template <typename StatelessFragmentDefaultActionsT = Aws::String>
107 NetworkFirewallPolicyDescription& AddStatelessFragmentDefaultActions(StatelessFragmentDefaultActionsT&& value) {
108 m_statelessFragmentDefaultActionsHasBeenSet = true;
109 m_statelessFragmentDefaultActions.emplace_back(std::forward<StatelessFragmentDefaultActionsT>(value));
110 return *this;
111 }
113
115
119 inline const Aws::Vector<Aws::String>& GetStatelessCustomActions() const { return m_statelessCustomActions; }
120 inline bool StatelessCustomActionsHasBeenSet() const { return m_statelessCustomActionsHasBeenSet; }
121 template <typename StatelessCustomActionsT = Aws::Vector<Aws::String>>
122 void SetStatelessCustomActions(StatelessCustomActionsT&& value) {
123 m_statelessCustomActionsHasBeenSet = true;
124 m_statelessCustomActions = std::forward<StatelessCustomActionsT>(value);
125 }
126 template <typename StatelessCustomActionsT = Aws::Vector<Aws::String>>
128 SetStatelessCustomActions(std::forward<StatelessCustomActionsT>(value));
129 return *this;
130 }
131 template <typename StatelessCustomActionsT = Aws::String>
133 m_statelessCustomActionsHasBeenSet = true;
134 m_statelessCustomActions.emplace_back(std::forward<StatelessCustomActionsT>(value));
135 return *this;
136 }
138
140
144 inline const Aws::Vector<StatefulRuleGroup>& GetStatefulRuleGroups() const { return m_statefulRuleGroups; }
145 inline bool StatefulRuleGroupsHasBeenSet() const { return m_statefulRuleGroupsHasBeenSet; }
146 template <typename StatefulRuleGroupsT = Aws::Vector<StatefulRuleGroup>>
147 void SetStatefulRuleGroups(StatefulRuleGroupsT&& value) {
148 m_statefulRuleGroupsHasBeenSet = true;
149 m_statefulRuleGroups = std::forward<StatefulRuleGroupsT>(value);
150 }
151 template <typename StatefulRuleGroupsT = Aws::Vector<StatefulRuleGroup>>
153 SetStatefulRuleGroups(std::forward<StatefulRuleGroupsT>(value));
154 return *this;
155 }
156 template <typename StatefulRuleGroupsT = StatefulRuleGroup>
158 m_statefulRuleGroupsHasBeenSet = true;
159 m_statefulRuleGroups.emplace_back(std::forward<StatefulRuleGroupsT>(value));
160 return *this;
161 }
163
165
172 inline const Aws::Vector<Aws::String>& GetStatefulDefaultActions() const { return m_statefulDefaultActions; }
173 inline bool StatefulDefaultActionsHasBeenSet() const { return m_statefulDefaultActionsHasBeenSet; }
174 template <typename StatefulDefaultActionsT = Aws::Vector<Aws::String>>
175 void SetStatefulDefaultActions(StatefulDefaultActionsT&& value) {
176 m_statefulDefaultActionsHasBeenSet = true;
177 m_statefulDefaultActions = std::forward<StatefulDefaultActionsT>(value);
178 }
179 template <typename StatefulDefaultActionsT = Aws::Vector<Aws::String>>
181 SetStatefulDefaultActions(std::forward<StatefulDefaultActionsT>(value));
182 return *this;
183 }
184 template <typename StatefulDefaultActionsT = Aws::String>
186 m_statefulDefaultActionsHasBeenSet = true;
187 m_statefulDefaultActions.emplace_back(std::forward<StatefulDefaultActionsT>(value));
188 return *this;
189 }
191
193
198 inline const StatefulEngineOptions& GetStatefulEngineOptions() const { return m_statefulEngineOptions; }
199 inline bool StatefulEngineOptionsHasBeenSet() const { return m_statefulEngineOptionsHasBeenSet; }
200 template <typename StatefulEngineOptionsT = StatefulEngineOptions>
201 void SetStatefulEngineOptions(StatefulEngineOptionsT&& value) {
202 m_statefulEngineOptionsHasBeenSet = true;
203 m_statefulEngineOptions = std::forward<StatefulEngineOptionsT>(value);
204 }
205 template <typename StatefulEngineOptionsT = StatefulEngineOptions>
207 SetStatefulEngineOptions(std::forward<StatefulEngineOptionsT>(value));
208 return *this;
209 }
211 private:
212 Aws::Vector<StatelessRuleGroup> m_statelessRuleGroups;
213
214 Aws::Vector<Aws::String> m_statelessDefaultActions;
215
216 Aws::Vector<Aws::String> m_statelessFragmentDefaultActions;
217
218 Aws::Vector<Aws::String> m_statelessCustomActions;
219
220 Aws::Vector<StatefulRuleGroup> m_statefulRuleGroups;
221
222 Aws::Vector<Aws::String> m_statefulDefaultActions;
223
224 StatefulEngineOptions m_statefulEngineOptions;
225 bool m_statelessRuleGroupsHasBeenSet = false;
226 bool m_statelessDefaultActionsHasBeenSet = false;
227 bool m_statelessFragmentDefaultActionsHasBeenSet = false;
228 bool m_statelessCustomActionsHasBeenSet = false;
229 bool m_statefulRuleGroupsHasBeenSet = false;
230 bool m_statefulDefaultActionsHasBeenSet = false;
231 bool m_statefulEngineOptionsHasBeenSet = false;
232};
233
234} // namespace Model
235} // namespace FMS
236} // namespace Aws
const Aws::Vector< Aws::String > & GetStatelessDefaultActions() const
const Aws::Vector< Aws::String > & GetStatefulDefaultActions() const
NetworkFirewallPolicyDescription & WithStatelessDefaultActions(StatelessDefaultActionsT &&value)
NetworkFirewallPolicyDescription & AddStatelessDefaultActions(StatelessDefaultActionsT &&value)
AWS_FMS_API NetworkFirewallPolicyDescription(Aws::Utils::Json::JsonView jsonValue)
NetworkFirewallPolicyDescription & WithStatefulEngineOptions(StatefulEngineOptionsT &&value)
NetworkFirewallPolicyDescription & AddStatelessFragmentDefaultActions(StatelessFragmentDefaultActionsT &&value)
NetworkFirewallPolicyDescription & AddStatefulDefaultActions(StatefulDefaultActionsT &&value)
NetworkFirewallPolicyDescription & AddStatefulRuleGroups(StatefulRuleGroupsT &&value)
AWS_FMS_API NetworkFirewallPolicyDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< StatelessRuleGroup > & GetStatelessRuleGroups() const
NetworkFirewallPolicyDescription & WithStatefulRuleGroups(StatefulRuleGroupsT &&value)
void SetStatelessDefaultActions(StatelessDefaultActionsT &&value)
const Aws::Vector< Aws::String > & GetStatelessCustomActions() const
const Aws::Vector< Aws::String > & GetStatelessFragmentDefaultActions() const
NetworkFirewallPolicyDescription & WithStatelessCustomActions(StatelessCustomActionsT &&value)
NetworkFirewallPolicyDescription & WithStatelessFragmentDefaultActions(StatelessFragmentDefaultActionsT &&value)
void SetStatelessFragmentDefaultActions(StatelessFragmentDefaultActionsT &&value)
NetworkFirewallPolicyDescription & AddStatelessCustomActions(StatelessCustomActionsT &&value)
AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const
NetworkFirewallPolicyDescription & AddStatelessRuleGroups(StatelessRuleGroupsT &&value)
const Aws::Vector< StatefulRuleGroup > & GetStatefulRuleGroups() const
NetworkFirewallPolicyDescription & WithStatelessRuleGroups(StatelessRuleGroupsT &&value)
NetworkFirewallPolicyDescription & WithStatefulDefaultActions(StatefulDefaultActionsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue