/*
* 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;
}
}
}