/** * 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 { /** *

An object that contains details about when the IAM entities (users or roles) * were last used in an attempt to access the specified Amazon Web Services * service.

This data type is a response element in the * GetServiceLastAccessedDetailsWithEntities operation.

See * Also:

AWS * API Reference

*/ class EntityDetails { public: AWS_IAM_API EntityDetails(); AWS_IAM_API EntityDetails(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API EntityDetails& 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 EntityInfo object that contains details about the entity * (user or role).

*/ inline const EntityInfo& GetEntityInfo() const{ return m_entityInfo; } /** *

The EntityInfo object that contains details about the entity * (user or role).

*/ inline bool EntityInfoHasBeenSet() const { return m_entityInfoHasBeenSet; } /** *

The EntityInfo object that contains details about the entity * (user or role).

*/ inline void SetEntityInfo(const EntityInfo& value) { m_entityInfoHasBeenSet = true; m_entityInfo = value; } /** *

The EntityInfo object that contains details about the entity * (user or role).

*/ inline void SetEntityInfo(EntityInfo&& value) { m_entityInfoHasBeenSet = true; m_entityInfo = std::move(value); } /** *

The EntityInfo object that contains details about the entity * (user or role).

*/ inline EntityDetails& WithEntityInfo(const EntityInfo& value) { SetEntityInfo(value); return *this;} /** *

The EntityInfo object that contains details about the entity * (user or role).

*/ inline EntityDetails& WithEntityInfo(EntityInfo&& value) { SetEntityInfo(std::move(value)); return *this;} /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline const Aws::Utils::DateTime& GetLastAuthenticated() const{ return m_lastAuthenticated; } /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline bool LastAuthenticatedHasBeenSet() const { return m_lastAuthenticatedHasBeenSet; } /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline void SetLastAuthenticated(const Aws::Utils::DateTime& value) { m_lastAuthenticatedHasBeenSet = true; m_lastAuthenticated = value; } /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline void SetLastAuthenticated(Aws::Utils::DateTime&& value) { m_lastAuthenticatedHasBeenSet = true; m_lastAuthenticated = std::move(value); } /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline EntityDetails& WithLastAuthenticated(const Aws::Utils::DateTime& value) { SetLastAuthenticated(value); return *this;} /** *

The date and time, in ISO 8601 * date-time format, when the authenticated entity last attempted to access * Amazon Web Services. Amazon Web Services does not report unauthenticated * requests.

This field is null if no IAM entities attempted to access the * service within the tracking * period.

*/ inline EntityDetails& WithLastAuthenticated(Aws::Utils::DateTime&& value) { SetLastAuthenticated(std::move(value)); return *this;} private: EntityInfo m_entityInfo; bool m_entityInfoHasBeenSet = false; Aws::Utils::DateTime m_lastAuthenticated; bool m_lastAuthenticatedHasBeenSet = false; }; } // namespace Model } // namespace IAM } // namespace Aws