7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/accessanalyzer/model/FindingSource.h>
9#include <aws/accessanalyzer/model/InternalAccessType.h>
10#include <aws/accessanalyzer/model/PrincipalType.h>
11#include <aws/accessanalyzer/model/ResourceControlPolicyRestriction.h>
12#include <aws/accessanalyzer/model/ServiceControlPolicyRestriction.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
26namespace AccessAnalyzer {
50 template <
typename ActionT = Aws::Vector<Aws::String>>
52 m_actionHasBeenSet =
true;
53 m_action = std::forward<ActionT>(value);
55 template <
typename ActionT = Aws::Vector<Aws::String>>
60 template <
typename ActionT = Aws::String>
62 m_actionHasBeenSet =
true;
63 m_action.emplace_back(std::forward<ActionT>(value));
75 template <
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
77 m_conditionHasBeenSet =
true;
78 m_condition = std::forward<ConditionT>(value);
80 template <
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
85 template <
typename ConditionKeyT = Aws::String,
typename ConditionValueT = Aws::String>
87 m_conditionHasBeenSet =
true;
88 m_condition.emplace(std::forward<ConditionKeyT>(key), std::forward<ConditionValueT>(value));
100 template <
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
102 m_principalHasBeenSet =
true;
103 m_principal = std::forward<PrincipalT>(value);
105 template <
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
110 template <
typename PrincipalKeyT = Aws::String,
typename PrincipalValueT = Aws::String>
112 m_principalHasBeenSet =
true;
113 m_principal.emplace(std::forward<PrincipalKeyT>(key), std::forward<PrincipalValueT>(value));
125 template <
typename PrincipalOwnerAccountT = Aws::String>
127 m_principalOwnerAccountHasBeenSet =
true;
128 m_principalOwnerAccount = std::forward<PrincipalOwnerAccountT>(value);
130 template <
typename PrincipalOwnerAccountT = Aws::String>
145 m_accessTypeHasBeenSet =
true;
146 m_accessType = value;
162 m_principalTypeHasBeenSet =
true;
163 m_principalType = value;
179 template <
typename SourcesT = Aws::Vector<FindingSource>>
181 m_sourcesHasBeenSet =
true;
182 m_sources = std::forward<SourcesT>(value);
184 template <
typename SourcesT = Aws::Vector<FindingSource>>
189 template <
typename SourcesT = FindingSource>
191 m_sourcesHasBeenSet =
true;
192 m_sources.emplace_back(std::forward<SourcesT>(value));
222 m_resourceControlPolicyRestrictionHasBeenSet =
true;
223 m_resourceControlPolicyRestriction = value;
250 m_serviceControlPolicyRestrictionHasBeenSet =
true;
251 m_serviceControlPolicyRestriction = value;
276 bool m_actionHasBeenSet =
false;
277 bool m_conditionHasBeenSet =
false;
278 bool m_principalHasBeenSet =
false;
279 bool m_principalOwnerAccountHasBeenSet =
false;
280 bool m_accessTypeHasBeenSet =
false;
281 bool m_principalTypeHasBeenSet =
false;
282 bool m_sourcesHasBeenSet =
false;
283 bool m_resourceControlPolicyRestrictionHasBeenSet =
false;
284 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