1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/chime/Chime_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/chime/model/MemberType.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Chime 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The member details, such as email address, name, member ID, and member 29 * type.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/Member">AWS API 31 * Reference</a></p> 32 */ 33 class AWS_CHIME_API Member 34 { 35 public: 36 Member(); 37 Member(Aws::Utils::Json::JsonView jsonValue); 38 Member& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The member ID (user ID or bot ID).</p> 44 */ GetMemberId()45 inline const Aws::String& GetMemberId() const{ return m_memberId; } 46 47 /** 48 * <p>The member ID (user ID or bot ID).</p> 49 */ MemberIdHasBeenSet()50 inline bool MemberIdHasBeenSet() const { return m_memberIdHasBeenSet; } 51 52 /** 53 * <p>The member ID (user ID or bot ID).</p> 54 */ SetMemberId(const Aws::String & value)55 inline void SetMemberId(const Aws::String& value) { m_memberIdHasBeenSet = true; m_memberId = value; } 56 57 /** 58 * <p>The member ID (user ID or bot ID).</p> 59 */ SetMemberId(Aws::String && value)60 inline void SetMemberId(Aws::String&& value) { m_memberIdHasBeenSet = true; m_memberId = std::move(value); } 61 62 /** 63 * <p>The member ID (user ID or bot ID).</p> 64 */ SetMemberId(const char * value)65 inline void SetMemberId(const char* value) { m_memberIdHasBeenSet = true; m_memberId.assign(value); } 66 67 /** 68 * <p>The member ID (user ID or bot ID).</p> 69 */ WithMemberId(const Aws::String & value)70 inline Member& WithMemberId(const Aws::String& value) { SetMemberId(value); return *this;} 71 72 /** 73 * <p>The member ID (user ID or bot ID).</p> 74 */ WithMemberId(Aws::String && value)75 inline Member& WithMemberId(Aws::String&& value) { SetMemberId(std::move(value)); return *this;} 76 77 /** 78 * <p>The member ID (user ID or bot ID).</p> 79 */ WithMemberId(const char * value)80 inline Member& WithMemberId(const char* value) { SetMemberId(value); return *this;} 81 82 83 /** 84 * <p>The member type.</p> 85 */ GetMemberType()86 inline const MemberType& GetMemberType() const{ return m_memberType; } 87 88 /** 89 * <p>The member type.</p> 90 */ MemberTypeHasBeenSet()91 inline bool MemberTypeHasBeenSet() const { return m_memberTypeHasBeenSet; } 92 93 /** 94 * <p>The member type.</p> 95 */ SetMemberType(const MemberType & value)96 inline void SetMemberType(const MemberType& value) { m_memberTypeHasBeenSet = true; m_memberType = value; } 97 98 /** 99 * <p>The member type.</p> 100 */ SetMemberType(MemberType && value)101 inline void SetMemberType(MemberType&& value) { m_memberTypeHasBeenSet = true; m_memberType = std::move(value); } 102 103 /** 104 * <p>The member type.</p> 105 */ WithMemberType(const MemberType & value)106 inline Member& WithMemberType(const MemberType& value) { SetMemberType(value); return *this;} 107 108 /** 109 * <p>The member type.</p> 110 */ WithMemberType(MemberType && value)111 inline Member& WithMemberType(MemberType&& value) { SetMemberType(std::move(value)); return *this;} 112 113 114 /** 115 * <p>The member email address.</p> 116 */ GetEmail()117 inline const Aws::String& GetEmail() const{ return m_email; } 118 119 /** 120 * <p>The member email address.</p> 121 */ EmailHasBeenSet()122 inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } 123 124 /** 125 * <p>The member email address.</p> 126 */ SetEmail(const Aws::String & value)127 inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } 128 129 /** 130 * <p>The member email address.</p> 131 */ SetEmail(Aws::String && value)132 inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } 133 134 /** 135 * <p>The member email address.</p> 136 */ SetEmail(const char * value)137 inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } 138 139 /** 140 * <p>The member email address.</p> 141 */ WithEmail(const Aws::String & value)142 inline Member& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} 143 144 /** 145 * <p>The member email address.</p> 146 */ WithEmail(Aws::String && value)147 inline Member& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} 148 149 /** 150 * <p>The member email address.</p> 151 */ WithEmail(const char * value)152 inline Member& WithEmail(const char* value) { SetEmail(value); return *this;} 153 154 155 /** 156 * <p>The member name.</p> 157 */ GetFullName()158 inline const Aws::String& GetFullName() const{ return m_fullName; } 159 160 /** 161 * <p>The member name.</p> 162 */ FullNameHasBeenSet()163 inline bool FullNameHasBeenSet() const { return m_fullNameHasBeenSet; } 164 165 /** 166 * <p>The member name.</p> 167 */ SetFullName(const Aws::String & value)168 inline void SetFullName(const Aws::String& value) { m_fullNameHasBeenSet = true; m_fullName = value; } 169 170 /** 171 * <p>The member name.</p> 172 */ SetFullName(Aws::String && value)173 inline void SetFullName(Aws::String&& value) { m_fullNameHasBeenSet = true; m_fullName = std::move(value); } 174 175 /** 176 * <p>The member name.</p> 177 */ SetFullName(const char * value)178 inline void SetFullName(const char* value) { m_fullNameHasBeenSet = true; m_fullName.assign(value); } 179 180 /** 181 * <p>The member name.</p> 182 */ WithFullName(const Aws::String & value)183 inline Member& WithFullName(const Aws::String& value) { SetFullName(value); return *this;} 184 185 /** 186 * <p>The member name.</p> 187 */ WithFullName(Aws::String && value)188 inline Member& WithFullName(Aws::String&& value) { SetFullName(std::move(value)); return *this;} 189 190 /** 191 * <p>The member name.</p> 192 */ WithFullName(const char * value)193 inline Member& WithFullName(const char* value) { SetFullName(value); return *this;} 194 195 196 /** 197 * <p>The Amazon Chime account ID.</p> 198 */ GetAccountId()199 inline const Aws::String& GetAccountId() const{ return m_accountId; } 200 201 /** 202 * <p>The Amazon Chime account ID.</p> 203 */ AccountIdHasBeenSet()204 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 205 206 /** 207 * <p>The Amazon Chime account ID.</p> 208 */ SetAccountId(const Aws::String & value)209 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 210 211 /** 212 * <p>The Amazon Chime account ID.</p> 213 */ SetAccountId(Aws::String && value)214 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 215 216 /** 217 * <p>The Amazon Chime account ID.</p> 218 */ SetAccountId(const char * value)219 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 220 221 /** 222 * <p>The Amazon Chime account ID.</p> 223 */ WithAccountId(const Aws::String & value)224 inline Member& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 225 226 /** 227 * <p>The Amazon Chime account ID.</p> 228 */ WithAccountId(Aws::String && value)229 inline Member& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 230 231 /** 232 * <p>The Amazon Chime account ID.</p> 233 */ WithAccountId(const char * value)234 inline Member& WithAccountId(const char* value) { SetAccountId(value); return *this;} 235 236 private: 237 238 Aws::String m_memberId; 239 bool m_memberIdHasBeenSet; 240 241 MemberType m_memberType; 242 bool m_memberTypeHasBeenSet; 243 244 Aws::String m_email; 245 bool m_emailHasBeenSet; 246 247 Aws::String m_fullName; 248 bool m_fullNameHasBeenSet; 249 250 Aws::String m_accountId; 251 bool m_accountIdHasBeenSet; 252 }; 253 254 } // namespace Model 255 } // namespace Chime 256 } // namespace Aws 257