AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AccessControlRule.h
1
6#pragma once
7#include <aws/workmail/WorkMail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/workmail/model/AccessControlRuleEffect.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/DateTime.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 WorkMail
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_WORKMAIL_API AccessControlRule() = default;
39 AWS_WORKMAIL_API AccessControlRule(Aws::Utils::Json::JsonView jsonValue);
41 AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetName() const { return m_name; }
49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
50 template<typename NameT = Aws::String>
51 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
52 template<typename NameT = Aws::String>
53 AccessControlRule& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
55
57
60 inline AccessControlRuleEffect GetEffect() const { return m_effect; }
61 inline bool EffectHasBeenSet() const { return m_effectHasBeenSet; }
62 inline void SetEffect(AccessControlRuleEffect value) { m_effectHasBeenSet = true; m_effect = value; }
63 inline AccessControlRule& WithEffect(AccessControlRuleEffect value) { SetEffect(value); return *this;}
65
67
70 inline const Aws::String& GetDescription() const { return m_description; }
71 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
72 template<typename DescriptionT = Aws::String>
73 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
74 template<typename DescriptionT = Aws::String>
75 AccessControlRule& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
77
79
82 inline const Aws::Vector<Aws::String>& GetIpRanges() const { return m_ipRanges; }
83 inline bool IpRangesHasBeenSet() const { return m_ipRangesHasBeenSet; }
84 template<typename IpRangesT = Aws::Vector<Aws::String>>
85 void SetIpRanges(IpRangesT&& value) { m_ipRangesHasBeenSet = true; m_ipRanges = std::forward<IpRangesT>(value); }
86 template<typename IpRangesT = Aws::Vector<Aws::String>>
87 AccessControlRule& WithIpRanges(IpRangesT&& value) { SetIpRanges(std::forward<IpRangesT>(value)); return *this;}
88 template<typename IpRangesT = Aws::String>
89 AccessControlRule& AddIpRanges(IpRangesT&& value) { m_ipRangesHasBeenSet = true; m_ipRanges.emplace_back(std::forward<IpRangesT>(value)); return *this; }
91
93
96 inline const Aws::Vector<Aws::String>& GetNotIpRanges() const { return m_notIpRanges; }
97 inline bool NotIpRangesHasBeenSet() const { return m_notIpRangesHasBeenSet; }
98 template<typename NotIpRangesT = Aws::Vector<Aws::String>>
99 void SetNotIpRanges(NotIpRangesT&& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges = std::forward<NotIpRangesT>(value); }
100 template<typename NotIpRangesT = Aws::Vector<Aws::String>>
101 AccessControlRule& WithNotIpRanges(NotIpRangesT&& value) { SetNotIpRanges(std::forward<NotIpRangesT>(value)); return *this;}
102 template<typename NotIpRangesT = Aws::String>
103 AccessControlRule& AddNotIpRanges(NotIpRangesT&& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges.emplace_back(std::forward<NotIpRangesT>(value)); return *this; }
105
107
113 inline const Aws::Vector<Aws::String>& GetActions() const { return m_actions; }
114 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
115 template<typename ActionsT = Aws::Vector<Aws::String>>
116 void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward<ActionsT>(value); }
117 template<typename ActionsT = Aws::Vector<Aws::String>>
118 AccessControlRule& WithActions(ActionsT&& value) { SetActions(std::forward<ActionsT>(value)); return *this;}
119 template<typename ActionsT = Aws::String>
120 AccessControlRule& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward<ActionsT>(value)); return *this; }
122
124
130 inline const Aws::Vector<Aws::String>& GetNotActions() const { return m_notActions; }
131 inline bool NotActionsHasBeenSet() const { return m_notActionsHasBeenSet; }
132 template<typename NotActionsT = Aws::Vector<Aws::String>>
133 void SetNotActions(NotActionsT&& value) { m_notActionsHasBeenSet = true; m_notActions = std::forward<NotActionsT>(value); }
134 template<typename NotActionsT = Aws::Vector<Aws::String>>
135 AccessControlRule& WithNotActions(NotActionsT&& value) { SetNotActions(std::forward<NotActionsT>(value)); return *this;}
136 template<typename NotActionsT = Aws::String>
137 AccessControlRule& AddNotActions(NotActionsT&& value) { m_notActionsHasBeenSet = true; m_notActions.emplace_back(std::forward<NotActionsT>(value)); return *this; }
139
141
144 inline const Aws::Vector<Aws::String>& GetUserIds() const { return m_userIds; }
145 inline bool UserIdsHasBeenSet() const { return m_userIdsHasBeenSet; }
146 template<typename UserIdsT = Aws::Vector<Aws::String>>
147 void SetUserIds(UserIdsT&& value) { m_userIdsHasBeenSet = true; m_userIds = std::forward<UserIdsT>(value); }
148 template<typename UserIdsT = Aws::Vector<Aws::String>>
149 AccessControlRule& WithUserIds(UserIdsT&& value) { SetUserIds(std::forward<UserIdsT>(value)); return *this;}
150 template<typename UserIdsT = Aws::String>
151 AccessControlRule& AddUserIds(UserIdsT&& value) { m_userIdsHasBeenSet = true; m_userIds.emplace_back(std::forward<UserIdsT>(value)); return *this; }
153
155
158 inline const Aws::Vector<Aws::String>& GetNotUserIds() const { return m_notUserIds; }
159 inline bool NotUserIdsHasBeenSet() const { return m_notUserIdsHasBeenSet; }
160 template<typename NotUserIdsT = Aws::Vector<Aws::String>>
161 void SetNotUserIds(NotUserIdsT&& value) { m_notUserIdsHasBeenSet = true; m_notUserIds = std::forward<NotUserIdsT>(value); }
162 template<typename NotUserIdsT = Aws::Vector<Aws::String>>
163 AccessControlRule& WithNotUserIds(NotUserIdsT&& value) { SetNotUserIds(std::forward<NotUserIdsT>(value)); return *this;}
164 template<typename NotUserIdsT = Aws::String>
165 AccessControlRule& AddNotUserIds(NotUserIdsT&& value) { m_notUserIdsHasBeenSet = true; m_notUserIds.emplace_back(std::forward<NotUserIdsT>(value)); return *this; }
167
169
172 inline const Aws::Utils::DateTime& GetDateCreated() const { return m_dateCreated; }
173 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
174 template<typename DateCreatedT = Aws::Utils::DateTime>
175 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::forward<DateCreatedT>(value); }
176 template<typename DateCreatedT = Aws::Utils::DateTime>
177 AccessControlRule& WithDateCreated(DateCreatedT&& value) { SetDateCreated(std::forward<DateCreatedT>(value)); return *this;}
179
181
184 inline const Aws::Utils::DateTime& GetDateModified() const { return m_dateModified; }
185 inline bool DateModifiedHasBeenSet() const { return m_dateModifiedHasBeenSet; }
186 template<typename DateModifiedT = Aws::Utils::DateTime>
187 void SetDateModified(DateModifiedT&& value) { m_dateModifiedHasBeenSet = true; m_dateModified = std::forward<DateModifiedT>(value); }
188 template<typename DateModifiedT = Aws::Utils::DateTime>
189 AccessControlRule& WithDateModified(DateModifiedT&& value) { SetDateModified(std::forward<DateModifiedT>(value)); return *this;}
191
193
196 inline const Aws::Vector<Aws::String>& GetImpersonationRoleIds() const { return m_impersonationRoleIds; }
197 inline bool ImpersonationRoleIdsHasBeenSet() const { return m_impersonationRoleIdsHasBeenSet; }
198 template<typename ImpersonationRoleIdsT = Aws::Vector<Aws::String>>
199 void SetImpersonationRoleIds(ImpersonationRoleIdsT&& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds = std::forward<ImpersonationRoleIdsT>(value); }
200 template<typename ImpersonationRoleIdsT = Aws::Vector<Aws::String>>
201 AccessControlRule& WithImpersonationRoleIds(ImpersonationRoleIdsT&& value) { SetImpersonationRoleIds(std::forward<ImpersonationRoleIdsT>(value)); return *this;}
202 template<typename ImpersonationRoleIdsT = Aws::String>
203 AccessControlRule& AddImpersonationRoleIds(ImpersonationRoleIdsT&& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds.emplace_back(std::forward<ImpersonationRoleIdsT>(value)); return *this; }
205
207
210 inline const Aws::Vector<Aws::String>& GetNotImpersonationRoleIds() const { return m_notImpersonationRoleIds; }
211 inline bool NotImpersonationRoleIdsHasBeenSet() const { return m_notImpersonationRoleIdsHasBeenSet; }
212 template<typename NotImpersonationRoleIdsT = Aws::Vector<Aws::String>>
213 void SetNotImpersonationRoleIds(NotImpersonationRoleIdsT&& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds = std::forward<NotImpersonationRoleIdsT>(value); }
214 template<typename NotImpersonationRoleIdsT = Aws::Vector<Aws::String>>
215 AccessControlRule& WithNotImpersonationRoleIds(NotImpersonationRoleIdsT&& value) { SetNotImpersonationRoleIds(std::forward<NotImpersonationRoleIdsT>(value)); return *this;}
216 template<typename NotImpersonationRoleIdsT = Aws::String>
217 AccessControlRule& AddNotImpersonationRoleIds(NotImpersonationRoleIdsT&& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds.emplace_back(std::forward<NotImpersonationRoleIdsT>(value)); return *this; }
219 private:
220
221 Aws::String m_name;
222 bool m_nameHasBeenSet = false;
223
225 bool m_effectHasBeenSet = false;
226
227 Aws::String m_description;
228 bool m_descriptionHasBeenSet = false;
229
230 Aws::Vector<Aws::String> m_ipRanges;
231 bool m_ipRangesHasBeenSet = false;
232
233 Aws::Vector<Aws::String> m_notIpRanges;
234 bool m_notIpRangesHasBeenSet = false;
235
236 Aws::Vector<Aws::String> m_actions;
237 bool m_actionsHasBeenSet = false;
238
239 Aws::Vector<Aws::String> m_notActions;
240 bool m_notActionsHasBeenSet = false;
241
242 Aws::Vector<Aws::String> m_userIds;
243 bool m_userIdsHasBeenSet = false;
244
245 Aws::Vector<Aws::String> m_notUserIds;
246 bool m_notUserIdsHasBeenSet = false;
247
248 Aws::Utils::DateTime m_dateCreated{};
249 bool m_dateCreatedHasBeenSet = false;
250
251 Aws::Utils::DateTime m_dateModified{};
252 bool m_dateModifiedHasBeenSet = false;
253
254 Aws::Vector<Aws::String> m_impersonationRoleIds;
255 bool m_impersonationRoleIdsHasBeenSet = false;
256
257 Aws::Vector<Aws::String> m_notImpersonationRoleIds;
258 bool m_notImpersonationRoleIdsHasBeenSet = false;
259 };
260
261} // namespace Model
262} // namespace WorkMail
263} // namespace Aws
void SetDescription(DescriptionT &&value)
AccessControlRule & AddUserIds(UserIdsT &&value)
AccessControlRule & WithName(NameT &&value)
AccessControlRule & AddNotActions(NotActionsT &&value)
const Aws::Vector< Aws::String > & GetNotImpersonationRoleIds() const
const Aws::Vector< Aws::String > & GetUserIds() const
void SetDateModified(DateModifiedT &&value)
void SetDateCreated(DateCreatedT &&value)
AccessControlRule & WithDateCreated(DateCreatedT &&value)
AccessControlRule & AddNotIpRanges(NotIpRangesT &&value)
AccessControlRule & AddImpersonationRoleIds(ImpersonationRoleIdsT &&value)
AccessControlRule & WithActions(ActionsT &&value)
const Aws::String & GetDescription() const
AccessControlRule & WithDescription(DescriptionT &&value)
const Aws::Vector< Aws::String > & GetIpRanges() const
const Aws::Utils::DateTime & GetDateCreated() const
void SetNotImpersonationRoleIds(NotImpersonationRoleIdsT &&value)
AccessControlRule & WithNotImpersonationRoleIds(NotImpersonationRoleIdsT &&value)
void SetImpersonationRoleIds(ImpersonationRoleIdsT &&value)
AWS_WORKMAIL_API AccessControlRule & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetEffect(AccessControlRuleEffect value)
AccessControlRule & WithImpersonationRoleIds(ImpersonationRoleIdsT &&value)
AccessControlRule & WithIpRanges(IpRangesT &&value)
AccessControlRule & AddActions(ActionsT &&value)
AccessControlRuleEffect GetEffect() const
AccessControlRule & AddNotUserIds(NotUserIdsT &&value)
AccessControlRule & AddIpRanges(IpRangesT &&value)
AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const
AccessControlRule & WithNotIpRanges(NotIpRangesT &&value)
const Aws::Vector< Aws::String > & GetNotActions() const
AccessControlRule & WithNotUserIds(NotUserIdsT &&value)
const Aws::Vector< Aws::String > & GetActions() const
AccessControlRule & WithNotActions(NotActionsT &&value)
AWS_WORKMAIL_API AccessControlRule()=default
AccessControlRule & WithDateModified(DateModifiedT &&value)
const Aws::Utils::DateTime & GetDateModified() const
AccessControlRule & AddNotImpersonationRoleIds(NotImpersonationRoleIdsT &&value)
void SetNotIpRanges(NotIpRangesT &&value)
const Aws::Vector< Aws::String > & GetNotUserIds() const
AWS_WORKMAIL_API AccessControlRule(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetNotIpRanges() const
AccessControlRule & WithEffect(AccessControlRuleEffect value)
AccessControlRule & WithUserIds(UserIdsT &&value)
const Aws::Vector< Aws::String > & GetImpersonationRoleIds() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue