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

com.pulumi.awsnative.acmpca.kotlin.inputs.CertificateAuthorityKeyUsageArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.acmpca.kotlin.inputs

import com.pulumi.awsnative.acmpca.inputs.CertificateAuthorityKeyUsageArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Structure that contains X.509 KeyUsage information.
 * @property crlSign Key can be used to sign CRLs.
 * @property dataEncipherment Key can be used to decipher data.
 * @property decipherOnly Key can be used only to decipher data.
 * @property digitalSignature Key can be used for digital signing.
 * @property encipherOnly Key can be used only to encipher data.
 * @property keyAgreement Key can be used in a key-agreement protocol.
 * @property keyCertSign Key can be used to sign certificates.
 * @property keyEncipherment Key can be used to encipher data.
 * @property nonRepudiation Key can be used for non-repudiation.
 */
public data class CertificateAuthorityKeyUsageArgs(
    public val crlSign: Output? = null,
    public val dataEncipherment: Output? = null,
    public val decipherOnly: Output? = null,
    public val digitalSignature: Output? = null,
    public val encipherOnly: Output? = null,
    public val keyAgreement: Output? = null,
    public val keyCertSign: Output? = null,
    public val keyEncipherment: Output? = null,
    public val nonRepudiation: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.acmpca.inputs.CertificateAuthorityKeyUsageArgs =
        com.pulumi.awsnative.acmpca.inputs.CertificateAuthorityKeyUsageArgs.builder()
            .crlSign(crlSign?.applyValue({ args0 -> args0 }))
            .dataEncipherment(dataEncipherment?.applyValue({ args0 -> args0 }))
            .decipherOnly(decipherOnly?.applyValue({ args0 -> args0 }))
            .digitalSignature(digitalSignature?.applyValue({ args0 -> args0 }))
            .encipherOnly(encipherOnly?.applyValue({ args0 -> args0 }))
            .keyAgreement(keyAgreement?.applyValue({ args0 -> args0 }))
            .keyCertSign(keyCertSign?.applyValue({ args0 -> args0 }))
            .keyEncipherment(keyEncipherment?.applyValue({ args0 -> args0 }))
            .nonRepudiation(nonRepudiation?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [CertificateAuthorityKeyUsageArgs].
 */
@PulumiTagMarker
public class CertificateAuthorityKeyUsageArgsBuilder internal constructor() {
    private var crlSign: Output? = null

    private var dataEncipherment: Output? = null

    private var decipherOnly: Output? = null

    private var digitalSignature: Output? = null

    private var encipherOnly: Output? = null

    private var keyAgreement: Output? = null

    private var keyCertSign: Output? = null

    private var keyEncipherment: Output? = null

    private var nonRepudiation: Output? = null

    /**
     * @param value Key can be used to sign CRLs.
     */
    @JvmName("risdxvkothvibvea")
    public suspend fun crlSign(`value`: Output) {
        this.crlSign = value
    }

    /**
     * @param value Key can be used to decipher data.
     */
    @JvmName("gperanlgdumhbapj")
    public suspend fun dataEncipherment(`value`: Output) {
        this.dataEncipherment = value
    }

    /**
     * @param value Key can be used only to decipher data.
     */
    @JvmName("wwtqbjkwddpuaeuk")
    public suspend fun decipherOnly(`value`: Output) {
        this.decipherOnly = value
    }

    /**
     * @param value Key can be used for digital signing.
     */
    @JvmName("givqyqandbtbxswm")
    public suspend fun digitalSignature(`value`: Output) {
        this.digitalSignature = value
    }

    /**
     * @param value Key can be used only to encipher data.
     */
    @JvmName("bhynrdnwhlndeavt")
    public suspend fun encipherOnly(`value`: Output) {
        this.encipherOnly = value
    }

    /**
     * @param value Key can be used in a key-agreement protocol.
     */
    @JvmName("dwykrtopwwghifij")
    public suspend fun keyAgreement(`value`: Output) {
        this.keyAgreement = value
    }

    /**
     * @param value Key can be used to sign certificates.
     */
    @JvmName("xqpdlcflgjakmrac")
    public suspend fun keyCertSign(`value`: Output) {
        this.keyCertSign = value
    }

    /**
     * @param value Key can be used to encipher data.
     */
    @JvmName("shqkptudmaxrsjrk")
    public suspend fun keyEncipherment(`value`: Output) {
        this.keyEncipherment = value
    }

    /**
     * @param value Key can be used for non-repudiation.
     */
    @JvmName("sunqxfygbgfpjoes")
    public suspend fun nonRepudiation(`value`: Output) {
        this.nonRepudiation = value
    }

    /**
     * @param value Key can be used to sign CRLs.
     */
    @JvmName("wbmpmipuyoavpwbg")
    public suspend fun crlSign(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.crlSign = mapped
    }

    /**
     * @param value Key can be used to decipher data.
     */
    @JvmName("kwoaaifocjsfpwec")
    public suspend fun dataEncipherment(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataEncipherment = mapped
    }

    /**
     * @param value Key can be used only to decipher data.
     */
    @JvmName("vfuwflftpjyjcoyn")
    public suspend fun decipherOnly(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.decipherOnly = mapped
    }

    /**
     * @param value Key can be used for digital signing.
     */
    @JvmName("jmdmtxgeloxdufvl")
    public suspend fun digitalSignature(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.digitalSignature = mapped
    }

    /**
     * @param value Key can be used only to encipher data.
     */
    @JvmName("giilnjfviiglfiue")
    public suspend fun encipherOnly(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encipherOnly = mapped
    }

    /**
     * @param value Key can be used in a key-agreement protocol.
     */
    @JvmName("bitlygroccyjavnd")
    public suspend fun keyAgreement(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyAgreement = mapped
    }

    /**
     * @param value Key can be used to sign certificates.
     */
    @JvmName("dlvawlpcqeyfvaer")
    public suspend fun keyCertSign(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyCertSign = mapped
    }

    /**
     * @param value Key can be used to encipher data.
     */
    @JvmName("vedgnkschgrrplyj")
    public suspend fun keyEncipherment(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyEncipherment = mapped
    }

    /**
     * @param value Key can be used for non-repudiation.
     */
    @JvmName("cfwfylwhtopeidwq")
    public suspend fun nonRepudiation(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nonRepudiation = mapped
    }

    internal fun build(): CertificateAuthorityKeyUsageArgs = CertificateAuthorityKeyUsageArgs(
        crlSign = crlSign,
        dataEncipherment = dataEncipherment,
        decipherOnly = decipherOnly,
        digitalSignature = digitalSignature,
        encipherOnly = encipherOnly,
        keyAgreement = keyAgreement,
        keyCertSign = keyCertSign,
        keyEncipherment = keyEncipherment,
        nonRepudiation = nonRepudiation,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy