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

com.pulumi.awsnative.comprehend.kotlin.FlywheelArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.comprehend.kotlin

import com.pulumi.awsnative.comprehend.FlywheelArgs.builder
import com.pulumi.awsnative.comprehend.kotlin.enums.FlywheelModelType
import com.pulumi.awsnative.comprehend.kotlin.inputs.FlywheelDataSecurityConfigArgs
import com.pulumi.awsnative.comprehend.kotlin.inputs.FlywheelDataSecurityConfigArgsBuilder
import com.pulumi.awsnative.comprehend.kotlin.inputs.FlywheelTaskConfigArgs
import com.pulumi.awsnative.comprehend.kotlin.inputs.FlywheelTaskConfigArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model.
 * @property activeModelArn The Amazon Resource Number (ARN) of the active model version.
 * @property dataAccessRoleArn The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.
 * @property dataLakeS3Uri Amazon S3 URI of the data lake location.
 * @property dataSecurityConfig Data security configuration.
 * @property flywheelName Name for the flywheel.
 * @property modelType Model type of the flywheel's model.
 * @property tags Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
 * @property taskConfig Configuration about the model associated with a flywheel.
 */
public data class FlywheelArgs(
    public val activeModelArn: Output? = null,
    public val dataAccessRoleArn: Output? = null,
    public val dataLakeS3Uri: Output? = null,
    public val dataSecurityConfig: Output? = null,
    public val flywheelName: Output? = null,
    public val modelType: Output? = null,
    public val tags: Output>? = null,
    public val taskConfig: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.comprehend.FlywheelArgs =
        com.pulumi.awsnative.comprehend.FlywheelArgs.builder()
            .activeModelArn(activeModelArn?.applyValue({ args0 -> args0 }))
            .dataAccessRoleArn(dataAccessRoleArn?.applyValue({ args0 -> args0 }))
            .dataLakeS3Uri(dataLakeS3Uri?.applyValue({ args0 -> args0 }))
            .dataSecurityConfig(
                dataSecurityConfig?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .flywheelName(flywheelName?.applyValue({ args0 -> args0 }))
            .modelType(modelType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .taskConfig(taskConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [FlywheelArgs].
 */
@PulumiTagMarker
public class FlywheelArgsBuilder internal constructor() {
    private var activeModelArn: Output? = null

    private var dataAccessRoleArn: Output? = null

    private var dataLakeS3Uri: Output? = null

    private var dataSecurityConfig: Output? = null

    private var flywheelName: Output? = null

    private var modelType: Output? = null

    private var tags: Output>? = null

    private var taskConfig: Output? = null

    /**
     * @param value The Amazon Resource Number (ARN) of the active model version.
     */
    @JvmName("ljpycyvpowkjrhbk")
    public suspend fun activeModelArn(`value`: Output) {
        this.activeModelArn = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.
     */
    @JvmName("mtktqalnogojyjwr")
    public suspend fun dataAccessRoleArn(`value`: Output) {
        this.dataAccessRoleArn = value
    }

    /**
     * @param value Amazon S3 URI of the data lake location.
     */
    @JvmName("igncsgtctxwbwwjg")
    public suspend fun dataLakeS3Uri(`value`: Output) {
        this.dataLakeS3Uri = value
    }

    /**
     * @param value Data security configuration.
     */
    @JvmName("hdryrtesvptiyemj")
    public suspend fun dataSecurityConfig(`value`: Output) {
        this.dataSecurityConfig = value
    }

    /**
     * @param value Name for the flywheel.
     */
    @JvmName("fiiisbwacopjeikb")
    public suspend fun flywheelName(`value`: Output) {
        this.flywheelName = value
    }

    /**
     * @param value Model type of the flywheel's model.
     */
    @JvmName("ekhgaxnjdeeybumn")
    public suspend fun modelType(`value`: Output) {
        this.modelType = value
    }

    /**
     * @param value Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("fndrsumpcyngqvht")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    @JvmName("bgdssnlllhdnkimw")
    public suspend fun tags(vararg values: Output) {
        this.tags = Output.all(values.asList())
    }

    /**
     * @param values Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("txdodditolhwsuse")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value Configuration about the model associated with a flywheel.
     */
    @JvmName("xiatnrsfxifgbrwq")
    public suspend fun taskConfig(`value`: Output) {
        this.taskConfig = value
    }

    /**
     * @param value The Amazon Resource Number (ARN) of the active model version.
     */
    @JvmName("kkxqumjhxkgfxliq")
    public suspend fun activeModelArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.activeModelArn = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.
     */
    @JvmName("fnagwoksgroxayan")
    public suspend fun dataAccessRoleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataAccessRoleArn = mapped
    }

    /**
     * @param value Amazon S3 URI of the data lake location.
     */
    @JvmName("argjpxutttdjnyrf")
    public suspend fun dataLakeS3Uri(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataLakeS3Uri = mapped
    }

    /**
     * @param value Data security configuration.
     */
    @JvmName("hyvjcnqhioeaqxdx")
    public suspend fun dataSecurityConfig(`value`: FlywheelDataSecurityConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataSecurityConfig = mapped
    }

    /**
     * @param argument Data security configuration.
     */
    @JvmName("pdkrdpxmuhpmdnoo")
    public suspend fun dataSecurityConfig(argument: suspend FlywheelDataSecurityConfigArgsBuilder.() -> Unit) {
        val toBeMapped = FlywheelDataSecurityConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.dataSecurityConfig = mapped
    }

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

    /**
     * @param value Model type of the flywheel's model.
     */
    @JvmName("gfgkoyipklcpyeaw")
    public suspend fun modelType(`value`: FlywheelModelType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modelType = mapped
    }

    /**
     * @param value Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("uwcfpqiitfgnnjci")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("pycohwsxkhravlsu")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("kqmrxfoitrfyckjn")
    public suspend fun tags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("mbdklbnklnldtfai")
    public suspend fun tags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint to indicate its use by the sales department.
     */
    @JvmName("wmiibrwmcyooxnqs")
    public suspend fun tags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value Configuration about the model associated with a flywheel.
     */
    @JvmName("smntwdbdupfpacph")
    public suspend fun taskConfig(`value`: FlywheelTaskConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.taskConfig = mapped
    }

    /**
     * @param argument Configuration about the model associated with a flywheel.
     */
    @JvmName("pvlboxsltkyhmuod")
    public suspend fun taskConfig(argument: suspend FlywheelTaskConfigArgsBuilder.() -> Unit) {
        val toBeMapped = FlywheelTaskConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.taskConfig = mapped
    }

    internal fun build(): FlywheelArgs = FlywheelArgs(
        activeModelArn = activeModelArn,
        dataAccessRoleArn = dataAccessRoleArn,
        dataLakeS3Uri = dataLakeS3Uri,
        dataSecurityConfig = dataSecurityConfig,
        flywheelName = flywheelName,
        modelType = modelType,
        tags = tags,
        taskConfig = taskConfig,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy