
com.pulumi.awsnative.qbusiness.kotlin.inputs.DataSourceHookConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.qbusiness.kotlin.inputs
import com.pulumi.awsnative.qbusiness.inputs.DataSourceHookConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property invocationCondition The condition used for when a Lambda function should be invoked.
* For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
* @property lambdaArn The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
* @property roleArn The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
* @property s3BucketName Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
*/
public data class DataSourceHookConfigurationArgs(
public val invocationCondition: Output? = null,
public val lambdaArn: Output? = null,
public val roleArn: Output? = null,
public val s3BucketName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.qbusiness.inputs.DataSourceHookConfigurationArgs =
com.pulumi.awsnative.qbusiness.inputs.DataSourceHookConfigurationArgs.builder()
.invocationCondition(
invocationCondition?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.lambdaArn(lambdaArn?.applyValue({ args0 -> args0 }))
.roleArn(roleArn?.applyValue({ args0 -> args0 }))
.s3BucketName(s3BucketName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DataSourceHookConfigurationArgs].
*/
@PulumiTagMarker
public class DataSourceHookConfigurationArgsBuilder internal constructor() {
private var invocationCondition: Output? = null
private var lambdaArn: Output? = null
private var roleArn: Output? = null
private var s3BucketName: Output? = null
/**
* @param value The condition used for when a Lambda function should be invoked.
* For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
*/
@JvmName("vgvjlurwtcxrawap")
public suspend fun invocationCondition(`value`: Output) {
this.invocationCondition = value
}
/**
* @param value The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
*/
@JvmName("uuqcifglcabfvhav")
public suspend fun lambdaArn(`value`: Output) {
this.lambdaArn = value
}
/**
* @param value The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
*/
@JvmName("iubylpukbxkcnkcj")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
*/
@JvmName("vggwimskdrrahgwv")
public suspend fun s3BucketName(`value`: Output) {
this.s3BucketName = value
}
/**
* @param value The condition used for when a Lambda function should be invoked.
* For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
*/
@JvmName("agruhrnviuyujxsh")
public suspend fun invocationCondition(`value`: DataSourceDocumentAttributeConditionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.invocationCondition = mapped
}
/**
* @param argument The condition used for when a Lambda function should be invoked.
* For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
*/
@JvmName("ywvnbwvjfebsyrxi")
public suspend fun invocationCondition(argument: suspend DataSourceDocumentAttributeConditionArgsBuilder.() -> Unit) {
val toBeMapped = DataSourceDocumentAttributeConditionArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.invocationCondition = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
*/
@JvmName("vxciremuqgwwteer")
public suspend fun lambdaArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.lambdaArn = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
*/
@JvmName("drwyblquprofmwgc")
public suspend fun roleArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.roleArn = mapped
}
/**
* @param value Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
*/
@JvmName("pvvjnlekfgawumvp")
public suspend fun s3BucketName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.s3BucketName = mapped
}
internal fun build(): DataSourceHookConfigurationArgs = DataSourceHookConfigurationArgs(
invocationCondition = invocationCondition,
lambdaArn = lambdaArn,
roleArn = roleArn,
s3BucketName = s3BucketName,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy