com.pulumi.awsnative.appflow.kotlin.inputs.FlowDestinationFlowConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.appflow.kotlin.inputs
import com.pulumi.awsnative.appflow.inputs.FlowDestinationFlowConfigArgs.builder
import com.pulumi.awsnative.appflow.kotlin.enums.FlowConnectorType
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
/**
* Configurations of destination connector.
* @property apiVersion The API version that the destination connector uses.
* @property connectorProfileName Name of destination connector profile
* @property connectorType Destination connector type
* @property destinationConnectorProperties Destination connector details
*/
public data class FlowDestinationFlowConfigArgs(
public val apiVersion: Output? = null,
public val connectorProfileName: Output? = null,
public val connectorType: Output,
public val destinationConnectorProperties: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.appflow.inputs.FlowDestinationFlowConfigArgs =
com.pulumi.awsnative.appflow.inputs.FlowDestinationFlowConfigArgs.builder()
.apiVersion(apiVersion?.applyValue({ args0 -> args0 }))
.connectorProfileName(connectorProfileName?.applyValue({ args0 -> args0 }))
.connectorType(connectorType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.destinationConnectorProperties(
destinationConnectorProperties.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
).build()
}
/**
* Builder for [FlowDestinationFlowConfigArgs].
*/
@PulumiTagMarker
public class FlowDestinationFlowConfigArgsBuilder internal constructor() {
private var apiVersion: Output? = null
private var connectorProfileName: Output? = null
private var connectorType: Output? = null
private var destinationConnectorProperties: Output? = null
/**
* @param value The API version that the destination connector uses.
*/
@JvmName("rrlgcfnphucgdhhv")
public suspend fun apiVersion(`value`: Output) {
this.apiVersion = value
}
/**
* @param value Name of destination connector profile
*/
@JvmName("mcpaabjttvjmmvjn")
public suspend fun connectorProfileName(`value`: Output) {
this.connectorProfileName = value
}
/**
* @param value Destination connector type
*/
@JvmName("guayoydfmsowsbbo")
public suspend fun connectorType(`value`: Output) {
this.connectorType = value
}
/**
* @param value Destination connector details
*/
@JvmName("fbxjihttlojwgekp")
public suspend fun destinationConnectorProperties(`value`: Output) {
this.destinationConnectorProperties = value
}
/**
* @param value The API version that the destination connector uses.
*/
@JvmName("fpgfnewaxxhxvetw")
public suspend fun apiVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiVersion = mapped
}
/**
* @param value Name of destination connector profile
*/
@JvmName("vfoexhedvtpveffs")
public suspend fun connectorProfileName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectorProfileName = mapped
}
/**
* @param value Destination connector type
*/
@JvmName("xipaeptikxkwwihf")
public suspend fun connectorType(`value`: FlowConnectorType) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.connectorType = mapped
}
/**
* @param value Destination connector details
*/
@JvmName("wkjljthivyqqmyxk")
public suspend fun destinationConnectorProperties(`value`: FlowDestinationConnectorPropertiesArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destinationConnectorProperties = mapped
}
/**
* @param argument Destination connector details
*/
@JvmName("lonsarngcvedvxjt")
public suspend fun destinationConnectorProperties(argument: suspend FlowDestinationConnectorPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = FlowDestinationConnectorPropertiesArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.destinationConnectorProperties = mapped
}
internal fun build(): FlowDestinationFlowConfigArgs = FlowDestinationFlowConfigArgs(
apiVersion = apiVersion,
connectorProfileName = connectorProfileName,
connectorType = connectorType ?: throw PulumiNullFieldException("connectorType"),
destinationConnectorProperties = destinationConnectorProperties ?: throw
PulumiNullFieldException("destinationConnectorProperties"),
)
}