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

com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceServiceNowKnowledgeArticleConfiguration.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: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

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

/**
 *
 * @property crawlAttachments `TRUE` to index attachments to knowledge articles.
 * @property documentDataFieldName The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.
 * @property documentTitleFieldName The name of the ServiceNow field that is mapped to the index document title field.
 * @property excludeAttachmentFilePatterns A list of regular expression patterns applied to exclude certain knowledge article attachments. Attachments 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 attributes or field names of knoweldge articles to Amazon Kendra index field names. To create custom fields, use the `UpdateIndex` API before you map to ServiceNow fields. For more information, see [Mapping data source fields](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) . The ServiceNow data source field names must exist in your ServiceNow custom metadata.
 * @property filterQuery A query that selects the knowledge articles to index. The query can return articles from multiple knowledge bases, and the knowledge bases can be public or private.
 * The query string must be one generated by the ServiceNow console. For more information, see [Specifying documents to index with a query](https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html) .
 * @property includeAttachmentFilePatterns A list of regular expression patterns applied to include knowledge article attachments. Attachments 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.
 */
public data class DataSourceServiceNowKnowledgeArticleConfiguration(
    public val crawlAttachments: Boolean? = null,
    public val documentDataFieldName: String,
    public val documentTitleFieldName: String? = null,
    public val excludeAttachmentFilePatterns: List? = null,
    public val fieldMappings: List? = null,
    public val filterQuery: String? = null,
    public val includeAttachmentFilePatterns: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.kendra.outputs.DataSourceServiceNowKnowledgeArticleConfiguration): DataSourceServiceNowKnowledgeArticleConfiguration =
            DataSourceServiceNowKnowledgeArticleConfiguration(
                crawlAttachments = javaType.crawlAttachments().map({ args0 -> args0 }).orElse(null),
                documentDataFieldName = javaType.documentDataFieldName(),
                documentTitleFieldName = javaType.documentTitleFieldName().map({ args0 -> args0 }).orElse(null),
                excludeAttachmentFilePatterns = javaType.excludeAttachmentFilePatterns().map({ args0 -> args0 }),
                fieldMappings = javaType.fieldMappings().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceToIndexFieldMapping.Companion.toKotlin(args0)
                    })
                }),
                filterQuery = javaType.filterQuery().map({ args0 -> args0 }).orElse(null),
                includeAttachmentFilePatterns = javaType.includeAttachmentFilePatterns().map({ args0 -> args0 }),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy