/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the kendra-2019-02-03.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Kendra.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.
///
///
public partial class CustomDocumentEnrichmentConfiguration
{
private List _inlineConfigurations = new List();
private HookConfiguration _postExtractionHookConfiguration;
private HookConfiguration _preExtractionHookConfiguration;
private string _roleArn;
///
/// Gets and sets the property InlineConfigurations.
///
/// Configuration information to alter document attributes or metadata fields and content
/// when ingesting documents into Amazon Kendra.
///
///
[AWSProperty(Min=0, Max=100)]
public List InlineConfigurations
{
get { return this._inlineConfigurations; }
set { this._inlineConfigurations = value; }
}
// Check to see if InlineConfigurations property is set
internal bool IsSetInlineConfigurations()
{
return this._inlineConfigurations != null && this._inlineConfigurations.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public HookConfiguration PostExtractionHookConfiguration
{
get { return this._postExtractionHookConfiguration; }
set { this._postExtractionHookConfiguration = value; }
}
// Check to see if PostExtractionHookConfiguration property is set
internal bool IsSetPostExtractionHookConfiguration()
{
return this._postExtractionHookConfiguration != null;
}
///
/// Gets and sets the property 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.
///
///
public HookConfiguration PreExtractionHookConfiguration
{
get { return this._preExtractionHookConfiguration; }
set { this._preExtractionHookConfiguration = value; }
}
// Check to see if PreExtractionHookConfiguration property is set
internal bool IsSetPreExtractionHookConfiguration()
{
return this._preExtractionHookConfiguration != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0, Max=1284)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
}
}