AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
ResourceSpecificResult.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/PermissionsBoundaryDecisionDetail.h>
13#include <aws/iam/model/PolicyEvaluationDecisionType.h>
14#include <aws/iam/model/Statement.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace IAM {
25namespace Model {
26
36 public:
37 AWS_IAM_API ResourceSpecificResult() = default;
40
41 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
48 inline const Aws::String& GetEvalResourceName() const { return m_evalResourceName; }
49 inline bool EvalResourceNameHasBeenSet() const { return m_evalResourceNameHasBeenSet; }
50 template <typename EvalResourceNameT = Aws::String>
51 void SetEvalResourceName(EvalResourceNameT&& value) {
52 m_evalResourceNameHasBeenSet = true;
53 m_evalResourceName = std::forward<EvalResourceNameT>(value);
54 }
55 template <typename EvalResourceNameT = Aws::String>
56 ResourceSpecificResult& WithEvalResourceName(EvalResourceNameT&& value) {
57 SetEvalResourceName(std::forward<EvalResourceNameT>(value));
58 return *this;
59 }
61
63
67 inline PolicyEvaluationDecisionType GetEvalResourceDecision() const { return m_evalResourceDecision; }
68 inline bool EvalResourceDecisionHasBeenSet() const { return m_evalResourceDecisionHasBeenSet; }
70 m_evalResourceDecisionHasBeenSet = true;
71 m_evalResourceDecision = value;
72 }
75 return *this;
76 }
78
80
87 inline const Aws::Vector<Statement>& GetMatchedStatements() const { return m_matchedStatements; }
88 inline bool MatchedStatementsHasBeenSet() const { return m_matchedStatementsHasBeenSet; }
89 template <typename MatchedStatementsT = Aws::Vector<Statement>>
90 void SetMatchedStatements(MatchedStatementsT&& value) {
91 m_matchedStatementsHasBeenSet = true;
92 m_matchedStatements = std::forward<MatchedStatementsT>(value);
93 }
94 template <typename MatchedStatementsT = Aws::Vector<Statement>>
95 ResourceSpecificResult& WithMatchedStatements(MatchedStatementsT&& value) {
96 SetMatchedStatements(std::forward<MatchedStatementsT>(value));
97 return *this;
98 }
99 template <typename MatchedStatementsT = Statement>
100 ResourceSpecificResult& AddMatchedStatements(MatchedStatementsT&& value) {
101 m_matchedStatementsHasBeenSet = true;
102 m_matchedStatements.emplace_back(std::forward<MatchedStatementsT>(value));
103 return *this;
104 }
106
108
121 inline const Aws::Vector<Aws::String>& GetMissingContextValues() const { return m_missingContextValues; }
122 inline bool MissingContextValuesHasBeenSet() const { return m_missingContextValuesHasBeenSet; }
123 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
124 void SetMissingContextValues(MissingContextValuesT&& value) {
125 m_missingContextValuesHasBeenSet = true;
126 m_missingContextValues = std::forward<MissingContextValuesT>(value);
127 }
128 template <typename MissingContextValuesT = Aws::Vector<Aws::String>>
129 ResourceSpecificResult& WithMissingContextValues(MissingContextValuesT&& value) {
130 SetMissingContextValues(std::forward<MissingContextValuesT>(value));
131 return *this;
132 }
133 template <typename MissingContextValuesT = Aws::String>
134 ResourceSpecificResult& AddMissingContextValues(MissingContextValuesT&& value) {
135 m_missingContextValuesHasBeenSet = true;
136 m_missingContextValues.emplace_back(std::forward<MissingContextValuesT>(value));
137 return *this;
138 }
140
142
148 inline const Aws::Map<Aws::String, PolicyEvaluationDecisionType>& GetEvalDecisionDetails() const { return m_evalDecisionDetails; }
149 inline bool EvalDecisionDetailsHasBeenSet() const { return m_evalDecisionDetailsHasBeenSet; }
150 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
151 void SetEvalDecisionDetails(EvalDecisionDetailsT&& value) {
152 m_evalDecisionDetailsHasBeenSet = true;
153 m_evalDecisionDetails = std::forward<EvalDecisionDetailsT>(value);
154 }
155 template <typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
156 ResourceSpecificResult& WithEvalDecisionDetails(EvalDecisionDetailsT&& value) {
157 SetEvalDecisionDetails(std::forward<EvalDecisionDetailsT>(value));
158 return *this;
159 }
161 m_evalDecisionDetailsHasBeenSet = true;
162 m_evalDecisionDetails.emplace(key, value);
163 return *this;
164 }
166
168
173 return m_permissionsBoundaryDecisionDetail;
174 }
175 inline bool PermissionsBoundaryDecisionDetailHasBeenSet() const { return m_permissionsBoundaryDecisionDetailHasBeenSet; }
176 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
177 void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
178 m_permissionsBoundaryDecisionDetailHasBeenSet = true;
179 m_permissionsBoundaryDecisionDetail = std::forward<PermissionsBoundaryDecisionDetailT>(value);
180 }
181 template <typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
182 ResourceSpecificResult& WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) {
183 SetPermissionsBoundaryDecisionDetail(std::forward<PermissionsBoundaryDecisionDetailT>(value));
184 return *this;
185 }
187 private:
188 Aws::String m_evalResourceName;
189
191
192 Aws::Vector<Statement> m_matchedStatements;
193
194 Aws::Vector<Aws::String> m_missingContextValues;
195
197
198 PermissionsBoundaryDecisionDetail m_permissionsBoundaryDecisionDetail;
199 bool m_evalResourceNameHasBeenSet = false;
200 bool m_evalResourceDecisionHasBeenSet = false;
201 bool m_matchedStatementsHasBeenSet = false;
202 bool m_missingContextValuesHasBeenSet = false;
203 bool m_evalDecisionDetailsHasBeenSet = false;
204 bool m_permissionsBoundaryDecisionDetailHasBeenSet = false;
205};
206
207} // namespace Model
208} // namespace IAM
209} // namespace Aws
void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT &&value)
const Aws::String & GetEvalResourceName() const
ResourceSpecificResult & AddMissingContextValues(MissingContextValuesT &&value)
AWS_IAM_API ResourceSpecificResult()=default
void SetEvalResourceDecision(PolicyEvaluationDecisionType value)
ResourceSpecificResult & WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT &&value)
ResourceSpecificResult & WithMissingContextValues(MissingContextValuesT &&value)
void SetEvalResourceName(EvalResourceNameT &&value)
AWS_IAM_API ResourceSpecificResult(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Aws::String > & GetMissingContextValues() const
void SetMatchedStatements(MatchedStatementsT &&value)
ResourceSpecificResult & WithEvalResourceName(EvalResourceNameT &&value)
ResourceSpecificResult & WithEvalResourceDecision(PolicyEvaluationDecisionType value)
ResourceSpecificResult & WithEvalDecisionDetails(EvalDecisionDetailsT &&value)
const Aws::Map< Aws::String, PolicyEvaluationDecisionType > & GetEvalDecisionDetails() const
AWS_IAM_API ResourceSpecificResult & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ResourceSpecificResult & AddMatchedStatements(MatchedStatementsT &&value)
PolicyEvaluationDecisionType GetEvalResourceDecision() const
void SetEvalDecisionDetails(EvalDecisionDetailsT &&value)
void SetMissingContextValues(MissingContextValuesT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ResourceSpecificResult & AddEvalDecisionDetails(Aws::String key, PolicyEvaluationDecisionType value)
const PermissionsBoundaryDecisionDetail & GetPermissionsBoundaryDecisionDetail() const
ResourceSpecificResult & WithMatchedStatements(MatchedStatementsT &&value)
const Aws::Vector< Statement > & GetMatchedStatements() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
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