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/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/iam/model/PolicyVersion.h>
59 template<
typename PolicyNameT = Aws::String>
60 void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet =
true; m_policyName = std::forward<PolicyNameT>(value); }
61 template<
typename PolicyNameT = Aws::String>
74 template<
typename PolicyIdT = Aws::String>
75 void SetPolicyId(PolicyIdT&& value) { m_policyIdHasBeenSet =
true; m_policyId = std::forward<PolicyIdT>(value); }
76 template<
typename PolicyIdT = Aws::String>
84 template<
typename ArnT = Aws::String>
85 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
86 template<
typename ArnT = Aws::String>
98 template<
typename PathT = Aws::String>
99 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
100 template<
typename PathT = Aws::String>
113 template<
typename DefaultVersionIdT = Aws::String>
114 void SetDefaultVersionId(DefaultVersionIdT&& value) { m_defaultVersionIdHasBeenSet =
true; m_defaultVersionId = std::forward<DefaultVersionIdT>(value); }
115 template<
typename DefaultVersionIdT = Aws::String>
126 inline void SetAttachmentCount(
int value) { m_attachmentCountHasBeenSet =
true; m_attachmentCount = value; }
151 inline void SetIsAttachable(
bool value) { m_isAttachableHasBeenSet =
true; m_isAttachable = value; }
161 template<
typename DescriptionT = Aws::String>
162 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
163 template<
typename DescriptionT = Aws::String>
174 template<
typename CreateDateT = Aws::Utils::DateTime>
175 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
176 template<
typename CreateDateT = Aws::Utils::DateTime>
190 template<
typename UpdateDateT = Aws::Utils::DateTime>
191 void SetUpdateDate(UpdateDateT&& value) { m_updateDateHasBeenSet =
true; m_updateDate = std::forward<UpdateDateT>(value); }
192 template<
typename UpdateDateT = Aws::Utils::DateTime>
202 template<
typename PolicyVersionListT = Aws::Vector<PolicyVersion>>
203 void SetPolicyVersionList(PolicyVersionListT&& value) { m_policyVersionListHasBeenSet =
true; m_policyVersionList = std::forward<PolicyVersionListT>(value); }
204 template<
typename PolicyVersionListT = Aws::Vector<PolicyVersion>>
206 template<
typename PolicyVersionListT = PolicyVersion>
212 bool m_policyNameHasBeenSet =
false;
215 bool m_policyIdHasBeenSet =
false;
218 bool m_arnHasBeenSet =
false;
221 bool m_pathHasBeenSet =
false;
224 bool m_defaultVersionIdHasBeenSet =
false;
226 int m_attachmentCount{0};
227 bool m_attachmentCountHasBeenSet =
false;
229 int m_permissionsBoundaryUsageCount{0};
230 bool m_permissionsBoundaryUsageCountHasBeenSet =
false;
232 bool m_isAttachable{
false};
233 bool m_isAttachableHasBeenSet =
false;
236 bool m_descriptionHasBeenSet =
false;
239 bool m_createDateHasBeenSet =
false;
242 bool m_updateDateHasBeenSet =
false;
245 bool m_policyVersionListHasBeenSet =
false;
bool CreateDateHasBeenSet() const
void SetArn(ArnT &&value)
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
void SetCreateDate(CreateDateT &&value)
ManagedPolicyDetail & WithCreateDate(CreateDateT &&value)
bool DescriptionHasBeenSet() const
const Aws::String & GetPath() const
const Aws::String & GetArn() const
bool AttachmentCountHasBeenSet() const
AWS_IAM_API ManagedPolicyDetail()=default
ManagedPolicyDetail & WithPolicyName(PolicyNameT &&value)
const Aws::String & GetDescription() const
ManagedPolicyDetail & WithPolicyId(PolicyIdT &&value)
const Aws::Vector< PolicyVersion > & GetPolicyVersionList() const
bool DefaultVersionIdHasBeenSet() 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 SetIsAttachable(bool value)
bool UpdateDateHasBeenSet() const
int GetAttachmentCount() const
void SetDescription(DescriptionT &&value)
void SetAttachmentCount(int value)
bool GetIsAttachable() const
const Aws::String & GetPolicyId() const
void SetPermissionsBoundaryUsageCount(int value)
bool IsAttachableHasBeenSet() const
ManagedPolicyDetail & WithPath(PathT &&value)
bool PolicyNameHasBeenSet() const
bool PermissionsBoundaryUsageCountHasBeenSet() const
void SetPolicyVersionList(PolicyVersionListT &&value)
void SetPolicyId(PolicyIdT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
bool ArnHasBeenSet() const
void SetPath(PathT &&value)
void SetUpdateDate(UpdateDateT &&value)
ManagedPolicyDetail & WithPolicyVersionList(PolicyVersionListT &&value)
ManagedPolicyDetail & WithIsAttachable(bool value)
bool PathHasBeenSet() const
ManagedPolicyDetail & WithUpdateDate(UpdateDateT &&value)
bool PolicyIdHasBeenSet() const
int GetPermissionsBoundaryUsageCount() const
ManagedPolicyDetail & WithAttachmentCount(int value)
ManagedPolicyDetail & WithPermissionsBoundaryUsageCount(int value)
bool PolicyVersionListHasBeenSet() const
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