AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
51 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
52 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
53 inline AccessControlRule& WithName(const Aws::String& value) { SetName(value); return *this;}
54 inline AccessControlRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
55 inline AccessControlRule& WithName(const char* value) { SetName(value); return *this;}
57
59
62 inline const AccessControlRuleEffect& GetEffect() const{ return m_effect; }
63 inline bool EffectHasBeenSet() const { return m_effectHasBeenSet; }
64 inline void SetEffect(const AccessControlRuleEffect& value) { m_effectHasBeenSet = true; m_effect = value; }
65 inline void SetEffect(AccessControlRuleEffect&& value) { m_effectHasBeenSet = true; m_effect = std::move(value); }
66 inline AccessControlRule& WithEffect(const AccessControlRuleEffect& value) { SetEffect(value); return *this;}
67 inline AccessControlRule& WithEffect(AccessControlRuleEffect&& value) { SetEffect(std::move(value)); return *this;}
69
71
74 inline const Aws::String& GetDescription() const{ return m_description; }
75 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
76 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
77 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
78 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
79 inline AccessControlRule& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
80 inline AccessControlRule& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
81 inline AccessControlRule& WithDescription(const char* value) { SetDescription(value); return *this;}
83
85
88 inline const Aws::Vector<Aws::String>& GetIpRanges() const{ return m_ipRanges; }
89 inline bool IpRangesHasBeenSet() const { return m_ipRangesHasBeenSet; }
90 inline void SetIpRanges(const Aws::Vector<Aws::String>& value) { m_ipRangesHasBeenSet = true; m_ipRanges = value; }
91 inline void SetIpRanges(Aws::Vector<Aws::String>&& value) { m_ipRangesHasBeenSet = true; m_ipRanges = std::move(value); }
92 inline AccessControlRule& WithIpRanges(const Aws::Vector<Aws::String>& value) { SetIpRanges(value); return *this;}
93 inline AccessControlRule& WithIpRanges(Aws::Vector<Aws::String>&& value) { SetIpRanges(std::move(value)); return *this;}
94 inline AccessControlRule& AddIpRanges(const Aws::String& value) { m_ipRangesHasBeenSet = true; m_ipRanges.push_back(value); return *this; }
95 inline AccessControlRule& AddIpRanges(Aws::String&& value) { m_ipRangesHasBeenSet = true; m_ipRanges.push_back(std::move(value)); return *this; }
96 inline AccessControlRule& AddIpRanges(const char* value) { m_ipRangesHasBeenSet = true; m_ipRanges.push_back(value); return *this; }
98
100
103 inline const Aws::Vector<Aws::String>& GetNotIpRanges() const{ return m_notIpRanges; }
104 inline bool NotIpRangesHasBeenSet() const { return m_notIpRangesHasBeenSet; }
105 inline void SetNotIpRanges(const Aws::Vector<Aws::String>& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges = value; }
106 inline void SetNotIpRanges(Aws::Vector<Aws::String>&& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges = std::move(value); }
107 inline AccessControlRule& WithNotIpRanges(const Aws::Vector<Aws::String>& value) { SetNotIpRanges(value); return *this;}
108 inline AccessControlRule& WithNotIpRanges(Aws::Vector<Aws::String>&& value) { SetNotIpRanges(std::move(value)); return *this;}
109 inline AccessControlRule& AddNotIpRanges(const Aws::String& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges.push_back(value); return *this; }
110 inline AccessControlRule& AddNotIpRanges(Aws::String&& value) { m_notIpRangesHasBeenSet = true; m_notIpRanges.push_back(std::move(value)); return *this; }
111 inline AccessControlRule& AddNotIpRanges(const char* value) { m_notIpRangesHasBeenSet = true; m_notIpRanges.push_back(value); return *this; }
113
115
121 inline const Aws::Vector<Aws::String>& GetActions() const{ return m_actions; }
122 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
123 inline void SetActions(const Aws::Vector<Aws::String>& value) { m_actionsHasBeenSet = true; m_actions = value; }
124 inline void SetActions(Aws::Vector<Aws::String>&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); }
125 inline AccessControlRule& WithActions(const Aws::Vector<Aws::String>& value) { SetActions(value); return *this;}
126 inline AccessControlRule& WithActions(Aws::Vector<Aws::String>&& value) { SetActions(std::move(value)); return *this;}
127 inline AccessControlRule& AddActions(const Aws::String& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; }
128 inline AccessControlRule& AddActions(Aws::String&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; }
129 inline AccessControlRule& AddActions(const char* value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; }
131
133
139 inline const Aws::Vector<Aws::String>& GetNotActions() const{ return m_notActions; }
140 inline bool NotActionsHasBeenSet() const { return m_notActionsHasBeenSet; }
141 inline void SetNotActions(const Aws::Vector<Aws::String>& value) { m_notActionsHasBeenSet = true; m_notActions = value; }
142 inline void SetNotActions(Aws::Vector<Aws::String>&& value) { m_notActionsHasBeenSet = true; m_notActions = std::move(value); }
143 inline AccessControlRule& WithNotActions(const Aws::Vector<Aws::String>& value) { SetNotActions(value); return *this;}
144 inline AccessControlRule& WithNotActions(Aws::Vector<Aws::String>&& value) { SetNotActions(std::move(value)); return *this;}
145 inline AccessControlRule& AddNotActions(const Aws::String& value) { m_notActionsHasBeenSet = true; m_notActions.push_back(value); return *this; }
146 inline AccessControlRule& AddNotActions(Aws::String&& value) { m_notActionsHasBeenSet = true; m_notActions.push_back(std::move(value)); return *this; }
147 inline AccessControlRule& AddNotActions(const char* value) { m_notActionsHasBeenSet = true; m_notActions.push_back(value); return *this; }
149
151
154 inline const Aws::Vector<Aws::String>& GetUserIds() const{ return m_userIds; }
155 inline bool UserIdsHasBeenSet() const { return m_userIdsHasBeenSet; }
156 inline void SetUserIds(const Aws::Vector<Aws::String>& value) { m_userIdsHasBeenSet = true; m_userIds = value; }
157 inline void SetUserIds(Aws::Vector<Aws::String>&& value) { m_userIdsHasBeenSet = true; m_userIds = std::move(value); }
158 inline AccessControlRule& WithUserIds(const Aws::Vector<Aws::String>& value) { SetUserIds(value); return *this;}
159 inline AccessControlRule& WithUserIds(Aws::Vector<Aws::String>&& value) { SetUserIds(std::move(value)); return *this;}
160 inline AccessControlRule& AddUserIds(const Aws::String& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; }
161 inline AccessControlRule& AddUserIds(Aws::String&& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(std::move(value)); return *this; }
162 inline AccessControlRule& AddUserIds(const char* value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; }
164
166
169 inline const Aws::Vector<Aws::String>& GetNotUserIds() const{ return m_notUserIds; }
170 inline bool NotUserIdsHasBeenSet() const { return m_notUserIdsHasBeenSet; }
171 inline void SetNotUserIds(const Aws::Vector<Aws::String>& value) { m_notUserIdsHasBeenSet = true; m_notUserIds = value; }
172 inline void SetNotUserIds(Aws::Vector<Aws::String>&& value) { m_notUserIdsHasBeenSet = true; m_notUserIds = std::move(value); }
173 inline AccessControlRule& WithNotUserIds(const Aws::Vector<Aws::String>& value) { SetNotUserIds(value); return *this;}
174 inline AccessControlRule& WithNotUserIds(Aws::Vector<Aws::String>&& value) { SetNotUserIds(std::move(value)); return *this;}
175 inline AccessControlRule& AddNotUserIds(const Aws::String& value) { m_notUserIdsHasBeenSet = true; m_notUserIds.push_back(value); return *this; }
176 inline AccessControlRule& AddNotUserIds(Aws::String&& value) { m_notUserIdsHasBeenSet = true; m_notUserIds.push_back(std::move(value)); return *this; }
177 inline AccessControlRule& AddNotUserIds(const char* value) { m_notUserIdsHasBeenSet = true; m_notUserIds.push_back(value); return *this; }
179
181
184 inline const Aws::Utils::DateTime& GetDateCreated() const{ return m_dateCreated; }
185 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
186 inline void SetDateCreated(const Aws::Utils::DateTime& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = value; }
187 inline void SetDateCreated(Aws::Utils::DateTime&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::move(value); }
188 inline AccessControlRule& WithDateCreated(const Aws::Utils::DateTime& value) { SetDateCreated(value); return *this;}
189 inline AccessControlRule& WithDateCreated(Aws::Utils::DateTime&& value) { SetDateCreated(std::move(value)); return *this;}
191
193
196 inline const Aws::Utils::DateTime& GetDateModified() const{ return m_dateModified; }
197 inline bool DateModifiedHasBeenSet() const { return m_dateModifiedHasBeenSet; }
198 inline void SetDateModified(const Aws::Utils::DateTime& value) { m_dateModifiedHasBeenSet = true; m_dateModified = value; }
199 inline void SetDateModified(Aws::Utils::DateTime&& value) { m_dateModifiedHasBeenSet = true; m_dateModified = std::move(value); }
200 inline AccessControlRule& WithDateModified(const Aws::Utils::DateTime& value) { SetDateModified(value); return *this;}
201 inline AccessControlRule& WithDateModified(Aws::Utils::DateTime&& value) { SetDateModified(std::move(value)); return *this;}
203
205
208 inline const Aws::Vector<Aws::String>& GetImpersonationRoleIds() const{ return m_impersonationRoleIds; }
209 inline bool ImpersonationRoleIdsHasBeenSet() const { return m_impersonationRoleIdsHasBeenSet; }
210 inline void SetImpersonationRoleIds(const Aws::Vector<Aws::String>& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds = value; }
211 inline void SetImpersonationRoleIds(Aws::Vector<Aws::String>&& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds = std::move(value); }
214 inline AccessControlRule& AddImpersonationRoleIds(const Aws::String& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds.push_back(value); return *this; }
215 inline AccessControlRule& AddImpersonationRoleIds(Aws::String&& value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds.push_back(std::move(value)); return *this; }
216 inline AccessControlRule& AddImpersonationRoleIds(const char* value) { m_impersonationRoleIdsHasBeenSet = true; m_impersonationRoleIds.push_back(value); return *this; }
218
220
223 inline const Aws::Vector<Aws::String>& GetNotImpersonationRoleIds() const{ return m_notImpersonationRoleIds; }
224 inline bool NotImpersonationRoleIdsHasBeenSet() const { return m_notImpersonationRoleIdsHasBeenSet; }
225 inline void SetNotImpersonationRoleIds(const Aws::Vector<Aws::String>& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds = value; }
226 inline void SetNotImpersonationRoleIds(Aws::Vector<Aws::String>&& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds = std::move(value); }
229 inline AccessControlRule& AddNotImpersonationRoleIds(const Aws::String& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds.push_back(value); return *this; }
230 inline AccessControlRule& AddNotImpersonationRoleIds(Aws::String&& value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds.push_back(std::move(value)); return *this; }
231 inline AccessControlRule& AddNotImpersonationRoleIds(const char* value) { m_notImpersonationRoleIdsHasBeenSet = true; m_notImpersonationRoleIds.push_back(value); return *this; }
233 private:
234
235 Aws::String m_name;
236 bool m_nameHasBeenSet = false;
237
239 bool m_effectHasBeenSet = false;
240
241 Aws::String m_description;
242 bool m_descriptionHasBeenSet = false;
243
244 Aws::Vector<Aws::String> m_ipRanges;
245 bool m_ipRangesHasBeenSet = false;
246
247 Aws::Vector<Aws::String> m_notIpRanges;
248 bool m_notIpRangesHasBeenSet = false;
249
250 Aws::Vector<Aws::String> m_actions;
251 bool m_actionsHasBeenSet = false;
252
253 Aws::Vector<Aws::String> m_notActions;
254 bool m_notActionsHasBeenSet = false;
255
256 Aws::Vector<Aws::String> m_userIds;
257 bool m_userIdsHasBeenSet = false;
258
259 Aws::Vector<Aws::String> m_notUserIds;
260 bool m_notUserIdsHasBeenSet = false;
261
262 Aws::Utils::DateTime m_dateCreated;
263 bool m_dateCreatedHasBeenSet = false;
264
265 Aws::Utils::DateTime m_dateModified;
266 bool m_dateModifiedHasBeenSet = false;
267
268 Aws::Vector<Aws::String> m_impersonationRoleIds;
269 bool m_impersonationRoleIdsHasBeenSet = false;
270
271 Aws::Vector<Aws::String> m_notImpersonationRoleIds;
272 bool m_notImpersonationRoleIdsHasBeenSet = false;
273 };
274
275} // namespace Model
276} // namespace WorkMail
277} // namespace Aws
AccessControlRule & WithNotUserIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & AddImpersonationRoleIds(Aws::String &&value)
void SetDateCreated(const Aws::Utils::DateTime &value)
AccessControlRule & AddIpRanges(const char *value)
AccessControlRule & WithNotImpersonationRoleIds(Aws::Vector< Aws::String > &&value)
AccessControlRule & WithNotImpersonationRoleIds(const Aws::Vector< Aws::String > &value)
void SetImpersonationRoleIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithIpRanges(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithName(Aws::String &&value)
const Aws::Vector< Aws::String > & GetNotImpersonationRoleIds() const
const Aws::Vector< Aws::String > & GetUserIds() const
AccessControlRule & AddIpRanges(const Aws::String &value)
AccessControlRule & WithNotIpRanges(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithUserIds(const Aws::Vector< Aws::String > &value)
void SetNotImpersonationRoleIds(Aws::Vector< Aws::String > &&value)
const Aws::String & GetDescription() const
AccessControlRule & AddNotActions(const char *value)
AccessControlRule & AddNotIpRanges(Aws::String &&value)
void SetName(const Aws::String &value)
AccessControlRule & WithNotIpRanges(Aws::Vector< Aws::String > &&value)
void SetNotActions(Aws::Vector< Aws::String > &&value)
AccessControlRule & WithName(const char *value)
const Aws::Vector< Aws::String > & GetIpRanges() const
const Aws::Utils::DateTime & GetDateCreated() const
void SetDateCreated(Aws::Utils::DateTime &&value)
AccessControlRule & WithImpersonationRoleIds(Aws::Vector< Aws::String > &&value)
AccessControlRule & AddActions(const char *value)
void SetEffect(const AccessControlRuleEffect &value)
void SetNotUserIds(Aws::Vector< Aws::String > &&value)
AWS_WORKMAIL_API AccessControlRule & operator=(Aws::Utils::Json::JsonView jsonValue)
AccessControlRule & WithDateModified(Aws::Utils::DateTime &&value)
void SetNotIpRanges(Aws::Vector< Aws::String > &&value)
void SetDateModified(Aws::Utils::DateTime &&value)
AccessControlRule & WithIpRanges(Aws::Vector< Aws::String > &&value)
void SetUserIds(Aws::Vector< Aws::String > &&value)
void SetNotImpersonationRoleIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithDescription(Aws::String &&value)
AccessControlRule & WithEffect(const AccessControlRuleEffect &value)
void SetDateModified(const Aws::Utils::DateTime &value)
AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Aws::String > & GetNotActions() const
void SetEffect(AccessControlRuleEffect &&value)
void SetUserIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithActions(const Aws::Vector< Aws::String > &value)
AccessControlRule & AddNotUserIds(Aws::String &&value)
const Aws::Vector< Aws::String > & GetActions() const
void SetIpRanges(Aws::Vector< Aws::String > &&value)
AccessControlRule & AddNotImpersonationRoleIds(const Aws::String &value)
void SetImpersonationRoleIds(Aws::Vector< Aws::String > &&value)
AccessControlRule & AddNotUserIds(const Aws::String &value)
AccessControlRule & AddUserIds(Aws::String &&value)
const AccessControlRuleEffect & GetEffect() const
AccessControlRule & AddActions(Aws::String &&value)
void SetIpRanges(const Aws::Vector< Aws::String > &value)
AccessControlRule & AddNotIpRanges(const char *value)
void SetNotUserIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithDateCreated(Aws::Utils::DateTime &&value)
const Aws::Utils::DateTime & GetDateModified() const
AccessControlRule & WithDateCreated(const Aws::Utils::DateTime &value)
AccessControlRule & AddNotIpRanges(const Aws::String &value)
AccessControlRule & WithNotUserIds(Aws::Vector< Aws::String > &&value)
AccessControlRule & AddImpersonationRoleIds(const char *value)
AccessControlRule & AddNotImpersonationRoleIds(Aws::String &&value)
AccessControlRule & WithDescription(const char *value)
const Aws::Vector< Aws::String > & GetNotUserIds() const
AccessControlRule & WithActions(Aws::Vector< Aws::String > &&value)
AWS_WORKMAIL_API AccessControlRule(Aws::Utils::Json::JsonView jsonValue)
AccessControlRule & WithDateModified(const Aws::Utils::DateTime &value)
AccessControlRule & AddNotUserIds(const char *value)
const Aws::Vector< Aws::String > & GetNotIpRanges() const
AccessControlRule & WithEffect(AccessControlRuleEffect &&value)
AccessControlRule & AddNotActions(const Aws::String &value)
AccessControlRule & WithNotActions(const Aws::Vector< Aws::String > &value)
void SetDescription(const Aws::String &value)
AccessControlRule & AddActions(const Aws::String &value)
void SetActions(const Aws::Vector< Aws::String > &value)
const Aws::Vector< Aws::String > & GetImpersonationRoleIds() const
AccessControlRule & WithName(const Aws::String &value)
AccessControlRule & AddImpersonationRoleIds(const Aws::String &value)
void SetActions(Aws::Vector< Aws::String > &&value)
AccessControlRule & WithImpersonationRoleIds(const Aws::Vector< Aws::String > &value)
AccessControlRule & AddUserIds(const char *value)
AccessControlRule & WithUserIds(Aws::Vector< Aws::String > &&value)
AccessControlRule & AddNotImpersonationRoleIds(const char *value)
AccessControlRule & AddNotActions(Aws::String &&value)
void SetNotIpRanges(const Aws::Vector< Aws::String > &value)
AccessControlRule & AddUserIds(const Aws::String &value)
AccessControlRule & AddIpRanges(Aws::String &&value)
void SetNotActions(const Aws::Vector< Aws::String > &value)
AccessControlRule & WithDescription(const Aws::String &value)
AccessControlRule & WithNotActions(Aws::Vector< Aws::String > &&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