/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Provides the configuration information to connect to Google Drive as your * data source.

See Also:

AWS * API Reference

*/ class GoogleDriveConfiguration { public: AWS_KENDRA_API GoogleDriveConfiguration(); AWS_KENDRA_API GoogleDriveConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API GoogleDriveConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline const Aws::String& GetSecretArn() const{ return m_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.

*/ inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } /** *

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.

*/ inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } /** *

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.

*/ inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } /** *

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.

*/ inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetInclusionPatterns() const{ return m_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.

*/ inline bool InclusionPatternsHasBeenSet() const { return m_inclusionPatternsHasBeenSet; } /** *

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.

*/ inline void SetInclusionPatterns(const Aws::Vector& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = value; } /** *

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.

*/ inline void SetInclusionPatterns(Aws::Vector&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = std::move(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithInclusionPatterns(const Aws::Vector& value) { SetInclusionPatterns(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithInclusionPatterns(Aws::Vector&& value) { SetInclusionPatterns(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& AddInclusionPatterns(const Aws::String& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddInclusionPatterns(Aws::String&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(std::move(value)); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddInclusionPatterns(const char* value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetExclusionPatterns() const{ return m_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.

*/ inline bool ExclusionPatternsHasBeenSet() const { return m_exclusionPatternsHasBeenSet; } /** *

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.

*/ inline void SetExclusionPatterns(const Aws::Vector& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = value; } /** *

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.

*/ inline void SetExclusionPatterns(Aws::Vector&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = std::move(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithExclusionPatterns(const Aws::Vector& value) { SetExclusionPatterns(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithExclusionPatterns(Aws::Vector&& value) { SetExclusionPatterns(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& AddExclusionPatterns(const Aws::String& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExclusionPatterns(Aws::String&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(std::move(value)); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExclusionPatterns(const char* value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetFieldMappings() const{ return m_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.

*/ inline bool FieldMappingsHasBeenSet() const { return m_fieldMappingsHasBeenSet; } /** *

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.

*/ inline void SetFieldMappings(const Aws::Vector& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = value; } /** *

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.

*/ inline void SetFieldMappings(Aws::Vector&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = std::move(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithFieldMappings(const Aws::Vector& value) { SetFieldMappings(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithFieldMappings(Aws::Vector&& value) { SetFieldMappings(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& AddFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(value); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } /** *

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.

*/ inline const Aws::Vector& GetExcludeMimeTypes() const{ return m_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.

*/ inline bool ExcludeMimeTypesHasBeenSet() const { return m_excludeMimeTypesHasBeenSet; } /** *

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.

*/ inline void SetExcludeMimeTypes(const Aws::Vector& value) { m_excludeMimeTypesHasBeenSet = true; m_excludeMimeTypes = value; } /** *

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.

*/ inline void SetExcludeMimeTypes(Aws::Vector&& value) { m_excludeMimeTypesHasBeenSet = true; m_excludeMimeTypes = std::move(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithExcludeMimeTypes(const Aws::Vector& value) { SetExcludeMimeTypes(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithExcludeMimeTypes(Aws::Vector&& value) { SetExcludeMimeTypes(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeMimeTypes(const Aws::String& value) { m_excludeMimeTypesHasBeenSet = true; m_excludeMimeTypes.push_back(value); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeMimeTypes(Aws::String&& value) { m_excludeMimeTypesHasBeenSet = true; m_excludeMimeTypes.push_back(std::move(value)); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeMimeTypes(const char* value) { m_excludeMimeTypesHasBeenSet = true; m_excludeMimeTypes.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetExcludeUserAccounts() const{ return m_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.

*/ inline bool ExcludeUserAccountsHasBeenSet() const { return m_excludeUserAccountsHasBeenSet; } /** *

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.

*/ inline void SetExcludeUserAccounts(const Aws::Vector& value) { m_excludeUserAccountsHasBeenSet = true; m_excludeUserAccounts = value; } /** *

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.

*/ inline void SetExcludeUserAccounts(Aws::Vector&& value) { m_excludeUserAccountsHasBeenSet = true; m_excludeUserAccounts = std::move(value); } /** *

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.

*/ inline GoogleDriveConfiguration& WithExcludeUserAccounts(const Aws::Vector& value) { SetExcludeUserAccounts(value); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& WithExcludeUserAccounts(Aws::Vector&& value) { SetExcludeUserAccounts(std::move(value)); return *this;} /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeUserAccounts(const Aws::String& value) { m_excludeUserAccountsHasBeenSet = true; m_excludeUserAccounts.push_back(value); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeUserAccounts(Aws::String&& value) { m_excludeUserAccountsHasBeenSet = true; m_excludeUserAccounts.push_back(std::move(value)); return *this; } /** *

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.

*/ inline GoogleDriveConfiguration& AddExcludeUserAccounts(const char* value) { m_excludeUserAccountsHasBeenSet = true; m_excludeUserAccounts.push_back(value); return *this; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline const Aws::Vector& GetExcludeSharedDrives() const{ return m_excludeSharedDrives; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline bool ExcludeSharedDrivesHasBeenSet() const { return m_excludeSharedDrivesHasBeenSet; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline void SetExcludeSharedDrives(const Aws::Vector& value) { m_excludeSharedDrivesHasBeenSet = true; m_excludeSharedDrives = value; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline void SetExcludeSharedDrives(Aws::Vector&& value) { m_excludeSharedDrivesHasBeenSet = true; m_excludeSharedDrives = std::move(value); } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline GoogleDriveConfiguration& WithExcludeSharedDrives(const Aws::Vector& value) { SetExcludeSharedDrives(value); return *this;} /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline GoogleDriveConfiguration& WithExcludeSharedDrives(Aws::Vector&& value) { SetExcludeSharedDrives(std::move(value)); return *this;} /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline GoogleDriveConfiguration& AddExcludeSharedDrives(const Aws::String& value) { m_excludeSharedDrivesHasBeenSet = true; m_excludeSharedDrives.push_back(value); return *this; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline GoogleDriveConfiguration& AddExcludeSharedDrives(Aws::String&& value) { m_excludeSharedDrivesHasBeenSet = true; m_excludeSharedDrives.push_back(std::move(value)); return *this; } /** *

A list of identifiers or shared drives to exclude from the index. All files * and folders stored on the shared drive are excluded.

*/ inline GoogleDriveConfiguration& AddExcludeSharedDrives(const char* value) { m_excludeSharedDrivesHasBeenSet = true; m_excludeSharedDrives.push_back(value); return *this; } private: Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; Aws::Vector m_excludeMimeTypes; bool m_excludeMimeTypesHasBeenSet = false; Aws::Vector m_excludeUserAccounts; bool m_excludeUserAccountsHasBeenSet = false; Aws::Vector m_excludeSharedDrives; bool m_excludeSharedDrivesHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws