AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
ManagedPolicyDetail.h
1
6#pragma once
7#include <aws/core/utils/DateTime.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/PolicyVersion.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace IAM {
23namespace Model {
24
39 public:
40 AWS_IAM_API ManagedPolicyDetail() = default;
41 AWS_IAM_API ManagedPolicyDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
48
51 inline const Aws::String& GetPolicyName() const { return m_policyName; }
52 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
53 template <typename PolicyNameT = Aws::String>
54 void SetPolicyName(PolicyNameT&& value) {
55 m_policyNameHasBeenSet = true;
56 m_policyName = std::forward<PolicyNameT>(value);
57 }
58 template <typename PolicyNameT = Aws::String>
59 ManagedPolicyDetail& WithPolicyName(PolicyNameT&& value) {
60 SetPolicyName(std::forward<PolicyNameT>(value));
61 return *this;
62 }
64
66
72 inline const Aws::String& GetPolicyId() const { return m_policyId; }
73 inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; }
74 template <typename PolicyIdT = Aws::String>
75 void SetPolicyId(PolicyIdT&& value) {
76 m_policyIdHasBeenSet = true;
77 m_policyId = std::forward<PolicyIdT>(value);
78 }
79 template <typename PolicyIdT = Aws::String>
80 ManagedPolicyDetail& WithPolicyId(PolicyIdT&& value) {
81 SetPolicyId(std::forward<PolicyIdT>(value));
82 return *this;
83 }
85
87
88 inline const Aws::String& GetArn() const { return m_arn; }
89 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
90 template <typename ArnT = Aws::String>
91 void SetArn(ArnT&& value) {
92 m_arnHasBeenSet = true;
93 m_arn = std::forward<ArnT>(value);
94 }
95 template <typename ArnT = Aws::String>
97 SetArn(std::forward<ArnT>(value));
98 return *this;
99 }
101
103
108 inline const Aws::String& GetPath() const { return m_path; }
109 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
110 template <typename PathT = Aws::String>
111 void SetPath(PathT&& value) {
112 m_pathHasBeenSet = true;
113 m_path = std::forward<PathT>(value);
114 }
115 template <typename PathT = Aws::String>
117 SetPath(std::forward<PathT>(value));
118 return *this;
119 }
121
123
129 inline const Aws::String& GetDefaultVersionId() const { return m_defaultVersionId; }
130 inline bool DefaultVersionIdHasBeenSet() const { return m_defaultVersionIdHasBeenSet; }
131 template <typename DefaultVersionIdT = Aws::String>
132 void SetDefaultVersionId(DefaultVersionIdT&& value) {
133 m_defaultVersionIdHasBeenSet = true;
134 m_defaultVersionId = std::forward<DefaultVersionIdT>(value);
135 }
136 template <typename DefaultVersionIdT = Aws::String>
137 ManagedPolicyDetail& WithDefaultVersionId(DefaultVersionIdT&& value) {
138 SetDefaultVersionId(std::forward<DefaultVersionIdT>(value));
139 return *this;
140 }
142
144
148 inline int GetAttachmentCount() const { return m_attachmentCount; }
149 inline bool AttachmentCountHasBeenSet() const { return m_attachmentCountHasBeenSet; }
150 inline void SetAttachmentCount(int value) {
151 m_attachmentCountHasBeenSet = true;
152 m_attachmentCount = value;
153 }
155 SetAttachmentCount(value);
156 return *this;
157 }
159
161
168 inline int GetPermissionsBoundaryUsageCount() const { return m_permissionsBoundaryUsageCount; }
169 inline bool PermissionsBoundaryUsageCountHasBeenSet() const { return m_permissionsBoundaryUsageCountHasBeenSet; }
170 inline void SetPermissionsBoundaryUsageCount(int value) {
171 m_permissionsBoundaryUsageCountHasBeenSet = true;
172 m_permissionsBoundaryUsageCount = value;
173 }
176 return *this;
177 }
179
181
185 inline bool GetIsAttachable() const { return m_isAttachable; }
186 inline bool IsAttachableHasBeenSet() const { return m_isAttachableHasBeenSet; }
187 inline void SetIsAttachable(bool value) {
188 m_isAttachableHasBeenSet = true;
189 m_isAttachable = value;
190 }
192 SetIsAttachable(value);
193 return *this;
194 }
196
198
201 inline const Aws::String& GetDescription() const { return m_description; }
202 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
203 template <typename DescriptionT = Aws::String>
204 void SetDescription(DescriptionT&& value) {
205 m_descriptionHasBeenSet = true;
206 m_description = std::forward<DescriptionT>(value);
207 }
208 template <typename DescriptionT = Aws::String>
209 ManagedPolicyDetail& WithDescription(DescriptionT&& value) {
210 SetDescription(std::forward<DescriptionT>(value));
211 return *this;
212 }
214
216
220 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
221 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
222 template <typename CreateDateT = Aws::Utils::DateTime>
223 void SetCreateDate(CreateDateT&& value) {
224 m_createDateHasBeenSet = true;
225 m_createDate = std::forward<CreateDateT>(value);
226 }
227 template <typename CreateDateT = Aws::Utils::DateTime>
228 ManagedPolicyDetail& WithCreateDate(CreateDateT&& value) {
229 SetCreateDate(std::forward<CreateDateT>(value));
230 return *this;
231 }
233
235
242 inline const Aws::Utils::DateTime& GetUpdateDate() const { return m_updateDate; }
243 inline bool UpdateDateHasBeenSet() const { return m_updateDateHasBeenSet; }
244 template <typename UpdateDateT = Aws::Utils::DateTime>
245 void SetUpdateDate(UpdateDateT&& value) {
246 m_updateDateHasBeenSet = true;
247 m_updateDate = std::forward<UpdateDateT>(value);
248 }
249 template <typename UpdateDateT = Aws::Utils::DateTime>
250 ManagedPolicyDetail& WithUpdateDate(UpdateDateT&& value) {
251 SetUpdateDate(std::forward<UpdateDateT>(value));
252 return *this;
253 }
255
257
260 inline const Aws::Vector<PolicyVersion>& GetPolicyVersionList() const { return m_policyVersionList; }
261 inline bool PolicyVersionListHasBeenSet() const { return m_policyVersionListHasBeenSet; }
262 template <typename PolicyVersionListT = Aws::Vector<PolicyVersion>>
263 void SetPolicyVersionList(PolicyVersionListT&& value) {
264 m_policyVersionListHasBeenSet = true;
265 m_policyVersionList = std::forward<PolicyVersionListT>(value);
266 }
267 template <typename PolicyVersionListT = Aws::Vector<PolicyVersion>>
268 ManagedPolicyDetail& WithPolicyVersionList(PolicyVersionListT&& value) {
269 SetPolicyVersionList(std::forward<PolicyVersionListT>(value));
270 return *this;
271 }
272 template <typename PolicyVersionListT = PolicyVersion>
273 ManagedPolicyDetail& AddPolicyVersionList(PolicyVersionListT&& value) {
274 m_policyVersionListHasBeenSet = true;
275 m_policyVersionList.emplace_back(std::forward<PolicyVersionListT>(value));
276 return *this;
277 }
279 private:
280 Aws::String m_policyName;
281
282 Aws::String m_policyId;
283
284 Aws::String m_arn;
285
286 Aws::String m_path;
287
288 Aws::String m_defaultVersionId;
289
290 int m_attachmentCount{0};
291
292 int m_permissionsBoundaryUsageCount{0};
293
294 bool m_isAttachable{false};
295
296 Aws::String m_description;
297
298 Aws::Utils::DateTime m_createDate{};
299
300 Aws::Utils::DateTime m_updateDate{};
301
302 Aws::Vector<PolicyVersion> m_policyVersionList;
303 bool m_policyNameHasBeenSet = false;
304 bool m_policyIdHasBeenSet = false;
305 bool m_arnHasBeenSet = false;
306 bool m_pathHasBeenSet = false;
307 bool m_defaultVersionIdHasBeenSet = false;
308 bool m_attachmentCountHasBeenSet = false;
309 bool m_permissionsBoundaryUsageCountHasBeenSet = false;
310 bool m_isAttachableHasBeenSet = false;
311 bool m_descriptionHasBeenSet = false;
312 bool m_createDateHasBeenSet = false;
313 bool m_updateDateHasBeenSet = false;
314 bool m_policyVersionListHasBeenSet = false;
315};
316
317} // namespace Model
318} // namespace IAM
319} // namespace Aws
ManagedPolicyDetail & WithDefaultVersionId(DefaultVersionIdT &&value)
void SetDefaultVersionId(DefaultVersionIdT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ManagedPolicyDetail & WithCreateDate(CreateDateT &&value)
AWS_IAM_API ManagedPolicyDetail()=default
ManagedPolicyDetail & WithPolicyName(PolicyNameT &&value)
const Aws::String & GetDescription() const
ManagedPolicyDetail & WithPolicyId(PolicyIdT &&value)
const Aws::Vector< PolicyVersion > & GetPolicyVersionList() const
ManagedPolicyDetail & AddPolicyVersionList(PolicyVersionListT &&value)
ManagedPolicyDetail & WithArn(ArnT &&value)
const Aws::Utils::DateTime & GetUpdateDate() const
AWS_IAM_API ManagedPolicyDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetDefaultVersionId() const
void SetDescription(DescriptionT &&value)
const Aws::String & GetPolicyId() const
ManagedPolicyDetail & WithPath(PathT &&value)
void SetPolicyVersionList(PolicyVersionListT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
ManagedPolicyDetail & WithPolicyVersionList(PolicyVersionListT &&value)
ManagedPolicyDetail & WithIsAttachable(bool value)
ManagedPolicyDetail & WithUpdateDate(UpdateDateT &&value)
ManagedPolicyDetail & WithAttachmentCount(int value)
ManagedPolicyDetail & WithPermissionsBoundaryUsageCount(int value)
void SetPolicyName(PolicyNameT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetPolicyName() const
AWS_IAM_API ManagedPolicyDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ManagedPolicyDetail & WithDescription(DescriptionT &&value)
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