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

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

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

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

import kotlin.String
import kotlin.Suppress

/**
 * Describes an ASN.1 X.400 ``GeneralName`` as defined in [RFC 5280](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an ``InvalidArgsException`` error.
 * @property directoryName Contains information about the certificate subject. The certificate can be one issued by your private certificate authority (CA) or it can be your private CA certificate. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. The DN must be unique for each entity, but your private CA can issue more than one certificate with the same DN to the same entity.
 * @property dnsName Represents ``GeneralName`` as a DNS name.
 * @property ediPartyName Represents ``GeneralName`` as an ``EdiPartyName`` object.
 * @property ipAddress Represents ``GeneralName`` as an IPv4 or IPv6 address.
 * @property otherName Represents ``GeneralName`` using an ``OtherName`` object.
 * @property registeredId Represents ``GeneralName`` as an object identifier (OID).
 * @property rfc822Name Represents ``GeneralName`` as an [RFC 822](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc822) email address.
 * @property uniformResourceIdentifier Represents ``GeneralName`` as a URI.
 */
public data class CertificateGeneralName(
    public val directoryName: CertificateSubject? = null,
    public val dnsName: String? = null,
    public val ediPartyName: CertificateEdiPartyName? = null,
    public val ipAddress: String? = null,
    public val otherName: CertificateOtherName? = null,
    public val registeredId: String? = null,
    public val rfc822Name: String? = null,
    public val uniformResourceIdentifier: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.acmpca.outputs.CertificateGeneralName): CertificateGeneralName = CertificateGeneralName(
            directoryName = javaType.directoryName().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateSubject.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dnsName = javaType.dnsName().map({ args0 -> args0 }).orElse(null),
            ediPartyName = javaType.ediPartyName().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateEdiPartyName.Companion.toKotlin(args0)
                })
            }).orElse(null),
            ipAddress = javaType.ipAddress().map({ args0 -> args0 }).orElse(null),
            otherName = javaType.otherName().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.acmpca.kotlin.outputs.CertificateOtherName.Companion.toKotlin(args0)
                })
            }).orElse(null),
            registeredId = javaType.registeredId().map({ args0 -> args0 }).orElse(null),
            rfc822Name = javaType.rfc822Name().map({ args0 -> args0 }).orElse(null),
            uniformResourceIdentifier = javaType.uniformResourceIdentifier().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy