AWS SDK for C++

AWS SDK for C++ Version 1.11.867

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
54 public:
55 AWS_IAM_API EvaluationResult() = default;
56 AWS_IAM_API EvaluationResult(const Aws::Utils::Xml::XmlNode& xmlNode);
58
59 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
60 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
61
63
66 inline const Aws::String& GetEvalActionName() const { return m_evalActionName; }
67 inline bool EvalActionNameHasBeenSet() const { return m_evalActionNameHasBeenSet; }
68 template <typename EvalActionNameT = Aws::String>
69 void SetEvalActionName(EvalActionNameT&& value) {
70 m_evalActionNameHasBeenSet = true;
71 m_evalActionName = std::forward<EvalActionNameT>(value);
72 }
73 template <typename EvalActionNameT = Aws::String>
74 EvaluationResult& WithEvalActionName(EvalActionNameT&& value) {
75 SetEvalActionName(std::forward<EvalActionNameT>(value));
76 return *this;
77 }
79
81
91 inline const Aws::String& GetEvalResourceName() const { return m_evalResourceName; }
92 inline bool EvalResourceNameHasBeenSet() const { return m_evalResourceNameHasBeenSet; }
93 template <typename EvalResourceNameT = Aws::String>
94 void SetEvalResourceName(EvalResourceNameT&& value) {
95 m_evalResourceNameHasBeenSet = true;
96 m_evalResourceName = std::forward<EvalResourceNameT>(value);
97 }
98 template <typename EvalResourceNameT = Aws::String>
99 EvaluationResult& WithEvalResourceName(EvalResourceNameT&& value) {
100 SetEvalResourceName(std::forward<EvalResourceNameT>(value));
101 return *this;
102 }
104
106
109 inline PolicyEvaluationDecisionType GetEvalDecision() const { return m_evalDecision; }
110 inline bool EvalDecisionHasBeenSet() const { return m_evalDecisionHasBeenSet; }
112 m_evalDecisionHasBeenSet = true;
113 m_evalDecision = value;
114 }
116 SetEvalDecision(value);
117 return *this;
118 }
120
122
134 inline const Aws::Vector<Statement>& GetMatchedStatements() const { return m_matchedStatements; }
135 inline bool MatchedStatementsHasBeenSet() const { return m_matchedStatementsHasBeenSet; }
136 template <typename MatchedStatementsT = Aws::Vector<Statement>>
137 void SetMatchedStatements(MatchedStatementsT&& value) {
138 m_matchedStatementsHasBeenSet = true;
139 m_matchedStatements = std::forward<MatchedStatementsT>(value);
140 }
141 template <typename MatchedStatementsT = Aws::Vector<Statement>>
142 EvaluationResult& WithMatchedStatements(MatchedStatementsT&& value) {
143 SetMatchedStatements(std::forward<MatchedStatementsT>(value));
144 return *this;
145 }
146 template <typename MatchedStatementsT = Statement>
147 EvaluationResult& AddMatchedStatements(MatchedStatementsT&& value) {
148 m_matchedStatementsHasBeenSet = true;
149 m_matchedStatements.emplace_back(std::forward<MatchedStatementsT>(value));
150 return *this;
151 }
153
155
171 inline const Aws::Vector<Aws::String>& GetMissingContextValues() const { return m_missingContextValues; }
172 inline bool MissingContextValuesHasBeenSet() const { return m_missingContextValuesHasBeenSet; }
173 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
174 void SetMissingContextValues(MissingContextValuesT&& value) {
175 m_missingContextValuesHasBeenSet = true;
176 m_missingContextValues = std::forward<MissingContextValuesT>(value);
177 }
178 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
179 EvaluationResult& WithMissingContextValues(MissingContextValuesT&& value) {
180 SetMissingContextValues(std::forward<MissingContextValuesT>(value));
181 return *this;
182 }
183 template <typename MissingContextValuesT = Aws::String>
184 EvaluationResult& AddMissingContextValues(MissingContextValuesT&& value) {
185 m_missingContextValuesHasBeenSet = true;
186 m_missingContextValues.emplace_back(std::forward<MissingContextValuesT>(value));
187 return *this;
188 }
190
192
199 inline const OrganizationsDecisionDetail& GetOrganizationsDecisionDetail() const { return m_organizationsDecisionDetail; }
200 inline bool OrganizationsDecisionDetailHasBeenSet() const { return m_organizationsDecisionDetailHasBeenSet; }
201 template <typename OrganizationsDecisionDetailT = OrganizationsDecisionDetail>
202 void SetOrganizationsDecisionDetail(OrganizationsDecisionDetailT&& value) {
203 m_organizationsDecisionDetailHasBeenSet = true;
204 m_organizationsDecisionDetail = std::forward<OrganizationsDecisionDetailT>(value);
205 }
206 template <typename OrganizationsDecisionDetailT = OrganizationsDecisionDetail>
207 EvaluationResult& WithOrganizationsDecisionDetail(OrganizationsDecisionDetailT&& value) {
208 SetOrganizationsDecisionDetail(std::forward<OrganizationsDecisionDetailT>(value));
209 return *this;
210 }
212
214
219 return m_permissionsBoundaryDecisionDetail;
220 }
221 inline bool PermissionsBoundaryDecisionDetailHasBeenSet() const { return m_permissionsBoundaryDecisionDetailHasBeenSet; }
222 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
223 void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
224 m_permissionsBoundaryDecisionDetailHasBeenSet = true;
225 m_permissionsBoundaryDecisionDetail = std::forward<PermissionsBoundaryDecisionDetailT>(value);
226 }
227 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
228 EvaluationResult& WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
229 SetPermissionsBoundaryDecisionDetail(std::forward<PermissionsBoundaryDecisionDetailT>(value));
230 return *this;
231 }
233
235
254 inline const Aws::Map<Aws::String, PolicyEvaluationDecisionType>& GetEvalDecisionDetails() const { return m_evalDecisionDetails; }
255 inline bool EvalDecisionDetailsHasBeenSet() const { return m_evalDecisionDetailsHasBeenSet; }
256 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
257 void SetEvalDecisionDetails(EvalDecisionDetailsT&& value) {
258 m_evalDecisionDetailsHasBeenSet = true;
259 m_evalDecisionDetails = std::forward<EvalDecisionDetailsT>(value);
260 }
261 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
262 EvaluationResult& WithEvalDecisionDetails(EvalDecisionDetailsT&& value) {
263 SetEvalDecisionDetails(std::forward<EvalDecisionDetailsT>(value));
264 return *this;
265 }
267 m_evalDecisionDetailsHasBeenSet = true;
268 m_evalDecisionDetails.emplace(key, value);
269 return *this;
270 }
272
274
278 inline const Aws::Vector<ResourceSpecificResult>& GetResourceSpecificResults() const { return m_resourceSpecificResults; }
279 inline bool ResourceSpecificResultsHasBeenSet() const { return m_resourceSpecificResultsHasBeenSet; }
280 template <typename ResourceSpecificResultsT = Aws::Vector<ResourceSpecificResult>>
281 void SetResourceSpecificResults(ResourceSpecificResultsT&& value) {
282 m_resourceSpecificResultsHasBeenSet = true;
283 m_resourceSpecificResults = std::forward<ResourceSpecificResultsT>(value);
284 }
285 template <typename ResourceSpecificResultsT = Aws::Vector<ResourceSpecificResult>>
286 EvaluationResult& WithResourceSpecificResults(ResourceSpecificResultsT&& value) {
287 SetResourceSpecificResults(std::forward<ResourceSpecificResultsT>(value));
288 return *this;
289 }
290 template <typename ResourceSpecificResultsT = ResourceSpecificResult>
291 EvaluationResult& AddResourceSpecificResults(ResourceSpecificResultsT&& value) {
292 m_resourceSpecificResultsHasBeenSet = true;
293 m_resourceSpecificResults.emplace_back(std::forward<ResourceSpecificResultsT>(value));
294 return *this;
295 }
297 private:
298 Aws::String m_evalActionName;
299
300 Aws::String m_evalResourceName;
301
303
304 Aws::Vector<Statement> m_matchedStatements;
305
306 Aws::Vector<Aws::String> m_missingContextValues;
307
308 OrganizationsDecisionDetail m_organizationsDecisionDetail;
309
310 PermissionsBoundaryDecisionDetail m_permissionsBoundaryDecisionDetail;
311
313
314 Aws::Vector<ResourceSpecificResult> m_resourceSpecificResults;
315 bool m_evalActionNameHasBeenSet = false;
316 bool m_evalResourceNameHasBeenSet = false;
317 bool m_evalDecisionHasBeenSet = false;
318 bool m_matchedStatementsHasBeenSet = false;
319 bool m_missingContextValuesHasBeenSet = false;
320 bool m_organizationsDecisionDetailHasBeenSet = false;
321 bool m_permissionsBoundaryDecisionDetailHasBeenSet = false;
322 bool m_evalDecisionDetailsHasBeenSet = false;
323 bool m_resourceSpecificResultsHasBeenSet = false;
324};
325
326} // namespace Model
327} // namespace IAM
328} // 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