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

com.pulumi.awsnative.bedrock.kotlin.inputs.FlowPromptFlowNodeInlineConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.bedrock.kotlin.inputs

import com.pulumi.awsnative.bedrock.inputs.FlowPromptFlowNodeInlineConfigurationArgs.builder
import com.pulumi.awsnative.bedrock.kotlin.enums.FlowPromptTemplateType
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

/**
 * Inline prompt configuration for prompt node
 * @property inferenceConfiguration
 * @property modelId ARN or name of a Bedrock model.
 * @property templateConfiguration
 * @property templateType
 */
public data class FlowPromptFlowNodeInlineConfigurationArgs(
    public val inferenceConfiguration: Output? = null,
    public val modelId: Output,
    public val templateConfiguration: Output,
    public val templateType: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.bedrock.inputs.FlowPromptFlowNodeInlineConfigurationArgs =
        com.pulumi.awsnative.bedrock.inputs.FlowPromptFlowNodeInlineConfigurationArgs.builder()
            .inferenceConfiguration(
                inferenceConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .modelId(modelId.applyValue({ args0 -> args0 }))
            .templateConfiguration(
                templateConfiguration.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .templateType(templateType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [FlowPromptFlowNodeInlineConfigurationArgs].
 */
@PulumiTagMarker
public class FlowPromptFlowNodeInlineConfigurationArgsBuilder internal constructor() {
    private var inferenceConfiguration: Output? = null

    private var modelId: Output? = null

    private var templateConfiguration: Output? = null

    private var templateType: Output? = null

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

    /**
     * @param value ARN or name of a Bedrock model.
     */
    @JvmName("buwxinoexipesvuc")
    public suspend fun modelId(`value`: Output) {
        this.modelId = value
    }

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

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

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

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

    /**
     * @param value ARN or name of a Bedrock model.
     */
    @JvmName("mqicukfostyjdqba")
    public suspend fun modelId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.modelId = mapped
    }

    /**
     * @param value
     */
    @JvmName("byweltsijvkebfuk")
    public suspend fun templateConfiguration(`value`: FlowPromptTemplateConfigurationPropertiesArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.templateConfiguration = mapped
    }

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

    /**
     * @param value
     */
    @JvmName("pykkmooiccqbpksc")
    public suspend fun templateType(`value`: FlowPromptTemplateType) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.templateType = mapped
    }

    internal fun build(): FlowPromptFlowNodeInlineConfigurationArgs =
        FlowPromptFlowNodeInlineConfigurationArgs(
            inferenceConfiguration = inferenceConfiguration,
            modelId = modelId ?: throw PulumiNullFieldException("modelId"),
            templateConfiguration = templateConfiguration ?: throw
                PulumiNullFieldException("templateConfiguration"),
            templateType = templateType ?: throw PulumiNullFieldException("templateType"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy