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

com.pulumi.awsnative.databrew.kotlin.JobArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.databrew.kotlin

import com.pulumi.awsnative.databrew.JobArgs.builder
import com.pulumi.awsnative.databrew.kotlin.enums.JobEncryptionMode
import com.pulumi.awsnative.databrew.kotlin.enums.JobLogSubscription
import com.pulumi.awsnative.databrew.kotlin.enums.JobType
import com.pulumi.awsnative.databrew.kotlin.inputs.JobDataCatalogOutputArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobDataCatalogOutputArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobDatabaseOutputArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobDatabaseOutputArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobOutputArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobOutputArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobOutputLocationArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobOutputLocationArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobProfileConfigurationArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobProfileConfigurationArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobRecipeArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobRecipeArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobSampleArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobSampleArgsBuilder
import com.pulumi.awsnative.databrew.kotlin.inputs.JobValidationConfigurationArgs
import com.pulumi.awsnative.databrew.kotlin.inputs.JobValidationConfigurationArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgs
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgsBuilder
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Resource schema for AWS::DataBrew::Job.
 * ## Example Usage
 * ### Example
 * No Java example available.
 * @property dataCatalogOutputs One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
 * @property databaseOutputs Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
 * @property datasetName Dataset name
 * @property encryptionKeyArn Encryption Key Arn
 * @property encryptionMode Encryption mode
 * @property jobSample Job Sample
 * @property logSubscription Log subscription
 * @property maxCapacity Max capacity
 * @property maxRetries Max retries
 * @property name Job name
 * @property outputLocation Output location
 * @property outputs One or more artifacts that represent output from running the job.
 * @property profileConfiguration Profile Job configuration
 * @property projectName Project name
 * @property recipe A series of data transformation steps that the job runs.
 * @property roleArn Role arn
 * @property tags Metadata tags that have been applied to the job.
 * @property timeout Timeout
 * @property type Job type
 * @property validationConfigurations Data quality rules configuration
 */
public data class JobArgs(
    public val dataCatalogOutputs: Output>? = null,
    public val databaseOutputs: Output>? = null,
    public val datasetName: Output? = null,
    public val encryptionKeyArn: Output? = null,
    public val encryptionMode: Output? = null,
    public val jobSample: Output? = null,
    public val logSubscription: Output? = null,
    public val maxCapacity: Output? = null,
    public val maxRetries: Output? = null,
    public val name: Output? = null,
    public val outputLocation: Output? = null,
    public val outputs: Output>? = null,
    public val profileConfiguration: Output? = null,
    public val projectName: Output? = null,
    public val recipe: Output? = null,
    public val roleArn: Output? = null,
    public val tags: Output>? = null,
    public val timeout: Output? = null,
    public val type: Output? = null,
    public val validationConfigurations: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.databrew.JobArgs =
        com.pulumi.awsnative.databrew.JobArgs.builder()
            .dataCatalogOutputs(
                dataCatalogOutputs?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .databaseOutputs(
                databaseOutputs?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .datasetName(datasetName?.applyValue({ args0 -> args0 }))
            .encryptionKeyArn(encryptionKeyArn?.applyValue({ args0 -> args0 }))
            .encryptionMode(encryptionMode?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .jobSample(jobSample?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .logSubscription(logSubscription?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .maxCapacity(maxCapacity?.applyValue({ args0 -> args0 }))
            .maxRetries(maxRetries?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .outputLocation(outputLocation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .outputs(
                outputs?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .profileConfiguration(
                profileConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .projectName(projectName?.applyValue({ args0 -> args0 }))
            .recipe(recipe?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .timeout(timeout?.applyValue({ args0 -> args0 }))
            .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .validationConfigurations(
                validationConfigurations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [JobArgs].
 */
@PulumiTagMarker
public class JobArgsBuilder internal constructor() {
    private var dataCatalogOutputs: Output>? = null

    private var databaseOutputs: Output>? = null

    private var datasetName: Output? = null

    private var encryptionKeyArn: Output? = null

    private var encryptionMode: Output? = null

    private var jobSample: Output? = null

    private var logSubscription: Output? = null

    private var maxCapacity: Output? = null

    private var maxRetries: Output? = null

    private var name: Output? = null

    private var outputLocation: Output? = null

    private var outputs: Output>? = null

    private var profileConfiguration: Output? = null

    private var projectName: Output? = null

    private var recipe: Output? = null

    private var roleArn: Output? = null

    private var tags: Output>? = null

    private var timeout: Output? = null

    private var type: Output? = null

    private var validationConfigurations: Output>? = null

    /**
     * @param value One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("pwehcevjmltytccb")
    public suspend fun dataCatalogOutputs(`value`: Output>) {
        this.dataCatalogOutputs = value
    }

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

    /**
     * @param values One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("qkqbaxcyjcnxuefo")
    public suspend fun dataCatalogOutputs(values: List>) {
        this.dataCatalogOutputs = Output.all(values)
    }

    /**
     * @param value Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("vxnhyjpigfgkpdoc")
    public suspend fun databaseOutputs(`value`: Output>) {
        this.databaseOutputs = value
    }

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

    /**
     * @param values Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("rxrjmghtnpocgynb")
    public suspend fun databaseOutputs(values: List>) {
        this.databaseOutputs = Output.all(values)
    }

    /**
     * @param value Dataset name
     */
    @JvmName("edurtmdfhqoyesuo")
    public suspend fun datasetName(`value`: Output) {
        this.datasetName = value
    }

    /**
     * @param value Encryption Key Arn
     */
    @JvmName("ljvacoubgvrnpwin")
    public suspend fun encryptionKeyArn(`value`: Output) {
        this.encryptionKeyArn = value
    }

    /**
     * @param value Encryption mode
     */
    @JvmName("fkfgctvsnyekptxe")
    public suspend fun encryptionMode(`value`: Output) {
        this.encryptionMode = value
    }

    /**
     * @param value Job Sample
     */
    @JvmName("irpbiyauqwfnyxux")
    public suspend fun jobSample(`value`: Output) {
        this.jobSample = value
    }

    /**
     * @param value Log subscription
     */
    @JvmName("hbvbwtrvottefxrv")
    public suspend fun logSubscription(`value`: Output) {
        this.logSubscription = value
    }

    /**
     * @param value Max capacity
     */
    @JvmName("tqxnlmtamsytiiqu")
    public suspend fun maxCapacity(`value`: Output) {
        this.maxCapacity = value
    }

    /**
     * @param value Max retries
     */
    @JvmName("lasxcukwlvywdrko")
    public suspend fun maxRetries(`value`: Output) {
        this.maxRetries = value
    }

    /**
     * @param value Job name
     */
    @JvmName("vacwebjfidexkkut")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Output location
     */
    @JvmName("tkpyoundpagewtoe")
    public suspend fun outputLocation(`value`: Output) {
        this.outputLocation = value
    }

    /**
     * @param value One or more artifacts that represent output from running the job.
     */
    @JvmName("btwaneahafgvvusv")
    public suspend fun outputs(`value`: Output>) {
        this.outputs = value
    }

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

    /**
     * @param values One or more artifacts that represent output from running the job.
     */
    @JvmName("vclssbmdsnryygcm")
    public suspend fun outputs(values: List>) {
        this.outputs = Output.all(values)
    }

    /**
     * @param value Profile Job configuration
     */
    @JvmName("neneugvdfpunomhx")
    public suspend fun profileConfiguration(`value`: Output) {
        this.profileConfiguration = value
    }

    /**
     * @param value Project name
     */
    @JvmName("qoaktybpdvsqysjc")
    public suspend fun projectName(`value`: Output) {
        this.projectName = value
    }

    /**
     * @param value A series of data transformation steps that the job runs.
     */
    @JvmName("ofaxkhvjwxooirja")
    public suspend fun recipe(`value`: Output) {
        this.recipe = value
    }

    /**
     * @param value Role arn
     */
    @JvmName("mnnxnwdprupakhlf")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value Metadata tags that have been applied to the job.
     */
    @JvmName("lpqeevehowpkvtkw")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

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

    /**
     * @param values Metadata tags that have been applied to the job.
     */
    @JvmName("xgtuougfpypsoyho")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value Timeout
     */
    @JvmName("oxwaideeyonshuoe")
    public suspend fun timeout(`value`: Output) {
        this.timeout = value
    }

    /**
     * @param value Job type
     */
    @JvmName("owqgpgkekqxutvwa")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value Data quality rules configuration
     */
    @JvmName("ypqixwykulpugsrr")
    public suspend fun validationConfigurations(`value`: Output>) {
        this.validationConfigurations = value
    }

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

    /**
     * @param values Data quality rules configuration
     */
    @JvmName("empmcjsgxktkmohq")
    public suspend fun validationConfigurations(values: List>) {
        this.validationConfigurations = Output.all(values)
    }

    /**
     * @param value One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("doltupfbwqijrsjw")
    public suspend fun dataCatalogOutputs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataCatalogOutputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("vuqlinpmnfhpdlhy")
    public suspend fun dataCatalogOutputs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobDataCatalogOutputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.dataCatalogOutputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("jeahuhfhibksyqvs")
    public suspend fun dataCatalogOutputs(vararg argument: suspend JobDataCatalogOutputArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobDataCatalogOutputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.dataCatalogOutputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("dpwrhfpikbuwnnoa")
    public suspend fun dataCatalogOutputs(argument: suspend JobDataCatalogOutputArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobDataCatalogOutputArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.dataCatalogOutputs = mapped
    }

    /**
     * @param values One or more artifacts that represent the AWS Glue Data Catalog output from running the job.
     */
    @JvmName("dluyorqdbxcxnndm")
    public suspend fun dataCatalogOutputs(vararg values: JobDataCatalogOutputArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.dataCatalogOutputs = mapped
    }

    /**
     * @param value Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("xopxhnehexowkcyk")
    public suspend fun databaseOutputs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.databaseOutputs = mapped
    }

    /**
     * @param argument Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("myigxlhclqxpnwek")
    public suspend fun databaseOutputs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobDatabaseOutputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.databaseOutputs = mapped
    }

    /**
     * @param argument Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("vafrnbpurpvejsil")
    public suspend fun databaseOutputs(vararg argument: suspend JobDatabaseOutputArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobDatabaseOutputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.databaseOutputs = mapped
    }

    /**
     * @param argument Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("efbxjewjeiqyyqbh")
    public suspend fun databaseOutputs(argument: suspend JobDatabaseOutputArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobDatabaseOutputArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.databaseOutputs = mapped
    }

    /**
     * @param values Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    @JvmName("kwxhehjvwmjmjcxp")
    public suspend fun databaseOutputs(vararg values: JobDatabaseOutputArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.databaseOutputs = mapped
    }

    /**
     * @param value Dataset name
     */
    @JvmName("gusckvxtvtnboblb")
    public suspend fun datasetName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.datasetName = mapped
    }

    /**
     * @param value Encryption Key Arn
     */
    @JvmName("edjljsirfteuqlrw")
    public suspend fun encryptionKeyArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptionKeyArn = mapped
    }

    /**
     * @param value Encryption mode
     */
    @JvmName("gkutsjujcdpajmgk")
    public suspend fun encryptionMode(`value`: JobEncryptionMode?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptionMode = mapped
    }

    /**
     * @param value Job Sample
     */
    @JvmName("jshupcubaqqavsnk")
    public suspend fun jobSample(`value`: JobSampleArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.jobSample = mapped
    }

    /**
     * @param argument Job Sample
     */
    @JvmName("gklvxprkancbcuod")
    public suspend fun jobSample(argument: suspend JobSampleArgsBuilder.() -> Unit) {
        val toBeMapped = JobSampleArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.jobSample = mapped
    }

    /**
     * @param value Log subscription
     */
    @JvmName("rghccgdcjhswbvoq")
    public suspend fun logSubscription(`value`: JobLogSubscription?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logSubscription = mapped
    }

    /**
     * @param value Max capacity
     */
    @JvmName("lstskqkrmhhqsahg")
    public suspend fun maxCapacity(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxCapacity = mapped
    }

    /**
     * @param value Max retries
     */
    @JvmName("rbxdsxntetpbeekx")
    public suspend fun maxRetries(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxRetries = mapped
    }

    /**
     * @param value Job name
     */
    @JvmName("xddkfnflgisipcpa")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Output location
     */
    @JvmName("iftvjdcxledveeuk")
    public suspend fun outputLocation(`value`: JobOutputLocationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outputLocation = mapped
    }

    /**
     * @param argument Output location
     */
    @JvmName("pjheembyxsuodfmx")
    public suspend fun outputLocation(argument: suspend JobOutputLocationArgsBuilder.() -> Unit) {
        val toBeMapped = JobOutputLocationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.outputLocation = mapped
    }

    /**
     * @param value One or more artifacts that represent output from running the job.
     */
    @JvmName("yqipdxaeghkvcvgo")
    public suspend fun outputs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent output from running the job.
     */
    @JvmName("xdrjqjajbjsiqurq")
    public suspend fun outputs(argument: List Unit>) {
        val toBeMapped = argument.toList().map { JobOutputArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.outputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent output from running the job.
     */
    @JvmName("wyuddhkiiwlxvjrw")
    public suspend fun outputs(vararg argument: suspend JobOutputArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { JobOutputArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.outputs = mapped
    }

    /**
     * @param argument One or more artifacts that represent output from running the job.
     */
    @JvmName("sldfctehyrbinkyo")
    public suspend fun outputs(argument: suspend JobOutputArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobOutputArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.outputs = mapped
    }

    /**
     * @param values One or more artifacts that represent output from running the job.
     */
    @JvmName("eudphhbrnpenvwxg")
    public suspend fun outputs(vararg values: JobOutputArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.outputs = mapped
    }

    /**
     * @param value Profile Job configuration
     */
    @JvmName("mhlawkfcfcawapjg")
    public suspend fun profileConfiguration(`value`: JobProfileConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profileConfiguration = mapped
    }

    /**
     * @param argument Profile Job configuration
     */
    @JvmName("pyqcrkpfbgkpdsap")
    public suspend fun profileConfiguration(argument: suspend JobProfileConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = JobProfileConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.profileConfiguration = mapped
    }

    /**
     * @param value Project name
     */
    @JvmName("hmhfnxbuqqstflvm")
    public suspend fun projectName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.projectName = mapped
    }

    /**
     * @param value A series of data transformation steps that the job runs.
     */
    @JvmName("tslidsnsoeqsfbwm")
    public suspend fun recipe(`value`: JobRecipeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recipe = mapped
    }

    /**
     * @param argument A series of data transformation steps that the job runs.
     */
    @JvmName("wtvdmnhybhstnmuk")
    public suspend fun recipe(argument: suspend JobRecipeArgsBuilder.() -> Unit) {
        val toBeMapped = JobRecipeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.recipe = mapped
    }

    /**
     * @param value Role arn
     */
    @JvmName("pflohvehvkplsexr")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value Metadata tags that have been applied to the job.
     */
    @JvmName("vllwxwdspbcebtbt")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument Metadata tags that have been applied to the job.
     */
    @JvmName("kihoorvwmhchsfvx")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            CreateOnlyTagArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Metadata tags that have been applied to the job.
     */
    @JvmName("yqgomtwmchstljgm")
    public suspend fun tags(vararg argument: suspend CreateOnlyTagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            CreateOnlyTagArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Metadata tags that have been applied to the job.
     */
    @JvmName("vhnitpsjaduxyfvr")
    public suspend fun tags(argument: suspend CreateOnlyTagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(CreateOnlyTagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values Metadata tags that have been applied to the job.
     */
    @JvmName("cfacxwfmxmicpnnl")
    public suspend fun tags(vararg values: CreateOnlyTagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value Timeout
     */
    @JvmName("soclmureoiagbtot")
    public suspend fun timeout(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeout = mapped
    }

    /**
     * @param value Job type
     */
    @JvmName("tudtqudwgenxukub")
    public suspend fun type(`value`: JobType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Data quality rules configuration
     */
    @JvmName("qrrutycddrvynxrn")
    public suspend fun validationConfigurations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.validationConfigurations = mapped
    }

    /**
     * @param argument Data quality rules configuration
     */
    @JvmName("mosdmpjfvountske")
    public suspend fun validationConfigurations(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobValidationConfigurationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.validationConfigurations = mapped
    }

    /**
     * @param argument Data quality rules configuration
     */
    @JvmName("hebxdmibflgscpcc")
    public suspend fun validationConfigurations(vararg argument: suspend JobValidationConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobValidationConfigurationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.validationConfigurations = mapped
    }

    /**
     * @param argument Data quality rules configuration
     */
    @JvmName("qsqqfyprewfpqyea")
    public suspend fun validationConfigurations(argument: suspend JobValidationConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            JobValidationConfigurationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.validationConfigurations = mapped
    }

    /**
     * @param values Data quality rules configuration
     */
    @JvmName("ytdmrvdcisaiohth")
    public suspend fun validationConfigurations(vararg values: JobValidationConfigurationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.validationConfigurations = mapped
    }

    internal fun build(): JobArgs = JobArgs(
        dataCatalogOutputs = dataCatalogOutputs,
        databaseOutputs = databaseOutputs,
        datasetName = datasetName,
        encryptionKeyArn = encryptionKeyArn,
        encryptionMode = encryptionMode,
        jobSample = jobSample,
        logSubscription = logSubscription,
        maxCapacity = maxCapacity,
        maxRetries = maxRetries,
        name = name,
        outputLocation = outputLocation,
        outputs = outputs,
        profileConfiguration = profileConfiguration,
        projectName = projectName,
        recipe = recipe,
        roleArn = roleArn,
        tags = tags,
        timeout = timeout,
        type = type,
        validationConfigurations = validationConfigurations,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy