AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PolicyItem.h
1
6#pragma once
7#include <aws/verifiedpermissions/VerifiedPermissions_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/verifiedpermissions/model/PolicyType.h>
10#include <aws/verifiedpermissions/model/EntityIdentifier.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/verifiedpermissions/model/PolicyDefinitionItem.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/verifiedpermissions/model/PolicyEffect.h>
15#include <aws/verifiedpermissions/model/ActionIdentifier.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace VerifiedPermissions
29{
30namespace Model
31{
32
42 {
43 public:
44 AWS_VERIFIEDPERMISSIONS_API PolicyItem() = default;
45 AWS_VERIFIEDPERMISSIONS_API PolicyItem(Aws::Utils::Json::JsonView jsonValue);
46 AWS_VERIFIEDPERMISSIONS_API PolicyItem& operator=(Aws::Utils::Json::JsonView jsonValue);
47 AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
48
49
51
55 inline const Aws::String& GetPolicyStoreId() const { return m_policyStoreId; }
56 inline bool PolicyStoreIdHasBeenSet() const { return m_policyStoreIdHasBeenSet; }
57 template<typename PolicyStoreIdT = Aws::String>
58 void SetPolicyStoreId(PolicyStoreIdT&& value) { m_policyStoreIdHasBeenSet = true; m_policyStoreId = std::forward<PolicyStoreIdT>(value); }
59 template<typename PolicyStoreIdT = Aws::String>
60 PolicyItem& WithPolicyStoreId(PolicyStoreIdT&& value) { SetPolicyStoreId(std::forward<PolicyStoreIdT>(value)); return *this;}
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) { m_policyIdHasBeenSet = true; m_policyId = std::forward<PolicyIdT>(value); }
71 template<typename PolicyIdT = Aws::String>
72 PolicyItem& WithPolicyId(PolicyIdT&& value) { SetPolicyId(std::forward<PolicyIdT>(value)); return *this;}
74
76
81 inline PolicyType GetPolicyType() const { return m_policyType; }
82 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
83 inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
84 inline PolicyItem& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;}
86
88
91 inline const EntityIdentifier& GetPrincipal() const { return m_principal; }
92 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
93 template<typename PrincipalT = EntityIdentifier>
94 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet = true; m_principal = std::forward<PrincipalT>(value); }
95 template<typename PrincipalT = EntityIdentifier>
96 PolicyItem& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward<PrincipalT>(value)); return *this;}
98
100
103 inline const EntityIdentifier& GetResource() const { return m_resource; }
104 inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
105 template<typename ResourceT = EntityIdentifier>
106 void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward<ResourceT>(value); }
107 template<typename ResourceT = EntityIdentifier>
108 PolicyItem& WithResource(ResourceT&& value) { SetResource(std::forward<ResourceT>(value)); return *this;}
110
112
117 inline const Aws::Vector<ActionIdentifier>& GetActions() const { return m_actions; }
118 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
119 template<typename ActionsT = Aws::Vector<ActionIdentifier>>
120 void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward<ActionsT>(value); }
121 template<typename ActionsT = Aws::Vector<ActionIdentifier>>
122 PolicyItem& WithActions(ActionsT&& value) { SetActions(std::forward<ActionsT>(value)); return *this;}
123 template<typename ActionsT = ActionIdentifier>
124 PolicyItem& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward<ActionsT>(value)); return *this; }
126
128
131 inline const PolicyDefinitionItem& GetDefinition() const { return m_definition; }
132 inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; }
133 template<typename DefinitionT = PolicyDefinitionItem>
134 void SetDefinition(DefinitionT&& value) { m_definitionHasBeenSet = true; m_definition = std::forward<DefinitionT>(value); }
135 template<typename DefinitionT = PolicyDefinitionItem>
136 PolicyItem& WithDefinition(DefinitionT&& value) { SetDefinition(std::forward<DefinitionT>(value)); return *this;}
138
140
143 inline const Aws::Utils::DateTime& GetCreatedDate() const { return m_createdDate; }
144 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
145 template<typename CreatedDateT = Aws::Utils::DateTime>
146 void SetCreatedDate(CreatedDateT&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::forward<CreatedDateT>(value); }
147 template<typename CreatedDateT = Aws::Utils::DateTime>
148 PolicyItem& WithCreatedDate(CreatedDateT&& value) { SetCreatedDate(std::forward<CreatedDateT>(value)); return *this;}
150
152
155 inline const Aws::Utils::DateTime& GetLastUpdatedDate() const { return m_lastUpdatedDate; }
156 inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; }
157 template<typename LastUpdatedDateT = Aws::Utils::DateTime>
158 void SetLastUpdatedDate(LastUpdatedDateT&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::forward<LastUpdatedDateT>(value); }
159 template<typename LastUpdatedDateT = Aws::Utils::DateTime>
160 PolicyItem& WithLastUpdatedDate(LastUpdatedDateT&& value) { SetLastUpdatedDate(std::forward<LastUpdatedDateT>(value)); return *this;}
162
164
168 inline PolicyEffect GetEffect() const { return m_effect; }
169 inline bool EffectHasBeenSet() const { return m_effectHasBeenSet; }
170 inline void SetEffect(PolicyEffect value) { m_effectHasBeenSet = true; m_effect = value; }
171 inline PolicyItem& WithEffect(PolicyEffect value) { SetEffect(value); return *this;}
173 private:
174
175 Aws::String m_policyStoreId;
176 bool m_policyStoreIdHasBeenSet = false;
177
178 Aws::String m_policyId;
179 bool m_policyIdHasBeenSet = false;
180
181 PolicyType m_policyType{PolicyType::NOT_SET};
182 bool m_policyTypeHasBeenSet = false;
183
184 EntityIdentifier m_principal;
185 bool m_principalHasBeenSet = false;
186
187 EntityIdentifier m_resource;
188 bool m_resourceHasBeenSet = false;
189
191 bool m_actionsHasBeenSet = false;
192
193 PolicyDefinitionItem m_definition;
194 bool m_definitionHasBeenSet = false;
195
196 Aws::Utils::DateTime m_createdDate{};
197 bool m_createdDateHasBeenSet = false;
198
199 Aws::Utils::DateTime m_lastUpdatedDate{};
200 bool m_lastUpdatedDateHasBeenSet = false;
201
203 bool m_effectHasBeenSet = false;
204 };
205
206} // namespace Model
207} // namespace VerifiedPermissions
208} // namespace Aws
void SetPolicyStoreId(PolicyStoreIdT &&value)
Definition PolicyItem.h:58
AWS_VERIFIEDPERMISSIONS_API PolicyItem(Aws::Utils::Json::JsonView jsonValue)
void SetDefinition(DefinitionT &&value)
Definition PolicyItem.h:134
const Aws::String & GetPolicyStoreId() const
Definition PolicyItem.h:55
const Aws::String & GetPolicyId() const
Definition PolicyItem.h:67
PolicyItem & WithResource(ResourceT &&value)
Definition PolicyItem.h:108
void SetPrincipal(PrincipalT &&value)
Definition PolicyItem.h:94
PolicyItem & WithPrincipal(PrincipalT &&value)
Definition PolicyItem.h:96
const EntityIdentifier & GetPrincipal() const
Definition PolicyItem.h:91
void SetLastUpdatedDate(LastUpdatedDateT &&value)
Definition PolicyItem.h:158
const Aws::Utils::DateTime & GetCreatedDate() const
Definition PolicyItem.h:143
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const
PolicyItem & WithPolicyStoreId(PolicyStoreIdT &&value)
Definition PolicyItem.h:60
PolicyItem & WithDefinition(DefinitionT &&value)
Definition PolicyItem.h:136
PolicyItem & WithActions(ActionsT &&value)
Definition PolicyItem.h:122
AWS_VERIFIEDPERMISSIONS_API PolicyItem()=default
PolicyItem & WithLastUpdatedDate(LastUpdatedDateT &&value)
Definition PolicyItem.h:160
PolicyItem & AddActions(ActionsT &&value)
Definition PolicyItem.h:124
const EntityIdentifier & GetResource() const
Definition PolicyItem.h:103
const PolicyDefinitionItem & GetDefinition() const
Definition PolicyItem.h:131
void SetCreatedDate(CreatedDateT &&value)
Definition PolicyItem.h:146
AWS_VERIFIEDPERMISSIONS_API PolicyItem & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ActionIdentifier > & GetActions() const
Definition PolicyItem.h:117
PolicyItem & WithCreatedDate(CreatedDateT &&value)
Definition PolicyItem.h:148
PolicyItem & WithPolicyId(PolicyIdT &&value)
Definition PolicyItem.h:72
const Aws::Utils::DateTime & GetLastUpdatedDate() const
Definition PolicyItem.h:155
PolicyItem & WithPolicyType(PolicyType value)
Definition PolicyItem.h:84
PolicyItem & WithEffect(PolicyEffect value)
Definition PolicyItem.h:171
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue