AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GroupDetail.h
1
6#pragma once
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/PolicyDetail.h>
13#include <aws/iam/model/AttachedPolicy.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace IAM
26{
27namespace Model
28{
29
39 {
40 public:
41 AWS_IAM_API GroupDetail() = default;
42 AWS_IAM_API GroupDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
43 AWS_IAM_API GroupDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
44
45 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
47
48
50
55 inline const Aws::String& GetPath() const { return m_path; }
56 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
57 template<typename PathT = Aws::String>
58 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
59 template<typename PathT = Aws::String>
60 GroupDetail& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
62
64
67 inline const Aws::String& GetGroupName() const { return m_groupName; }
68 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
69 template<typename GroupNameT = Aws::String>
70 void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward<GroupNameT>(value); }
71 template<typename GroupNameT = Aws::String>
72 GroupDetail& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward<GroupNameT>(value)); return *this;}
74
76
82 inline const Aws::String& GetGroupId() const { return m_groupId; }
83 inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; }
84 template<typename GroupIdT = Aws::String>
85 void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet = true; m_groupId = std::forward<GroupIdT>(value); }
86 template<typename GroupIdT = Aws::String>
87 GroupDetail& WithGroupId(GroupIdT&& value) { SetGroupId(std::forward<GroupIdT>(value)); return *this;}
89
91
92 inline const Aws::String& GetArn() const { return m_arn; }
93 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
94 template<typename ArnT = Aws::String>
95 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
96 template<typename ArnT = Aws::String>
97 GroupDetail& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
99
101
105 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
106 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
107 template<typename CreateDateT = Aws::Utils::DateTime>
108 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet = true; m_createDate = std::forward<CreateDateT>(value); }
109 template<typename CreateDateT = Aws::Utils::DateTime>
110 GroupDetail& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
112
114
117 inline const Aws::Vector<PolicyDetail>& GetGroupPolicyList() const { return m_groupPolicyList; }
118 inline bool GroupPolicyListHasBeenSet() const { return m_groupPolicyListHasBeenSet; }
119 template<typename GroupPolicyListT = Aws::Vector<PolicyDetail>>
120 void SetGroupPolicyList(GroupPolicyListT&& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList = std::forward<GroupPolicyListT>(value); }
121 template<typename GroupPolicyListT = Aws::Vector<PolicyDetail>>
122 GroupDetail& WithGroupPolicyList(GroupPolicyListT&& value) { SetGroupPolicyList(std::forward<GroupPolicyListT>(value)); return *this;}
123 template<typename GroupPolicyListT = PolicyDetail>
124 GroupDetail& AddGroupPolicyList(GroupPolicyListT&& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList.emplace_back(std::forward<GroupPolicyListT>(value)); return *this; }
126
128
131 inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
132 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
133 template<typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
134 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value); }
135 template<typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
136 GroupDetail& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value)); return *this;}
137 template<typename AttachedManagedPoliciesT = AttachedPolicy>
138 GroupDetail& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value)); return *this; }
140 private:
141
142 Aws::String m_path;
143 bool m_pathHasBeenSet = false;
144
145 Aws::String m_groupName;
146 bool m_groupNameHasBeenSet = false;
147
148 Aws::String m_groupId;
149 bool m_groupIdHasBeenSet = false;
150
151 Aws::String m_arn;
152 bool m_arnHasBeenSet = false;
153
154 Aws::Utils::DateTime m_createDate{};
155 bool m_createDateHasBeenSet = false;
156
157 Aws::Vector<PolicyDetail> m_groupPolicyList;
158 bool m_groupPolicyListHasBeenSet = false;
159
160 Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
161 bool m_attachedManagedPoliciesHasBeenSet = false;
162 };
163
164} // namespace Model
165} // namespace IAM
166} // namespace Aws
void SetPath(PathT &&value)
Definition GroupDetail.h:58
const Aws::String & GetGroupName() const
Definition GroupDetail.h:67
const Aws::String & GetGroupId() const
Definition GroupDetail.h:82
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool AttachedManagedPoliciesHasBeenSet() const
const Aws::String & GetArn() const
Definition GroupDetail.h:92
GroupDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_IAM_API GroupDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetCreateDate(CreateDateT &&value)
GroupDetail & WithGroupId(GroupIdT &&value)
Definition GroupDetail.h:87
GroupDetail & WithPath(PathT &&value)
Definition GroupDetail.h:60
GroupDetail & WithCreateDate(CreateDateT &&value)
void SetGroupName(GroupNameT &&value)
Definition GroupDetail.h:70
void SetGroupPolicyList(GroupPolicyListT &&value)
bool GroupPolicyListHasBeenSet() const
AWS_IAM_API GroupDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
GroupDetail & WithArn(ArnT &&value)
Definition GroupDetail.h:97
GroupDetail & WithGroupPolicyList(GroupPolicyListT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
GroupDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
GroupDetail & AddGroupPolicyList(GroupPolicyListT &&value)
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
void SetGroupId(GroupIdT &&value)
Definition GroupDetail.h:85
void SetArn(ArnT &&value)
Definition GroupDetail.h:95
const Aws::Vector< PolicyDetail > & GetGroupPolicyList() const
const Aws::String & GetPath() const
Definition GroupDetail.h:55
AWS_IAM_API GroupDetail()=default
GroupDetail & WithGroupName(GroupNameT &&value)
Definition GroupDetail.h:72
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