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

com.pulumi.azure.network.kotlin.inputs.ApplicationGatewayProbeArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.network.kotlin.inputs

import com.pulumi.azure.network.inputs.ApplicationGatewayProbeArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property host The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as `127.0.0.1`, unless otherwise configured in custom probe. Cannot be set if `pick_host_name_from_backend_http_settings` is set to `true`.
 * @property id The ID of the Rewrite Rule Set
 * @property interval The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
 * @property match A `match` block as defined above.
 * @property minimumServers The minimum number of servers that are always marked as healthy. Defaults to `0`.
 * @property name The Name of the Probe.
 * @property path The Path used for this Probe.
 * @property pickHostNameFromBackendHttpSettings Whether the host header should be picked from the backend HTTP settings. Defaults to `false`.
 * @property port Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
 * @property protocol The Protocol used for this Probe. Possible values are `Http` and `Https`.
 * @property timeout The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
 * @property unhealthyThreshold The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
 */
public data class ApplicationGatewayProbeArgs(
    public val host: Output? = null,
    public val id: Output? = null,
    public val interval: Output,
    public val match: Output? = null,
    public val minimumServers: Output? = null,
    public val name: Output,
    public val path: Output,
    public val pickHostNameFromBackendHttpSettings: Output? = null,
    public val port: Output? = null,
    public val protocol: Output,
    public val timeout: Output,
    public val unhealthyThreshold: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.network.inputs.ApplicationGatewayProbeArgs =
        com.pulumi.azure.network.inputs.ApplicationGatewayProbeArgs.builder()
            .host(host?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .interval(interval.applyValue({ args0 -> args0 }))
            .match(match?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .minimumServers(minimumServers?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .path(path.applyValue({ args0 -> args0 }))
            .pickHostNameFromBackendHttpSettings(
                pickHostNameFromBackendHttpSettings?.applyValue({ args0 ->
                    args0
                }),
            )
            .port(port?.applyValue({ args0 -> args0 }))
            .protocol(protocol.applyValue({ args0 -> args0 }))
            .timeout(timeout.applyValue({ args0 -> args0 }))
            .unhealthyThreshold(unhealthyThreshold.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ApplicationGatewayProbeArgs].
 */
@PulumiTagMarker
public class ApplicationGatewayProbeArgsBuilder internal constructor() {
    private var host: Output? = null

    private var id: Output? = null

    private var interval: Output? = null

    private var match: Output? = null

    private var minimumServers: Output? = null

    private var name: Output? = null

    private var path: Output? = null

    private var pickHostNameFromBackendHttpSettings: Output? = null

    private var port: Output? = null

    private var protocol: Output? = null

    private var timeout: Output? = null

    private var unhealthyThreshold: Output? = null

    /**
     * @param value The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as `127.0.0.1`, unless otherwise configured in custom probe. Cannot be set if `pick_host_name_from_backend_http_settings` is set to `true`.
     */
    @JvmName("lgeraqyxpxktkqnt")
    public suspend fun host(`value`: Output) {
        this.host = value
    }

    /**
     * @param value The ID of the Rewrite Rule Set
     */
    @JvmName("pmlomgwxbphecsaj")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
     */
    @JvmName("nrbdpsstkiaijnda")
    public suspend fun interval(`value`: Output) {
        this.interval = value
    }

    /**
     * @param value A `match` block as defined above.
     */
    @JvmName("yuuxverorsgvgggj")
    public suspend fun match(`value`: Output) {
        this.match = value
    }

    /**
     * @param value The minimum number of servers that are always marked as healthy. Defaults to `0`.
     */
    @JvmName("voxmjljuixidntll")
    public suspend fun minimumServers(`value`: Output) {
        this.minimumServers = value
    }

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

    /**
     * @param value The Path used for this Probe.
     */
    @JvmName("llgsugsktsbyuglu")
    public suspend fun path(`value`: Output) {
        this.path = value
    }

    /**
     * @param value Whether the host header should be picked from the backend HTTP settings. Defaults to `false`.
     */
    @JvmName("ltuaysymaveeikjo")
    public suspend fun pickHostNameFromBackendHttpSettings(`value`: Output) {
        this.pickHostNameFromBackendHttpSettings = value
    }

    /**
     * @param value Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
     */
    @JvmName("xmsqoxqsjbrybccd")
    public suspend fun port(`value`: Output) {
        this.port = value
    }

    /**
     * @param value The Protocol used for this Probe. Possible values are `Http` and `Https`.
     */
    @JvmName("ifmldtirxujnvlgl")
    public suspend fun protocol(`value`: Output) {
        this.protocol = value
    }

    /**
     * @param value The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
     */
    @JvmName("dhpngvnolmogwiku")
    public suspend fun timeout(`value`: Output) {
        this.timeout = value
    }

    /**
     * @param value The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
     */
    @JvmName("wxvpoewltruowkmr")
    public suspend fun unhealthyThreshold(`value`: Output) {
        this.unhealthyThreshold = value
    }

    /**
     * @param value The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as `127.0.0.1`, unless otherwise configured in custom probe. Cannot be set if `pick_host_name_from_backend_http_settings` is set to `true`.
     */
    @JvmName("ojapvkxmsogrwxvf")
    public suspend fun host(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.host = mapped
    }

    /**
     * @param value The ID of the Rewrite Rule Set
     */
    @JvmName("qemdwdxcvrgwoafb")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
     */
    @JvmName("htbvplukmapvkdsr")
    public suspend fun interval(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.interval = mapped
    }

    /**
     * @param value A `match` block as defined above.
     */
    @JvmName("cwqnpgbelcbdywyb")
    public suspend fun match(`value`: ApplicationGatewayProbeMatchArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.match = mapped
    }

    /**
     * @param argument A `match` block as defined above.
     */
    @JvmName("iwvadkvdcensmpxx")
    public suspend fun match(argument: suspend ApplicationGatewayProbeMatchArgsBuilder.() -> Unit) {
        val toBeMapped = ApplicationGatewayProbeMatchArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.match = mapped
    }

    /**
     * @param value The minimum number of servers that are always marked as healthy. Defaults to `0`.
     */
    @JvmName("ewcrosasbjbtfhbv")
    public suspend fun minimumServers(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minimumServers = mapped
    }

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

    /**
     * @param value The Path used for this Probe.
     */
    @JvmName("bhvjfdialwerbcfu")
    public suspend fun path(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.path = mapped
    }

    /**
     * @param value Whether the host header should be picked from the backend HTTP settings. Defaults to `false`.
     */
    @JvmName("phiqdnlmffipiusl")
    public suspend fun pickHostNameFromBackendHttpSettings(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pickHostNameFromBackendHttpSettings = mapped
    }

    /**
     * @param value Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
     */
    @JvmName("tmdhamrytmulnvrx")
    public suspend fun port(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.port = mapped
    }

    /**
     * @param value The Protocol used for this Probe. Possible values are `Http` and `Https`.
     */
    @JvmName("wwjmduauqcdiddvm")
    public suspend fun protocol(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.protocol = mapped
    }

    /**
     * @param value The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
     */
    @JvmName("fhgcfxuugtyghrch")
    public suspend fun timeout(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.timeout = mapped
    }

    /**
     * @param value The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
     */
    @JvmName("bywitwcxxvosbrft")
    public suspend fun unhealthyThreshold(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.unhealthyThreshold = mapped
    }

    internal fun build(): ApplicationGatewayProbeArgs = ApplicationGatewayProbeArgs(
        host = host,
        id = id,
        interval = interval ?: throw PulumiNullFieldException("interval"),
        match = match,
        minimumServers = minimumServers,
        name = name ?: throw PulumiNullFieldException("name"),
        path = path ?: throw PulumiNullFieldException("path"),
        pickHostNameFromBackendHttpSettings = pickHostNameFromBackendHttpSettings,
        port = port,
        protocol = protocol ?: throw PulumiNullFieldException("protocol"),
        timeout = timeout ?: throw PulumiNullFieldException("timeout"),
        unhealthyThreshold = unhealthyThreshold ?: throw PulumiNullFieldException("unhealthyThreshold"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy