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/accessanalyzer/model/ResourceControlPolicyRestriction.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/accessanalyzer/model/FindingSource.h>
25namespace AccessAnalyzer
52 template<
typename ActionT = Aws::Vector<Aws::String>>
53 void SetAction(ActionT&& value) { m_actionHasBeenSet =
true; m_action = std::forward<ActionT>(value); }
54 template<
typename ActionT = Aws::Vector<Aws::String>>
56 template<
typename ActionT = Aws::String>
67 template<
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
68 void SetCondition(ConditionT&& value) { m_conditionHasBeenSet =
true; m_condition = std::forward<ConditionT>(value); }
69 template<
typename ConditionT = Aws::Map<Aws::String, Aws::String>>
71 template<
typename ConditionKeyT = Aws::String,
typename ConditionValueT = Aws::String>
73 m_conditionHasBeenSet =
true; m_condition.emplace(std::forward<ConditionKeyT>(key), std::forward<ConditionValueT>(value));
return *
this;
83 inline void SetIsPublic(
bool value) { m_isPublicHasBeenSet =
true; m_isPublic = value; }
94 template<
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
95 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet =
true; m_principal = std::forward<PrincipalT>(value); }
96 template<
typename PrincipalT = Aws::Map<Aws::String, Aws::String>>
98 template<
typename PrincipalKeyT = Aws::String,
typename PrincipalValueT = Aws::String>
100 m_principalHasBeenSet =
true; m_principal.emplace(std::forward<PrincipalKeyT>(key), std::forward<PrincipalValueT>(value));
return *
this;
112 template<
typename SourcesT = Aws::Vector<FindingSource>>
113 void SetSources(SourcesT&& value) { m_sourcesHasBeenSet =
true; m_sources = std::forward<SourcesT>(value); }
114 template<
typename SourcesT = Aws::Vector<FindingSource>>
116 template<
typename SourcesT = FindingSource>
145 bool m_actionHasBeenSet =
false;
148 bool m_conditionHasBeenSet =
false;
150 bool m_isPublic{
false};
151 bool m_isPublicHasBeenSet =
false;
154 bool m_principalHasBeenSet =
false;
157 bool m_sourcesHasBeenSet =
false;
160 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