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>
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>
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>
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>>
88 template<
typename IpRangesT = Aws::String>
89 AccessControlRule&
AddIpRanges(IpRangesT&& value) { m_ipRangesHasBeenSet =
true; m_ipRanges.emplace_back(std::forward<IpRangesT>(value));
return *
this; }
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>>
102 template<
typename NotIpRangesT = Aws::String>
103 AccessControlRule&
AddNotIpRanges(NotIpRangesT&& value) { m_notIpRangesHasBeenSet =
true; m_notIpRanges.emplace_back(std::forward<NotIpRangesT>(value));
return *
this; }
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>>
119 template<
typename ActionsT = Aws::String>
120 AccessControlRule&
AddActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions.emplace_back(std::forward<ActionsT>(value));
return *
this; }
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>>
136 template<
typename NotActionsT = Aws::String>
137 AccessControlRule&
AddNotActions(NotActionsT&& value) { m_notActionsHasBeenSet =
true; m_notActions.emplace_back(std::forward<NotActionsT>(value));
return *
this; }
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>>
150 template<
typename UserIdsT = Aws::String>
151 AccessControlRule&
AddUserIds(UserIdsT&& value) { m_userIdsHasBeenSet =
true; m_userIds.emplace_back(std::forward<UserIdsT>(value));
return *
this; }
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>>
164 template<
typename NotUserIdsT = Aws::String>
165 AccessControlRule&
AddNotUserIds(NotUserIdsT&& value) { m_notUserIdsHasBeenSet =
true; m_notUserIds.emplace_back(std::forward<NotUserIdsT>(value));
return *
this; }
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>
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>
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>>
202 template<
typename ImpersonationRoleIdsT = Aws::String>
203 AccessControlRule&
AddImpersonationRoleIds(ImpersonationRoleIdsT&& value) { m_impersonationRoleIdsHasBeenSet =
true; m_impersonationRoleIds.emplace_back(std::forward<ImpersonationRoleIdsT>(value));
return *
this; }
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>>
216 template<
typename NotImpersonationRoleIdsT = Aws::String>
217 AccessControlRule&
AddNotImpersonationRoleIds(NotImpersonationRoleIdsT&& value) { m_notImpersonationRoleIdsHasBeenSet =
true; m_notImpersonationRoleIds.emplace_back(std::forward<NotImpersonationRoleIdsT>(value));
return *
this; }
222 bool m_nameHasBeenSet =
false;
225 bool m_effectHasBeenSet =
false;
228 bool m_descriptionHasBeenSet =
false;
231 bool m_ipRangesHasBeenSet =
false;
234 bool m_notIpRangesHasBeenSet =
false;
237 bool m_actionsHasBeenSet =
false;
240 bool m_notActionsHasBeenSet =
false;
243 bool m_userIdsHasBeenSet =
false;
246 bool m_notUserIdsHasBeenSet =
false;
249 bool m_dateCreatedHasBeenSet =
false;
252 bool m_dateModifiedHasBeenSet =
false;
255 bool m_impersonationRoleIdsHasBeenSet =
false;
258 bool m_notImpersonationRoleIdsHasBeenSet =
false;
void SetDescription(DescriptionT &&value)
void SetNotActions(NotActionsT &&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)
bool ImpersonationRoleIdsHasBeenSet() const
AccessControlRule & WithDateCreated(DateCreatedT &&value)
AccessControlRule & AddNotIpRanges(NotIpRangesT &&value)
bool DateModifiedHasBeenSet() const
AccessControlRule & AddImpersonationRoleIds(ImpersonationRoleIdsT &&value)
AccessControlRule & WithActions(ActionsT &&value)
const Aws::String & GetDescription() const
bool ActionsHasBeenSet() const
bool UserIdsHasBeenSet() const
AccessControlRule & WithDescription(DescriptionT &&value)
bool NotIpRangesHasBeenSet() const
const Aws::Vector< Aws::String > & GetIpRanges() const
bool DescriptionHasBeenSet() 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)
const Aws::String & GetName() const
AccessControlRule & WithImpersonationRoleIds(ImpersonationRoleIdsT &&value)
bool NotActionsHasBeenSet() const
bool EffectHasBeenSet() const
AccessControlRule & WithIpRanges(IpRangesT &&value)
AccessControlRule & AddActions(ActionsT &&value)
AccessControlRuleEffect GetEffect() const
bool NotUserIdsHasBeenSet() const
AccessControlRule & AddNotUserIds(NotUserIdsT &&value)
bool NotImpersonationRoleIdsHasBeenSet() const
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)
void SetNotUserIds(NotUserIdsT &&value)
bool IpRangesHasBeenSet() const
const Aws::Vector< Aws::String > & GetActions() const
AccessControlRule & WithNotActions(NotActionsT &&value)
AWS_WORKMAIL_API AccessControlRule()=default
void SetIpRanges(IpRangesT &&value)
AccessControlRule & WithDateModified(DateModifiedT &&value)
const Aws::Utils::DateTime & GetDateModified() const
AccessControlRule & AddNotImpersonationRoleIds(NotImpersonationRoleIdsT &&value)
bool DateCreatedHasBeenSet() const
bool NameHasBeenSet() const
void SetNotIpRanges(NotIpRangesT &&value)
void SetName(NameT &&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)
void SetActions(ActionsT &&value)
const Aws::Vector< Aws::String > & GetImpersonationRoleIds() const
void SetUserIds(UserIdsT &&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