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

com.pulumi.aws.s3.kotlin.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.s3.kotlin.inputs

import com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property kmsMasterKeyId AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sse_algorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sse_algorithm` is `aws:kms`.
 * @property sseAlgorithm Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`
 */
public data class
BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs(
    public val kmsMasterKeyId: Output? = null,
    public val sseAlgorithm: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs =
        com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder()
            .kmsMasterKeyId(kmsMasterKeyId?.applyValue({ args0 -> args0 }))
            .sseAlgorithm(sseAlgorithm.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs].
 */
@PulumiTagMarker
public class
BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgsBuilder
internal constructor() {
    private var kmsMasterKeyId: Output? = null

    private var sseAlgorithm: Output? = null

    /**
     * @param value AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sse_algorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sse_algorithm` is `aws:kms`.
     */
    @JvmName("tkigjnfkgblkbefd")
    public suspend fun kmsMasterKeyId(`value`: Output) {
        this.kmsMasterKeyId = value
    }

    /**
     * @param value Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`
     */
    @JvmName("upfdxqmgccrhqgjc")
    public suspend fun sseAlgorithm(`value`: Output) {
        this.sseAlgorithm = value
    }

    /**
     * @param value AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sse_algorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sse_algorithm` is `aws:kms`.
     */
    @JvmName("qsplbkyoumiccbmh")
    public suspend fun kmsMasterKeyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kmsMasterKeyId = mapped
    }

    /**
     * @param value Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`
     */
    @JvmName("nbhotqtrgtqnkgxd")
    public suspend fun sseAlgorithm(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sseAlgorithm = mapped
    }

    internal fun build(): BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs =
        BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs(
            kmsMasterKeyId = kmsMasterKeyId,
            sseAlgorithm = sseAlgorithm ?: throw PulumiNullFieldException("sseAlgorithm"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy