7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/accessanalyzer/model/InternalAccessType.h>
12#include <aws/accessanalyzer/model/PrincipalType.h>
13#include <aws/accessanalyzer/model/ResourceControlPolicyRestriction.h>
14#include <aws/accessanalyzer/model/ServiceControlPolicyRestriction.h>
15#include <aws/accessanalyzer/model/FindingSource.h>
28namespace AccessAnalyzer
56 template<
typename ActionT = Aws::Vector<Aws::String>>
57 void SetAction(ActionT&& value) { m_actionHasBeenSet =
true; m_action = std::forward<ActionT>(value); }
58 template<
typename ActionT = Aws::Vector<Aws::String>>
60 template<
typename ActionT = Aws::String>
71 template<
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
72 void SetCondition(ConditionT&& value) { m_conditionHasBeenSet =
true; m_condition = std::forward<ConditionT>(value); }
73 template<
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
75 template<
typename ConditionKeyT = Aws::String,
typename ConditionValueT = Aws::String>
77 m_conditionHasBeenSet =
true; m_condition.emplace(std::forward<ConditionKeyT>(key), std::forward<ConditionValueT>(value));
return *
this;
88 template<
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
89 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet =
true; m_principal = std::forward<PrincipalT>(value); }
90 template<
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
92 template<
typename PrincipalKeyT = Aws::String,
typename PrincipalValueT = Aws::String>
94 m_principalHasBeenSet =
true; m_principal.emplace(std::forward<PrincipalKeyT>(key), std::forward<PrincipalValueT>(value));
return *
this;
105 template<
typename PrincipalOwnerAccountT = Aws::String>
106 void SetPrincipalOwnerAccount(PrincipalOwnerAccountT&& value) { m_principalOwnerAccountHasBeenSet =
true; m_principalOwnerAccount = std::forward<PrincipalOwnerAccountT>(value); }
107 template<
typename PrincipalOwnerAccountT = Aws::String>
141 template<
typename SourcesT = Aws::Vector<FindingSource>>
142 void SetSources(SourcesT&& value) { m_sourcesHasBeenSet =
true; m_sources = std::forward<SourcesT>(value); }
143 template<
typename SourcesT = Aws::Vector<FindingSource>>
145 template<
typename SourcesT = FindingSource>
201 bool m_actionHasBeenSet =
false;
204 bool m_conditionHasBeenSet =
false;
207 bool m_principalHasBeenSet =
false;
210 bool m_principalOwnerAccountHasBeenSet =
false;
213 bool m_accessTypeHasBeenSet =
false;
216 bool m_principalTypeHasBeenSet =
false;
219 bool m_sourcesHasBeenSet =
false;
222 bool m_resourceControlPolicyRestrictionHasBeenSet =
false;
225 bool m_serviceControlPolicyRestrictionHasBeenSet =
false;
void SetPrincipal(PrincipalT &&value)
AWS_ACCESSANALYZER_API InternalAccessDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPrincipalOwnerAccount(PrincipalOwnerAccountT &&value)
void SetServiceControlPolicyRestriction(ServiceControlPolicyRestriction value)
bool ServiceControlPolicyRestrictionHasBeenSet() const
bool AccessTypeHasBeenSet() const
AWS_ACCESSANALYZER_API InternalAccessDetails(Aws::Utils::Json::JsonView jsonValue)
bool ConditionHasBeenSet() const
InternalAccessType GetAccessType() const
bool ActionHasBeenSet() const
InternalAccessDetails & WithPrincipal(PrincipalT &&value)
void SetResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
InternalAccessDetails & WithServiceControlPolicyRestriction(ServiceControlPolicyRestriction value)
InternalAccessDetails & WithAccessType(InternalAccessType value)
bool ResourceControlPolicyRestrictionHasBeenSet() const
InternalAccessDetails & WithPrincipalType(PrincipalType value)
bool PrincipalHasBeenSet() const
PrincipalType GetPrincipalType() const
bool SourcesHasBeenSet() const
InternalAccessDetails & WithSources(SourcesT &&value)
InternalAccessDetails & AddAction(ActionT &&value)
ServiceControlPolicyRestriction GetServiceControlPolicyRestriction() const
InternalAccessDetails & AddCondition(ConditionKeyT &&key, ConditionValueT &&value)
InternalAccessDetails & WithCondition(ConditionT &&value)
void SetPrincipalType(PrincipalType value)
const Aws::String & GetPrincipalOwnerAccount() const
AWS_ACCESSANALYZER_API InternalAccessDetails()=default
InternalAccessDetails & AddPrincipal(PrincipalKeyT &&key, PrincipalValueT &&value)
void SetCondition(ConditionT &&value)
bool PrincipalOwnerAccountHasBeenSet() const
void SetAccessType(InternalAccessType value)
void SetAction(ActionT &&value)
ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const
void SetSources(SourcesT &&value)
const Aws::Vector< FindingSource > & GetSources() const
InternalAccessDetails & WithResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
InternalAccessDetails & WithPrincipalOwnerAccount(PrincipalOwnerAccountT &&value)
const Aws::Map< Aws::String, Aws::String > & GetPrincipal() const
const Aws::Vector< Aws::String > & GetAction() const
InternalAccessDetails & WithAction(ActionT &&value)
InternalAccessDetails & AddSources(SourcesT &&value)
bool PrincipalTypeHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetCondition() const
ServiceControlPolicyRestriction
ResourceControlPolicyRestriction
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue