/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace IAM { namespace Model { /** *

Contains information about an MFA device.

This data type is used as a * response element in the ListMFADevices operation.

See * Also:

AWS API * Reference

*/ class MFADevice { public: AWS_IAM_API MFADevice(); AWS_IAM_API MFADevice(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API MFADevice& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The user with whom the MFA device is associated.

*/ inline const Aws::String& GetUserName() const{ return m_userName; } /** *

The user with whom the MFA device is associated.

*/ inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } /** *

The user with whom the MFA device is associated.

*/ inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } /** *

The user with whom the MFA device is associated.

*/ inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } /** *

The user with whom the MFA device is associated.

*/ inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } /** *

The user with whom the MFA device is associated.

*/ inline MFADevice& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} /** *

The user with whom the MFA device is associated.

*/ inline MFADevice& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} /** *

The user with whom the MFA device is associated.

*/ inline MFADevice& WithUserName(const char* value) { SetUserName(value); return *this;} /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; } /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline bool SerialNumberHasBeenSet() const { return m_serialNumberHasBeenSet; } /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline void SetSerialNumber(const Aws::String& value) { m_serialNumberHasBeenSet = true; m_serialNumber = value; } /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline void SetSerialNumber(Aws::String&& value) { m_serialNumberHasBeenSet = true; m_serialNumber = std::move(value); } /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline void SetSerialNumber(const char* value) { m_serialNumberHasBeenSet = true; m_serialNumber.assign(value); } /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline MFADevice& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;} /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline MFADevice& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;} /** *

The serial number that uniquely identifies the MFA device. For virtual MFA * devices, the serial number is the device ARN.

*/ inline MFADevice& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;} /** *

The date when the MFA device was enabled for the user.

*/ inline const Aws::Utils::DateTime& GetEnableDate() const{ return m_enableDate; } /** *

The date when the MFA device was enabled for the user.

*/ inline bool EnableDateHasBeenSet() const { return m_enableDateHasBeenSet; } /** *

The date when the MFA device was enabled for the user.

*/ inline void SetEnableDate(const Aws::Utils::DateTime& value) { m_enableDateHasBeenSet = true; m_enableDate = value; } /** *

The date when the MFA device was enabled for the user.

*/ inline void SetEnableDate(Aws::Utils::DateTime&& value) { m_enableDateHasBeenSet = true; m_enableDate = std::move(value); } /** *

The date when the MFA device was enabled for the user.

*/ inline MFADevice& WithEnableDate(const Aws::Utils::DateTime& value) { SetEnableDate(value); return *this;} /** *

The date when the MFA device was enabled for the user.

*/ inline MFADevice& WithEnableDate(Aws::Utils::DateTime&& value) { SetEnableDate(std::move(value)); return *this;} private: Aws::String m_userName; bool m_userNameHasBeenSet = false; Aws::String m_serialNumber; bool m_serialNumberHasBeenSet = false; Aws::Utils::DateTime m_enableDate; bool m_enableDateHasBeenSet = false; }; } // namespace Model } // namespace IAM } // namespace Aws