AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ResourceSpecificResult.h
1
6#pragma once
7#include <aws/iam/IAM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/iam/model/PolicyEvaluationDecisionType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/iam/model/PermissionsBoundaryDecisionDetail.h>
14#include <aws/iam/model/Statement.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace IAM
27{
28namespace Model
29{
30
40 {
41 public:
42 AWS_IAM_API ResourceSpecificResult() = default;
45
46 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
48
49
51
54 inline const Aws::String& GetEvalResourceName() const { return m_evalResourceName; }
55 inline bool EvalResourceNameHasBeenSet() const { return m_evalResourceNameHasBeenSet; }
56 template<typename EvalResourceNameT = Aws::String>
57 void SetEvalResourceName(EvalResourceNameT&& value) { m_evalResourceNameHasBeenSet = true; m_evalResourceName = std::forward<EvalResourceNameT>(value); }
58 template<typename EvalResourceNameT = Aws::String>
59 ResourceSpecificResult& WithEvalResourceName(EvalResourceNameT&& value) { SetEvalResourceName(std::forward<EvalResourceNameT>(value)); return *this;}
61
63
67 inline PolicyEvaluationDecisionType GetEvalResourceDecision() const { return m_evalResourceDecision; }
68 inline bool EvalResourceDecisionHasBeenSet() const { return m_evalResourceDecisionHasBeenSet; }
69 inline void SetEvalResourceDecision(PolicyEvaluationDecisionType value) { m_evalResourceDecisionHasBeenSet = true; m_evalResourceDecision = value; }
72
74
81 inline const Aws::Vector<Statement>& GetMatchedStatements() const { return m_matchedStatements; }
82 inline bool MatchedStatementsHasBeenSet() const { return m_matchedStatementsHasBeenSet; }
83 template<typename MatchedStatementsT = Aws::Vector<Statement>>
84 void SetMatchedStatements(MatchedStatementsT&& value) { m_matchedStatementsHasBeenSet = true; m_matchedStatements = std::forward<MatchedStatementsT>(value); }
85 template<typename MatchedStatementsT = Aws::Vector<Statement>>
86 ResourceSpecificResult& WithMatchedStatements(MatchedStatementsT&& value) { SetMatchedStatements(std::forward<MatchedStatementsT>(value)); return *this;}
87 template<typename MatchedStatementsT = Statement>
88 ResourceSpecificResult& AddMatchedStatements(MatchedStatementsT&& value) { m_matchedStatementsHasBeenSet = true; m_matchedStatements.emplace_back(std::forward<MatchedStatementsT>(value)); return *this; }
90
92
105 inline const Aws::Vector<Aws::String>& GetMissingContextValues() const { return m_missingContextValues; }
106 inline bool MissingContextValuesHasBeenSet() const { return m_missingContextValuesHasBeenSet; }
107 template<typename MissingContextValuesT = Aws::Vector<Aws::String>>
108 void SetMissingContextValues(MissingContextValuesT&& value) { m_missingContextValuesHasBeenSet = true; m_missingContextValues = std::forward<MissingContextValuesT>(value); }
109 template<typename MissingContextValuesT = Aws::Vector<Aws::String>>
110 ResourceSpecificResult& WithMissingContextValues(MissingContextValuesT&& value) { SetMissingContextValues(std::forward<MissingContextValuesT>(value)); return *this;}
111 template<typename MissingContextValuesT = Aws::String>
112 ResourceSpecificResult& AddMissingContextValues(MissingContextValuesT&& value) { m_missingContextValuesHasBeenSet = true; m_missingContextValues.emplace_back(std::forward<MissingContextValuesT>(value)); return *this; }
114
116
122 inline const Aws::Map<Aws::String, PolicyEvaluationDecisionType>& GetEvalDecisionDetails() const { return m_evalDecisionDetails; }
123 inline bool EvalDecisionDetailsHasBeenSet() const { return m_evalDecisionDetailsHasBeenSet; }
124 template<typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
125 void SetEvalDecisionDetails(EvalDecisionDetailsT&& value) { m_evalDecisionDetailsHasBeenSet = true; m_evalDecisionDetails = std::forward<EvalDecisionDetailsT>(value); }
126 template<typename EvalDecisionDetailsT = Aws::Map<Aws::String, PolicyEvaluationDecisionType>>
127 ResourceSpecificResult& WithEvalDecisionDetails(EvalDecisionDetailsT&& value) { SetEvalDecisionDetails(std::forward<EvalDecisionDetailsT>(value)); return *this;}
129 m_evalDecisionDetailsHasBeenSet = true; m_evalDecisionDetails.emplace(key, value); return *this;
130 }
132
134
138 inline const PermissionsBoundaryDecisionDetail& GetPermissionsBoundaryDecisionDetail() const { return m_permissionsBoundaryDecisionDetail; }
139 inline bool PermissionsBoundaryDecisionDetailHasBeenSet() const { return m_permissionsBoundaryDecisionDetailHasBeenSet; }
140 template<typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
141 void SetPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) { m_permissionsBoundaryDecisionDetailHasBeenSet = true; m_permissionsBoundaryDecisionDetail = std::forward<PermissionsBoundaryDecisionDetailT>(value); }
142 template<typename PermissionsBoundaryDecisionDetailT = PermissionsBoundaryDecisionDetail>
143 ResourceSpecificResult& WithPermissionsBoundaryDecisionDetail(PermissionsBoundaryDecisionDetailT&& value) { SetPermissionsBoundaryDecisionDetail(std::forward<PermissionsBoundaryDecisionDetailT>(value)); return *this;}
145 private:
146
147 Aws::String m_evalResourceName;
148 bool m_evalResourceNameHasBeenSet = false;
149
151 bool m_evalResourceDecisionHasBeenSet = false;
152
153 Aws::Vector<Statement> m_matchedStatements;
154 bool m_matchedStatementsHasBeenSet = false;
155
156 Aws::Vector<Aws::String> m_missingContextValues;
157 bool m_missingContextValuesHasBeenSet = false;
158
160 bool m_evalDecisionDetailsHasBeenSet = false;
161
162 PermissionsBoundaryDecisionDetail m_permissionsBoundaryDecisionDetail;
163 bool m_permissionsBoundaryDecisionDetailHasBeenSet = false;
164 };
165
166} // namespace Model
167} // namespace IAM
168} // 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