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

com.pulumi.gcp.appengine.kotlin.inputs.DomainMappingSslSettingsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.appengine.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.appengine.inputs.DomainMappingSslSettingsArgs.builder
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 certificateId ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will
 * remove SSL support.
 * By default, a managed certificate is automatically created for every domain mapping. To omit SSL support
 * or to configure SSL manually, specify `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must be
 * authorized to administer the `AuthorizedCertificate` resource to manually map it to a DomainMapping resource.
 * Example: 12345.
 * @property pendingManagedCertificateId (Output)
 * ID of the managed `AuthorizedCertificate` resource currently being provisioned, if applicable. Until the new
 * managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the
 * provisioning process completes, the `certificateId` field will reflect the new managed certificate and this
 * field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the
 * `certificateId` field with an update request.
 * @property sslManagementType SSL management type for this domain. If `AUTOMATIC`, a managed certificate is automatically provisioned.
 * If `MANUAL`, `certificateId` must be manually specified in order to configure SSL for this domain.
 * Possible values are: `AUTOMATIC`, `MANUAL`.
 */
public data class DomainMappingSslSettingsArgs(
    public val certificateId: Output? = null,
    public val pendingManagedCertificateId: Output? = null,
    public val sslManagementType: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.appengine.inputs.DomainMappingSslSettingsArgs =
        com.pulumi.gcp.appengine.inputs.DomainMappingSslSettingsArgs.builder()
            .certificateId(certificateId?.applyValue({ args0 -> args0 }))
            .pendingManagedCertificateId(pendingManagedCertificateId?.applyValue({ args0 -> args0 }))
            .sslManagementType(sslManagementType.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DomainMappingSslSettingsArgs].
 */
@PulumiTagMarker
public class DomainMappingSslSettingsArgsBuilder internal constructor() {
    private var certificateId: Output? = null

    private var pendingManagedCertificateId: Output? = null

    private var sslManagementType: Output? = null

    /**
     * @param value ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will
     * remove SSL support.
     * By default, a managed certificate is automatically created for every domain mapping. To omit SSL support
     * or to configure SSL manually, specify `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must be
     * authorized to administer the `AuthorizedCertificate` resource to manually map it to a DomainMapping resource.
     * Example: 12345.
     */
    @JvmName("rmtcmbygmensbabh")
    public suspend fun certificateId(`value`: Output) {
        this.certificateId = value
    }

    /**
     * @param value (Output)
     * ID of the managed `AuthorizedCertificate` resource currently being provisioned, if applicable. Until the new
     * managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the
     * provisioning process completes, the `certificateId` field will reflect the new managed certificate and this
     * field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the
     * `certificateId` field with an update request.
     */
    @JvmName("gtoxydfenoodmaph")
    public suspend fun pendingManagedCertificateId(`value`: Output) {
        this.pendingManagedCertificateId = value
    }

    /**
     * @param value SSL management type for this domain. If `AUTOMATIC`, a managed certificate is automatically provisioned.
     * If `MANUAL`, `certificateId` must be manually specified in order to configure SSL for this domain.
     * Possible values are: `AUTOMATIC`, `MANUAL`.
     */
    @JvmName("ipsdpxypaohfcsop")
    public suspend fun sslManagementType(`value`: Output) {
        this.sslManagementType = value
    }

    /**
     * @param value ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will
     * remove SSL support.
     * By default, a managed certificate is automatically created for every domain mapping. To omit SSL support
     * or to configure SSL manually, specify `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must be
     * authorized to administer the `AuthorizedCertificate` resource to manually map it to a DomainMapping resource.
     * Example: 12345.
     */
    @JvmName("fcptpjqjnlnrlquy")
    public suspend fun certificateId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certificateId = mapped
    }

    /**
     * @param value (Output)
     * ID of the managed `AuthorizedCertificate` resource currently being provisioned, if applicable. Until the new
     * managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the
     * provisioning process completes, the `certificateId` field will reflect the new managed certificate and this
     * field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the
     * `certificateId` field with an update request.
     */
    @JvmName("kisonqxtbdpmaynm")
    public suspend fun pendingManagedCertificateId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pendingManagedCertificateId = mapped
    }

    /**
     * @param value SSL management type for this domain. If `AUTOMATIC`, a managed certificate is automatically provisioned.
     * If `MANUAL`, `certificateId` must be manually specified in order to configure SSL for this domain.
     * Possible values are: `AUTOMATIC`, `MANUAL`.
     */
    @JvmName("wqwyewmdbmvnnxpf")
    public suspend fun sslManagementType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sslManagementType = mapped
    }

    internal fun build(): DomainMappingSslSettingsArgs = DomainMappingSslSettingsArgs(
        certificateId = certificateId,
        pendingManagedCertificateId = pendingManagedCertificateId,
        sslManagementType = sslManagementType ?: throw PulumiNullFieldException("sslManagementType"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy