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

Provides information about how Amazon Kendra should use the columns of a * database in an index.

See Also:

AWS * API Reference

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

The column that provides the document's identifier.

*/ inline const Aws::String& GetDocumentIdColumnName() const{ return m_documentIdColumnName; } /** *

The column that provides the document's identifier.

*/ inline bool DocumentIdColumnNameHasBeenSet() const { return m_documentIdColumnNameHasBeenSet; } /** *

The column that provides the document's identifier.

*/ inline void SetDocumentIdColumnName(const Aws::String& value) { m_documentIdColumnNameHasBeenSet = true; m_documentIdColumnName = value; } /** *

The column that provides the document's identifier.

*/ inline void SetDocumentIdColumnName(Aws::String&& value) { m_documentIdColumnNameHasBeenSet = true; m_documentIdColumnName = std::move(value); } /** *

The column that provides the document's identifier.

*/ inline void SetDocumentIdColumnName(const char* value) { m_documentIdColumnNameHasBeenSet = true; m_documentIdColumnName.assign(value); } /** *

The column that provides the document's identifier.

*/ inline ColumnConfiguration& WithDocumentIdColumnName(const Aws::String& value) { SetDocumentIdColumnName(value); return *this;} /** *

The column that provides the document's identifier.

*/ inline ColumnConfiguration& WithDocumentIdColumnName(Aws::String&& value) { SetDocumentIdColumnName(std::move(value)); return *this;} /** *

The column that provides the document's identifier.

*/ inline ColumnConfiguration& WithDocumentIdColumnName(const char* value) { SetDocumentIdColumnName(value); return *this;} /** *

The column that contains the contents of the document.

*/ inline const Aws::String& GetDocumentDataColumnName() const{ return m_documentDataColumnName; } /** *

The column that contains the contents of the document.

*/ inline bool DocumentDataColumnNameHasBeenSet() const { return m_documentDataColumnNameHasBeenSet; } /** *

The column that contains the contents of the document.

*/ inline void SetDocumentDataColumnName(const Aws::String& value) { m_documentDataColumnNameHasBeenSet = true; m_documentDataColumnName = value; } /** *

The column that contains the contents of the document.

*/ inline void SetDocumentDataColumnName(Aws::String&& value) { m_documentDataColumnNameHasBeenSet = true; m_documentDataColumnName = std::move(value); } /** *

The column that contains the contents of the document.

*/ inline void SetDocumentDataColumnName(const char* value) { m_documentDataColumnNameHasBeenSet = true; m_documentDataColumnName.assign(value); } /** *

The column that contains the contents of the document.

*/ inline ColumnConfiguration& WithDocumentDataColumnName(const Aws::String& value) { SetDocumentDataColumnName(value); return *this;} /** *

The column that contains the contents of the document.

*/ inline ColumnConfiguration& WithDocumentDataColumnName(Aws::String&& value) { SetDocumentDataColumnName(std::move(value)); return *this;} /** *

The column that contains the contents of the document.

*/ inline ColumnConfiguration& WithDocumentDataColumnName(const char* value) { SetDocumentDataColumnName(value); return *this;} /** *

The column that contains the title of the document.

*/ inline const Aws::String& GetDocumentTitleColumnName() const{ return m_documentTitleColumnName; } /** *

The column that contains the title of the document.

*/ inline bool DocumentTitleColumnNameHasBeenSet() const { return m_documentTitleColumnNameHasBeenSet; } /** *

The column that contains the title of the document.

*/ inline void SetDocumentTitleColumnName(const Aws::String& value) { m_documentTitleColumnNameHasBeenSet = true; m_documentTitleColumnName = value; } /** *

The column that contains the title of the document.

*/ inline void SetDocumentTitleColumnName(Aws::String&& value) { m_documentTitleColumnNameHasBeenSet = true; m_documentTitleColumnName = std::move(value); } /** *

The column that contains the title of the document.

*/ inline void SetDocumentTitleColumnName(const char* value) { m_documentTitleColumnNameHasBeenSet = true; m_documentTitleColumnName.assign(value); } /** *

The column that contains the title of the document.

*/ inline ColumnConfiguration& WithDocumentTitleColumnName(const Aws::String& value) { SetDocumentTitleColumnName(value); return *this;} /** *

The column that contains the title of the document.

*/ inline ColumnConfiguration& WithDocumentTitleColumnName(Aws::String&& value) { SetDocumentTitleColumnName(std::move(value)); return *this;} /** *

The column that contains the title of the document.

*/ inline ColumnConfiguration& WithDocumentTitleColumnName(const char* value) { SetDocumentTitleColumnName(value); return *this;} /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline const Aws::Vector& GetFieldMappings() const{ return m_fieldMappings; } /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline bool FieldMappingsHasBeenSet() const { return m_fieldMappingsHasBeenSet; } /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline void SetFieldMappings(const Aws::Vector& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = value; } /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline void SetFieldMappings(Aws::Vector&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = std::move(value); } /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline ColumnConfiguration& WithFieldMappings(const Aws::Vector& value) { SetFieldMappings(value); return *this;} /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline ColumnConfiguration& WithFieldMappings(Aws::Vector&& value) { SetFieldMappings(std::move(value)); return *this;} /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline ColumnConfiguration& AddFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(value); return *this; } /** *

An array of objects that map database column names to the corresponding * fields in an index. You must first create the fields in the index using the * UpdateIndex API.

*/ inline ColumnConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline const Aws::Vector& GetChangeDetectingColumns() const{ return m_changeDetectingColumns; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline bool ChangeDetectingColumnsHasBeenSet() const { return m_changeDetectingColumnsHasBeenSet; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline void SetChangeDetectingColumns(const Aws::Vector& value) { m_changeDetectingColumnsHasBeenSet = true; m_changeDetectingColumns = value; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline void SetChangeDetectingColumns(Aws::Vector&& value) { m_changeDetectingColumnsHasBeenSet = true; m_changeDetectingColumns = std::move(value); } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline ColumnConfiguration& WithChangeDetectingColumns(const Aws::Vector& value) { SetChangeDetectingColumns(value); return *this;} /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline ColumnConfiguration& WithChangeDetectingColumns(Aws::Vector&& value) { SetChangeDetectingColumns(std::move(value)); return *this;} /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline ColumnConfiguration& AddChangeDetectingColumns(const Aws::String& value) { m_changeDetectingColumnsHasBeenSet = true; m_changeDetectingColumns.push_back(value); return *this; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline ColumnConfiguration& AddChangeDetectingColumns(Aws::String&& value) { m_changeDetectingColumnsHasBeenSet = true; m_changeDetectingColumns.push_back(std::move(value)); return *this; } /** *

One to five columns that indicate when a document in the database has * changed.

*/ inline ColumnConfiguration& AddChangeDetectingColumns(const char* value) { m_changeDetectingColumnsHasBeenSet = true; m_changeDetectingColumns.push_back(value); return *this; } private: Aws::String m_documentIdColumnName; bool m_documentIdColumnNameHasBeenSet = false; Aws::String m_documentDataColumnName; bool m_documentDataColumnNameHasBeenSet = false; Aws::String m_documentTitleColumnName; bool m_documentTitleColumnNameHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; Aws::Vector m_changeDetectingColumns; bool m_changeDetectingColumnsHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws