AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
PolicyItem.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/verifiedpermissions/VerifiedPermissions_EXPORTS.h>
11#include <aws/verifiedpermissions/model/ActionIdentifier.h>
12#include <aws/verifiedpermissions/model/EntityIdentifier.h>
13#include <aws/verifiedpermissions/model/PolicyDefinitionItem.h>
14#include <aws/verifiedpermissions/model/PolicyEffect.h>
15#include <aws/verifiedpermissions/model/PolicyType.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace VerifiedPermissions {
27namespace Model {
28
38 public:
39 AWS_VERIFIEDPERMISSIONS_API PolicyItem() = default;
40 AWS_VERIFIEDPERMISSIONS_API PolicyItem(Aws::Utils::Json::JsonView jsonValue);
41 AWS_VERIFIEDPERMISSIONS_API PolicyItem& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
49 inline const Aws::String& GetPolicyStoreId() const { return m_policyStoreId; }
50 inline bool PolicyStoreIdHasBeenSet() const { return m_policyStoreIdHasBeenSet; }
51 template <typename PolicyStoreIdT = Aws::String>
52 void SetPolicyStoreId(PolicyStoreIdT&& value) {
53 m_policyStoreIdHasBeenSet = true;
54 m_policyStoreId = std::forward<PolicyStoreIdT>(value);
55 }
56 template <typename PolicyStoreIdT = Aws::String>
57 PolicyItem& WithPolicyStoreId(PolicyStoreIdT&& value) {
58 SetPolicyStoreId(std::forward<PolicyStoreIdT>(value));
59 return *this;
60 }
62
64
67 inline const Aws::String& GetPolicyId() const { return m_policyId; }
68 inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; }
69 template <typename PolicyIdT = Aws::String>
70 void SetPolicyId(PolicyIdT&& value) {
71 m_policyIdHasBeenSet = true;
72 m_policyId = std::forward<PolicyIdT>(value);
73 }
74 template <typename PolicyIdT = Aws::String>
75 PolicyItem& WithPolicyId(PolicyIdT&& value) {
76 SetPolicyId(std::forward<PolicyIdT>(value));
77 return *this;
78 }
80
82
87 inline PolicyType GetPolicyType() const { return m_policyType; }
88 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
89 inline void SetPolicyType(PolicyType value) {
90 m_policyTypeHasBeenSet = true;
91 m_policyType = value;
92 }
94 SetPolicyType(value);
95 return *this;
96 }
98
100
103 inline const EntityIdentifier& GetPrincipal() const { return m_principal; }
104 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
105 template <typename PrincipalT = EntityIdentifier>
106 void SetPrincipal(PrincipalT&& value) {
107 m_principalHasBeenSet = true;
108 m_principal = std::forward<PrincipalT>(value);
109 }
110 template <typename PrincipalT = EntityIdentifier>
111 PolicyItem& WithPrincipal(PrincipalT&& value) {
112 SetPrincipal(std::forward<PrincipalT>(value));
113 return *this;
114 }
116
118
121 inline const EntityIdentifier& GetResource() const { return m_resource; }
122 inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
123 template <typename ResourceT = EntityIdentifier>
124 void SetResource(ResourceT&& value) {
125 m_resourceHasBeenSet = true;
126 m_resource = std::forward<ResourceT>(value);
127 }
128 template <typename ResourceT = EntityIdentifier>
129 PolicyItem& WithResource(ResourceT&& value) {
130 SetResource(std::forward<ResourceT>(value));
131 return *this;
132 }
134
136
141 inline const Aws::Vector<ActionIdentifier>& GetActions() const { return m_actions; }
142 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
143 template <typename ActionsT = Aws::Vector<ActionIdentifier>>
144 void SetActions(ActionsT&& value) {
145 m_actionsHasBeenSet = true;
146 m_actions = std::forward<ActionsT>(value);
147 }
148 template <typename ActionsT = Aws::Vector<ActionIdentifier>>
149 PolicyItem& WithActions(ActionsT&& value) {
150 SetActions(std::forward<ActionsT>(value));
151 return *this;
152 }
153 template <typename ActionsT = ActionIdentifier>
154 PolicyItem& AddActions(ActionsT&& value) {
155 m_actionsHasBeenSet = true;
156 m_actions.emplace_back(std::forward<ActionsT>(value));
157 return *this;
158 }
160
162
165 inline const PolicyDefinitionItem& GetDefinition() const { return m_definition; }
166 inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; }
167 template <typename DefinitionT = PolicyDefinitionItem>
168 void SetDefinition(DefinitionT&& value) {
169 m_definitionHasBeenSet = true;
170 m_definition = std::forward<DefinitionT>(value);
171 }
172 template <typename DefinitionT = PolicyDefinitionItem>
173 PolicyItem& WithDefinition(DefinitionT&& value) {
174 SetDefinition(std::forward<DefinitionT>(value));
175 return *this;
176 }
178
180
183 inline const Aws::Utils::DateTime& GetCreatedDate() const { return m_createdDate; }
184 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
185 template <typename CreatedDateT = Aws::Utils::DateTime>
186 void SetCreatedDate(CreatedDateT&& value) {
187 m_createdDateHasBeenSet = true;
188 m_createdDate = std::forward<CreatedDateT>(value);
189 }
190 template <typename CreatedDateT = Aws::Utils::DateTime>
191 PolicyItem& WithCreatedDate(CreatedDateT&& value) {
192 SetCreatedDate(std::forward<CreatedDateT>(value));
193 return *this;
194 }
196
198
201 inline const Aws::Utils::DateTime& GetLastUpdatedDate() const { return m_lastUpdatedDate; }
202 inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; }
203 template <typename LastUpdatedDateT = Aws::Utils::DateTime>
204 void SetLastUpdatedDate(LastUpdatedDateT&& value) {
205 m_lastUpdatedDateHasBeenSet = true;
206 m_lastUpdatedDate = std::forward<LastUpdatedDateT>(value);
207 }
208 template <typename LastUpdatedDateT = Aws::Utils::DateTime>
209 PolicyItem& WithLastUpdatedDate(LastUpdatedDateT&& value) {
210 SetLastUpdatedDate(std::forward<LastUpdatedDateT>(value));
211 return *this;
212 }
214
216
220 inline PolicyEffect GetEffect() const { return m_effect; }
221 inline bool EffectHasBeenSet() const { return m_effectHasBeenSet; }
222 inline void SetEffect(PolicyEffect value) {
223 m_effectHasBeenSet = true;
224 m_effect = value;
225 }
227 SetEffect(value);
228 return *this;
229 }
231 private:
232 Aws::String m_policyStoreId;
233
234 Aws::String m_policyId;
235
236 PolicyType m_policyType{PolicyType::NOT_SET};
237
238 EntityIdentifier m_principal;
239
240 EntityIdentifier m_resource;
241
243
244 PolicyDefinitionItem m_definition;
245
246 Aws::Utils::DateTime m_createdDate{};
247
248 Aws::Utils::DateTime m_lastUpdatedDate{};
249
251 bool m_policyStoreIdHasBeenSet = false;
252 bool m_policyIdHasBeenSet = false;
253 bool m_policyTypeHasBeenSet = false;
254 bool m_principalHasBeenSet = false;
255 bool m_resourceHasBeenSet = false;
256 bool m_actionsHasBeenSet = false;
257 bool m_definitionHasBeenSet = false;
258 bool m_createdDateHasBeenSet = false;
259 bool m_lastUpdatedDateHasBeenSet = false;
260 bool m_effectHasBeenSet = false;
261};
262
263} // namespace Model
264} // namespace VerifiedPermissions
265} // namespace Aws
void SetPolicyStoreId(PolicyStoreIdT &&value)
Definition PolicyItem.h:52
AWS_VERIFIEDPERMISSIONS_API PolicyItem(Aws::Utils::Json::JsonView jsonValue)
void SetDefinition(DefinitionT &&value)
Definition PolicyItem.h:168
const Aws::String & GetPolicyStoreId() const
Definition PolicyItem.h:49
const Aws::String & GetPolicyId() const
Definition PolicyItem.h:67
PolicyItem & WithResource(ResourceT &&value)
Definition PolicyItem.h:129
PolicyItem & WithPrincipal(PrincipalT &&value)
Definition PolicyItem.h:111
const EntityIdentifier & GetPrincipal() const
Definition PolicyItem.h:103
void SetLastUpdatedDate(LastUpdatedDateT &&value)
Definition PolicyItem.h:204
const Aws::Utils::DateTime & GetCreatedDate() const
Definition PolicyItem.h:183
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const
PolicyItem & WithPolicyStoreId(PolicyStoreIdT &&value)
Definition PolicyItem.h:57
PolicyItem & WithDefinition(DefinitionT &&value)
Definition PolicyItem.h:173
PolicyItem & WithActions(ActionsT &&value)
Definition PolicyItem.h:149
AWS_VERIFIEDPERMISSIONS_API PolicyItem()=default
PolicyItem & WithLastUpdatedDate(LastUpdatedDateT &&value)
Definition PolicyItem.h:209
PolicyItem & AddActions(ActionsT &&value)
Definition PolicyItem.h:154
const EntityIdentifier & GetResource() const
Definition PolicyItem.h:121
const PolicyDefinitionItem & GetDefinition() const
Definition PolicyItem.h:165
void SetCreatedDate(CreatedDateT &&value)
Definition PolicyItem.h:186
AWS_VERIFIEDPERMISSIONS_API PolicyItem & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ActionIdentifier > & GetActions() const
Definition PolicyItem.h:141
PolicyItem & WithCreatedDate(CreatedDateT &&value)
Definition PolicyItem.h:191
PolicyItem & WithPolicyId(PolicyIdT &&value)
Definition PolicyItem.h:75
const Aws::Utils::DateTime & GetLastUpdatedDate() const
Definition PolicyItem.h:201
PolicyItem & WithPolicyType(PolicyType value)
Definition PolicyItem.h:93
PolicyItem & WithEffect(PolicyEffect value)
Definition PolicyItem.h:226
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue