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

com.pulumi.awsnative.lightsail.kotlin.LoadBalancerTlsCertificateArgs.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: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.lightsail.kotlin

import com.pulumi.awsnative.lightsail.LoadBalancerTlsCertificateArgs.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.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate
 * @property certificateAlternativeNames An array of strings listing alternative domains and subdomains for your SSL/TLS certificate.
 * @property certificateDomainName The domain name (e.g., example.com ) for your SSL/TLS certificate.
 * @property certificateName The SSL/TLS certificate name.
 * @property httpsRedirectionEnabled A Boolean value that indicates whether HTTPS redirection is enabled for the load balancer.
 * @property isAttached When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
 * @property loadBalancerName The name of your load balancer.
 */
public data class LoadBalancerTlsCertificateArgs(
    public val certificateAlternativeNames: Output>? = null,
    public val certificateDomainName: Output? = null,
    public val certificateName: Output? = null,
    public val httpsRedirectionEnabled: Output? = null,
    public val isAttached: Output? = null,
    public val loadBalancerName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lightsail.LoadBalancerTlsCertificateArgs =
        com.pulumi.awsnative.lightsail.LoadBalancerTlsCertificateArgs.builder()
            .certificateAlternativeNames(
                certificateAlternativeNames?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .certificateDomainName(certificateDomainName?.applyValue({ args0 -> args0 }))
            .certificateName(certificateName?.applyValue({ args0 -> args0 }))
            .httpsRedirectionEnabled(httpsRedirectionEnabled?.applyValue({ args0 -> args0 }))
            .isAttached(isAttached?.applyValue({ args0 -> args0 }))
            .loadBalancerName(loadBalancerName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LoadBalancerTlsCertificateArgs].
 */
@PulumiTagMarker
public class LoadBalancerTlsCertificateArgsBuilder internal constructor() {
    private var certificateAlternativeNames: Output>? = null

    private var certificateDomainName: Output? = null

    private var certificateName: Output? = null

    private var httpsRedirectionEnabled: Output? = null

    private var isAttached: Output? = null

    private var loadBalancerName: Output? = null

    /**
     * @param value An array of strings listing alternative domains and subdomains for your SSL/TLS certificate.
     */
    @JvmName("wyynaigrvdqnghun")
    public suspend fun certificateAlternativeNames(`value`: Output>) {
        this.certificateAlternativeNames = value
    }

    @JvmName("pqyqtgqogckvfxnu")
    public suspend fun certificateAlternativeNames(vararg values: Output) {
        this.certificateAlternativeNames = Output.all(values.asList())
    }

    /**
     * @param values An array of strings listing alternative domains and subdomains for your SSL/TLS certificate.
     */
    @JvmName("ksnqcouhpcqacubt")
    public suspend fun certificateAlternativeNames(values: List>) {
        this.certificateAlternativeNames = Output.all(values)
    }

    /**
     * @param value The domain name (e.g., example.com ) for your SSL/TLS certificate.
     */
    @JvmName("kuyholqblndoaakh")
    public suspend fun certificateDomainName(`value`: Output) {
        this.certificateDomainName = value
    }

    /**
     * @param value The SSL/TLS certificate name.
     */
    @JvmName("nlqsawyoixfbssvr")
    public suspend fun certificateName(`value`: Output) {
        this.certificateName = value
    }

    /**
     * @param value A Boolean value that indicates whether HTTPS redirection is enabled for the load balancer.
     */
    @JvmName("jvaruybuybnxskgb")
    public suspend fun httpsRedirectionEnabled(`value`: Output) {
        this.httpsRedirectionEnabled = value
    }

    /**
     * @param value When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
     */
    @JvmName("nwmxvpguvyememku")
    public suspend fun isAttached(`value`: Output) {
        this.isAttached = value
    }

    /**
     * @param value The name of your load balancer.
     */
    @JvmName("sddovmsnvdtcioqi")
    public suspend fun loadBalancerName(`value`: Output) {
        this.loadBalancerName = value
    }

    /**
     * @param value An array of strings listing alternative domains and subdomains for your SSL/TLS certificate.
     */
    @JvmName("ohgyuktnxixsfnlx")
    public suspend fun certificateAlternativeNames(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certificateAlternativeNames = mapped
    }

    /**
     * @param values An array of strings listing alternative domains and subdomains for your SSL/TLS certificate.
     */
    @JvmName("cvrxqukgphnsqvnf")
    public suspend fun certificateAlternativeNames(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.certificateAlternativeNames = mapped
    }

    /**
     * @param value The domain name (e.g., example.com ) for your SSL/TLS certificate.
     */
    @JvmName("tiraygelrhpvcnor")
    public suspend fun certificateDomainName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certificateDomainName = mapped
    }

    /**
     * @param value The SSL/TLS certificate name.
     */
    @JvmName("qlimvcdnjabrcrtt")
    public suspend fun certificateName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certificateName = mapped
    }

    /**
     * @param value A Boolean value that indicates whether HTTPS redirection is enabled for the load balancer.
     */
    @JvmName("kykkvaguycavkcor")
    public suspend fun httpsRedirectionEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpsRedirectionEnabled = mapped
    }

    /**
     * @param value When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
     */
    @JvmName("qbudsrvrwmngiwhm")
    public suspend fun isAttached(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isAttached = mapped
    }

    /**
     * @param value The name of your load balancer.
     */
    @JvmName("fiagxhqrwfavtnjo")
    public suspend fun loadBalancerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loadBalancerName = mapped
    }

    internal fun build(): LoadBalancerTlsCertificateArgs = LoadBalancerTlsCertificateArgs(
        certificateAlternativeNames = certificateAlternativeNames,
        certificateDomainName = certificateDomainName,
        certificateName = certificateName,
        httpsRedirectionEnabled = httpsRedirectionEnabled,
        isAttached = isAttached,
        loadBalancerName = loadBalancerName,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy