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

com.pulumi.awsnative.entityresolution.kotlin.inputs.MatchingWorkflowOutputSourceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.entityresolution.kotlin.inputs

import com.pulumi.awsnative.entityresolution.inputs.MatchingWorkflowOutputSourceArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property applyNormalization Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an `AttributeType` of `PHONE_NUMBER` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
 * @property kmsArn Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
 * @property output A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
 * @property outputS3Path The S3 path to which Entity Resolution will write the output table
 */
public data class MatchingWorkflowOutputSourceArgs(
    public val applyNormalization: Output? = null,
    public val kmsArn: Output? = null,
    public val output: Output>,
    public val outputS3Path: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.entityresolution.inputs.MatchingWorkflowOutputSourceArgs =
        com.pulumi.awsnative.entityresolution.inputs.MatchingWorkflowOutputSourceArgs.builder()
            .applyNormalization(applyNormalization?.applyValue({ args0 -> args0 }))
            .kmsArn(kmsArn?.applyValue({ args0 -> args0 }))
            .output(output.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .outputS3Path(outputS3Path.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [MatchingWorkflowOutputSourceArgs].
 */
@PulumiTagMarker
public class MatchingWorkflowOutputSourceArgsBuilder internal constructor() {
    private var applyNormalization: Output? = null

    private var kmsArn: Output? = null

    private var output: Output>? = null

    private var outputS3Path: Output? = null

    /**
     * @param value Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an `AttributeType` of `PHONE_NUMBER` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
     */
    @JvmName("hqtdffqmwducgrto")
    public suspend fun applyNormalization(`value`: Output) {
        this.applyNormalization = value
    }

    /**
     * @param value Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
     */
    @JvmName("bdwghjxxyeohfpxh")
    public suspend fun kmsArn(`value`: Output) {
        this.kmsArn = value
    }

    /**
     * @param value A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("oftxxokdmbengjvb")
    public suspend fun output(`value`: Output>) {
        this.output = value
    }

    @JvmName("roxeiwirhkkeeqyp")
    public suspend fun output(vararg values: Output) {
        this.output = Output.all(values.asList())
    }

    /**
     * @param values A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("cngnxrxyathpivrw")
    public suspend fun output(values: List>) {
        this.output = Output.all(values)
    }

    /**
     * @param value The S3 path to which Entity Resolution will write the output table
     */
    @JvmName("ksngxyondhgpcjcq")
    public suspend fun outputS3Path(`value`: Output) {
        this.outputS3Path = value
    }

    /**
     * @param value Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an `AttributeType` of `PHONE_NUMBER` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
     */
    @JvmName("egmaxwhspwepwals")
    public suspend fun applyNormalization(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.applyNormalization = mapped
    }

    /**
     * @param value Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
     */
    @JvmName("wwulwfsgmwqawvol")
    public suspend fun kmsArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kmsArn = mapped
    }

    /**
     * @param value A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("jkmeprhgqwxjtinl")
    public suspend fun output(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.output = mapped
    }

    /**
     * @param argument A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("ecydxqmphunrjonm")
    public suspend fun output(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            MatchingWorkflowOutputAttributeArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.output = mapped
    }

    /**
     * @param argument A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("hurrlngfkdvtsahu")
    public suspend fun output(vararg argument: suspend MatchingWorkflowOutputAttributeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            MatchingWorkflowOutputAttributeArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.output = mapped
    }

    /**
     * @param argument A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("pncrgtjtbhfetqwj")
    public suspend fun output(argument: suspend MatchingWorkflowOutputAttributeArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            MatchingWorkflowOutputAttributeArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.output = mapped
    }

    /**
     * @param values A list of `OutputAttribute` objects, each of which have the fields `Name` and `Hashed` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
     */
    @JvmName("eevpiagpmfelcbgf")
    public suspend fun output(vararg values: MatchingWorkflowOutputAttributeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.output = mapped
    }

    /**
     * @param value The S3 path to which Entity Resolution will write the output table
     */
    @JvmName("gwjubcurvnqxsbsn")
    public suspend fun outputS3Path(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.outputS3Path = mapped
    }

    internal fun build(): MatchingWorkflowOutputSourceArgs = MatchingWorkflowOutputSourceArgs(
        applyNormalization = applyNormalization,
        kmsArn = kmsArn,
        output = output ?: throw PulumiNullFieldException("output"),
        outputS3Path = outputS3Path ?: throw PulumiNullFieldException("outputS3Path"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy