/* * 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 Google Drive as your data source. /// public partial class GoogleDriveConfiguration { private List _excludeMimeTypes = new List(); private List _excludeSharedDrives = new List(); private List _excludeUserAccounts = new List(); private List _exclusionPatterns = new List(); private List _fieldMappings = new List(); private List _inclusionPatterns = new List(); private string _secretArn; /// /// Gets and sets the property ExcludeMimeTypes. /// /// A list of MIME types to exclude from the index. All documents matching the specified /// MIME type are excluded. /// /// /// /// For a list of MIME types, see Using /// a Google Workspace Drive data source. /// /// [AWSProperty(Min=0, Max=30)] public List ExcludeMimeTypes { get { return this._excludeMimeTypes; } set { this._excludeMimeTypes = value; } } // Check to see if ExcludeMimeTypes property is set internal bool IsSetExcludeMimeTypes() { return this._excludeMimeTypes != null && this._excludeMimeTypes.Count > 0; } /// /// Gets and sets the property ExcludeSharedDrives. /// /// A list of identifiers or shared drives to exclude from the index. All files and folders /// stored on the shared drive are excluded. /// /// [AWSProperty(Min=0, Max=100)] public List ExcludeSharedDrives { get { return this._excludeSharedDrives; } set { this._excludeSharedDrives = value; } } // Check to see if ExcludeSharedDrives property is set internal bool IsSetExcludeSharedDrives() { return this._excludeSharedDrives != null && this._excludeSharedDrives.Count > 0; } /// /// Gets and sets the property ExcludeUserAccounts. /// /// A list of email addresses of the users. Documents owned by these users are excluded /// from the index. Documents shared with excluded users are indexed unless they are excluded /// in another way. /// /// [AWSProperty(Min=0, Max=100)] public List ExcludeUserAccounts { get { return this._excludeUserAccounts; } set { this._excludeUserAccounts = value; } } // Check to see if ExcludeUserAccounts property is set internal bool IsSetExcludeUserAccounts() { return this._excludeUserAccounts != null && this._excludeUserAccounts.Count > 0; } /// /// Gets and sets the property ExclusionPatterns. /// /// A list of regular expression patterns to exclude certain items in your Google Drive, /// including shared drives and users' My Drives. Items that match the patterns are excluded /// from the index. Items that don't match the patterns are included in the index. If /// an item matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the item 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 FieldMappings. /// /// Maps Google Drive data source attributes or field names to Amazon Kendra index field /// names. To create custom fields, use the UpdateIndex API before you map /// to Google Drive fields. For more information, see Mapping /// data source fields. The Google Drive data source field names must exist in your /// Google Drive custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List FieldMappings { get { return this._fieldMappings; } set { this._fieldMappings = value; } } // Check to see if FieldMappings property is set internal bool IsSetFieldMappings() { return this._fieldMappings != null && this._fieldMappings.Count > 0; } /// /// Gets and sets the property InclusionPatterns. /// /// A list of regular expression patterns to include certain items in your Google Drive, /// including shared drives and users' My Drives. Items that match the patterns are included /// in the index. Items that don't match the patterns are excluded from the index. If /// an item matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the item 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 a Secrets Managersecret that contains the credentials /// required to connect to Google Drive. For more information, see Using /// a Google Workspace Drive 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; } } }