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

com.pulumi.azurenative.network.inputs.ApplicationGatewayProbeArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.network.inputs;

import com.pulumi.azurenative.network.enums.ApplicationGatewayProtocol;
import com.pulumi.azurenative.network.inputs.ApplicationGatewayProbeHealthResponseMatchArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Probe of the application gateway.
 * 
 */
public final class ApplicationGatewayProbeArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationGatewayProbeArgs Empty = new ApplicationGatewayProbeArgs();

    /**
     * Host name to send the probe to.
     * 
     */
    @Import(name="host")
    private @Nullable Output host;

    /**
     * @return Host name to send the probe to.
     * 
     */
    public Optional> host() {
        return Optional.ofNullable(this.host);
    }

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
     * 
     */
    @Import(name="interval")
    private @Nullable Output interval;

    /**
     * @return The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
     * 
     */
    public Optional> interval() {
        return Optional.ofNullable(this.interval);
    }

    /**
     * Criterion for classifying a healthy probe response.
     * 
     */
    @Import(name="match")
    private @Nullable Output match;

    /**
     * @return Criterion for classifying a healthy probe response.
     * 
     */
    public Optional> match() {
        return Optional.ofNullable(this.match);
    }

    /**
     * Minimum number of servers that are always marked healthy. Default value is 0.
     * 
     */
    @Import(name="minServers")
    private @Nullable Output minServers;

    /**
     * @return Minimum number of servers that are always marked healthy. Default value is 0.
     * 
     */
    public Optional> minServers() {
        return Optional.ofNullable(this.minServers);
    }

    /**
     * Name of the probe that is unique within an Application Gateway.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the probe that is unique within an Application Gateway.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
     * 
     */
    @Import(name="path")
    private @Nullable Output path;

    /**
     * @return Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
     * 
     */
    public Optional> path() {
        return Optional.ofNullable(this.path);
    }

    /**
     * Whether the host header should be picked from the backend http settings. Default value is false.
     * 
     */
    @Import(name="pickHostNameFromBackendHttpSettings")
    private @Nullable Output pickHostNameFromBackendHttpSettings;

    /**
     * @return Whether the host header should be picked from the backend http settings. Default value is false.
     * 
     */
    public Optional> pickHostNameFromBackendHttpSettings() {
        return Optional.ofNullable(this.pickHostNameFromBackendHttpSettings);
    }

    /**
     * Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false.
     * 
     */
    @Import(name="pickHostNameFromBackendSettings")
    private @Nullable Output pickHostNameFromBackendSettings;

    /**
     * @return Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false.
     * 
     */
    public Optional> pickHostNameFromBackendSettings() {
        return Optional.ofNullable(this.pickHostNameFromBackendSettings);
    }

    /**
     * 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.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return 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.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * The protocol used for the probe.
     * 
     */
    @Import(name="protocol")
    private @Nullable Output> protocol;

    /**
     * @return The protocol used for the probe.
     * 
     */
    public Optional>> protocol() {
        return Optional.ofNullable(this.protocol);
    }

    /**
     * The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
     * 
     */
    @Import(name="timeout")
    private @Nullable Output timeout;

    /**
     * @return The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
     * 
     */
    public Optional> timeout() {
        return Optional.ofNullable(this.timeout);
    }

    /**
     * The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
     * 
     */
    @Import(name="unhealthyThreshold")
    private @Nullable Output unhealthyThreshold;

    /**
     * @return The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
     * 
     */
    public Optional> unhealthyThreshold() {
        return Optional.ofNullable(this.unhealthyThreshold);
    }

    private ApplicationGatewayProbeArgs() {}

    private ApplicationGatewayProbeArgs(ApplicationGatewayProbeArgs $) {
        this.host = $.host;
        this.id = $.id;
        this.interval = $.interval;
        this.match = $.match;
        this.minServers = $.minServers;
        this.name = $.name;
        this.path = $.path;
        this.pickHostNameFromBackendHttpSettings = $.pickHostNameFromBackendHttpSettings;
        this.pickHostNameFromBackendSettings = $.pickHostNameFromBackendSettings;
        this.port = $.port;
        this.protocol = $.protocol;
        this.timeout = $.timeout;
        this.unhealthyThreshold = $.unhealthyThreshold;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ApplicationGatewayProbeArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ApplicationGatewayProbeArgs $;

        public Builder() {
            $ = new ApplicationGatewayProbeArgs();
        }

        public Builder(ApplicationGatewayProbeArgs defaults) {
            $ = new ApplicationGatewayProbeArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param host Host name to send the probe to.
         * 
         * @return builder
         * 
         */
        public Builder host(@Nullable Output host) {
            $.host = host;
            return this;
        }

        /**
         * @param host Host name to send the probe to.
         * 
         * @return builder
         * 
         */
        public Builder host(String host) {
            return host(Output.of(host));
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param interval The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
         * 
         * @return builder
         * 
         */
        public Builder interval(@Nullable Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
         * 
         * @return builder
         * 
         */
        public Builder interval(Integer interval) {
            return interval(Output.of(interval));
        }

        /**
         * @param match Criterion for classifying a healthy probe response.
         * 
         * @return builder
         * 
         */
        public Builder match(@Nullable Output match) {
            $.match = match;
            return this;
        }

        /**
         * @param match Criterion for classifying a healthy probe response.
         * 
         * @return builder
         * 
         */
        public Builder match(ApplicationGatewayProbeHealthResponseMatchArgs match) {
            return match(Output.of(match));
        }

        /**
         * @param minServers Minimum number of servers that are always marked healthy. Default value is 0.
         * 
         * @return builder
         * 
         */
        public Builder minServers(@Nullable Output minServers) {
            $.minServers = minServers;
            return this;
        }

        /**
         * @param minServers Minimum number of servers that are always marked healthy. Default value is 0.
         * 
         * @return builder
         * 
         */
        public Builder minServers(Integer minServers) {
            return minServers(Output.of(minServers));
        }

        /**
         * @param name Name of the probe that is unique within an Application Gateway.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the probe that is unique within an Application Gateway.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param path Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
         * 
         * @return builder
         * 
         */
        public Builder path(@Nullable Output path) {
            $.path = path;
            return this;
        }

        /**
         * @param path Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
         * 
         * @return builder
         * 
         */
        public Builder path(String path) {
            return path(Output.of(path));
        }

        /**
         * @param pickHostNameFromBackendHttpSettings Whether the host header should be picked from the backend http settings. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder pickHostNameFromBackendHttpSettings(@Nullable Output pickHostNameFromBackendHttpSettings) {
            $.pickHostNameFromBackendHttpSettings = pickHostNameFromBackendHttpSettings;
            return this;
        }

        /**
         * @param pickHostNameFromBackendHttpSettings Whether the host header should be picked from the backend http settings. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder pickHostNameFromBackendHttpSettings(Boolean pickHostNameFromBackendHttpSettings) {
            return pickHostNameFromBackendHttpSettings(Output.of(pickHostNameFromBackendHttpSettings));
        }

        /**
         * @param pickHostNameFromBackendSettings Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder pickHostNameFromBackendSettings(@Nullable Output pickHostNameFromBackendSettings) {
            $.pickHostNameFromBackendSettings = pickHostNameFromBackendSettings;
            return this;
        }

        /**
         * @param pickHostNameFromBackendSettings Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder pickHostNameFromBackendSettings(Boolean pickHostNameFromBackendSettings) {
            return pickHostNameFromBackendSettings(Output.of(pickHostNameFromBackendSettings));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param protocol The protocol used for the probe.
         * 
         * @return builder
         * 
         */
        public Builder protocol(@Nullable Output> protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol The protocol used for the probe.
         * 
         * @return builder
         * 
         */
        public Builder protocol(Either protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param protocol The protocol used for the probe.
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Either.ofLeft(protocol));
        }

        /**
         * @param protocol The protocol used for the probe.
         * 
         * @return builder
         * 
         */
        public Builder protocol(ApplicationGatewayProtocol protocol) {
            return protocol(Either.ofRight(protocol));
        }

        /**
         * @param timeout The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
         * 
         * @return builder
         * 
         */
        public Builder timeout(@Nullable Output timeout) {
            $.timeout = timeout;
            return this;
        }

        /**
         * @param timeout The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
         * 
         * @return builder
         * 
         */
        public Builder timeout(Integer timeout) {
            return timeout(Output.of(timeout));
        }

        /**
         * @param unhealthyThreshold The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
         * 
         * @return builder
         * 
         */
        public Builder unhealthyThreshold(@Nullable Output unhealthyThreshold) {
            $.unhealthyThreshold = unhealthyThreshold;
            return this;
        }

        /**
         * @param unhealthyThreshold The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
         * 
         * @return builder
         * 
         */
        public Builder unhealthyThreshold(Integer unhealthyThreshold) {
            return unhealthyThreshold(Output.of(unhealthyThreshold));
        }

        public ApplicationGatewayProbeArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy