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/alexaforbusiness/AlexaForBusiness_EXPORTS.h> 8 #include <aws/alexaforbusiness/AlexaForBusinessRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/alexaforbusiness/model/Tag.h> 12 #include <utility> 13 #include <aws/core/utils/UUID.h> 14 15 namespace Aws 16 { 17 namespace AlexaForBusiness 18 { 19 namespace Model 20 { 21 22 /** 23 */ 24 class AWS_ALEXAFORBUSINESS_API CreateUserRequest : public AlexaForBusinessRequest 25 { 26 public: 27 CreateUserRequest(); 28 29 // Service request name is the Operation name which will send this request out, 30 // each operation should has unique request name, so that we can get operation's name from this request. 31 // Note: this is not true for response, multiple operations may have the same response name, 32 // so we can not get operation's name from response. GetServiceRequestName()33 inline virtual const char* GetServiceRequestName() const override { return "CreateUser"; } 34 35 Aws::String SerializePayload() const override; 36 37 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 38 39 40 /** 41 * <p>The ARN for the user.</p> 42 */ GetUserId()43 inline const Aws::String& GetUserId() const{ return m_userId; } 44 45 /** 46 * <p>The ARN for the user.</p> 47 */ UserIdHasBeenSet()48 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } 49 50 /** 51 * <p>The ARN for the user.</p> 52 */ SetUserId(const Aws::String & value)53 inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } 54 55 /** 56 * <p>The ARN for the user.</p> 57 */ SetUserId(Aws::String && value)58 inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } 59 60 /** 61 * <p>The ARN for the user.</p> 62 */ SetUserId(const char * value)63 inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } 64 65 /** 66 * <p>The ARN for the user.</p> 67 */ WithUserId(const Aws::String & value)68 inline CreateUserRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} 69 70 /** 71 * <p>The ARN for the user.</p> 72 */ WithUserId(Aws::String && value)73 inline CreateUserRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} 74 75 /** 76 * <p>The ARN for the user.</p> 77 */ WithUserId(const char * value)78 inline CreateUserRequest& WithUserId(const char* value) { SetUserId(value); return *this;} 79 80 81 /** 82 * <p>The first name for the user.</p> 83 */ GetFirstName()84 inline const Aws::String& GetFirstName() const{ return m_firstName; } 85 86 /** 87 * <p>The first name for the user.</p> 88 */ FirstNameHasBeenSet()89 inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; } 90 91 /** 92 * <p>The first name for the user.</p> 93 */ SetFirstName(const Aws::String & value)94 inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; } 95 96 /** 97 * <p>The first name for the user.</p> 98 */ SetFirstName(Aws::String && value)99 inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); } 100 101 /** 102 * <p>The first name for the user.</p> 103 */ SetFirstName(const char * value)104 inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); } 105 106 /** 107 * <p>The first name for the user.</p> 108 */ WithFirstName(const Aws::String & value)109 inline CreateUserRequest& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;} 110 111 /** 112 * <p>The first name for the user.</p> 113 */ WithFirstName(Aws::String && value)114 inline CreateUserRequest& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;} 115 116 /** 117 * <p>The first name for the user.</p> 118 */ WithFirstName(const char * value)119 inline CreateUserRequest& WithFirstName(const char* value) { SetFirstName(value); return *this;} 120 121 122 /** 123 * <p>The last name for the user.</p> 124 */ GetLastName()125 inline const Aws::String& GetLastName() const{ return m_lastName; } 126 127 /** 128 * <p>The last name for the user.</p> 129 */ LastNameHasBeenSet()130 inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; } 131 132 /** 133 * <p>The last name for the user.</p> 134 */ SetLastName(const Aws::String & value)135 inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; } 136 137 /** 138 * <p>The last name for the user.</p> 139 */ SetLastName(Aws::String && value)140 inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); } 141 142 /** 143 * <p>The last name for the user.</p> 144 */ SetLastName(const char * value)145 inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); } 146 147 /** 148 * <p>The last name for the user.</p> 149 */ WithLastName(const Aws::String & value)150 inline CreateUserRequest& WithLastName(const Aws::String& value) { SetLastName(value); return *this;} 151 152 /** 153 * <p>The last name for the user.</p> 154 */ WithLastName(Aws::String && value)155 inline CreateUserRequest& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;} 156 157 /** 158 * <p>The last name for the user.</p> 159 */ WithLastName(const char * value)160 inline CreateUserRequest& WithLastName(const char* value) { SetLastName(value); return *this;} 161 162 163 /** 164 * <p>The email address for the user.</p> 165 */ GetEmail()166 inline const Aws::String& GetEmail() const{ return m_email; } 167 168 /** 169 * <p>The email address for the user.</p> 170 */ EmailHasBeenSet()171 inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } 172 173 /** 174 * <p>The email address for the user.</p> 175 */ SetEmail(const Aws::String & value)176 inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } 177 178 /** 179 * <p>The email address for the user.</p> 180 */ SetEmail(Aws::String && value)181 inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } 182 183 /** 184 * <p>The email address for the user.</p> 185 */ SetEmail(const char * value)186 inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } 187 188 /** 189 * <p>The email address for the user.</p> 190 */ WithEmail(const Aws::String & value)191 inline CreateUserRequest& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} 192 193 /** 194 * <p>The email address for the user.</p> 195 */ WithEmail(Aws::String && value)196 inline CreateUserRequest& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} 197 198 /** 199 * <p>The email address for the user.</p> 200 */ WithEmail(const char * value)201 inline CreateUserRequest& WithEmail(const char* value) { SetEmail(value); return *this;} 202 203 204 /** 205 * <p>A unique, user-specified identifier for this request that ensures 206 * idempotency. </p> 207 */ GetClientRequestToken()208 inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } 209 210 /** 211 * <p>A unique, user-specified identifier for this request that ensures 212 * idempotency. </p> 213 */ ClientRequestTokenHasBeenSet()214 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } 215 216 /** 217 * <p>A unique, user-specified identifier for this request that ensures 218 * idempotency. </p> 219 */ SetClientRequestToken(const Aws::String & value)220 inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } 221 222 /** 223 * <p>A unique, user-specified identifier for this request that ensures 224 * idempotency. </p> 225 */ SetClientRequestToken(Aws::String && value)226 inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } 227 228 /** 229 * <p>A unique, user-specified identifier for this request that ensures 230 * idempotency. </p> 231 */ SetClientRequestToken(const char * value)232 inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } 233 234 /** 235 * <p>A unique, user-specified identifier for this request that ensures 236 * idempotency. </p> 237 */ WithClientRequestToken(const Aws::String & value)238 inline CreateUserRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} 239 240 /** 241 * <p>A unique, user-specified identifier for this request that ensures 242 * idempotency. </p> 243 */ WithClientRequestToken(Aws::String && value)244 inline CreateUserRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} 245 246 /** 247 * <p>A unique, user-specified identifier for this request that ensures 248 * idempotency. </p> 249 */ WithClientRequestToken(const char * value)250 inline CreateUserRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} 251 252 253 /** 254 * <p>The tags for the user.</p> 255 */ GetTags()256 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 257 258 /** 259 * <p>The tags for the user.</p> 260 */ TagsHasBeenSet()261 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 262 263 /** 264 * <p>The tags for the user.</p> 265 */ SetTags(const Aws::Vector<Tag> & value)266 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 267 268 /** 269 * <p>The tags for the user.</p> 270 */ SetTags(Aws::Vector<Tag> && value)271 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 272 273 /** 274 * <p>The tags for the user.</p> 275 */ WithTags(const Aws::Vector<Tag> & value)276 inline CreateUserRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 277 278 /** 279 * <p>The tags for the user.</p> 280 */ WithTags(Aws::Vector<Tag> && value)281 inline CreateUserRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 282 283 /** 284 * <p>The tags for the user.</p> 285 */ AddTags(const Tag & value)286 inline CreateUserRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 287 288 /** 289 * <p>The tags for the user.</p> 290 */ AddTags(Tag && value)291 inline CreateUserRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 292 293 private: 294 295 Aws::String m_userId; 296 bool m_userIdHasBeenSet; 297 298 Aws::String m_firstName; 299 bool m_firstNameHasBeenSet; 300 301 Aws::String m_lastName; 302 bool m_lastNameHasBeenSet; 303 304 Aws::String m_email; 305 bool m_emailHasBeenSet; 306 307 Aws::String m_clientRequestToken; 308 bool m_clientRequestTokenHasBeenSet; 309 310 Aws::Vector<Tag> m_tags; 311 bool m_tagsHasBeenSet; 312 }; 313 314 } // namespace Model 315 } // namespace AlexaForBusiness 316 } // namespace Aws 317