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

com.pulumi.awsnative.pipes.kotlin.PipeArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.pipes.kotlin

import com.pulumi.awsnative.pipes.PipeArgs.builder
import com.pulumi.awsnative.pipes.kotlin.enums.PipeRequestedPipeState
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeEnrichmentParametersArgs
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeEnrichmentParametersArgsBuilder
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeLogConfigurationArgs
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeLogConfigurationArgsBuilder
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeSourceParametersArgs
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeSourceParametersArgsBuilder
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeTargetParametersArgs
import com.pulumi.awsnative.pipes.kotlin.inputs.PipeTargetParametersArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Definition of AWS::Pipes::Pipe Resource Type
 * ## Example Usage
 * ### Example
 * No Java example available.
 * ### Example
 * No Java example available.
 * @property description A description of the pipe.
 * @property desiredState The state the pipe should be in.
 * @property enrichment The ARN of the enrichment resource.
 * @property enrichmentParameters The parameters required to set up enrichment on your pipe.
 * @property logConfiguration The logging configuration settings for the pipe.
 * @property name The name of the pipe.
 * @property roleArn The ARN of the role that allows the pipe to send data to the target.
 * @property source The ARN of the source resource.
 * @property sourceParameters The parameters required to set up a source for your pipe.
 * @property tags The list of key-value pairs to associate with the pipe.
 * @property target The ARN of the target resource.
 * @property targetParameters The parameters required to set up a target for your pipe.
 * For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
 */
public data class PipeArgs(
    public val description: Output? = null,
    public val desiredState: Output? = null,
    public val enrichment: Output? = null,
    public val enrichmentParameters: Output? = null,
    public val logConfiguration: Output? = null,
    public val name: Output? = null,
    public val roleArn: Output? = null,
    public val source: Output? = null,
    public val sourceParameters: Output? = null,
    public val tags: Output>? = null,
    public val target: Output? = null,
    public val targetParameters: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.pipes.PipeArgs =
        com.pulumi.awsnative.pipes.PipeArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .desiredState(desiredState?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .enrichment(enrichment?.applyValue({ args0 -> args0 }))
            .enrichmentParameters(
                enrichmentParameters?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .logConfiguration(logConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .name(name?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .source(source?.applyValue({ args0 -> args0 }))
            .sourceParameters(sourceParameters?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .target(target?.applyValue({ args0 -> args0 }))
            .targetParameters(
                targetParameters?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [PipeArgs].
 */
@PulumiTagMarker
public class PipeArgsBuilder internal constructor() {
    private var description: Output? = null

    private var desiredState: Output? = null

    private var enrichment: Output? = null

    private var enrichmentParameters: Output? = null

    private var logConfiguration: Output? = null

    private var name: Output? = null

    private var roleArn: Output? = null

    private var source: Output? = null

    private var sourceParameters: Output? = null

    private var tags: Output>? = null

    private var target: Output? = null

    private var targetParameters: Output? = null

    /**
     * @param value A description of the pipe.
     */
    @JvmName("dsjbmqqlfpftifdj")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The state the pipe should be in.
     */
    @JvmName("kvmmkcuuyvuxixsa")
    public suspend fun desiredState(`value`: Output) {
        this.desiredState = value
    }

    /**
     * @param value The ARN of the enrichment resource.
     */
    @JvmName("xxvxxudqmwlbhuml")
    public suspend fun enrichment(`value`: Output) {
        this.enrichment = value
    }

    /**
     * @param value The parameters required to set up enrichment on your pipe.
     */
    @JvmName("vhtpphkvxeynxxnw")
    public suspend fun enrichmentParameters(`value`: Output) {
        this.enrichmentParameters = value
    }

    /**
     * @param value The logging configuration settings for the pipe.
     */
    @JvmName("gggeibirrrehihok")
    public suspend fun logConfiguration(`value`: Output) {
        this.logConfiguration = value
    }

    /**
     * @param value The name of the pipe.
     */
    @JvmName("rrritvjtxhesgiwg")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The ARN of the role that allows the pipe to send data to the target.
     */
    @JvmName("sxcjdhgvqpgyogyp")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value The ARN of the source resource.
     */
    @JvmName("hkpcecdxlbjgyhnb")
    public suspend fun source(`value`: Output) {
        this.source = value
    }

    /**
     * @param value The parameters required to set up a source for your pipe.
     */
    @JvmName("cqkibbicshxldkmd")
    public suspend fun sourceParameters(`value`: Output) {
        this.sourceParameters = value
    }

    /**
     * @param value The list of key-value pairs to associate with the pipe.
     */
    @JvmName("trenedspgrploknq")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value The ARN of the target resource.
     */
    @JvmName("hbpmtsheotwuwckh")
    public suspend fun target(`value`: Output) {
        this.target = value
    }

    /**
     * @param value The parameters required to set up a target for your pipe.
     * For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
     */
    @JvmName("mtbhnkjvumtfqmha")
    public suspend fun targetParameters(`value`: Output) {
        this.targetParameters = value
    }

    /**
     * @param value A description of the pipe.
     */
    @JvmName("cljxlgknlomkfdvg")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The state the pipe should be in.
     */
    @JvmName("tldnicdenwsfcnvp")
    public suspend fun desiredState(`value`: PipeRequestedPipeState?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.desiredState = mapped
    }

    /**
     * @param value The ARN of the enrichment resource.
     */
    @JvmName("oiavthsrohukgfcj")
    public suspend fun enrichment(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enrichment = mapped
    }

    /**
     * @param value The parameters required to set up enrichment on your pipe.
     */
    @JvmName("vgwrxsbwgktqaljw")
    public suspend fun enrichmentParameters(`value`: PipeEnrichmentParametersArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enrichmentParameters = mapped
    }

    /**
     * @param argument The parameters required to set up enrichment on your pipe.
     */
    @JvmName("caxxbkdvvttriibx")
    public suspend fun enrichmentParameters(argument: suspend PipeEnrichmentParametersArgsBuilder.() -> Unit) {
        val toBeMapped = PipeEnrichmentParametersArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.enrichmentParameters = mapped
    }

    /**
     * @param value The logging configuration settings for the pipe.
     */
    @JvmName("flhgabdvatwbfooi")
    public suspend fun logConfiguration(`value`: PipeLogConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logConfiguration = mapped
    }

    /**
     * @param argument The logging configuration settings for the pipe.
     */
    @JvmName("uvxyvjjdiuhiomgo")
    public suspend fun logConfiguration(argument: suspend PipeLogConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = PipeLogConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.logConfiguration = mapped
    }

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

    /**
     * @param value The ARN of the role that allows the pipe to send data to the target.
     */
    @JvmName("lylwitjmiiluqmao")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value The ARN of the source resource.
     */
    @JvmName("smrbpovsanamirca")
    public suspend fun source(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.source = mapped
    }

    /**
     * @param value The parameters required to set up a source for your pipe.
     */
    @JvmName("smsmupduxpjbudyq")
    public suspend fun sourceParameters(`value`: PipeSourceParametersArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceParameters = mapped
    }

    /**
     * @param argument The parameters required to set up a source for your pipe.
     */
    @JvmName("rnbiehdxrqkmhnwf")
    public suspend fun sourceParameters(argument: suspend PipeSourceParametersArgsBuilder.() -> Unit) {
        val toBeMapped = PipeSourceParametersArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.sourceParameters = mapped
    }

    /**
     * @param value The list of key-value pairs to associate with the pipe.
     */
    @JvmName("nxxbprbkaqwbpxwu")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values The list of key-value pairs to associate with the pipe.
     */
    @JvmName("xtcgsjqfbjljrbyh")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value The ARN of the target resource.
     */
    @JvmName("jppsxkoillernafn")
    public suspend fun target(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.target = mapped
    }

    /**
     * @param value The parameters required to set up a target for your pipe.
     * For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
     */
    @JvmName("cvwfmnvnpveotwqr")
    public suspend fun targetParameters(`value`: PipeTargetParametersArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetParameters = mapped
    }

    /**
     * @param argument The parameters required to set up a target for your pipe.
     * For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
     */
    @JvmName("qywnwexyurphwgke")
    public suspend fun targetParameters(argument: suspend PipeTargetParametersArgsBuilder.() -> Unit) {
        val toBeMapped = PipeTargetParametersArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.targetParameters = mapped
    }

    internal fun build(): PipeArgs = PipeArgs(
        description = description,
        desiredState = desiredState,
        enrichment = enrichment,
        enrichmentParameters = enrichmentParameters,
        logConfiguration = logConfiguration,
        name = name,
        roleArn = roleArn,
        source = source,
        sourceParameters = sourceParameters,
        tags = tags,
        target = target,
        targetParameters = targetParameters,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy