AWS SDK for C++  0.14.3
AWS SDK for C++
Grantee.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/s3/S3_EXPORTS.h>
18 #include <aws/s3/model/Type.h>
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Xml
25 {
26  class XmlNode;
27 } // namespace Xml
28 } // namespace Utils
29 namespace S3
30 {
31 namespace Model
32 {
33 
35  {
36  public:
37  Grantee();
38  Grantee(const Aws::Utils::Xml::XmlNode& xmlNode);
39  Grantee& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42 
46  inline const Aws::String& GetDisplayName() const{ return m_displayName; }
47 
51  inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; }
52 
56  inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = value; }
57 
61  inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); }
62 
66  inline Grantee& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;}
67 
71  inline Grantee& WithDisplayName(Aws::String&& value) { SetDisplayName(value); return *this;}
72 
76  inline Grantee& WithDisplayName(const char* value) { SetDisplayName(value); return *this;}
77 
81  inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; }
82 
86  inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; }
87 
91  inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; }
92 
96  inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); }
97 
101  inline Grantee& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;}
102 
106  inline Grantee& WithEmailAddress(Aws::String&& value) { SetEmailAddress(value); return *this;}
107 
111  inline Grantee& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;}
112 
116  inline const Aws::String& GetID() const{ return m_iD; }
117 
121  inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; }
122 
126  inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = value; }
127 
131  inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); }
132 
136  inline Grantee& WithID(const Aws::String& value) { SetID(value); return *this;}
137 
141  inline Grantee& WithID(Aws::String&& value) { SetID(value); return *this;}
142 
146  inline Grantee& WithID(const char* value) { SetID(value); return *this;}
147 
151  inline const Type& GetType() const{ return m_type; }
152 
156  inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; }
157 
161  inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = value; }
162 
166  inline Grantee& WithType(const Type& value) { SetType(value); return *this;}
167 
171  inline Grantee& WithType(Type&& value) { SetType(value); return *this;}
172 
176  inline const Aws::String& GetURI() const{ return m_uRI; }
177 
181  inline void SetURI(const Aws::String& value) { m_uRIHasBeenSet = true; m_uRI = value; }
182 
186  inline void SetURI(Aws::String&& value) { m_uRIHasBeenSet = true; m_uRI = value; }
187 
191  inline void SetURI(const char* value) { m_uRIHasBeenSet = true; m_uRI.assign(value); }
192 
196  inline Grantee& WithURI(const Aws::String& value) { SetURI(value); return *this;}
197 
201  inline Grantee& WithURI(Aws::String&& value) { SetURI(value); return *this;}
202 
206  inline Grantee& WithURI(const char* value) { SetURI(value); return *this;}
207 
208  private:
209  Aws::String m_displayName;
210  bool m_displayNameHasBeenSet;
211  Aws::String m_emailAddress;
212  bool m_emailAddressHasBeenSet;
213  Aws::String m_iD;
214  bool m_iDHasBeenSet;
215  Type m_type;
216  bool m_typeHasBeenSet;
217  Aws::String m_uRI;
218  bool m_uRIHasBeenSet;
219  };
220 
221 } // namespace Model
222 } // namespace S3
223 } // namespace Aws
const Type & GetType() const
Definition: Grantee.h:151
void SetDisplayName(Aws::String &&value)
Definition: Grantee.h:56
Grantee & WithDisplayName(Aws::String &&value)
Definition: Grantee.h:71
Grantee & WithEmailAddress(const Aws::String &value)
Definition: Grantee.h:101
const Aws::String & GetEmailAddress() const
Definition: Grantee.h:81
Grantee & WithEmailAddress(const char *value)
Definition: Grantee.h:111
const Aws::String & GetURI() const
Definition: Grantee.h:176
void SetType(const Type &value)
Definition: Grantee.h:156
Grantee & WithDisplayName(const char *value)
Definition: Grantee.h:76
const Aws::String & GetID() const
Definition: Grantee.h:116
void SetID(const Aws::String &value)
Definition: Grantee.h:121
void SetEmailAddress(const Aws::String &value)
Definition: Grantee.h:86
#define AWS_S3_API
Definition: S3_EXPORTS.h:37
Grantee & WithID(const Aws::String &value)
Definition: Grantee.h:136
void SetID(Aws::String &&value)
Definition: Grantee.h:126
void SetURI(const Aws::String &value)
Definition: Grantee.h:181
void SetType(Type &&value)
Definition: Grantee.h:161
Grantee & WithDisplayName(const Aws::String &value)
Definition: Grantee.h:66
Grantee & WithType(Type &&value)
Definition: Grantee.h:171
void SetDisplayName(const Aws::String &value)
Definition: Grantee.h:51
void SetURI(const char *value)
Definition: Grantee.h:191
Grantee & WithURI(const Aws::String &value)
Definition: Grantee.h:196
void SetDisplayName(const char *value)
Definition: Grantee.h:61
void SetEmailAddress(Aws::String &&value)
Definition: Grantee.h:91
Grantee & WithType(const Type &value)
Definition: Grantee.h:166
void SetEmailAddress(const char *value)
Definition: Grantee.h:96
Grantee & WithURI(const char *value)
Definition: Grantee.h:206
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetURI(Aws::String &&value)
Definition: Grantee.h:186
Grantee & WithID(Aws::String &&value)
Definition: Grantee.h:141
const Aws::String & GetDisplayName() const
Definition: Grantee.h:46
void SetID(const char *value)
Definition: Grantee.h:131
JSON (JavaScript Object Notation).
Grantee & WithID(const char *value)
Definition: Grantee.h:146
Grantee & WithURI(Aws::String &&value)
Definition: Grantee.h:201
Grantee & WithEmailAddress(Aws::String &&value)
Definition: Grantee.h:106