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

Maps attributes or field names of Confluence pages to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to Confluence fields. For more information, see Mapping * data source fields. The Confluence data source field names must exist in * your Confluence custom metadata.

See Also:

AWS * API Reference

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

The name of the field in the data source.

*/ inline const ConfluencePageFieldName& GetDataSourceFieldName() const{ return m_dataSourceFieldName; } /** *

The name of the field in the data source.

*/ inline bool DataSourceFieldNameHasBeenSet() const { return m_dataSourceFieldNameHasBeenSet; } /** *

The name of the field in the data source.

*/ inline void SetDataSourceFieldName(const ConfluencePageFieldName& value) { m_dataSourceFieldNameHasBeenSet = true; m_dataSourceFieldName = value; } /** *

The name of the field in the data source.

*/ inline void SetDataSourceFieldName(ConfluencePageFieldName&& value) { m_dataSourceFieldNameHasBeenSet = true; m_dataSourceFieldName = std::move(value); } /** *

The name of the field in the data source.

*/ inline ConfluencePageToIndexFieldMapping& WithDataSourceFieldName(const ConfluencePageFieldName& value) { SetDataSourceFieldName(value); return *this;} /** *

The name of the field in the data source.

*/ inline ConfluencePageToIndexFieldMapping& WithDataSourceFieldName(ConfluencePageFieldName&& value) { SetDataSourceFieldName(std::move(value)); return *this;} /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline const Aws::String& GetDateFieldFormat() const{ return m_dateFieldFormat; } /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline bool DateFieldFormatHasBeenSet() const { return m_dateFieldFormatHasBeenSet; } /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline void SetDateFieldFormat(const Aws::String& value) { m_dateFieldFormatHasBeenSet = true; m_dateFieldFormat = value; } /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline void SetDateFieldFormat(Aws::String&& value) { m_dateFieldFormatHasBeenSet = true; m_dateFieldFormat = std::move(value); } /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline void SetDateFieldFormat(const char* value) { m_dateFieldFormatHasBeenSet = true; m_dateFieldFormat.assign(value); } /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline ConfluencePageToIndexFieldMapping& WithDateFieldFormat(const Aws::String& value) { SetDateFieldFormat(value); return *this;} /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline ConfluencePageToIndexFieldMapping& WithDateFieldFormat(Aws::String&& value) { SetDateFieldFormat(std::move(value)); return *this;} /** *

The format for date fields in the data source. If the field specified in * DataSourceFieldName is a date field you must specify the date * format. If the field is not a date field, an exception is thrown.

*/ inline ConfluencePageToIndexFieldMapping& WithDateFieldFormat(const char* value) { SetDateFieldFormat(value); return *this;} /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline const Aws::String& GetIndexFieldName() const{ return m_indexFieldName; } /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline bool IndexFieldNameHasBeenSet() const { return m_indexFieldNameHasBeenSet; } /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline void SetIndexFieldName(const Aws::String& value) { m_indexFieldNameHasBeenSet = true; m_indexFieldName = value; } /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline void SetIndexFieldName(Aws::String&& value) { m_indexFieldNameHasBeenSet = true; m_indexFieldName = std::move(value); } /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline void SetIndexFieldName(const char* value) { m_indexFieldNameHasBeenSet = true; m_indexFieldName.assign(value); } /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline ConfluencePageToIndexFieldMapping& WithIndexFieldName(const Aws::String& value) { SetIndexFieldName(value); return *this;} /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline ConfluencePageToIndexFieldMapping& WithIndexFieldName(Aws::String&& value) { SetIndexFieldName(std::move(value)); return *this;} /** *

The name of the index field to map to the Confluence data source field. The * index field type must match the Confluence field type.

*/ inline ConfluencePageToIndexFieldMapping& WithIndexFieldName(const char* value) { SetIndexFieldName(value); return *this;} private: ConfluencePageFieldName m_dataSourceFieldName; bool m_dataSourceFieldNameHasBeenSet = false; Aws::String m_dateFieldFormat; bool m_dateFieldFormatHasBeenSet = false; Aws::String m_indexFieldName; bool m_indexFieldNameHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws