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

The name of the index.

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

The name of the index.

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

The name of the index.

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

The name of the index.

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

The name of the index.

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

The name of the index.

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

The name of the index.

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

The identifier of the index.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier of the index.

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

The identifier of the index.

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

The identifier of the index.

*/ inline void SetId(const char* value) { m_id.assign(value); } /** *

The identifier of the index.

*/ inline DescribeIndexResult& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier of the index.

*/ inline DescribeIndexResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier of the index.

*/ inline DescribeIndexResult& WithId(const char* value) { SetId(value); return *this;} /** *

The Amazon Kendra edition used for the index. You decide the edition when you * create the index.

*/ inline const IndexEdition& GetEdition() const{ return m_edition; } /** *

The Amazon Kendra edition used for the index. You decide the edition when you * create the index.

*/ inline void SetEdition(const IndexEdition& value) { m_edition = value; } /** *

The Amazon Kendra edition used for the index. You decide the edition when you * create the index.

*/ inline void SetEdition(IndexEdition&& value) { m_edition = std::move(value); } /** *

The Amazon Kendra edition used for the index. You decide the edition when you * create the index.

*/ inline DescribeIndexResult& WithEdition(const IndexEdition& value) { SetEdition(value); return *this;} /** *

The Amazon Kendra edition used for the index. You decide the edition when you * create the index.

*/ inline DescribeIndexResult& WithEdition(IndexEdition&& value) { SetEdition(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

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

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

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

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

*/ inline void SetRoleArn(const char* value) { m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

*/ inline DescribeIndexResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

*/ inline DescribeIndexResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra * permission to write to your Amazon Cloudwatch logs.

*/ inline DescribeIndexResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The identifier of the KMScustomer master key (CMK) that is used to encrypt * your data. Amazon Kendra doesn't support asymmetric CMKs.

*/ inline const ServerSideEncryptionConfiguration& GetServerSideEncryptionConfiguration() const{ return m_serverSideEncryptionConfiguration; } /** *

The identifier of the KMScustomer master key (CMK) that is used to encrypt * your data. Amazon Kendra doesn't support asymmetric CMKs.

*/ inline void SetServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { m_serverSideEncryptionConfiguration = value; } /** *

The identifier of the KMScustomer master key (CMK) that is used to encrypt * your data. Amazon Kendra doesn't support asymmetric CMKs.

*/ inline void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { m_serverSideEncryptionConfiguration = std::move(value); } /** *

The identifier of the KMScustomer master key (CMK) that is used to encrypt * your data. Amazon Kendra doesn't support asymmetric CMKs.

*/ inline DescribeIndexResult& WithServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { SetServerSideEncryptionConfiguration(value); return *this;} /** *

The identifier of the KMScustomer master key (CMK) that is used to encrypt * your data. Amazon Kendra doesn't support asymmetric CMKs.

*/ inline DescribeIndexResult& WithServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { SetServerSideEncryptionConfiguration(std::move(value)); return *this;} /** *

The current status of the index. When the value is ACTIVE, the * index is ready for use. If the Status field value is * FAILED, the ErrorMessage field contains a message that * explains why.

*/ inline const IndexStatus& GetStatus() const{ return m_status; } /** *

The current status of the index. When the value is ACTIVE, the * index is ready for use. If the Status field value is * FAILED, the ErrorMessage field contains a message that * explains why.

*/ inline void SetStatus(const IndexStatus& value) { m_status = value; } /** *

The current status of the index. When the value is ACTIVE, the * index is ready for use. If the Status field value is * FAILED, the ErrorMessage field contains a message that * explains why.

*/ inline void SetStatus(IndexStatus&& value) { m_status = std::move(value); } /** *

The current status of the index. When the value is ACTIVE, the * index is ready for use. If the Status field value is * FAILED, the ErrorMessage field contains a message that * explains why.

*/ inline DescribeIndexResult& WithStatus(const IndexStatus& value) { SetStatus(value); return *this;} /** *

The current status of the index. When the value is ACTIVE, the * index is ready for use. If the Status field value is * FAILED, the ErrorMessage field contains a message that * explains why.

*/ inline DescribeIndexResult& WithStatus(IndexStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The description for the index.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description for the index.

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

The description for the index.

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

The description for the index.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

The description for the index.

*/ inline DescribeIndexResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description for the index.

*/ inline DescribeIndexResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description for the index.

*/ inline DescribeIndexResult& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The Unix timestamp when the index was created.

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

The Unix timestamp when the index was created.

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

The Unix timestamp when the index was created.

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

The Unix timestamp when the index was created.

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

The Unix timestamp when the index was created.

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

The Unix when the index was last updated.

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

The Unix when the index was last updated.

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

The Unix when the index was last updated.

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

The Unix when the index was last updated.

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

The Unix when the index was last updated.

*/ inline DescribeIndexResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline const Aws::Vector& GetDocumentMetadataConfigurations() const{ return m_documentMetadataConfigurations; } /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline void SetDocumentMetadataConfigurations(const Aws::Vector& value) { m_documentMetadataConfigurations = value; } /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline void SetDocumentMetadataConfigurations(Aws::Vector&& value) { m_documentMetadataConfigurations = std::move(value); } /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline DescribeIndexResult& WithDocumentMetadataConfigurations(const Aws::Vector& value) { SetDocumentMetadataConfigurations(value); return *this;} /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline DescribeIndexResult& WithDocumentMetadataConfigurations(Aws::Vector&& value) { SetDocumentMetadataConfigurations(std::move(value)); return *this;} /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline DescribeIndexResult& AddDocumentMetadataConfigurations(const DocumentMetadataConfiguration& value) { m_documentMetadataConfigurations.push_back(value); return *this; } /** *

Configuration information for document metadata or fields. Document metadata * are fields or attributes associated with your documents. For example, the * company department name associated with each document.

*/ inline DescribeIndexResult& AddDocumentMetadataConfigurations(DocumentMetadataConfiguration&& value) { m_documentMetadataConfigurations.push_back(std::move(value)); return *this; } /** *

Provides information about the number of FAQ questions and answers and the * number of text documents indexed.

*/ inline const IndexStatistics& GetIndexStatistics() const{ return m_indexStatistics; } /** *

Provides information about the number of FAQ questions and answers and the * number of text documents indexed.

*/ inline void SetIndexStatistics(const IndexStatistics& value) { m_indexStatistics = value; } /** *

Provides information about the number of FAQ questions and answers and the * number of text documents indexed.

*/ inline void SetIndexStatistics(IndexStatistics&& value) { m_indexStatistics = std::move(value); } /** *

Provides information about the number of FAQ questions and answers and the * number of text documents indexed.

*/ inline DescribeIndexResult& WithIndexStatistics(const IndexStatistics& value) { SetIndexStatistics(value); return *this;} /** *

Provides information about the number of FAQ questions and answers and the * number of text documents indexed.

*/ inline DescribeIndexResult& WithIndexStatistics(IndexStatistics&& value) { SetIndexStatistics(std::move(value)); return *this;} /** *

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

*/ inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } /** *

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

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

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

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

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

*/ inline void SetErrorMessage(const char* value) { m_errorMessage.assign(value); } /** *

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

*/ inline DescribeIndexResult& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;} /** *

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

*/ inline DescribeIndexResult& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;} /** *

When the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

*/ inline DescribeIndexResult& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;} /** *

For Enterprise Edition indexes, you can choose to use additional capacity to * meet the needs of your application. This contains the capacity units used for * the index. A query or document storage capacity of zero indicates that the index * is using the default capacity. For more information on the default capacity for * an index and adjusting this, see Adjusting * capacity.

*/ inline const CapacityUnitsConfiguration& GetCapacityUnits() const{ return m_capacityUnits; } /** *

For Enterprise Edition indexes, you can choose to use additional capacity to * meet the needs of your application. This contains the capacity units used for * the index. A query or document storage capacity of zero indicates that the index * is using the default capacity. For more information on the default capacity for * an index and adjusting this, see Adjusting * capacity.

*/ inline void SetCapacityUnits(const CapacityUnitsConfiguration& value) { m_capacityUnits = value; } /** *

For Enterprise Edition indexes, you can choose to use additional capacity to * meet the needs of your application. This contains the capacity units used for * the index. A query or document storage capacity of zero indicates that the index * is using the default capacity. For more information on the default capacity for * an index and adjusting this, see Adjusting * capacity.

*/ inline void SetCapacityUnits(CapacityUnitsConfiguration&& value) { m_capacityUnits = std::move(value); } /** *

For Enterprise Edition indexes, you can choose to use additional capacity to * meet the needs of your application. This contains the capacity units used for * the index. A query or document storage capacity of zero indicates that the index * is using the default capacity. For more information on the default capacity for * an index and adjusting this, see Adjusting * capacity.

*/ inline DescribeIndexResult& WithCapacityUnits(const CapacityUnitsConfiguration& value) { SetCapacityUnits(value); return *this;} /** *

For Enterprise Edition indexes, you can choose to use additional capacity to * meet the needs of your application. This contains the capacity units used for * the index. A query or document storage capacity of zero indicates that the index * is using the default capacity. For more information on the default capacity for * an index and adjusting this, see Adjusting * capacity.

*/ inline DescribeIndexResult& WithCapacityUnits(CapacityUnitsConfiguration&& value) { SetCapacityUnits(std::move(value)); return *this;} /** *

The user token configuration for the Amazon Kendra index.

*/ inline const Aws::Vector& GetUserTokenConfigurations() const{ return m_userTokenConfigurations; } /** *

The user token configuration for the Amazon Kendra index.

*/ inline void SetUserTokenConfigurations(const Aws::Vector& value) { m_userTokenConfigurations = value; } /** *

The user token configuration for the Amazon Kendra index.

*/ inline void SetUserTokenConfigurations(Aws::Vector&& value) { m_userTokenConfigurations = std::move(value); } /** *

The user token configuration for the Amazon Kendra index.

*/ inline DescribeIndexResult& WithUserTokenConfigurations(const Aws::Vector& value) { SetUserTokenConfigurations(value); return *this;} /** *

The user token configuration for the Amazon Kendra index.

*/ inline DescribeIndexResult& WithUserTokenConfigurations(Aws::Vector&& value) { SetUserTokenConfigurations(std::move(value)); return *this;} /** *

The user token configuration for the Amazon Kendra index.

*/ inline DescribeIndexResult& AddUserTokenConfigurations(const UserTokenConfiguration& value) { m_userTokenConfigurations.push_back(value); return *this; } /** *

The user token configuration for the Amazon Kendra index.

*/ inline DescribeIndexResult& AddUserTokenConfigurations(UserTokenConfiguration&& value) { m_userTokenConfigurations.push_back(std::move(value)); return *this; } /** *

The user context policy for the Amazon Kendra index.

*/ inline const UserContextPolicy& GetUserContextPolicy() const{ return m_userContextPolicy; } /** *

The user context policy for the Amazon Kendra index.

*/ inline void SetUserContextPolicy(const UserContextPolicy& value) { m_userContextPolicy = value; } /** *

The user context policy for the Amazon Kendra index.

*/ inline void SetUserContextPolicy(UserContextPolicy&& value) { m_userContextPolicy = std::move(value); } /** *

The user context policy for the Amazon Kendra index.

*/ inline DescribeIndexResult& WithUserContextPolicy(const UserContextPolicy& value) { SetUserContextPolicy(value); return *this;} /** *

The user context policy for the Amazon Kendra index.

*/ inline DescribeIndexResult& WithUserContextPolicy(UserContextPolicy&& value) { SetUserContextPolicy(std::move(value)); return *this;} /** *

Whether you have enabled the configuration for fetching access levels of * groups and users from an IAM Identity Center (successor to Single Sign-On) * identity source.

*/ inline const UserGroupResolutionConfiguration& GetUserGroupResolutionConfiguration() const{ return m_userGroupResolutionConfiguration; } /** *

Whether you have enabled the configuration for fetching access levels of * groups and users from an IAM Identity Center (successor to Single Sign-On) * identity source.

*/ inline void SetUserGroupResolutionConfiguration(const UserGroupResolutionConfiguration& value) { m_userGroupResolutionConfiguration = value; } /** *

Whether you have enabled the configuration for fetching access levels of * groups and users from an IAM Identity Center (successor to Single Sign-On) * identity source.

*/ inline void SetUserGroupResolutionConfiguration(UserGroupResolutionConfiguration&& value) { m_userGroupResolutionConfiguration = std::move(value); } /** *

Whether you have enabled the configuration for fetching access levels of * groups and users from an IAM Identity Center (successor to Single Sign-On) * identity source.

*/ inline DescribeIndexResult& WithUserGroupResolutionConfiguration(const UserGroupResolutionConfiguration& value) { SetUserGroupResolutionConfiguration(value); return *this;} /** *

Whether you have enabled the configuration for fetching access levels of * groups and users from an IAM Identity Center (successor to Single Sign-On) * identity source.

*/ inline DescribeIndexResult& WithUserGroupResolutionConfiguration(UserGroupResolutionConfiguration&& value) { SetUserGroupResolutionConfiguration(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 DescribeIndexResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeIndexResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeIndexResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_name; Aws::String m_id; IndexEdition m_edition; Aws::String m_roleArn; ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration; IndexStatus m_status; Aws::String m_description; Aws::Utils::DateTime m_createdAt; Aws::Utils::DateTime m_updatedAt; Aws::Vector m_documentMetadataConfigurations; IndexStatistics m_indexStatistics; Aws::String m_errorMessage; CapacityUnitsConfiguration m_capacityUnits; Aws::Vector m_userTokenConfigurations; UserContextPolicy m_userContextPolicy; UserGroupResolutionConfiguration m_userGroupResolutionConfiguration; Aws::String m_requestId; }; } // namespace Model } // namespace kendra } // namespace Aws