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

com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateExtensions.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.acmpca.kotlin.outputs

import kotlin.Suppress
import kotlin.collections.List

/**
 * Contains X.509 extension information for a certificate.
 * @property certificatePolicies Contains a sequence of one or more policy information terms, each of which consists of an object identifier (OID) and optional qualifiers. For more information, see NIST's definition of [Object Identifier (OID)](https://docs.aws.amazon.com/https://csrc.nist.gov/glossary/term/Object_Identifier).
 *  In an end-entity certificate, these terms indicate the policy under which the certificate was issued and the purposes for which it may be used. In a CA certificate, these terms limit the set of policies for certification paths that include this certificate.
 * @property customExtensions Contains a sequence of one or more X.509 extensions, each of which consists of an object identifier (OID), a base64-encoded value, and the critical flag. For more information, see the [Global OID reference database.](https://docs.aws.amazon.com/https://oidref.com/2.5.29)
 * @property extendedKeyUsage Specifies additional purposes for which the certified public key may be used other than basic purposes indicated in the ``KeyUsage`` extension.
 * @property keyUsage Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false.
 * @property subjectAlternativeNames The subject alternative name extension allows identities to be bound to the subject of the certificate. These identities may be included in addition to or in place of the identity in the subject field of the certificate.
 */
public data class CertificateExtensions(
    public val certificatePolicies: List? = null,
    public val customExtensions: List? = null,
    public val extendedKeyUsage: List? = null,
    public val keyUsage: CertificateKeyUsage? = null,
    public val subjectAlternativeNames: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.acmpca.outputs.CertificateExtensions): CertificateExtensions = CertificateExtensions(
            certificatePolicies = javaType.certificatePolicies().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificatePolicyInformation.Companion.toKotlin(args0)
                })
            }),
            customExtensions = javaType.customExtensions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateCustomExtension.Companion.toKotlin(args0)
                })
            }),
            extendedKeyUsage = javaType.extendedKeyUsage().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateExtendedKeyUsage.Companion.toKotlin(args0)
                })
            }),
            keyUsage = javaType.keyUsage().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateKeyUsage.Companion.toKotlin(args0)
                })
            }).orElse(null),
            subjectAlternativeNames = javaType.subjectAlternativeNames().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateGeneralName.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy