/*
* 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 Alfresco as your data source.
///
///
///
/// Support for AlfrescoConfiguration
ended May 2023. We recommend migrating
/// to or using the Alfresco data source template schema / TemplateConfiguration
/// API.
///
///
///
public partial class AlfrescoConfiguration
{
private List _blogFieldMappings = new List();
private bool? _crawlComments;
private bool? _crawlSystemFolders;
private List _documentLibraryFieldMappings = new List();
private List _entityFilter = new List();
private List _exclusionPatterns = new List();
private List _inclusionPatterns = new List();
private string _secretArn;
private string _siteId;
private string _siteUrl;
private S3Path _sslCertificateS3Path;
private DataSourceVpcConfiguration _vpcConfiguration;
private List _wikiFieldMappings = new List();
///
/// Gets and sets the property BlogFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Alfresco blogs to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Alfresco fields. For
/// more information, see
/// Mapping data source fields. The Alfresco data source field names must exist in
/// your Alfresco custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List BlogFieldMappings
{
get { return this._blogFieldMappings; }
set { this._blogFieldMappings = value; }
}
// Check to see if BlogFieldMappings property is set
internal bool IsSetBlogFieldMappings()
{
return this._blogFieldMappings != null && this._blogFieldMappings.Count > 0;
}
///
/// Gets and sets the property CrawlComments.
///
/// TRUE
to index comments of blogs and other content.
///
///
public bool CrawlComments
{
get { return this._crawlComments.GetValueOrDefault(); }
set { this._crawlComments = value; }
}
// Check to see if CrawlComments property is set
internal bool IsSetCrawlComments()
{
return this._crawlComments.HasValue;
}
///
/// Gets and sets the property CrawlSystemFolders.
///
/// TRUE
to index shared files.
///
///
public bool CrawlSystemFolders
{
get { return this._crawlSystemFolders.GetValueOrDefault(); }
set { this._crawlSystemFolders = value; }
}
// Check to see if CrawlSystemFolders property is set
internal bool IsSetCrawlSystemFolders()
{
return this._crawlSystemFolders.HasValue;
}
///
/// Gets and sets the property DocumentLibraryFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Alfresco document libraries to Amazon Kendra index field names. To
/// create custom fields, use the UpdateIndex
API before you map to Alfresco
/// fields. For more information, see
/// Mapping data source fields. The Alfresco data source field names must exist in
/// your Alfresco custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List DocumentLibraryFieldMappings
{
get { return this._documentLibraryFieldMappings; }
set { this._documentLibraryFieldMappings = value; }
}
// Check to see if DocumentLibraryFieldMappings property is set
internal bool IsSetDocumentLibraryFieldMappings()
{
return this._documentLibraryFieldMappings != null && this._documentLibraryFieldMappings.Count > 0;
}
///
/// Gets and sets the property EntityFilter.
///
/// Specify whether to index document libraries, wikis, or blogs. You can specify one
/// or more of these options.
///
///
[AWSProperty(Min=1, Max=3)]
public List EntityFilter
{
get { return this._entityFilter; }
set { this._entityFilter = value; }
}
// Check to see if EntityFilter property is set
internal bool IsSetEntityFilter()
{
return this._entityFilter != null && this._entityFilter.Count > 0;
}
///
/// Gets and sets the property ExclusionPatterns.
///
/// A list of regular expression patterns to exclude certain files in your Alfresco data
/// source. Files that match the patterns are excluded from the index. Files that don't
/// match the patterns are included in the index. If a file matches both an inclusion
/// pattern and an exclusion pattern, the exclusion pattern takes precedence and the file
/// isn't included in the index.
///
///
[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 regular expression patterns to include certain files in your Alfresco data
/// source. Files that match the patterns are included in the index. Files that don't
/// match the patterns are excluded from the index. If a file matches both an inclusion
/// pattern and an exclusion pattern, the exclusion pattern takes precedence and the file
/// isn't included in the index.
///
///
[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 SecretArn.
///
/// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the key-value
/// pairs required to connect to your Alfresco data source. The secret must contain a
/// JSON structure with the following keys:
///
/// -
///
/// username—The user name of the Alfresco account.
///
///
-
///
/// password—The password of the Alfresco account.
///
///
///
[AWSProperty(Required=true, Min=1, Max=1284)]
public string SecretArn
{
get { return this._secretArn; }
set { this._secretArn = value; }
}
// Check to see if SecretArn property is set
internal bool IsSetSecretArn()
{
return this._secretArn != null;
}
///
/// Gets and sets the property SiteId.
///
/// The identifier of the Alfresco site. For example, my-site.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string SiteId
{
get { return this._siteId; }
set { this._siteId = value; }
}
// Check to see if SiteId property is set
internal bool IsSetSiteId()
{
return this._siteId != null;
}
///
/// Gets and sets the property SiteUrl.
///
/// The URL of the Alfresco site. For example, https://hostname:8080.
///
///
[AWSProperty(Required=true, Min=1, Max=2048)]
public string SiteUrl
{
get { return this._siteUrl; }
set { this._siteUrl = value; }
}
// Check to see if SiteUrl property is set
internal bool IsSetSiteUrl()
{
return this._siteUrl != null;
}
///
/// Gets and sets the property SslCertificateS3Path.
///
/// The path to the SSL certificate stored in an Amazon S3 bucket. You use this to connect
/// to Alfresco if you require a secure SSL connection.
///
///
///
/// You can simply generate a self-signed X509 certificate on any computer using OpenSSL.
/// For an example of using OpenSSL to create an X509 certificate, see Create
/// and sign an X509 certificate.
///
///
[AWSProperty(Required=true)]
public S3Path SslCertificateS3Path
{
get { return this._sslCertificateS3Path; }
set { this._sslCertificateS3Path = value; }
}
// Check to see if SslCertificateS3Path property is set
internal bool IsSetSslCertificateS3Path()
{
return this._sslCertificateS3Path != null;
}
///
/// Gets and sets the property VpcConfiguration.
///
/// Configuration information for an Amazon Virtual Private Cloud to connect to your Alfresco.
/// For more information, see Configuring
/// a VPC.
///
///
public DataSourceVpcConfiguration VpcConfiguration
{
get { return this._vpcConfiguration; }
set { this._vpcConfiguration = value; }
}
// Check to see if VpcConfiguration property is set
internal bool IsSetVpcConfiguration()
{
return this._vpcConfiguration != null;
}
///
/// Gets and sets the property WikiFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Alfresco wikis to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Alfresco fields. For
/// more information, see
/// Mapping data source fields. The Alfresco data source field names must exist in
/// your Alfresco custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List WikiFieldMappings
{
get { return this._wikiFieldMappings; }
set { this._wikiFieldMappings = value; }
}
// Check to see if WikiFieldMappings property is set
internal bool IsSetWikiFieldMappings()
{
return this._wikiFieldMappings != null && this._wikiFieldMappings.Count > 0;
}
}
}