AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ExternalAccessDetails.h
1
6#pragma once
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>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace AccessAnalyzer
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_ACCESSANALYZER_API ExternalAccessDetails() = default;
40 AWS_ACCESSANALYZER_API ExternalAccessDetails(Aws::Utils::Json::JsonView jsonValue);
42 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline const Aws::Vector<Aws::String>& GetAction() const { return m_action; }
51 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
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>>
55 ExternalAccessDetails& WithAction(ActionT&& value) { SetAction(std::forward<ActionT>(value)); return *this;}
56 template<typename ActionT = Aws::String>
57 ExternalAccessDetails& AddAction(ActionT&& value) { m_actionHasBeenSet = true; m_action.emplace_back(std::forward<ActionT>(value)); return *this; }
59
61
65 inline const Aws::Map<Aws::String, Aws::String>& GetCondition() const { return m_condition; }
66 inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; }
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>>
70 ExternalAccessDetails& WithCondition(ConditionT&& value) { SetCondition(std::forward<ConditionT>(value)); return *this;}
71 template<typename ConditionKeyT = Aws::String, typename ConditionValueT = Aws::String>
72 ExternalAccessDetails& AddCondition(ConditionKeyT&& key, ConditionValueT&& value) {
73 m_conditionHasBeenSet = true; m_condition.emplace(std::forward<ConditionKeyT>(key), std::forward<ConditionValueT>(value)); return *this;
74 }
76
78
81 inline bool GetIsPublic() const { return m_isPublic; }
82 inline bool IsPublicHasBeenSet() const { return m_isPublicHasBeenSet; }
83 inline void SetIsPublic(bool value) { m_isPublicHasBeenSet = true; m_isPublic = value; }
84 inline ExternalAccessDetails& WithIsPublic(bool value) { SetIsPublic(value); return *this;}
86
88
92 inline const Aws::Map<Aws::String, Aws::String>& GetPrincipal() const { return m_principal; }
93 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
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>>
97 ExternalAccessDetails& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward<PrincipalT>(value)); return *this;}
98 template<typename PrincipalKeyT = Aws::String, typename PrincipalValueT = Aws::String>
99 ExternalAccessDetails& AddPrincipal(PrincipalKeyT&& key, PrincipalValueT&& value) {
100 m_principalHasBeenSet = true; m_principal.emplace(std::forward<PrincipalKeyT>(key), std::forward<PrincipalValueT>(value)); return *this;
101 }
103
105
110 inline const Aws::Vector<FindingSource>& GetSources() const { return m_sources; }
111 inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; }
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>>
115 ExternalAccessDetails& WithSources(SourcesT&& value) { SetSources(std::forward<SourcesT>(value)); return *this;}
116 template<typename SourcesT = FindingSource>
117 ExternalAccessDetails& AddSources(SourcesT&& value) { m_sourcesHasBeenSet = true; m_sources.emplace_back(std::forward<SourcesT>(value)); return *this; }
119
121
137 inline ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const { return m_resourceControlPolicyRestriction; }
138 inline bool ResourceControlPolicyRestrictionHasBeenSet() const { return m_resourceControlPolicyRestrictionHasBeenSet; }
139 inline void SetResourceControlPolicyRestriction(ResourceControlPolicyRestriction value) { m_resourceControlPolicyRestrictionHasBeenSet = true; m_resourceControlPolicyRestriction = value; }
142 private:
143
145 bool m_actionHasBeenSet = false;
146
148 bool m_conditionHasBeenSet = false;
149
150 bool m_isPublic{false};
151 bool m_isPublicHasBeenSet = false;
152
154 bool m_principalHasBeenSet = false;
155
157 bool m_sourcesHasBeenSet = false;
158
160 bool m_resourceControlPolicyRestrictionHasBeenSet = false;
161 };
162
163} // namespace Model
164} // namespace AccessAnalyzer
165} // namespace Aws
AWS_ACCESSANALYZER_API ExternalAccessDetails()=default
ExternalAccessDetails & AddAction(ActionT &&value)
const Aws::Vector< FindingSource > & GetSources() const
ExternalAccessDetails & AddPrincipal(PrincipalKeyT &&key, PrincipalValueT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCondition() const
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ACCESSANALYZER_API ExternalAccessDetails(Aws::Utils::Json::JsonView jsonValue)
ExternalAccessDetails & WithAction(ActionT &&value)
const Aws::Vector< Aws::String > & GetAction() const
ExternalAccessDetails & WithResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const
ExternalAccessDetails & AddSources(SourcesT &&value)
ExternalAccessDetails & WithSources(SourcesT &&value)
AWS_ACCESSANALYZER_API ExternalAccessDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
ExternalAccessDetails & AddCondition(ConditionKeyT &&key, ConditionValueT &&value)
void SetResourceControlPolicyRestriction(ResourceControlPolicyRestriction value)
ExternalAccessDetails & WithPrincipal(PrincipalT &&value)
ExternalAccessDetails & WithCondition(ConditionT &&value)
const Aws::Map< Aws::String, Aws::String > & GetPrincipal() const
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