All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceGoogleDriveConfiguration.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.kendra.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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](https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html) .
 * @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.
 * @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.
 * @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.
 * @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](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) . The Google Drive data source field names must exist in your Google Drive custom metadata.
 * @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.
 * @property secretArn The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that contains the credentials required to connect to Google Drive. For more information, see [Using a Google Workspace Drive data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html) .
 */
public data class DataSourceGoogleDriveConfiguration(
    public val excludeMimeTypes: List? = null,
    public val excludeSharedDrives: List? = null,
    public val excludeUserAccounts: List? = null,
    public val exclusionPatterns: List? = null,
    public val fieldMappings: List? = null,
    public val inclusionPatterns: List? = null,
    public val secretArn: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.kendra.outputs.DataSourceGoogleDriveConfiguration): DataSourceGoogleDriveConfiguration = DataSourceGoogleDriveConfiguration(
            excludeMimeTypes = javaType.excludeMimeTypes().map({ args0 -> args0 }),
            excludeSharedDrives = javaType.excludeSharedDrives().map({ args0 -> args0 }),
            excludeUserAccounts = javaType.excludeUserAccounts().map({ args0 -> args0 }),
            exclusionPatterns = javaType.exclusionPatterns().map({ args0 -> args0 }),
            fieldMappings = javaType.fieldMappings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceToIndexFieldMapping.Companion.toKotlin(args0)
                })
            }),
            inclusionPatterns = javaType.inclusionPatterns().map({ args0 -> args0 }),
            secretArn = javaType.secretArn(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy