/*
* 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 to connect to an Amazon S3 bucket.
///
public partial class S3DataSourceConfiguration
{
private AccessControlListConfiguration _accessControlListConfiguration;
private string _bucketName;
private DocumentsMetadataConfiguration _documentsMetadataConfiguration;
private List _exclusionPatterns = new List();
private List _inclusionPatterns = new List();
private List _inclusionPrefixes = new List();
///
/// Gets and sets the property AccessControlListConfiguration.
///
/// Provides the path to the S3 bucket that contains the user context filtering files
/// for the data source. For the format of the file, see Access
/// control for S3 data sources.
///
///
public AccessControlListConfiguration AccessControlListConfiguration
{
get { return this._accessControlListConfiguration; }
set { this._accessControlListConfiguration = value; }
}
// Check to see if AccessControlListConfiguration property is set
internal bool IsSetAccessControlListConfiguration()
{
return this._accessControlListConfiguration != null;
}
///
/// Gets and sets the property BucketName.
///
/// The name of the bucket that contains the documents.
///
///
[AWSProperty(Required=true, Min=3, Max=63)]
public string BucketName
{
get { return this._bucketName; }
set { this._bucketName = value; }
}
// Check to see if BucketName property is set
internal bool IsSetBucketName()
{
return this._bucketName != null;
}
///
/// Gets and sets the property DocumentsMetadataConfiguration.
///
public DocumentsMetadataConfiguration DocumentsMetadataConfiguration
{
get { return this._documentsMetadataConfiguration; }
set { this._documentsMetadataConfiguration = value; }
}
// Check to see if DocumentsMetadataConfiguration property is set
internal bool IsSetDocumentsMetadataConfiguration()
{
return this._documentsMetadataConfiguration != null;
}
///
/// Gets and sets the property ExclusionPatterns.
///
/// A list of glob patterns for documents that should not be indexed. If a document that
/// matches an inclusion prefix or inclusion pattern also matches an exclusion pattern,
/// the document is not indexed.
///
///
///
/// Some examples
/// are:
///
/// -
///
/// *.png , *.jpg will exclude all PNG and JPEG image files in a directory (files
/// with the extensions .png and .jpg).
///
///
-
///
/// *internal* will exclude all files in a directory that contain 'internal' in
/// the file name, such as 'internal', 'internal_only', 'company_internal'.
///
///
-
///
/// **/*internal* will exclude all internal-related files in a directory and its
/// subdirectories.
///
///
///
[AWSProperty(Min=0, Max=250)]
public List ExclusionPatterns
{
get { return this._exclusionPatterns; }
set { this._exclusionPatterns = value; }
}
// Check to see if ExclusionPatterns property is set
internal bool IsSetExclusionPatterns()
{
return this._exclusionPatterns != null && this._exclusionPatterns.Count > 0;
}
///
/// Gets and sets the property InclusionPatterns.
///
/// A list of glob patterns for documents that should be indexed. If a document that matches
/// an inclusion pattern also matches an exclusion pattern, the document is not indexed.
///
///
///
/// Some examples
/// are:
///
/// -
///
/// *.txt will include all text files in a directory (files with the extension
/// .txt).
///
///
-
///
/// **/*.txt will include all text files in a directory and its subdirectories.
///
///
-
///
/// *tax* will include all files in a directory that contain 'tax' in the file
/// name, such as 'tax', 'taxes', 'income_tax'.
///
///
///
[AWSProperty(Min=0, Max=250)]
public List InclusionPatterns
{
get { return this._inclusionPatterns; }
set { this._inclusionPatterns = value; }
}
// Check to see if InclusionPatterns property is set
internal bool IsSetInclusionPatterns()
{
return this._inclusionPatterns != null && this._inclusionPatterns.Count > 0;
}
///
/// Gets and sets the property InclusionPrefixes.
///
/// A list of S3 prefixes for the documents that should be included in the index.
///
///
[AWSProperty(Min=0, Max=250)]
public List InclusionPrefixes
{
get { return this._inclusionPrefixes; }
set { this._inclusionPrefixes = value; }
}
// Check to see if InclusionPrefixes property is set
internal bool IsSetInclusionPrefixes()
{
return this._inclusionPrefixes != null && this._inclusionPrefixes.Count > 0;
}
}
}