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

com.pulumi.awsnative.comprehend.kotlin.inputs.FlywheelDataSecurityConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.comprehend.kotlin.inputs

import com.pulumi.awsnative.comprehend.inputs.FlywheelDataSecurityConfigArgs.builder
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.jvm.JvmName

/**
 *
 * @property dataLakeKmsKeyId ID for the AWS KMS key that Amazon Comprehend uses to encrypt the data in the data lake.
 * @property modelKmsKeyId ID for the AWS KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:
 * - KMS Key ID: `"1234abcd-12ab-34cd-56ef-1234567890ab"`
 * - Amazon Resource Name (ARN) of a KMS Key: `"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"`
 * @property volumeKmsKeyId ID for the AWS KMS key that Amazon Comprehend uses to encrypt the volume.
 * @property vpcConfig Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .
 */
public data class FlywheelDataSecurityConfigArgs(
    public val dataLakeKmsKeyId: Output? = null,
    public val modelKmsKeyId: Output? = null,
    public val volumeKmsKeyId: Output? = null,
    public val vpcConfig: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.comprehend.inputs.FlywheelDataSecurityConfigArgs =
        com.pulumi.awsnative.comprehend.inputs.FlywheelDataSecurityConfigArgs.builder()
            .dataLakeKmsKeyId(dataLakeKmsKeyId?.applyValue({ args0 -> args0 }))
            .modelKmsKeyId(modelKmsKeyId?.applyValue({ args0 -> args0 }))
            .volumeKmsKeyId(volumeKmsKeyId?.applyValue({ args0 -> args0 }))
            .vpcConfig(vpcConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [FlywheelDataSecurityConfigArgs].
 */
@PulumiTagMarker
public class FlywheelDataSecurityConfigArgsBuilder internal constructor() {
    private var dataLakeKmsKeyId: Output? = null

    private var modelKmsKeyId: Output? = null

    private var volumeKmsKeyId: Output? = null

    private var vpcConfig: Output? = null

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt the data in the data lake.
     */
    @JvmName("ivmnffiwkyvrjvbo")
    public suspend fun dataLakeKmsKeyId(`value`: Output) {
        this.dataLakeKmsKeyId = value
    }

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:
     * - KMS Key ID: `"1234abcd-12ab-34cd-56ef-1234567890ab"`
     * - Amazon Resource Name (ARN) of a KMS Key: `"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"`
     */
    @JvmName("ugyewsqoyfrvwoec")
    public suspend fun modelKmsKeyId(`value`: Output) {
        this.modelKmsKeyId = value
    }

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt the volume.
     */
    @JvmName("dljvheiqqvkexwac")
    public suspend fun volumeKmsKeyId(`value`: Output) {
        this.volumeKmsKeyId = value
    }

    /**
     * @param value Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .
     */
    @JvmName("qmoowttnytunqkra")
    public suspend fun vpcConfig(`value`: Output) {
        this.vpcConfig = value
    }

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt the data in the data lake.
     */
    @JvmName("ulbnmvwpovabrykv")
    public suspend fun dataLakeKmsKeyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataLakeKmsKeyId = mapped
    }

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:
     * - KMS Key ID: `"1234abcd-12ab-34cd-56ef-1234567890ab"`
     * - Amazon Resource Name (ARN) of a KMS Key: `"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"`
     */
    @JvmName("gutnygthrxcuchti")
    public suspend fun modelKmsKeyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modelKmsKeyId = mapped
    }

    /**
     * @param value ID for the AWS KMS key that Amazon Comprehend uses to encrypt the volume.
     */
    @JvmName("glldenthbdgbkyop")
    public suspend fun volumeKmsKeyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.volumeKmsKeyId = mapped
    }

    /**
     * @param value Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .
     */
    @JvmName("cfksiejkryxojfmd")
    public suspend fun vpcConfig(`value`: FlywheelVpcConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpcConfig = mapped
    }

    /**
     * @param argument Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .
     */
    @JvmName("agcrrysqvabfiicl")
    public suspend fun vpcConfig(argument: suspend FlywheelVpcConfigArgsBuilder.() -> Unit) {
        val toBeMapped = FlywheelVpcConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vpcConfig = mapped
    }

    internal fun build(): FlywheelDataSecurityConfigArgs = FlywheelDataSecurityConfigArgs(
        dataLakeKmsKeyId = dataLakeKmsKeyId,
        modelKmsKeyId = modelKmsKeyId,
        volumeKmsKeyId = volumeKmsKeyId,
        vpcConfig = vpcConfig,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy