AWS SDK for C++  0.14.3
AWS SDK for C++
GroupDetail.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/iam/IAM_EXPORTS.h>
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Xml
29 {
30  class XmlNode;
31 } // namespace Xml
32 } // namespace Utils
33 namespace IAM
34 {
35 namespace Model
36 {
37 
44  {
45  public:
46  GroupDetail();
47  GroupDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
48  GroupDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
49 
50  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51  void OutputToStream(Aws::OStream& oStream, const char* location) const;
52 
58  inline const Aws::String& GetPath() const{ return m_path; }
59 
65  inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
66 
72  inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = value; }
73 
79  inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
80 
86  inline GroupDetail& WithPath(const Aws::String& value) { SetPath(value); return *this;}
87 
93  inline GroupDetail& WithPath(Aws::String&& value) { SetPath(value); return *this;}
94 
100  inline GroupDetail& WithPath(const char* value) { SetPath(value); return *this;}
101 
105  inline const Aws::String& GetGroupName() const{ return m_groupName; }
106 
110  inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; }
111 
115  inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = value; }
116 
120  inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); }
121 
125  inline GroupDetail& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;}
126 
130  inline GroupDetail& WithGroupName(Aws::String&& value) { SetGroupName(value); return *this;}
131 
135  inline GroupDetail& WithGroupName(const char* value) { SetGroupName(value); return *this;}
136 
143  inline const Aws::String& GetGroupId() const{ return m_groupId; }
144 
151  inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; }
152 
159  inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = value; }
160 
167  inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); }
168 
175  inline GroupDetail& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;}
176 
183  inline GroupDetail& WithGroupId(Aws::String&& value) { SetGroupId(value); return *this;}
184 
191  inline GroupDetail& WithGroupId(const char* value) { SetGroupId(value); return *this;}
192 
193 
194  inline const Aws::String& GetArn() const{ return m_arn; }
195 
196 
197  inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
198 
199 
200  inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = value; }
201 
202 
203  inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
204 
205 
206  inline GroupDetail& WithArn(const Aws::String& value) { SetArn(value); return *this;}
207 
208 
209  inline GroupDetail& WithArn(Aws::String&& value) { SetArn(value); return *this;}
210 
211 
212  inline GroupDetail& WithArn(const char* value) { SetArn(value); return *this;}
213 
218  inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; }
219 
224  inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; }
225 
230  inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = value; }
231 
236  inline GroupDetail& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;}
237 
242  inline GroupDetail& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(value); return *this;}
243 
247  inline const Aws::Vector<PolicyDetail>& GetGroupPolicyList() const{ return m_groupPolicyList; }
248 
252  inline void SetGroupPolicyList(const Aws::Vector<PolicyDetail>& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList = value; }
253 
257  inline void SetGroupPolicyList(Aws::Vector<PolicyDetail>&& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList = value; }
258 
262  inline GroupDetail& WithGroupPolicyList(const Aws::Vector<PolicyDetail>& value) { SetGroupPolicyList(value); return *this;}
263 
267  inline GroupDetail& WithGroupPolicyList(Aws::Vector<PolicyDetail>&& value) { SetGroupPolicyList(value); return *this;}
268 
272  inline GroupDetail& AddGroupPolicyList(const PolicyDetail& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList.push_back(value); return *this; }
273 
277  inline GroupDetail& AddGroupPolicyList(PolicyDetail&& value) { m_groupPolicyListHasBeenSet = true; m_groupPolicyList.push_back(value); return *this; }
278 
282  inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const{ return m_attachedManagedPolicies; }
283 
287  inline void SetAttachedManagedPolicies(const Aws::Vector<AttachedPolicy>& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = value; }
288 
292  inline void SetAttachedManagedPolicies(Aws::Vector<AttachedPolicy>&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = value; }
293 
297  inline GroupDetail& WithAttachedManagedPolicies(const Aws::Vector<AttachedPolicy>& value) { SetAttachedManagedPolicies(value); return *this;}
298 
302  inline GroupDetail& WithAttachedManagedPolicies(Aws::Vector<AttachedPolicy>&& value) { SetAttachedManagedPolicies(value); return *this;}
303 
307  inline GroupDetail& AddAttachedManagedPolicies(const AttachedPolicy& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.push_back(value); return *this; }
308 
312  inline GroupDetail& AddAttachedManagedPolicies(AttachedPolicy&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.push_back(value); return *this; }
313 
314  private:
315  Aws::String m_path;
316  bool m_pathHasBeenSet;
317  Aws::String m_groupName;
318  bool m_groupNameHasBeenSet;
319  Aws::String m_groupId;
320  bool m_groupIdHasBeenSet;
321  Aws::String m_arn;
322  bool m_arnHasBeenSet;
323  Aws::Utils::DateTime m_createDate;
324  bool m_createDateHasBeenSet;
325  Aws::Vector<PolicyDetail> m_groupPolicyList;
326  bool m_groupPolicyListHasBeenSet;
327  Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
328  bool m_attachedManagedPoliciesHasBeenSet;
329  };
330 
331 } // namespace Model
332 } // namespace IAM
333 } // namespace Aws
void SetArn(Aws::String &&value)
Definition: GroupDetail.h:200
void SetGroupId(Aws::String &&value)
Definition: GroupDetail.h:159
void SetGroupName(const char *value)
Definition: GroupDetail.h:120
const Aws::String & GetGroupName() const
Definition: GroupDetail.h:105
GroupDetail & WithAttachedManagedPolicies(const Aws::Vector< AttachedPolicy > &value)
Definition: GroupDetail.h:297
void SetCreateDate(const Aws::Utils::DateTime &value)
Definition: GroupDetail.h:224
GroupDetail & WithGroupName(Aws::String &&value)
Definition: GroupDetail.h:130
void SetPath(const Aws::String &value)
Definition: GroupDetail.h:65
const Aws::String & GetArn() const
Definition: GroupDetail.h:194
void SetGroupId(const char *value)
Definition: GroupDetail.h:167
GroupDetail & AddAttachedManagedPolicies(const AttachedPolicy &value)
Definition: GroupDetail.h:307
const Aws::Utils::DateTime & GetCreateDate() const
Definition: GroupDetail.h:218
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetArn(const Aws::String &value)
Definition: GroupDetail.h:197
GroupDetail & WithPath(Aws::String &&value)
Definition: GroupDetail.h:93
void SetAttachedManagedPolicies(const Aws::Vector< AttachedPolicy > &value)
Definition: GroupDetail.h:287
GroupDetail & WithGroupId(const Aws::String &value)
Definition: GroupDetail.h:175
void SetGroupName(Aws::String &&value)
Definition: GroupDetail.h:115
GroupDetail & WithGroupName(const Aws::String &value)
Definition: GroupDetail.h:125
GroupDetail & WithPath(const char *value)
Definition: GroupDetail.h:100
GroupDetail & WithGroupId(const char *value)
Definition: GroupDetail.h:191
void SetArn(const char *value)
Definition: GroupDetail.h:203
void SetGroupPolicyList(Aws::Vector< PolicyDetail > &&value)
Definition: GroupDetail.h:257
GroupDetail & WithArn(const Aws::String &value)
Definition: GroupDetail.h:206
const Aws::String & GetGroupId() const
Definition: GroupDetail.h:143
void SetGroupName(const Aws::String &value)
Definition: GroupDetail.h:110
const Aws::String & GetPath() const
Definition: GroupDetail.h:58
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
const Aws::Vector< PolicyDetail > & GetGroupPolicyList() const
Definition: GroupDetail.h:247
GroupDetail & WithCreateDate(Aws::Utils::DateTime &&value)
Definition: GroupDetail.h:242
GroupDetail & WithArn(Aws::String &&value)
Definition: GroupDetail.h:209
void SetCreateDate(Aws::Utils::DateTime &&value)
Definition: GroupDetail.h:230
GroupDetail & WithArn(const char *value)
Definition: GroupDetail.h:212
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
Definition: GroupDetail.h:282
GroupDetail & AddGroupPolicyList(const PolicyDetail &value)
Definition: GroupDetail.h:272
void SetPath(const char *value)
Definition: GroupDetail.h:79
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
GroupDetail & WithGroupName(const char *value)
Definition: GroupDetail.h:135
GroupDetail & AddGroupPolicyList(PolicyDetail &&value)
Definition: GroupDetail.h:277
GroupDetail & AddAttachedManagedPolicies(AttachedPolicy &&value)
Definition: GroupDetail.h:312
void SetGroupId(const Aws::String &value)
Definition: GroupDetail.h:151
GroupDetail & WithPath(const Aws::String &value)
Definition: GroupDetail.h:86
GroupDetail & WithGroupId(Aws::String &&value)
Definition: GroupDetail.h:183
#define AWS_IAM_API
Definition: IAM_EXPORTS.h:37
void SetPath(Aws::String &&value)
Definition: GroupDetail.h:72
GroupDetail & WithAttachedManagedPolicies(Aws::Vector< AttachedPolicy > &&value)
Definition: GroupDetail.h:302
void SetGroupPolicyList(const Aws::Vector< PolicyDetail > &value)
Definition: GroupDetail.h:252
GroupDetail & WithGroupPolicyList(const Aws::Vector< PolicyDetail > &value)
Definition: GroupDetail.h:262
GroupDetail & WithCreateDate(const Aws::Utils::DateTime &value)
Definition: GroupDetail.h:236
GroupDetail & WithGroupPolicyList(Aws::Vector< PolicyDetail > &&value)
Definition: GroupDetail.h:267
JSON (JavaScript Object Notation).
void SetAttachedManagedPolicies(Aws::Vector< AttachedPolicy > &&value)
Definition: GroupDetail.h:292