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

Provides the configuration information for altering document metadata and * content during the document ingestion process.

For more information, see * Customizing * document metadata during the ingestion process.

See Also:

* AWS * API Reference

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

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline const Aws::Vector& GetInlineConfigurations() const{ return m_inlineConfigurations; } /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline bool InlineConfigurationsHasBeenSet() const { return m_inlineConfigurationsHasBeenSet; } /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline void SetInlineConfigurations(const Aws::Vector& value) { m_inlineConfigurationsHasBeenSet = true; m_inlineConfigurations = value; } /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline void SetInlineConfigurations(Aws::Vector&& value) { m_inlineConfigurationsHasBeenSet = true; m_inlineConfigurations = std::move(value); } /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline CustomDocumentEnrichmentConfiguration& WithInlineConfigurations(const Aws::Vector& value) { SetInlineConfigurations(value); return *this;} /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline CustomDocumentEnrichmentConfiguration& WithInlineConfigurations(Aws::Vector&& value) { SetInlineConfigurations(std::move(value)); return *this;} /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline CustomDocumentEnrichmentConfiguration& AddInlineConfigurations(const InlineCustomDocumentEnrichmentConfiguration& value) { m_inlineConfigurationsHasBeenSet = true; m_inlineConfigurations.push_back(value); return *this; } /** *

Configuration information to alter document attributes or metadata fields and * content when ingesting documents into Amazon Kendra.

*/ inline CustomDocumentEnrichmentConfiguration& AddInlineConfigurations(InlineCustomDocumentEnrichmentConfiguration&& value) { m_inlineConfigurationsHasBeenSet = true; m_inlineConfigurations.push_back(std::move(value)); return *this; } /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline const HookConfiguration& GetPreExtractionHookConfiguration() const{ return m_preExtractionHookConfiguration; } /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline bool PreExtractionHookConfigurationHasBeenSet() const { return m_preExtractionHookConfigurationHasBeenSet; } /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline void SetPreExtractionHookConfiguration(const HookConfiguration& value) { m_preExtractionHookConfigurationHasBeenSet = true; m_preExtractionHookConfiguration = value; } /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline void SetPreExtractionHookConfiguration(HookConfiguration&& value) { m_preExtractionHookConfigurationHasBeenSet = true; m_preExtractionHookConfiguration = std::move(value); } /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline CustomDocumentEnrichmentConfiguration& WithPreExtractionHookConfiguration(const HookConfiguration& value) { SetPreExtractionHookConfiguration(value); return *this;} /** *

Configuration information for invoking a Lambda function in Lambda on the * original or raw documents before extracting their metadata and text. You can use * a Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline CustomDocumentEnrichmentConfiguration& WithPreExtractionHookConfiguration(HookConfiguration&& value) { SetPreExtractionHookConfiguration(std::move(value)); return *this;} /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline const HookConfiguration& GetPostExtractionHookConfiguration() const{ return m_postExtractionHookConfiguration; } /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline bool PostExtractionHookConfigurationHasBeenSet() const { return m_postExtractionHookConfigurationHasBeenSet; } /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline void SetPostExtractionHookConfiguration(const HookConfiguration& value) { m_postExtractionHookConfigurationHasBeenSet = true; m_postExtractionHookConfiguration = value; } /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline void SetPostExtractionHookConfiguration(HookConfiguration&& value) { m_postExtractionHookConfigurationHasBeenSet = true; m_postExtractionHookConfiguration = std::move(value); } /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline CustomDocumentEnrichmentConfiguration& WithPostExtractionHookConfiguration(const HookConfiguration& value) { SetPostExtractionHookConfiguration(value); return *this;} /** *

Configuration information for invoking a Lambda function in Lambda on the * structured documents with their metadata and text extracted. You can use a * Lambda function to apply advanced logic for creating, modifying, or deleting * document metadata and content. For more information, see Advanced * data manipulation.

*/ inline CustomDocumentEnrichmentConfiguration& WithPostExtractionHookConfiguration(HookConfiguration&& value) { SetPostExtractionHookConfiguration(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

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

The Amazon Resource Name (ARN) of a role with permission to run * PreExtractionHookConfiguration and * PostExtractionHookConfiguration for altering document metadata and * content during the document ingestion process. For more information, see IAM roles for * Amazon Kendra.

*/ inline CustomDocumentEnrichmentConfiguration& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} private: Aws::Vector m_inlineConfigurations; bool m_inlineConfigurationsHasBeenSet = false; HookConfiguration m_preExtractionHookConfiguration; bool m_preExtractionHookConfigurationHasBeenSet = false; HookConfiguration m_postExtractionHookConfiguration; bool m_postExtractionHookConfigurationHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws