/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about a user account for an Amazon Connect
* instance.See Also:
AWS API
* Reference
The identifier of the user account.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The identifier of the user account.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The identifier of the user account.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The identifier of the user account.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The identifier of the user account.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The identifier of the user account.
*/ inline User& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The identifier of the user account.
*/ inline User& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The identifier of the user account.
*/ inline User& WithId(const char* value) { SetId(value); return *this;} /** *The Amazon Resource Name (ARN) of the user account.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the user account.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the user account.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the user account.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the user account.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the user account.
*/ inline User& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the user account.
*/ inline User& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the user account.
*/ inline User& WithArn(const char* value) { SetArn(value); return *this;} /** *The user name assigned to the user account.
*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *The user name assigned to the user account.
*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *The user name assigned to the user account.
*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *The user name assigned to the user account.
*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *The user name assigned to the user account.
*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *The user name assigned to the user account.
*/ inline User& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *The user name assigned to the user account.
*/ inline User& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *The user name assigned to the user account.
*/ inline User& WithUsername(const char* value) { SetUsername(value); return *this;} /** *Information about the user identity.
*/ inline const UserIdentityInfo& GetIdentityInfo() const{ return m_identityInfo; } /** *Information about the user identity.
*/ inline bool IdentityInfoHasBeenSet() const { return m_identityInfoHasBeenSet; } /** *Information about the user identity.
*/ inline void SetIdentityInfo(const UserIdentityInfo& value) { m_identityInfoHasBeenSet = true; m_identityInfo = value; } /** *Information about the user identity.
*/ inline void SetIdentityInfo(UserIdentityInfo&& value) { m_identityInfoHasBeenSet = true; m_identityInfo = std::move(value); } /** *Information about the user identity.
*/ inline User& WithIdentityInfo(const UserIdentityInfo& value) { SetIdentityInfo(value); return *this;} /** *Information about the user identity.
*/ inline User& WithIdentityInfo(UserIdentityInfo&& value) { SetIdentityInfo(std::move(value)); return *this;} /** *Information about the phone configuration for the user.
*/ inline const UserPhoneConfig& GetPhoneConfig() const{ return m_phoneConfig; } /** *Information about the phone configuration for the user.
*/ inline bool PhoneConfigHasBeenSet() const { return m_phoneConfigHasBeenSet; } /** *Information about the phone configuration for the user.
*/ inline void SetPhoneConfig(const UserPhoneConfig& value) { m_phoneConfigHasBeenSet = true; m_phoneConfig = value; } /** *Information about the phone configuration for the user.
*/ inline void SetPhoneConfig(UserPhoneConfig&& value) { m_phoneConfigHasBeenSet = true; m_phoneConfig = std::move(value); } /** *Information about the phone configuration for the user.
*/ inline User& WithPhoneConfig(const UserPhoneConfig& value) { SetPhoneConfig(value); return *this;} /** *Information about the phone configuration for the user.
*/ inline User& WithPhoneConfig(UserPhoneConfig&& value) { SetPhoneConfig(std::move(value)); return *this;} /** *The identifier of the user account in the directory used for identity * management.
*/ inline const Aws::String& GetDirectoryUserId() const{ return m_directoryUserId; } /** *The identifier of the user account in the directory used for identity * management.
*/ inline bool DirectoryUserIdHasBeenSet() const { return m_directoryUserIdHasBeenSet; } /** *The identifier of the user account in the directory used for identity * management.
*/ inline void SetDirectoryUserId(const Aws::String& value) { m_directoryUserIdHasBeenSet = true; m_directoryUserId = value; } /** *The identifier of the user account in the directory used for identity * management.
*/ inline void SetDirectoryUserId(Aws::String&& value) { m_directoryUserIdHasBeenSet = true; m_directoryUserId = std::move(value); } /** *The identifier of the user account in the directory used for identity * management.
*/ inline void SetDirectoryUserId(const char* value) { m_directoryUserIdHasBeenSet = true; m_directoryUserId.assign(value); } /** *The identifier of the user account in the directory used for identity * management.
*/ inline User& WithDirectoryUserId(const Aws::String& value) { SetDirectoryUserId(value); return *this;} /** *The identifier of the user account in the directory used for identity * management.
*/ inline User& WithDirectoryUserId(Aws::String&& value) { SetDirectoryUserId(std::move(value)); return *this;} /** *The identifier of the user account in the directory used for identity * management.
*/ inline User& WithDirectoryUserId(const char* value) { SetDirectoryUserId(value); return *this;} /** *The identifiers of the security profiles for the user.
*/ inline const Aws::VectorThe identifiers of the security profiles for the user.
*/ inline bool SecurityProfileIdsHasBeenSet() const { return m_securityProfileIdsHasBeenSet; } /** *The identifiers of the security profiles for the user.
*/ inline void SetSecurityProfileIds(const Aws::VectorThe identifiers of the security profiles for the user.
*/ inline void SetSecurityProfileIds(Aws::VectorThe identifiers of the security profiles for the user.
*/ inline User& WithSecurityProfileIds(const Aws::VectorThe identifiers of the security profiles for the user.
*/ inline User& WithSecurityProfileIds(Aws::VectorThe identifiers of the security profiles for the user.
*/ inline User& AddSecurityProfileIds(const Aws::String& value) { m_securityProfileIdsHasBeenSet = true; m_securityProfileIds.push_back(value); return *this; } /** *The identifiers of the security profiles for the user.
*/ inline User& AddSecurityProfileIds(Aws::String&& value) { m_securityProfileIdsHasBeenSet = true; m_securityProfileIds.push_back(std::move(value)); return *this; } /** *The identifiers of the security profiles for the user.
*/ inline User& AddSecurityProfileIds(const char* value) { m_securityProfileIdsHasBeenSet = true; m_securityProfileIds.push_back(value); return *this; } /** *The identifier of the routing profile for the user.
*/ inline const Aws::String& GetRoutingProfileId() const{ return m_routingProfileId; } /** *The identifier of the routing profile for the user.
*/ inline bool RoutingProfileIdHasBeenSet() const { return m_routingProfileIdHasBeenSet; } /** *The identifier of the routing profile for the user.
*/ inline void SetRoutingProfileId(const Aws::String& value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId = value; } /** *The identifier of the routing profile for the user.
*/ inline void SetRoutingProfileId(Aws::String&& value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId = std::move(value); } /** *The identifier of the routing profile for the user.
*/ inline void SetRoutingProfileId(const char* value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId.assign(value); } /** *The identifier of the routing profile for the user.
*/ inline User& WithRoutingProfileId(const Aws::String& value) { SetRoutingProfileId(value); return *this;} /** *The identifier of the routing profile for the user.
*/ inline User& WithRoutingProfileId(Aws::String&& value) { SetRoutingProfileId(std::move(value)); return *this;} /** *The identifier of the routing profile for the user.
*/ inline User& WithRoutingProfileId(const char* value) { SetRoutingProfileId(value); return *this;} /** *The identifier of the hierarchy group for the user.
*/ inline const Aws::String& GetHierarchyGroupId() const{ return m_hierarchyGroupId; } /** *The identifier of the hierarchy group for the user.
*/ inline bool HierarchyGroupIdHasBeenSet() const { return m_hierarchyGroupIdHasBeenSet; } /** *The identifier of the hierarchy group for the user.
*/ inline void SetHierarchyGroupId(const Aws::String& value) { m_hierarchyGroupIdHasBeenSet = true; m_hierarchyGroupId = value; } /** *The identifier of the hierarchy group for the user.
*/ inline void SetHierarchyGroupId(Aws::String&& value) { m_hierarchyGroupIdHasBeenSet = true; m_hierarchyGroupId = std::move(value); } /** *The identifier of the hierarchy group for the user.
*/ inline void SetHierarchyGroupId(const char* value) { m_hierarchyGroupIdHasBeenSet = true; m_hierarchyGroupId.assign(value); } /** *The identifier of the hierarchy group for the user.
*/ inline User& WithHierarchyGroupId(const Aws::String& value) { SetHierarchyGroupId(value); return *this;} /** *The identifier of the hierarchy group for the user.
*/ inline User& WithHierarchyGroupId(Aws::String&& value) { SetHierarchyGroupId(std::move(value)); return *this;} /** *The identifier of the hierarchy group for the user.
*/ inline User& WithHierarchyGroupId(const char* value) { SetHierarchyGroupId(value); return *this;} /** *The tags.
*/ inline const Aws::MapThe tags.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags.
*/ inline void SetTags(const Aws::MapThe tags.
*/ inline void SetTags(Aws::MapThe tags.
*/ inline User& WithTags(const Aws::MapThe tags.
*/ inline User& WithTags(Aws::MapThe tags.
*/ inline User& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The tags.
*/ inline User& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags.
*/ inline User& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags.
*/ inline User& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The tags.
*/ inline User& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags.
*/ inline User& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags.
*/ inline User& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; UserIdentityInfo m_identityInfo; bool m_identityInfoHasBeenSet = false; UserPhoneConfig m_phoneConfig; bool m_phoneConfigHasBeenSet = false; Aws::String m_directoryUserId; bool m_directoryUserIdHasBeenSet = false; Aws::Vector