/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Summary information for users or groups in your IAM Identity Center identity * source. This applies to users and groups with specific permissions that define * their level of access to your Amazon Kendra experience. You can create an Amazon * Kendra experience such as a search application. For more information on creating * a search application experience, see Building * a search experience with no code.

See Also:

AWS * API Reference

*/ class PersonasSummary { public: AWS_KENDRA_API PersonasSummary(); AWS_KENDRA_API PersonasSummary(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API PersonasSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline const Aws::String& GetEntityId() const{ return m_entityId; } /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; } /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); } /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); } /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline PersonasSummary& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;} /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline PersonasSummary& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;} /** *

The identifier of a user or group in your IAM Identity Center identity * source. For example, a user ID could be an email.

*/ inline PersonasSummary& WithEntityId(const char* value) { SetEntityId(value); return *this;} /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline const Persona& GetPersona() const{ return m_persona; } /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline bool PersonaHasBeenSet() const { return m_personaHasBeenSet; } /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline void SetPersona(const Persona& value) { m_personaHasBeenSet = true; m_persona = value; } /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline void SetPersona(Persona&& value) { m_personaHasBeenSet = true; m_persona = std::move(value); } /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline PersonasSummary& WithPersona(const Persona& value) { SetPersona(value); return *this;} /** *

The persona that defines the specific permissions of the user or group in * your IAM Identity Center identity source. The available personas or access roles * are Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline PersonasSummary& WithPersona(Persona&& value) { SetPersona(std::move(value)); return *this;} /** *

The Unix timestamp when the summary information was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The Unix timestamp when the summary information was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The Unix timestamp when the summary information was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The Unix timestamp when the summary information was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The Unix timestamp when the summary information was created.

*/ inline PersonasSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The Unix timestamp when the summary information was created.

*/ inline PersonasSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The Unix timestamp when the summary information was last updated.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The Unix timestamp when the summary information was last updated.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The Unix timestamp when the summary information was last updated.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The Unix timestamp when the summary information was last updated.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The Unix timestamp when the summary information was last updated.

*/ inline PersonasSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The Unix timestamp when the summary information was last updated.

*/ inline PersonasSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: Aws::String m_entityId; bool m_entityIdHasBeenSet = false; Persona m_persona; bool m_personaHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws