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

com.pulumi.awsnative.events.kotlin.inputs.RuleRedshiftDataParametersArgs.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.events.kotlin.inputs

import com.pulumi.awsnative.events.inputs.RuleRedshiftDataParametersArgs.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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property database The name of the database. Required when authenticating using temporary credentials.
 * @property dbUser The database user name. Required when authenticating using temporary credentials.
 * @property secretManagerArn The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.
 * @property sql The SQL statement text to run.
 * @property sqls One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.
 * @property statementName The name of the SQL statement. You can name the SQL statement when you create it to identify the query.
 * @property withEvent Indicates whether to send an event back to EventBridge after the SQL statement runs.
 */
public data class RuleRedshiftDataParametersArgs(
    public val database: Output,
    public val dbUser: Output? = null,
    public val secretManagerArn: Output? = null,
    public val sql: Output? = null,
    public val sqls: Output>? = null,
    public val statementName: Output? = null,
    public val withEvent: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.events.inputs.RuleRedshiftDataParametersArgs =
        com.pulumi.awsnative.events.inputs.RuleRedshiftDataParametersArgs.builder()
            .database(database.applyValue({ args0 -> args0 }))
            .dbUser(dbUser?.applyValue({ args0 -> args0 }))
            .secretManagerArn(secretManagerArn?.applyValue({ args0 -> args0 }))
            .sql(sql?.applyValue({ args0 -> args0 }))
            .sqls(sqls?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .statementName(statementName?.applyValue({ args0 -> args0 }))
            .withEvent(withEvent?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [RuleRedshiftDataParametersArgs].
 */
@PulumiTagMarker
public class RuleRedshiftDataParametersArgsBuilder internal constructor() {
    private var database: Output? = null

    private var dbUser: Output? = null

    private var secretManagerArn: Output? = null

    private var sql: Output? = null

    private var sqls: Output>? = null

    private var statementName: Output? = null

    private var withEvent: Output? = null

    /**
     * @param value The name of the database. Required when authenticating using temporary credentials.
     */
    @JvmName("bvhflhjwwtbpvgda")
    public suspend fun database(`value`: Output) {
        this.database = value
    }

    /**
     * @param value The database user name. Required when authenticating using temporary credentials.
     */
    @JvmName("hxhcktociofnrmsm")
    public suspend fun dbUser(`value`: Output) {
        this.dbUser = value
    }

    /**
     * @param value The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.
     */
    @JvmName("egocfipwpqesmcxt")
    public suspend fun secretManagerArn(`value`: Output) {
        this.secretManagerArn = value
    }

    /**
     * @param value The SQL statement text to run.
     */
    @JvmName("gtfxbedqlwjugxpk")
    public suspend fun sql(`value`: Output) {
        this.sql = value
    }

    /**
     * @param value One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.
     */
    @JvmName("vhoudcuwetcaholp")
    public suspend fun sqls(`value`: Output>) {
        this.sqls = value
    }

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

    /**
     * @param values One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.
     */
    @JvmName("wnrjevcfyhksoemp")
    public suspend fun sqls(values: List>) {
        this.sqls = Output.all(values)
    }

    /**
     * @param value The name of the SQL statement. You can name the SQL statement when you create it to identify the query.
     */
    @JvmName("tvejctoxbdeyrdma")
    public suspend fun statementName(`value`: Output) {
        this.statementName = value
    }

    /**
     * @param value Indicates whether to send an event back to EventBridge after the SQL statement runs.
     */
    @JvmName("riauqwfmusaumqea")
    public suspend fun withEvent(`value`: Output) {
        this.withEvent = value
    }

    /**
     * @param value The name of the database. Required when authenticating using temporary credentials.
     */
    @JvmName("btykacntxmubfiwa")
    public suspend fun database(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.database = mapped
    }

    /**
     * @param value The database user name. Required when authenticating using temporary credentials.
     */
    @JvmName("imbhhqaqnlugkfux")
    public suspend fun dbUser(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dbUser = mapped
    }

    /**
     * @param value The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.
     */
    @JvmName("umegwcbbgahgeagi")
    public suspend fun secretManagerArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secretManagerArn = mapped
    }

    /**
     * @param value The SQL statement text to run.
     */
    @JvmName("jgmjjnnuvionsrqg")
    public suspend fun sql(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sql = mapped
    }

    /**
     * @param value One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.
     */
    @JvmName("gywecuyvecqonyby")
    public suspend fun sqls(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sqls = mapped
    }

    /**
     * @param values One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.
     */
    @JvmName("neiaxtmjwunltkkk")
    public suspend fun sqls(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sqls = mapped
    }

    /**
     * @param value The name of the SQL statement. You can name the SQL statement when you create it to identify the query.
     */
    @JvmName("yvwhpthjlfvtituk")
    public suspend fun statementName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.statementName = mapped
    }

    /**
     * @param value Indicates whether to send an event back to EventBridge after the SQL statement runs.
     */
    @JvmName("yotqqbmnrdcqjofp")
    public suspend fun withEvent(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.withEvent = mapped
    }

    internal fun build(): RuleRedshiftDataParametersArgs = RuleRedshiftDataParametersArgs(
        database = database ?: throw PulumiNullFieldException("database"),
        dbUser = dbUser,
        secretManagerArn = secretManagerArn,
        sql = sql,
        sqls = sqls,
        statementName = statementName,
        withEvent = withEvent,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy