AWS SDK for C++  0.12.9
AWS SDK for C++
Policy.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>
20 
21 namespace Aws
22 {
23 namespace Utils
24 {
25 namespace Xml
26 {
27  class XmlNode;
28 } // namespace Xml
29 } // namespace Utils
30 namespace IAM
31 {
32 namespace Model
33 {
34 
44  {
45  public:
46  Policy();
47  Policy(const Aws::Utils::Xml::XmlNode& xmlNode);
48  Policy& 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 
56  inline const Aws::String& GetPolicyName() const{ return m_policyName; }
57 
61  inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
62 
66  inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
67 
71  inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
72 
76  inline Policy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
77 
81  inline Policy& WithPolicyName(Aws::String&& value) { SetPolicyName(value); return *this;}
82 
86  inline Policy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
87 
94  inline const Aws::String& GetPolicyId() const{ return m_policyId; }
95 
102  inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; }
103 
110  inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = value; }
111 
118  inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); }
119 
126  inline Policy& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;}
127 
134  inline Policy& WithPolicyId(Aws::String&& value) { SetPolicyId(value); return *this;}
135 
142  inline Policy& WithPolicyId(const char* value) { SetPolicyId(value); return *this;}
143 
144 
145  inline const Aws::String& GetArn() const{ return m_arn; }
146 
147 
148  inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
149 
150 
151  inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = value; }
152 
153 
154  inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
155 
156 
157  inline Policy& WithArn(const Aws::String& value) { SetArn(value); return *this;}
158 
159 
160  inline Policy& WithArn(Aws::String&& value) { SetArn(value); return *this;}
161 
162 
163  inline Policy& WithArn(const char* value) { SetArn(value); return *this;}
164 
170  inline const Aws::String& GetPath() const{ return m_path; }
171 
177  inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
178 
184  inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = value; }
185 
191  inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
192 
198  inline Policy& WithPath(const Aws::String& value) { SetPath(value); return *this;}
199 
205  inline Policy& WithPath(Aws::String&& value) { SetPath(value); return *this;}
206 
212  inline Policy& WithPath(const char* value) { SetPath(value); return *this;}
213 
218  inline const Aws::String& GetDefaultVersionId() const{ return m_defaultVersionId; }
219 
224  inline void SetDefaultVersionId(const Aws::String& value) { m_defaultVersionIdHasBeenSet = true; m_defaultVersionId = value; }
225 
230  inline void SetDefaultVersionId(Aws::String&& value) { m_defaultVersionIdHasBeenSet = true; m_defaultVersionId = value; }
231 
236  inline void SetDefaultVersionId(const char* value) { m_defaultVersionIdHasBeenSet = true; m_defaultVersionId.assign(value); }
237 
242  inline Policy& WithDefaultVersionId(const Aws::String& value) { SetDefaultVersionId(value); return *this;}
243 
248  inline Policy& WithDefaultVersionId(Aws::String&& value) { SetDefaultVersionId(value); return *this;}
249 
254  inline Policy& WithDefaultVersionId(const char* value) { SetDefaultVersionId(value); return *this;}
255 
260  inline long GetAttachmentCount() const{ return m_attachmentCount; }
261 
266  inline void SetAttachmentCount(long value) { m_attachmentCountHasBeenSet = true; m_attachmentCount = value; }
267 
272  inline Policy& WithAttachmentCount(long value) { SetAttachmentCount(value); return *this;}
273 
278  inline bool GetIsAttachable() const{ return m_isAttachable; }
279 
284  inline void SetIsAttachable(bool value) { m_isAttachableHasBeenSet = true; m_isAttachable = value; }
285 
290  inline Policy& WithIsAttachable(bool value) { SetIsAttachable(value); return *this;}
291 
297  inline const Aws::String& GetDescription() const{ return m_description; }
298 
304  inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
305 
311  inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = value; }
312 
318  inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
319 
325  inline Policy& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
326 
332  inline Policy& WithDescription(Aws::String&& value) { SetDescription(value); return *this;}
333 
339  inline Policy& WithDescription(const char* value) { SetDescription(value); return *this;}
340 
345  inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; }
346 
351  inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; }
352 
357  inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = value; }
358 
363  inline Policy& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;}
364 
369  inline Policy& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(value); return *this;}
370 
378  inline const Aws::Utils::DateTime& GetUpdateDate() const{ return m_updateDate; }
379 
387  inline void SetUpdateDate(const Aws::Utils::DateTime& value) { m_updateDateHasBeenSet = true; m_updateDate = value; }
388 
396  inline void SetUpdateDate(Aws::Utils::DateTime&& value) { m_updateDateHasBeenSet = true; m_updateDate = value; }
397 
405  inline Policy& WithUpdateDate(const Aws::Utils::DateTime& value) { SetUpdateDate(value); return *this;}
406 
414  inline Policy& WithUpdateDate(Aws::Utils::DateTime&& value) { SetUpdateDate(value); return *this;}
415 
416  private:
417  Aws::String m_policyName;
418  bool m_policyNameHasBeenSet;
419  Aws::String m_policyId;
420  bool m_policyIdHasBeenSet;
421  Aws::String m_arn;
422  bool m_arnHasBeenSet;
423  Aws::String m_path;
424  bool m_pathHasBeenSet;
425  Aws::String m_defaultVersionId;
426  bool m_defaultVersionIdHasBeenSet;
427  long m_attachmentCount;
428  bool m_attachmentCountHasBeenSet;
429  bool m_isAttachable;
430  bool m_isAttachableHasBeenSet;
431  Aws::String m_description;
432  bool m_descriptionHasBeenSet;
433  Aws::Utils::DateTime m_createDate;
434  bool m_createDateHasBeenSet;
435  Aws::Utils::DateTime m_updateDate;
436  bool m_updateDateHasBeenSet;
437  };
438 
439 } // namespace Model
440 } // namespace IAM
441 } // namespace Aws
void SetPolicyName(const Aws::String &value)
Definition: Policy.h:61
void SetPolicyName(const char *value)
Definition: Policy.h:71
Policy & WithCreateDate(const Aws::Utils::DateTime &value)
Definition: Policy.h:363
Policy & WithArn(const char *value)
Definition: Policy.h:163
Policy & WithDescription(const char *value)
Definition: Policy.h:339
Policy & WithPolicyName(const Aws::String &value)
Definition: Policy.h:76
const Aws::String & GetDefaultVersionId() const
Definition: Policy.h:218
Policy & WithPath(const char *value)
Definition: Policy.h:212
void SetDescription(const Aws::String &value)
Definition: Policy.h:304
Policy & WithDescription(const Aws::String &value)
Definition: Policy.h:325
const Aws::Utils::DateTime & GetCreateDate() const
Definition: Policy.h:345
void SetUpdateDate(Aws::Utils::DateTime &&value)
Definition: Policy.h:396
void SetArn(Aws::String &&value)
Definition: Policy.h:151
const Aws::String & GetArn() const
Definition: Policy.h:145
Policy & WithPolicyId(const Aws::String &value)
Definition: Policy.h:126
const Aws::String & GetPolicyId() const
Definition: Policy.h:94
Policy & WithArn(Aws::String &&value)
Definition: Policy.h:160
Policy & WithDefaultVersionId(const Aws::String &value)
Definition: Policy.h:242
void SetUpdateDate(const Aws::Utils::DateTime &value)
Definition: Policy.h:387
Policy & WithDefaultVersionId(Aws::String &&value)
Definition: Policy.h:248
void SetDefaultVersionId(const Aws::String &value)
Definition: Policy.h:224
const Aws::String & GetDescription() const
Definition: Policy.h:297
Policy & WithDefaultVersionId(const char *value)
Definition: Policy.h:254
Policy & WithUpdateDate(Aws::Utils::DateTime &&value)
Definition: Policy.h:414
Policy & WithCreateDate(Aws::Utils::DateTime &&value)
Definition: Policy.h:369
Policy & WithIsAttachable(bool value)
Definition: Policy.h:290
const Aws::Utils::DateTime & GetUpdateDate() const
Definition: Policy.h:378
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetIsAttachable(bool value)
Definition: Policy.h:284
void SetPath(const Aws::String &value)
Definition: Policy.h:177
Policy & WithPolicyName(Aws::String &&value)
Definition: Policy.h:81
void SetPolicyId(const char *value)
Definition: Policy.h:118
void SetPath(Aws::String &&value)
Definition: Policy.h:184
Policy & WithPolicyName(const char *value)
Definition: Policy.h:86
void SetDefaultVersionId(Aws::String &&value)
Definition: Policy.h:230
void SetDescription(Aws::String &&value)
Definition: Policy.h:311
void SetArn(const char *value)
Definition: Policy.h:154
void SetPolicyId(const Aws::String &value)
Definition: Policy.h:102
void SetPolicyId(Aws::String &&value)
Definition: Policy.h:110
Policy & WithAttachmentCount(long value)
Definition: Policy.h:272
Policy & WithPath(const Aws::String &value)
Definition: Policy.h:198
long GetAttachmentCount() const
Definition: Policy.h:260
Policy & WithArn(const Aws::String &value)
Definition: Policy.h:157
void SetCreateDate(Aws::Utils::DateTime &&value)
Definition: Policy.h:357
Policy & WithPath(Aws::String &&value)
Definition: Policy.h:205
void SetCreateDate(const Aws::Utils::DateTime &value)
Definition: Policy.h:351
Policy & WithUpdateDate(const Aws::Utils::DateTime &value)
Definition: Policy.h:405
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::String & GetPolicyName() const
Definition: Policy.h:56
void SetPath(const char *value)
Definition: Policy.h:191
void SetAttachmentCount(long value)
Definition: Policy.h:266
#define AWS_IAM_API
Definition: IAM_EXPORTS.h:34
const Aws::String & GetPath() const
Definition: Policy.h:170
void SetDefaultVersionId(const char *value)
Definition: Policy.h:236
void SetArn(const Aws::String &value)
Definition: Policy.h:148
bool GetIsAttachable() const
Definition: Policy.h:278
Policy & WithPolicyId(const char *value)
Definition: Policy.h:142
Policy & WithPolicyId(Aws::String &&value)
Definition: Policy.h:134
void SetPolicyName(Aws::String &&value)
Definition: Policy.h:66
void SetDescription(const char *value)
Definition: Policy.h:318
Policy & WithDescription(Aws::String &&value)
Definition: Policy.h:332
JSON (JavaScript Object Notation).