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

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

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.kendra.kotlin.enums.DataSourceServiceNowAuthenticationType
import com.pulumi.awsnative.kendra.kotlin.enums.DataSourceServiceNowBuildVersionType
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property authenticationType The type of authentication used to connect to the ServiceNow instance. If you choose `HTTP_BASIC` , Amazon Kendra is authenticated using the user name and password provided in the AWS Secrets Manager secret in the `SecretArn` field. If you choose `OAUTH2` , Amazon Kendra is authenticated using the credentials of client ID, client secret, user name and password.
 * When you use `OAUTH2` authentication, you must generate a token and a client secret using the ServiceNow console. For more information, see [Using a ServiceNow data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html) .
 * @property hostUrl The ServiceNow instance that the data source connects to. The host endpoint should look like the following: *{instance}.service-now.com.*
 * @property knowledgeArticleConfiguration Configuration information for crawling knowledge articles in the ServiceNow site.
 * @property secretArn The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the user name and password required to connect to the ServiceNow instance. You can also provide OAuth authentication credentials of user name, password, client ID, and client secret. For more information, see [Using a ServiceNow data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html) .
 * @property serviceCatalogConfiguration Configuration information for crawling service catalogs in the ServiceNow site.
 * @property serviceNowBuildVersion The identifier of the release that the ServiceNow host is running. If the host is not running the `LONDON` release, use `OTHERS` .
 */
public data class DataSourceServiceNowConfiguration(
    public val authenticationType: DataSourceServiceNowAuthenticationType? = null,
    public val hostUrl: String,
    public val knowledgeArticleConfiguration: DataSourceServiceNowKnowledgeArticleConfiguration? =
        null,
    public val secretArn: String,
    public val serviceCatalogConfiguration: DataSourceServiceNowServiceCatalogConfiguration? = null,
    public val serviceNowBuildVersion: DataSourceServiceNowBuildVersionType,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.kendra.outputs.DataSourceServiceNowConfiguration): DataSourceServiceNowConfiguration = DataSourceServiceNowConfiguration(
            authenticationType = javaType.authenticationType().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.enums.DataSourceServiceNowAuthenticationType.Companion.toKotlin(args0)
                })
            }).orElse(null),
            hostUrl = javaType.hostUrl(),
            knowledgeArticleConfiguration = javaType.knowledgeArticleConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceServiceNowKnowledgeArticleConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            secretArn = javaType.secretArn(),
            serviceCatalogConfiguration = javaType.serviceCatalogConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.DataSourceServiceNowServiceCatalogConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            serviceNowBuildVersion = javaType.serviceNowBuildVersion().let({ args0 ->
                com.pulumi.awsnative.kendra.kotlin.enums.DataSourceServiceNowBuildVersionType.Companion.toKotlin(args0)
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy