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

com.pulumi.awsnative.appflow.kotlin.inputs.FlowCustomConnectorSourcePropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.appflow.kotlin.inputs

import com.pulumi.awsnative.appflow.inputs.FlowCustomConnectorSourcePropertiesArgs.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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 *
 * @property customProperties Custom properties that are required to use the custom connector as a source.
 * @property dataTransferApi The API of the connector application that Amazon AppFlow uses to transfer your data.
 * @property entityName The entity specified in the custom connector as a source in the flow.
 */
public data class FlowCustomConnectorSourcePropertiesArgs(
    public val customProperties: Output>? = null,
    public val dataTransferApi: Output? = null,
    public val entityName: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.appflow.inputs.FlowCustomConnectorSourcePropertiesArgs = com.pulumi.awsnative.appflow.inputs.FlowCustomConnectorSourcePropertiesArgs.builder()
        .customProperties(
            customProperties?.applyValue({ args0 ->
                args0.map({ args0 ->
                    args0.key.to(args0.value)
                }).toMap()
            }),
        )
        .dataTransferApi(dataTransferApi?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .entityName(entityName.applyValue({ args0 -> args0 })).build()
}

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

    private var dataTransferApi:
        Output? = null

    private var entityName: Output? = null

    /**
     * @param value Custom properties that are required to use the custom connector as a source.
     */
    @JvmName("qdjfshixwnlvmpmp")
    public suspend fun customProperties(`value`: Output>) {
        this.customProperties = value
    }

    /**
     * @param value The API of the connector application that Amazon AppFlow uses to transfer your data.
     */
    @JvmName("xpaxdmewmsnoqbrg")
    public suspend fun dataTransferApi(`value`: Output) {
        this.dataTransferApi = value
    }

    /**
     * @param value The entity specified in the custom connector as a source in the flow.
     */
    @JvmName("pshbefohpvophsol")
    public suspend fun entityName(`value`: Output) {
        this.entityName = value
    }

    /**
     * @param value Custom properties that are required to use the custom connector as a source.
     */
    @JvmName("ipnanbugbpuyqjge")
    public suspend fun customProperties(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customProperties = mapped
    }

    /**
     * @param values Custom properties that are required to use the custom connector as a source.
     */
    @JvmName("oukynbbjalseoyee")
    public fun customProperties(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customProperties = mapped
    }

    /**
     * @param value The API of the connector application that Amazon AppFlow uses to transfer your data.
     */
    @JvmName("ootmuqwobspmidud")
    public suspend fun dataTransferApi(`value`: FlowCustomConnectorSourcePropertiesDataTransferApiPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataTransferApi = mapped
    }

    /**
     * @param argument The API of the connector application that Amazon AppFlow uses to transfer your data.
     */
    @JvmName("jowyxmqjcoshwxco")
    public suspend fun dataTransferApi(argument: suspend FlowCustomConnectorSourcePropertiesDataTransferApiPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped =
            FlowCustomConnectorSourcePropertiesDataTransferApiPropertiesArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.dataTransferApi = mapped
    }

    /**
     * @param value The entity specified in the custom connector as a source in the flow.
     */
    @JvmName("qgagocguiwlpxais")
    public suspend fun entityName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.entityName = mapped
    }

    internal fun build(): FlowCustomConnectorSourcePropertiesArgs =
        FlowCustomConnectorSourcePropertiesArgs(
            customProperties = customProperties,
            dataTransferApi = dataTransferApi,
            entityName = entityName ?: throw PulumiNullFieldException("entityName"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy