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

com.pulumi.azurenative.web.kotlin.WebAppHostNameBindingArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.web.kotlin

import com.pulumi.azurenative.web.WebAppHostNameBindingArgs.builder
import com.pulumi.azurenative.web.kotlin.enums.AzureResourceType
import com.pulumi.azurenative.web.kotlin.enums.CustomHostNameDnsRecordType
import com.pulumi.azurenative.web.kotlin.enums.HostNameType
import com.pulumi.azurenative.web.kotlin.enums.SslState
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * A hostname binding object.
 * Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2020-12-01.
 * Other available API versions: 2020-10-01, 2023-01-01, 2023-12-01.
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:web:WebAppHostNameBinding myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}
 * ```
 * @property azureResourceName Azure resource name.
 * @property azureResourceType Azure resource type.
 * @property customHostNameDnsRecordType Custom DNS record type.
 * @property domainId Fully qualified ARM domain resource URI.
 * @property hostName Hostname in the hostname binding.
 * @property hostNameType Hostname type.
 * @property kind Kind of resource.
 * @property name Name of the app.
 * @property resourceGroupName Name of the resource group to which the resource belongs.
 * @property siteName App Service app name.
 * @property sslState SSL type
 * @property thumbprint SSL certificate thumbprint
 */
public data class WebAppHostNameBindingArgs(
    public val azureResourceName: Output? = null,
    public val azureResourceType: Output? = null,
    public val customHostNameDnsRecordType: Output? = null,
    public val domainId: Output? = null,
    public val hostName: Output? = null,
    public val hostNameType: Output? = null,
    public val kind: Output? = null,
    public val name: Output? = null,
    public val resourceGroupName: Output? = null,
    public val siteName: Output? = null,
    public val sslState: Output? = null,
    public val thumbprint: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.web.WebAppHostNameBindingArgs =
        com.pulumi.azurenative.web.WebAppHostNameBindingArgs.builder()
            .azureResourceName(azureResourceName?.applyValue({ args0 -> args0 }))
            .azureResourceType(azureResourceType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .customHostNameDnsRecordType(
                customHostNameDnsRecordType?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .domainId(domainId?.applyValue({ args0 -> args0 }))
            .hostName(hostName?.applyValue({ args0 -> args0 }))
            .hostNameType(hostNameType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .kind(kind?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .siteName(siteName?.applyValue({ args0 -> args0 }))
            .sslState(sslState?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .thumbprint(thumbprint?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [WebAppHostNameBindingArgs].
 */
@PulumiTagMarker
public class WebAppHostNameBindingArgsBuilder internal constructor() {
    private var azureResourceName: Output? = null

    private var azureResourceType: Output? = null

    private var customHostNameDnsRecordType: Output? = null

    private var domainId: Output? = null

    private var hostName: Output? = null

    private var hostNameType: Output? = null

    private var kind: Output? = null

    private var name: Output? = null

    private var resourceGroupName: Output? = null

    private var siteName: Output? = null

    private var sslState: Output? = null

    private var thumbprint: Output? = null

    /**
     * @param value Azure resource name.
     */
    @JvmName("ibyyhqicjtcuyawn")
    public suspend fun azureResourceName(`value`: Output) {
        this.azureResourceName = value
    }

    /**
     * @param value Azure resource type.
     */
    @JvmName("cdjddyyxguwcefei")
    public suspend fun azureResourceType(`value`: Output) {
        this.azureResourceType = value
    }

    /**
     * @param value Custom DNS record type.
     */
    @JvmName("kqugwfdgjlakpedd")
    public suspend fun customHostNameDnsRecordType(`value`: Output) {
        this.customHostNameDnsRecordType = value
    }

    /**
     * @param value Fully qualified ARM domain resource URI.
     */
    @JvmName("dufdwuqgwdqrkuyv")
    public suspend fun domainId(`value`: Output) {
        this.domainId = value
    }

    /**
     * @param value Hostname in the hostname binding.
     */
    @JvmName("ooqfgflatepgbdvl")
    public suspend fun hostName(`value`: Output) {
        this.hostName = value
    }

    /**
     * @param value Hostname type.
     */
    @JvmName("sbgakcpewdgxcdje")
    public suspend fun hostNameType(`value`: Output) {
        this.hostNameType = value
    }

    /**
     * @param value Kind of resource.
     */
    @JvmName("fflldmbtjaovlsth")
    public suspend fun kind(`value`: Output) {
        this.kind = value
    }

    /**
     * @param value Name of the app.
     */
    @JvmName("nqckckpdutupupux")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Name of the resource group to which the resource belongs.
     */
    @JvmName("bgrmaqjkfwcfmmkm")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value App Service app name.
     */
    @JvmName("xwovyrkxxhehtnxi")
    public suspend fun siteName(`value`: Output) {
        this.siteName = value
    }

    /**
     * @param value SSL type
     */
    @JvmName("qagkugdxymbqhdsk")
    public suspend fun sslState(`value`: Output) {
        this.sslState = value
    }

    /**
     * @param value SSL certificate thumbprint
     */
    @JvmName("spkbnlpeegrtixri")
    public suspend fun thumbprint(`value`: Output) {
        this.thumbprint = value
    }

    /**
     * @param value Azure resource name.
     */
    @JvmName("gsfdxdlhmjwcktok")
    public suspend fun azureResourceName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureResourceName = mapped
    }

    /**
     * @param value Azure resource type.
     */
    @JvmName("pqbdvqbgpxtojvmv")
    public suspend fun azureResourceType(`value`: AzureResourceType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureResourceType = mapped
    }

    /**
     * @param value Custom DNS record type.
     */
    @JvmName("gchrvglxmxgkentq")
    public suspend fun customHostNameDnsRecordType(`value`: CustomHostNameDnsRecordType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customHostNameDnsRecordType = mapped
    }

    /**
     * @param value Fully qualified ARM domain resource URI.
     */
    @JvmName("qberarlmgvrhucqi")
    public suspend fun domainId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.domainId = mapped
    }

    /**
     * @param value Hostname in the hostname binding.
     */
    @JvmName("hjtbrxnwqyeksmnj")
    public suspend fun hostName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hostName = mapped
    }

    /**
     * @param value Hostname type.
     */
    @JvmName("tinybckxlcbptpir")
    public suspend fun hostNameType(`value`: HostNameType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hostNameType = mapped
    }

    /**
     * @param value Kind of resource.
     */
    @JvmName("tdlkwydeulesqwtm")
    public suspend fun kind(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kind = mapped
    }

    /**
     * @param value Name of the app.
     */
    @JvmName("tauwepyvpujrvgji")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Name of the resource group to which the resource belongs.
     */
    @JvmName("bpwsllcvvwfvxkvh")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value App Service app name.
     */
    @JvmName("vvcatnrepfmedxiq")
    public suspend fun siteName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.siteName = mapped
    }

    /**
     * @param value SSL type
     */
    @JvmName("surwpmmydqeubvyr")
    public suspend fun sslState(`value`: SslState?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sslState = mapped
    }

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

    internal fun build(): WebAppHostNameBindingArgs = WebAppHostNameBindingArgs(
        azureResourceName = azureResourceName,
        azureResourceType = azureResourceType,
        customHostNameDnsRecordType = customHostNameDnsRecordType,
        domainId = domainId,
        hostName = hostName,
        hostNameType = hostNameType,
        kind = kind,
        name = name,
        resourceGroupName = resourceGroupName,
        siteName = siteName,
        sslState = sslState,
        thumbprint = thumbprint,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy