com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateExtensions.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@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)
})
}),
)
}
}