/* * 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 Box as your data source. /// public partial class BoxConfiguration { private List _commentFieldMappings = new List(); private bool? _crawlComments; private bool? _crawlTasks; private bool? _crawlWebLinks; private string _enterpriseId; private List _exclusionPatterns = new List(); private List _fileFieldMappings = new List(); private List _inclusionPatterns = new List(); private string _secretArn; private List _taskFieldMappings = new List(); private bool? _useChangeLog; private DataSourceVpcConfiguration _vpcConfiguration; private List _webLinkFieldMappings = new List(); /// /// Gets and sets the property CommentFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of Box comments to Amazon Kendra index field names. To create custom fields, /// use the UpdateIndex API before you map to Box fields. For more information, /// see Mapping /// data source fields. The Box field names must exist in your Box custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List CommentFieldMappings { get { return this._commentFieldMappings; } set { this._commentFieldMappings = value; } } // Check to see if CommentFieldMappings property is set internal bool IsSetCommentFieldMappings() { return this._commentFieldMappings != null && this._commentFieldMappings.Count > 0; } /// /// Gets and sets the property CrawlComments. /// /// TRUE to index comments. /// /// 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 CrawlTasks. /// /// TRUE to index the contents of tasks. /// /// public bool CrawlTasks { get { return this._crawlTasks.GetValueOrDefault(); } set { this._crawlTasks = value; } } // Check to see if CrawlTasks property is set internal bool IsSetCrawlTasks() { return this._crawlTasks.HasValue; } /// /// Gets and sets the property CrawlWebLinks. /// /// TRUE to index web links. /// /// public bool CrawlWebLinks { get { return this._crawlWebLinks.GetValueOrDefault(); } set { this._crawlWebLinks = value; } } // Check to see if CrawlWebLinks property is set internal bool IsSetCrawlWebLinks() { return this._crawlWebLinks.HasValue; } /// /// Gets and sets the property EnterpriseId. /// /// The identifier of the Box Enterprise platform. You can find the enterprise ID in the /// Box Developer Console settings or when you create an app in Box and download your /// authentication credentials. For example, 801234567. /// /// [AWSProperty(Required=true, Min=1, Max=64)] public string EnterpriseId { get { return this._enterpriseId; } set { this._enterpriseId = value; } } // Check to see if EnterpriseId property is set internal bool IsSetEnterpriseId() { return this._enterpriseId != null; } /// /// Gets and sets the property ExclusionPatterns. /// /// A list of regular expression patterns to exclude certain files and folders from your /// Box platform. Files and folders that match the patterns are excluded from the index.Files /// and folders that don't match the patterns are included in the index. If a file or /// folder matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the file or folder 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 FileFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of Box files to Amazon Kendra index field names. To create custom fields, /// use the UpdateIndex API before you map to Box fields. For more information, /// see Mapping /// data source fields. The Box field names must exist in your Box custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List FileFieldMappings { get { return this._fileFieldMappings; } set { this._fileFieldMappings = value; } } // Check to see if FileFieldMappings property is set internal bool IsSetFileFieldMappings() { return this._fileFieldMappings != null && this._fileFieldMappings.Count > 0; } /// /// Gets and sets the property InclusionPatterns. /// /// A list of regular expression patterns to include certain files and folders in your /// Box platform. Files and folders that match the patterns are included in the index. /// Files and folders that don't match the patterns are excluded from the index. If a /// file or folder matches both an inclusion and exclusion pattern, the exclusion pattern /// takes precedence and the file or folder 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 Box platform. The secret must contain a JSON structure /// with the following keys: /// ///
  • /// /// clientID—The identifier of the client OAuth 2.0 authentication application created /// in Box. /// ///
  • /// /// clientSecret—A set of characters known only to the OAuth 2.0 authentication application /// created in Box. /// ///
  • /// /// publicKeyId—The identifier of the public key contained within an identity certificate. /// ///
  • /// /// privateKey—A set of characters that make up an encryption key. /// ///
  • /// /// passphrase—A set of characters that act like a password. /// ///
/// /// You create an application in Box to generate the keys or credentials required for /// the secret. For more information, see Using /// a Box data source. /// ///
[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 TaskFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of Box tasks to Amazon Kendra index field names. To create custom fields, /// use the UpdateIndex API before you map to Box fields. For more information, /// see Mapping /// data source fields. The Box field names must exist in your Box custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List TaskFieldMappings { get { return this._taskFieldMappings; } set { this._taskFieldMappings = value; } } // Check to see if TaskFieldMappings property is set internal bool IsSetTaskFieldMappings() { return this._taskFieldMappings != null && this._taskFieldMappings.Count > 0; } /// /// Gets and sets the property UseChangeLog. /// /// TRUE to use the Slack change log to determine which documents require /// updating in the index. Depending on the data source change log's size, it may take /// longer for Amazon Kendra to use the change log than to scan all of your documents. /// /// public bool UseChangeLog { get { return this._useChangeLog.GetValueOrDefault(); } set { this._useChangeLog = value; } } // Check to see if UseChangeLog property is set internal bool IsSetUseChangeLog() { return this._useChangeLog.HasValue; } /// /// Gets and sets the property VpcConfiguration. /// /// Configuration information for an Amazon VPC to connect to your Box. 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 WebLinkFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of Box web links to Amazon Kendra index field names. To create custom /// fields, use the UpdateIndex API before you map to Box fields. For more /// information, see Mapping /// data source fields. The Box field names must exist in your Box custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List WebLinkFieldMappings { get { return this._webLinkFieldMappings; } set { this._webLinkFieldMappings = value; } } // Check to see if WebLinkFieldMappings property is set internal bool IsSetWebLinkFieldMappings() { return this._webLinkFieldMappings != null && this._webLinkFieldMappings.Count > 0; } } }