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/Tag.h>
55 template <
typename PolicyNameT = Aws::String>
57 m_policyNameHasBeenSet =
true;
58 m_policyName = std::forward<PolicyNameT>(value);
60 template <
typename PolicyNameT = Aws::String>
76 template <
typename PolicyIdT = Aws::String>
78 m_policyIdHasBeenSet =
true;
79 m_policyId = std::forward<PolicyIdT>(value);
81 template <
typename PolicyIdT = Aws::String>
92 template <
typename ArnT = Aws::String>
94 m_arnHasBeenSet =
true;
95 m_arn = std::forward<ArnT>(value);
97 template <
typename ArnT = Aws::String>
99 SetArn(std::forward<ArnT>(value));
112 template <
typename PathT = Aws::String>
114 m_pathHasBeenSet =
true;
115 m_path = std::forward<PathT>(value);
117 template <
typename PathT = Aws::String>
119 SetPath(std::forward<PathT>(value));
131 template <
typename DefaultVersionIdT = Aws::String>
133 m_defaultVersionIdHasBeenSet =
true;
134 m_defaultVersionId = std::forward<DefaultVersionIdT>(value);
136 template <
typename DefaultVersionIdT = Aws::String>
151 m_attachmentCountHasBeenSet =
true;
152 m_attachmentCount = value;
171 m_permissionsBoundaryUsageCountHasBeenSet =
true;
172 m_permissionsBoundaryUsageCount = value;
188 m_isAttachableHasBeenSet =
true;
189 m_isAttachable = value;
208 template <
typename DescriptionT = Aws::String>
210 m_descriptionHasBeenSet =
true;
211 m_description = std::forward<DescriptionT>(value);
213 template <
typename DescriptionT = Aws::String>
227 template <
typename CreateDateT = Aws::Utils::DateTime>
229 m_createDateHasBeenSet =
true;
230 m_createDate = std::forward<CreateDateT>(value);
232 template <
typename CreateDateT = Aws::Utils::DateTime>
249 template <
typename UpdateDateT = Aws::Utils::DateTime>
251 m_updateDateHasBeenSet =
true;
252 m_updateDate = std::forward<UpdateDateT>(value);
254 template <
typename UpdateDateT = Aws::Utils::DateTime>
270 template <
typename TagsT = Aws::Vector<Tag>>
272 m_tagsHasBeenSet =
true;
273 m_tags = std::forward<TagsT>(value);
275 template <
typename TagsT = Aws::Vector<Tag>>
277 SetTags(std::forward<TagsT>(value));
280 template <
typename TagsT = Tag>
282 m_tagsHasBeenSet =
true;
283 m_tags.emplace_back(std::forward<TagsT>(value));
298 int m_attachmentCount{0};
300 int m_permissionsBoundaryUsageCount{0};
302 bool m_isAttachable{
false};
311 bool m_policyNameHasBeenSet =
false;
312 bool m_policyIdHasBeenSet =
false;
313 bool m_arnHasBeenSet =
false;
314 bool m_pathHasBeenSet =
false;
315 bool m_defaultVersionIdHasBeenSet =
false;
316 bool m_attachmentCountHasBeenSet =
false;
317 bool m_permissionsBoundaryUsageCountHasBeenSet =
false;
318 bool m_isAttachableHasBeenSet =
false;
319 bool m_descriptionHasBeenSet =
false;
320 bool m_createDateHasBeenSet =
false;
321 bool m_updateDateHasBeenSet =
false;
322 bool m_tagsHasBeenSet =
false;
void SetCreateDate(CreateDateT &&value)
Policy & WithPermissionsBoundaryUsageCount(int value)
int GetAttachmentCount() const
void SetDescription(DescriptionT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetDefaultVersionId() const
Policy & WithTags(TagsT &&value)
Policy & WithPath(PathT &&value)
Policy & WithIsAttachable(bool value)
const Aws::String & GetPolicyName() const
bool PermissionsBoundaryUsageCountHasBeenSet() const
bool GetIsAttachable() const
const Aws::Utils::DateTime & GetUpdateDate() const
bool PolicyNameHasBeenSet() const
Policy & WithPolicyId(PolicyIdT &&value)
AWS_IAM_API Policy & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetPolicyName(PolicyNameT &&value)
bool PathHasBeenSet() const
bool CreateDateHasBeenSet() const
bool DefaultVersionIdHasBeenSet() const
void SetPolicyId(PolicyIdT &&value)
bool UpdateDateHasBeenSet() const
void SetDefaultVersionId(DefaultVersionIdT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Policy & WithDefaultVersionId(DefaultVersionIdT &&value)
Policy & WithArn(ArnT &&value)
void SetAttachmentCount(int value)
bool TagsHasBeenSet() const
void SetTags(TagsT &&value)
Policy & WithAttachmentCount(int value)
void SetArn(ArnT &&value)
AWS_IAM_API Policy(const Aws::Utils::Xml::XmlNode &xmlNode)
bool ArnHasBeenSet() const
void SetPermissionsBoundaryUsageCount(int value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetPath(PathT &&value)
void SetUpdateDate(UpdateDateT &&value)
Policy & WithDescription(DescriptionT &&value)
Policy & WithPolicyName(PolicyNameT &&value)
bool DescriptionHasBeenSet() const
int GetPermissionsBoundaryUsageCount() const
Policy & WithCreateDate(CreateDateT &&value)
const Aws::String & GetDescription() const
AWS_IAM_API Policy()=default
const Aws::String & GetPolicyId() const
void SetIsAttachable(bool value)
bool PolicyIdHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
Policy & AddTags(TagsT &&value)
bool AttachmentCountHasBeenSet() const
const Aws::String & GetArn() const
Policy & WithUpdateDate(UpdateDateT &&value)
const Aws::String & GetPath() const
bool IsAttachableHasBeenSet() const
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