/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace WorkMail { namespace Model { class DescribeUserResult { public: AWS_WORKMAIL_API DescribeUserResult(); AWS_WORKMAIL_API DescribeUserResult(const Aws::AmazonWebServiceResult& result); AWS_WORKMAIL_API DescribeUserResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The identifier for the described user.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The identifier for the described user.

*/ inline void SetUserId(const Aws::String& value) { m_userId = value; } /** *

The identifier for the described user.

*/ inline void SetUserId(Aws::String&& value) { m_userId = std::move(value); } /** *

The identifier for the described user.

*/ inline void SetUserId(const char* value) { m_userId.assign(value); } /** *

The identifier for the described user.

*/ inline DescribeUserResult& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The identifier for the described user.

*/ inline DescribeUserResult& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The identifier for the described user.

*/ inline DescribeUserResult& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The name for the user.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name for the user.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name for the user.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name for the user.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name for the user.

*/ inline DescribeUserResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name for the user.

*/ inline DescribeUserResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name for the user.

*/ inline DescribeUserResult& WithName(const char* value) { SetName(value); return *this;} /** *

The email of the user.

*/ inline const Aws::String& GetEmail() const{ return m_email; } /** *

The email of the user.

*/ inline void SetEmail(const Aws::String& value) { m_email = value; } /** *

The email of the user.

*/ inline void SetEmail(Aws::String&& value) { m_email = std::move(value); } /** *

The email of the user.

*/ inline void SetEmail(const char* value) { m_email.assign(value); } /** *

The email of the user.

*/ inline DescribeUserResult& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} /** *

The email of the user.

*/ inline DescribeUserResult& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} /** *

The email of the user.

*/ inline DescribeUserResult& WithEmail(const char* value) { SetEmail(value); return *this;} /** *

The display name of the user.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The display name of the user.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } /** *

The display name of the user.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } /** *

The display name of the user.

*/ inline void SetDisplayName(const char* value) { m_displayName.assign(value); } /** *

The display name of the user.

*/ inline DescribeUserResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The display name of the user.

*/ inline DescribeUserResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The display name of the user.

*/ inline DescribeUserResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

The state of a user: enabled (registered to WorkMail) or disabled * (deregistered or never registered to WorkMail).

*/ inline const EntityState& GetState() const{ return m_state; } /** *

The state of a user: enabled (registered to WorkMail) or disabled * (deregistered or never registered to WorkMail).

*/ inline void SetState(const EntityState& value) { m_state = value; } /** *

The state of a user: enabled (registered to WorkMail) or disabled * (deregistered or never registered to WorkMail).

*/ inline void SetState(EntityState&& value) { m_state = std::move(value); } /** *

The state of a user: enabled (registered to WorkMail) or disabled * (deregistered or never registered to WorkMail).

*/ inline DescribeUserResult& WithState(const EntityState& value) { SetState(value); return *this;} /** *

The state of a user: enabled (registered to WorkMail) or disabled * (deregistered or never registered to WorkMail).

*/ inline DescribeUserResult& WithState(EntityState&& value) { SetState(std::move(value)); return *this;} /** *

In certain cases, other entities are modeled as users. If interoperability is * enabled, resources are imported into WorkMail as users. Because different * WorkMail organizations rely on different directory types, administrators can * distinguish between an unregistered user (account is disabled and has a user * role) and the directory administrators. The values are USER, RESOURCE, and * SYSTEM_USER.

*/ inline const UserRole& GetUserRole() const{ return m_userRole; } /** *

In certain cases, other entities are modeled as users. If interoperability is * enabled, resources are imported into WorkMail as users. Because different * WorkMail organizations rely on different directory types, administrators can * distinguish between an unregistered user (account is disabled and has a user * role) and the directory administrators. The values are USER, RESOURCE, and * SYSTEM_USER.

*/ inline void SetUserRole(const UserRole& value) { m_userRole = value; } /** *

In certain cases, other entities are modeled as users. If interoperability is * enabled, resources are imported into WorkMail as users. Because different * WorkMail organizations rely on different directory types, administrators can * distinguish between an unregistered user (account is disabled and has a user * role) and the directory administrators. The values are USER, RESOURCE, and * SYSTEM_USER.

*/ inline void SetUserRole(UserRole&& value) { m_userRole = std::move(value); } /** *

In certain cases, other entities are modeled as users. If interoperability is * enabled, resources are imported into WorkMail as users. Because different * WorkMail organizations rely on different directory types, administrators can * distinguish between an unregistered user (account is disabled and has a user * role) and the directory administrators. The values are USER, RESOURCE, and * SYSTEM_USER.

*/ inline DescribeUserResult& WithUserRole(const UserRole& value) { SetUserRole(value); return *this;} /** *

In certain cases, other entities are modeled as users. If interoperability is * enabled, resources are imported into WorkMail as users. Because different * WorkMail organizations rely on different directory types, administrators can * distinguish between an unregistered user (account is disabled and has a user * role) and the directory administrators. The values are USER, RESOURCE, and * SYSTEM_USER.

*/ inline DescribeUserResult& WithUserRole(UserRole&& value) { SetUserRole(std::move(value)); return *this;} /** *

The date and time at which the user was enabled for WorkMailusage, in UNIX * epoch time format.

*/ inline const Aws::Utils::DateTime& GetEnabledDate() const{ return m_enabledDate; } /** *

The date and time at which the user was enabled for WorkMailusage, in UNIX * epoch time format.

*/ inline void SetEnabledDate(const Aws::Utils::DateTime& value) { m_enabledDate = value; } /** *

The date and time at which the user was enabled for WorkMailusage, in UNIX * epoch time format.

*/ inline void SetEnabledDate(Aws::Utils::DateTime&& value) { m_enabledDate = std::move(value); } /** *

The date and time at which the user was enabled for WorkMailusage, in UNIX * epoch time format.

*/ inline DescribeUserResult& WithEnabledDate(const Aws::Utils::DateTime& value) { SetEnabledDate(value); return *this;} /** *

The date and time at which the user was enabled for WorkMailusage, in UNIX * epoch time format.

*/ inline DescribeUserResult& WithEnabledDate(Aws::Utils::DateTime&& value) { SetEnabledDate(std::move(value)); return *this;} /** *

The date and time at which the user was disabled for WorkMail usage, in UNIX * epoch time format.

*/ inline const Aws::Utils::DateTime& GetDisabledDate() const{ return m_disabledDate; } /** *

The date and time at which the user was disabled for WorkMail usage, in UNIX * epoch time format.

*/ inline void SetDisabledDate(const Aws::Utils::DateTime& value) { m_disabledDate = value; } /** *

The date and time at which the user was disabled for WorkMail usage, in UNIX * epoch time format.

*/ inline void SetDisabledDate(Aws::Utils::DateTime&& value) { m_disabledDate = std::move(value); } /** *

The date and time at which the user was disabled for WorkMail usage, in UNIX * epoch time format.

*/ inline DescribeUserResult& WithDisabledDate(const Aws::Utils::DateTime& value) { SetDisabledDate(value); return *this;} /** *

The date and time at which the user was disabled for WorkMail usage, in UNIX * epoch time format.

*/ inline DescribeUserResult& WithDisabledDate(Aws::Utils::DateTime&& value) { SetDisabledDate(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeUserResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeUserResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeUserResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_userId; Aws::String m_name; Aws::String m_email; Aws::String m_displayName; EntityState m_state; UserRole m_userRole; Aws::Utils::DateTime m_enabledDate; Aws::Utils::DateTime m_disabledDate; Aws::String m_requestId; }; } // namespace Model } // namespace WorkMail } // namespace Aws