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

com.pulumi.awsnative.bedrock.kotlin.FlowArgs.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.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.bedrock.kotlin

import com.pulumi.awsnative.bedrock.FlowArgs.builder
import com.pulumi.awsnative.bedrock.kotlin.inputs.FlowDefinitionArgs
import com.pulumi.awsnative.bedrock.kotlin.inputs.FlowDefinitionArgsBuilder
import com.pulumi.awsnative.bedrock.kotlin.inputs.FlowS3LocationArgs
import com.pulumi.awsnative.bedrock.kotlin.inputs.FlowS3LocationArgsBuilder
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.Any
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Definition of AWS::Bedrock::Flow Resource Type
 * @property customerEncryptionKeyArn A KMS key ARN
 * @property definition
 * @property definitionS3Location An Amazon S3 location.
 * @property definitionString A JSON string containing a Definition with the same schema as the Definition property of this resource
 * @property definitionSubstitutions
 * @property description Description of the flow
 * @property executionRoleArn ARN of a IAM role
 * @property name Name for the flow
 * @property tags
 * @property testAliasTags
 */
public data class FlowArgs(
    public val customerEncryptionKeyArn: Output? = null,
    public val definition: Output? = null,
    public val definitionS3Location: Output? = null,
    public val definitionString: Output? = null,
    public val definitionSubstitutions: Output>? = null,
    public val description: Output? = null,
    public val executionRoleArn: Output? = null,
    public val name: Output? = null,
    public val tags: Output>? = null,
    public val testAliasTags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.bedrock.FlowArgs =
        com.pulumi.awsnative.bedrock.FlowArgs.builder()
            .customerEncryptionKeyArn(customerEncryptionKeyArn?.applyValue({ args0 -> args0 }))
            .definition(definition?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .definitionS3Location(
                definitionS3Location?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .definitionString(definitionString?.applyValue({ args0 -> args0 }))
            .definitionSubstitutions(
                definitionSubstitutions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .description(description?.applyValue({ args0 -> args0 }))
            .executionRoleArn(executionRoleArn?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .testAliasTags(
                testAliasTags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [FlowArgs].
 */
@PulumiTagMarker
public class FlowArgsBuilder internal constructor() {
    private var customerEncryptionKeyArn: Output? = null

    private var definition: Output? = null

    private var definitionS3Location: Output? = null

    private var definitionString: Output? = null

    private var definitionSubstitutions: Output>? = null

    private var description: Output? = null

    private var executionRoleArn: Output? = null

    private var name: Output? = null

    private var tags: Output>? = null

    private var testAliasTags: Output>? = null

    /**
     * @param value A KMS key ARN
     */
    @JvmName("nvkaicqpnwcyjijq")
    public suspend fun customerEncryptionKeyArn(`value`: Output) {
        this.customerEncryptionKeyArn = value
    }

    /**
     * @param value
     */
    @JvmName("erywutsvdvgcefro")
    public suspend fun definition(`value`: Output) {
        this.definition = value
    }

    /**
     * @param value An Amazon S3 location.
     */
    @JvmName("jjupiwimalemgpgp")
    public suspend fun definitionS3Location(`value`: Output) {
        this.definitionS3Location = value
    }

    /**
     * @param value A JSON string containing a Definition with the same schema as the Definition property of this resource
     */
    @JvmName("rawnsivkyjcacrnu")
    public suspend fun definitionString(`value`: Output) {
        this.definitionString = value
    }

    /**
     * @param value
     */
    @JvmName("phckwpmljabxmmdc")
    public suspend fun definitionSubstitutions(`value`: Output>) {
        this.definitionSubstitutions = value
    }

    /**
     * @param value Description of the flow
     */
    @JvmName("frcgnqjhfpauhbfc")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value ARN of a IAM role
     */
    @JvmName("ccycpkuxrkbvaqox")
    public suspend fun executionRoleArn(`value`: Output) {
        this.executionRoleArn = value
    }

    /**
     * @param value Name for the flow
     */
    @JvmName("aktjehujdapsxaqg")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value
     */
    @JvmName("wwweojcwkexoqtdk")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value
     */
    @JvmName("liaifqnifhlhwehh")
    public suspend fun testAliasTags(`value`: Output>) {
        this.testAliasTags = value
    }

    /**
     * @param value A KMS key ARN
     */
    @JvmName("txrwjvmgyeloowrv")
    public suspend fun customerEncryptionKeyArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customerEncryptionKeyArn = mapped
    }

    /**
     * @param value
     */
    @JvmName("pmmccvrmfvxeykww")
    public suspend fun definition(`value`: FlowDefinitionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.definition = mapped
    }

    /**
     * @param argument
     */
    @JvmName("crhsrjireyfyxpcd")
    public suspend fun definition(argument: suspend FlowDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = FlowDefinitionArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.definition = mapped
    }

    /**
     * @param value An Amazon S3 location.
     */
    @JvmName("klendwkbmnyrieje")
    public suspend fun definitionS3Location(`value`: FlowS3LocationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.definitionS3Location = mapped
    }

    /**
     * @param argument An Amazon S3 location.
     */
    @JvmName("hnddchcuajckixjf")
    public suspend fun definitionS3Location(argument: suspend FlowS3LocationArgsBuilder.() -> Unit) {
        val toBeMapped = FlowS3LocationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.definitionS3Location = mapped
    }

    /**
     * @param value A JSON string containing a Definition with the same schema as the Definition property of this resource
     */
    @JvmName("pnugbndvtkppkhgo")
    public suspend fun definitionString(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.definitionString = mapped
    }

    /**
     * @param value
     */
    @JvmName("kaysirrbqwuoghjf")
    public suspend fun definitionSubstitutions(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.definitionSubstitutions = mapped
    }

    /**
     * @param values
     */
    @JvmName("qgkmmvdegmbktwmm")
    public fun definitionSubstitutions(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.definitionSubstitutions = mapped
    }

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

    /**
     * @param value ARN of a IAM role
     */
    @JvmName("yoglixhsbwubbhrs")
    public suspend fun executionRoleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.executionRoleArn = mapped
    }

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

    /**
     * @param value
     */
    @JvmName("adqyvqcvagyrlekv")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values
     */
    @JvmName("aeotajbbuscldcwx")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value
     */
    @JvmName("lbendbgewkxnmvap")
    public suspend fun testAliasTags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.testAliasTags = mapped
    }

    /**
     * @param values
     */
    @JvmName("ljcssfmfcswdodjx")
    public fun testAliasTags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.testAliasTags = mapped
    }

    internal fun build(): FlowArgs = FlowArgs(
        customerEncryptionKeyArn = customerEncryptionKeyArn,
        definition = definition,
        definitionS3Location = definitionS3Location,
        definitionString = definitionString,
        definitionSubstitutions = definitionSubstitutions,
        description = description,
        executionRoleArn = executionRoleArn,
        name = name,
        tags = tags,
        testAliasTags = testAliasTags,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy