com.pulumi.awsnative.quicksight.kotlin.inputs.DataSetJoinInstructionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.quicksight.kotlin.inputs
import com.pulumi.awsnative.quicksight.inputs.DataSetJoinInstructionArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.DataSetJoinType
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The instructions associated with a join.
* @property leftJoinKeyProperties Join key properties of the left operand.
* @property leftOperand The operand on the left side of a join.
* @property onClause The join instructions provided in the ON
clause of a join.
* @property rightJoinKeyProperties Join key properties of the right operand.
* @property rightOperand The operand on the right side of a join.
* @property type The type of join that it is.
*/
public data class DataSetJoinInstructionArgs(
public val leftJoinKeyProperties: Output? = null,
public val leftOperand: Output,
public val onClause: Output,
public val rightJoinKeyProperties: Output? = null,
public val rightOperand: Output,
public val type: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DataSetJoinInstructionArgs =
com.pulumi.awsnative.quicksight.inputs.DataSetJoinInstructionArgs.builder()
.leftJoinKeyProperties(
leftJoinKeyProperties?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.leftOperand(leftOperand.applyValue({ args0 -> args0 }))
.onClause(onClause.applyValue({ args0 -> args0 }))
.rightJoinKeyProperties(
rightJoinKeyProperties?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.rightOperand(rightOperand.applyValue({ args0 -> args0 }))
.type(type.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [DataSetJoinInstructionArgs].
*/
@PulumiTagMarker
public class DataSetJoinInstructionArgsBuilder internal constructor() {
private var leftJoinKeyProperties: Output? = null
private var leftOperand: Output? = null
private var onClause: Output? = null
private var rightJoinKeyProperties: Output? = null
private var rightOperand: Output? = null
private var type: Output? = null
/**
* @param value Join key properties of the left operand.
*/
@JvmName("vsbvepaehcjmtbgd")
public suspend fun leftJoinKeyProperties(`value`: Output) {
this.leftJoinKeyProperties = value
}
/**
* @param value The operand on the left side of a join.
*/
@JvmName("fihaotprybtdvajf")
public suspend fun leftOperand(`value`: Output) {
this.leftOperand = value
}
/**
* @param value The join instructions provided in the ON
clause of a join.
*/
@JvmName("ehdcqtmenmfkswpl")
public suspend fun onClause(`value`: Output) {
this.onClause = value
}
/**
* @param value Join key properties of the right operand.
*/
@JvmName("fwjhwddrpkosffgd")
public suspend fun rightJoinKeyProperties(`value`: Output) {
this.rightJoinKeyProperties = value
}
/**
* @param value The operand on the right side of a join.
*/
@JvmName("cukpjonvbwmjggqi")
public suspend fun rightOperand(`value`: Output) {
this.rightOperand = value
}
/**
* @param value The type of join that it is.
*/
@JvmName("perhksovgooisogj")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value Join key properties of the left operand.
*/
@JvmName("hmgcjdimbdtnkoed")
public suspend fun leftJoinKeyProperties(`value`: DataSetJoinKeyPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.leftJoinKeyProperties = mapped
}
/**
* @param argument Join key properties of the left operand.
*/
@JvmName("wabasdnrbrugimik")
public suspend fun leftJoinKeyProperties(argument: suspend DataSetJoinKeyPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = DataSetJoinKeyPropertiesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.leftJoinKeyProperties = mapped
}
/**
* @param value The operand on the left side of a join.
*/
@JvmName("lrkbdfujklcvigdm")
public suspend fun leftOperand(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.leftOperand = mapped
}
/**
* @param value The join instructions provided in the ON
clause of a join.
*/
@JvmName("ldpfhmbjsagblmxd")
public suspend fun onClause(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.onClause = mapped
}
/**
* @param value Join key properties of the right operand.
*/
@JvmName("ipykufliocuxoyak")
public suspend fun rightJoinKeyProperties(`value`: DataSetJoinKeyPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rightJoinKeyProperties = mapped
}
/**
* @param argument Join key properties of the right operand.
*/
@JvmName("ydywqjojrogqxxjb")
public suspend fun rightJoinKeyProperties(argument: suspend DataSetJoinKeyPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = DataSetJoinKeyPropertiesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.rightJoinKeyProperties = mapped
}
/**
* @param value The operand on the right side of a join.
*/
@JvmName("bxtpkfxvnolaymij")
public suspend fun rightOperand(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rightOperand = mapped
}
/**
* @param value The type of join that it is.
*/
@JvmName("sidsoehvalptjfvv")
public suspend fun type(`value`: DataSetJoinType) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.type = mapped
}
internal fun build(): DataSetJoinInstructionArgs = DataSetJoinInstructionArgs(
leftJoinKeyProperties = leftJoinKeyProperties,
leftOperand = leftOperand ?: throw PulumiNullFieldException("leftOperand"),
onClause = onClause ?: throw PulumiNullFieldException("onClause"),
rightJoinKeyProperties = rightJoinKeyProperties,
rightOperand = rightOperand ?: throw PulumiNullFieldException("rightOperand"),
type = type ?: throw PulumiNullFieldException("type"),
)
}