AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
EvaluationResult.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/iam/IAM_EXPORTS.h>
12#include <aws/iam/model/OrganizationsDecisionDetail.h>
13#include <aws/iam/model/PermissionsBoundaryDecisionDetail.h>
14#include <aws/iam/model/PolicyEvaluationDecisionType.h>
15#include <aws/iam/model/ResourceSpecificResult.h>
16#include <aws/iam/model/Statement.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace IAM {
27namespace Model {
28
40 public:
41 AWS_IAM_API EvaluationResult() = default;
42 AWS_IAM_API EvaluationResult(const Aws::Utils::Xml::XmlNode& xmlNode);
44
45 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
47
49
52 inline const Aws::String& GetEvalActionName() const { return m_evalActionName; }
53 inline bool EvalActionNameHasBeenSet() const { return m_evalActionNameHasBeenSet; }
54 template <typename EvalActionNameT = Aws::String>
55 void SetEvalActionName(EvalActionNameT&& value) {
56 m_evalActionNameHasBeenSet = true;
57 m_evalActionName = std::forward<EvalActionNameT>(value);
58 }
59 template <typename EvalActionNameT = Aws::String>
60 EvaluationResult& WithEvalActionName(EvalActionNameT&& value) {
61 SetEvalActionName(std::forward<EvalActionNameT>(value));
62 return *this;
63 }
65
67
70 inline const Aws::String& GetEvalResourceName() const { return m_evalResourceName; }
71 inline bool EvalResourceNameHasBeenSet() const { return m_evalResourceNameHasBeenSet; }
72 template <typename EvalResourceNameT = Aws::String>
73 void SetEvalResourceName(EvalResourceNameT&& value) {
74 m_evalResourceNameHasBeenSet = true;
75 m_evalResourceName = std::forward<EvalResourceNameT>(value);
76 }
77 template <typename EvalResourceNameT = Aws::String>
78 EvaluationResult& WithEvalResourceName(EvalResourceNameT&& value) {
79 SetEvalResourceName(std::forward<EvalResourceNameT>(value));
80 return *this;
81 }
83
85
88 inline PolicyEvaluationDecisionType GetEvalDecision() const { return m_evalDecision; }
89 inline bool EvalDecisionHasBeenSet() const { return m_evalDecisionHasBeenSet; }
91 m_evalDecisionHasBeenSet = true;
92 m_evalDecision = value;
93 }
95 SetEvalDecision(value);
96 return *this;
97 }
99
101
108 inline const Aws::Vector<Statement>& GetMatchedStatements() const { return m_matchedStatements; }
109 inline bool MatchedStatementsHasBeenSet() const { return m_matchedStatementsHasBeenSet; }
110 template <typename MatchedStatementsT = Aws::Vector<Statement>>
111 void SetMatchedStatements(MatchedStatementsT&& value) {
112 m_matchedStatementsHasBeenSet = true;
113 m_matchedStatements = std::forward<MatchedStatementsT>(value);
114 }
115 template <typename MatchedStatementsT = Aws::Vector<Statement>>
116 EvaluationResult& WithMatchedStatements(MatchedStatementsT&& value) {
117 SetMatchedStatements(std::forward<MatchedStatementsT>(value));
118 return *this;
119 }
120 template <typename MatchedStatementsT = Statement>
121 EvaluationResult& AddMatchedStatements(MatchedStatementsT&& value) {
122 m_matchedStatementsHasBeenSet = true;
123 m_matchedStatements.emplace_back(std::forward<MatchedStatementsT>(value));
124 return *this;
125 }
127
129
141 inline const Aws::Vector<Aws::String>& GetMissingContextValues() const { return m_missingContextValues; }
142 inline bool MissingContextValuesHasBeenSet() const { return m_missingContextValuesHasBeenSet; }
143 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
144 void SetMissingContextValues(MissingContextValuesT&& value) {
145 m_missingContextValuesHasBeenSet = true;
146 m_missingContextValues = std::forward<MissingContextValuesT>(value);
147 }
148 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
149 EvaluationResult& WithMissingContextValues(MissingContextValuesT&& value) {
150 SetMissingContextValues(std::forward<MissingContextValuesT>(value));
151 return *this;
152 }
153 template <typename MissingContextValuesT = Aws::String>
154 EvaluationResult& AddMissingContextValues(MissingContextValuesT&& value) {
155 m_missingContextValuesHasBeenSet = true;
156 m_missingContextValues.emplace_back(std::forward<MissingContextValuesT>(value));
157 return *this;
158 }
160
162
167 inline const OrganizationsDecisionDetail& GetOrganizationsDecisionDetail() const { return m_organizationsDecisionDetail; }
168 inline bool OrganizationsDecisionDetailHasBeenSet() const { return m_organizationsDecisionDetailHasBeenSet; }
169 template <typename OrganizationsDecisionDetailT = OrganizationsDecisionDetail>
170 void SetOrganizationsDecisionDetail(OrganizationsDecisionDetailT&& value) {
171 m_organizationsDecisionDetailHasBeenSet = true;
172 m_organizationsDecisionDetail = std::forward<OrganizationsDecisionDetailT>(value);
173 }
174 template <typename OrganizationsDecisionDetailT = OrganizationsDecisionDetail>
175 EvaluationResult& WithOrganizationsDecisionDetail(OrganizationsDecisionDetailT&& value) {
176 SetOrganizationsDecisionDetail(std::forward<OrganizationsDecisionDetailT>(value));
177 return *this;
178 }
180
182
187 return m_permissionsBoundaryDecisionDetail;
188 }
189 inline bool PermissionsBoundaryDecisionDetailHasBeenSet() const { return m_permissionsBoundaryDecisionDetailHasBeenSet; }
190 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
191 void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
192 m_permissionsBoundaryDecisionDetailHasBeenSet = true;
193 m_permissionsBoundaryDecisionDetail = std::forward<PermissionsBoundaryDecisionDetailT>(value);
194 }
195 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
196 EvaluationResult& WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
197 SetPermissionsBoundaryDecisionDetail(std::forward<PermissionsBoundaryDecisionDetailT>(value));
198 return *this;
199 }
201
203
220 inline const Aws::Map<Aws::String, PolicyEvaluationDecisionType>& GetEvalDecisionDetails() const { return m_evalDecisionDetails; }
221 inline bool EvalDecisionDetailsHasBeenSet() const { return m_evalDecisionDetailsHasBeenSet; }
222 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
223 void SetEvalDecisionDetails(EvalDecisionDetailsT&& value) {
224 m_evalDecisionDetailsHasBeenSet = true;
225 m_evalDecisionDetails = std::forward<EvalDecisionDetailsT>(value);
226 }
227 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
228 EvaluationResult& WithEvalDecisionDetails(EvalDecisionDetailsT&& value) {
229 SetEvalDecisionDetails(std::forward<EvalDecisionDetailsT>(value));
230 return *this;
231 }
233 m_evalDecisionDetailsHasBeenSet = true;
234 m_evalDecisionDetails.emplace(key, value);
235 return *this;
236 }
238
240
244 inline const Aws::Vector<ResourceSpecificResult>& GetResourceSpecificResults() const { return m_resourceSpecificResults; }
245 inline bool ResourceSpecificResultsHasBeenSet() const { return m_resourceSpecificResultsHasBeenSet; }
246 template <typename ResourceSpecificResultsT = Aws::Vector<ResourceSpecificResult>>
247 void SetResourceSpecificResults(ResourceSpecificResultsT&& value) {
248 m_resourceSpecificResultsHasBeenSet = true;
249 m_resourceSpecificResults = std::forward<ResourceSpecificResultsT>(value);
250 }
251 template <typename ResourceSpecificResultsT = Aws::Vector<ResourceSpecificResult>>
252 EvaluationResult& WithResourceSpecificResults(ResourceSpecificResultsT&& value) {
253 SetResourceSpecificResults(std::forward<ResourceSpecificResultsT>(value));
254 return *this;
255 }
256 template <typename ResourceSpecificResultsT = ResourceSpecificResult>
257 EvaluationResult& AddResourceSpecificResults(ResourceSpecificResultsT&& value) {
258 m_resourceSpecificResultsHasBeenSet = true;
259 m_resourceSpecificResults.emplace_back(std::forward<ResourceSpecificResultsT>(value));
260 return *this;
261 }
263 private:
264 Aws::String m_evalActionName;
265
266 Aws::String m_evalResourceName;
267
269
270 Aws::Vector<Statement> m_matchedStatements;
271
272 Aws::Vector<Aws::String> m_missingContextValues;
273
274 OrganizationsDecisionDetail m_organizationsDecisionDetail;
275
276 PermissionsBoundaryDecisionDetail m_permissionsBoundaryDecisionDetail;
277
279
280 Aws::Vector<ResourceSpecificResult> m_resourceSpecificResults;
281 bool m_evalActionNameHasBeenSet = false;
282 bool m_evalResourceNameHasBeenSet = false;
283 bool m_evalDecisionHasBeenSet = false;
284 bool m_matchedStatementsHasBeenSet = false;
285 bool m_missingContextValuesHasBeenSet = false;
286 bool m_organizationsDecisionDetailHasBeenSet = false;
287 bool m_permissionsBoundaryDecisionDetailHasBeenSet = false;
288 bool m_evalDecisionDetailsHasBeenSet = false;
289 bool m_resourceSpecificResultsHasBeenSet = false;
290};
291
292} // namespace Model
293} // namespace IAM
294} // namespace Aws
void SetMissingContextValues(MissingContextValuesT &&value)
const Aws::Map< Aws::String, PolicyEvaluationDecisionType > & GetEvalDecisionDetails() const
const OrganizationsDecisionDetail & GetOrganizationsDecisionDetail() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< ResourceSpecificResult > & GetResourceSpecificResults() const
const Aws::Vector< Statement > & GetMatchedStatements() const
EvaluationResult & WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT &&value)
bool PermissionsBoundaryDecisionDetailHasBeenSet() const
EvaluationResult & AddMatchedStatements(MatchedStatementsT &&value)
void SetEvalResourceName(EvalResourceNameT &&value)
EvaluationResult & AddEvalDecisionDetails(Aws::String key, PolicyEvaluationDecisionType value)
AWS_IAM_API EvaluationResult & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetMatchedStatements(MatchedStatementsT &&value)
void SetEvalActionName(EvalActionNameT &&value)
EvaluationResult & WithResourceSpecificResults(ResourceSpecificResultsT &&value)
EvaluationResult & WithEvalActionName(EvalActionNameT &&value)
EvaluationResult & AddResourceSpecificResults(ResourceSpecificResultsT &&value)
EvaluationResult & WithEvalDecision(PolicyEvaluationDecisionType value)
void SetResourceSpecificResults(ResourceSpecificResultsT &&value)
PolicyEvaluationDecisionType GetEvalDecision() const
EvaluationResult & WithEvalDecisionDetails(EvalDecisionDetailsT &&value)
const Aws::String & GetEvalResourceName() const
EvaluationResult & WithMissingContextValues(MissingContextValuesT &&value)
const PermissionsBoundaryDecisionDetail & GetPermissionsBoundaryDecisionDetail() const
const Aws::String & GetEvalActionName() const
EvaluationResult & AddMissingContextValues(MissingContextValuesT &&value)
void SetOrganizationsDecisionDetail(OrganizationsDecisionDetailT &&value)
void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT &&value)
const Aws::Vector< Aws::String > & GetMissingContextValues() const
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetEvalDecisionDetails(EvalDecisionDetailsT &&value)
EvaluationResult & WithOrganizationsDecisionDetail(OrganizationsDecisionDetailT &&value)
void SetEvalDecision(PolicyEvaluationDecisionType value)
EvaluationResult & WithEvalResourceName(EvalResourceNameT &&value)
AWS_IAM_API EvaluationResult()=default
AWS_IAM_API EvaluationResult(const Aws::Utils::Xml::XmlNode &xmlNode)
EvaluationResult & WithMatchedStatements(MatchedStatementsT &&value)
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
std::basic_ostream< char, std::char_traits< char > > OStream