7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/accessanalyzer/model/FindingSource.h>
9#include <aws/accessanalyzer/model/ResourceControlPolicyRestriction.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
23namespace AccessAnalyzer {
46 template <
typename ActionT = Aws::Vector<Aws::String>>
48 m_actionHasBeenSet =
true;
49 m_action = std::forward<ActionT>(value);
51 template <
typename ActionT = Aws::Vector<Aws::String>>
56 template <
typename ActionT = Aws::String>
58 m_actionHasBeenSet =
true;
59 m_action.emplace_back(std::forward<ActionT>(value));
71 template <
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
73 m_conditionHasBeenSet =
true;
74 m_condition = std::forward<ConditionT>(value);
76 template <
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
81 template <
typename ConditionKeyT = Aws::String,
typename ConditionValueT = Aws::String>
83 m_conditionHasBeenSet =
true;
84 m_condition.emplace(std::forward<ConditionKeyT>(key), std::forward<ConditionValueT>(value));
96 m_isPublicHasBeenSet =
true;
112 template <
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
114 m_principalHasBeenSet =
true;
115 m_principal = std::forward<PrincipalT>(value);
117 template <
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
122 template <
typename PrincipalKeyT = Aws::String,
typename PrincipalValueT = Aws::String>
124 m_principalHasBeenSet =
true;
125 m_principal.emplace(std::forward<PrincipalKeyT>(key), std::forward<PrincipalValueT>(value));
138 template <
typename SourcesT = Aws::Vector<FindingSource>>
140 m_sourcesHasBeenSet =
true;
141 m_sources = std::forward<SourcesT>(value);
143 template <
typename SourcesT = Aws::Vector<FindingSource>>
148 template <
typename SourcesT = FindingSource>
150 m_sourcesHasBeenSet =
true;
151 m_sources.emplace_back(std::forward<SourcesT>(value));
176 m_resourceControlPolicyRestrictionHasBeenSet =
true;
177 m_resourceControlPolicyRestriction = value;
189 bool m_isPublic{
false};
196 bool m_actionHasBeenSet =
false;
197 bool m_conditionHasBeenSet =
false;
198 bool m_isPublicHasBeenSet =
false;
199 bool m_principalHasBeenSet =
false;
200 bool m_sourcesHasBeenSet =
false;
201 bool m_resourceControlPolicyRestrictionHasBeenSet =
false;
bool ConditionHasBeenSet() const
AWS_ACCESSANALYZER_API ExternalAccessDetails()=default
ExternalAccessDetails & AddAction(ActionT &&value)
const Aws::Vector< FindingSource > & GetSources() const
ExternalAccessDetails & AddPrincipal(PrincipalKeyT &&key, PrincipalValueT &&value)
bool PrincipalHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetCondition() const
bool SourcesHasBeenSet() const
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ACCESSANALYZER_API ExternalAccessDetails(Aws::Utils::Json::JsonView jsonValue)
bool IsPublicHasBeenSet() const
ExternalAccessDetails & WithAction(ActionT &&value)
bool ResourceControlPolicyRestrictionHasBeenSet() const
const Aws::Vector< Aws::String > & GetAction() const
ExternalAccessDetails & WithIsPublic(bool value)
ExternalAccessDetails & WithResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
void SetCondition(ConditionT &&value)
ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const
ExternalAccessDetails & AddSources(SourcesT &&value)
void SetPrincipal(PrincipalT &&value)
ExternalAccessDetails & WithSources(SourcesT &&value)
bool ActionHasBeenSet() const
AWS_ACCESSANALYZER_API ExternalAccessDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
ExternalAccessDetails & AddCondition(ConditionKeyT &&key, ConditionValueT &&value)
void SetResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
ExternalAccessDetails & WithPrincipal(PrincipalT &&value)
void SetSources(SourcesT &&value)
ExternalAccessDetails & WithCondition(ConditionT &&value)
void SetAction(ActionT &&value)
void SetIsPublic(bool value)
const Aws::Map< Aws::String, Aws::String > & GetPrincipal() const
ResourceControlPolicyRestriction
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue