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

com.azure.resourcemanager.network.models.ApplicationGatewayProbe Maven / Gradle / Ivy

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.resourcemanager.network.models;

import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.network.fluent.models.ApplicationGatewayProbeInner;
import com.azure.resourcemanager.resources.fluentcore.arm.models.ChildResource;
import com.azure.resourcemanager.resources.fluentcore.model.Attachable;
import com.azure.resourcemanager.resources.fluentcore.model.HasInnerModel;
import com.azure.resourcemanager.resources.fluentcore.model.Settable;
import java.util.Set;

/** A client-side representation of an application gateway probe. */
@Fluent()
public interface ApplicationGatewayProbe
    extends HasInnerModel,
        ChildResource,
        HasProtocol {

    /** @return the number of seconds between probe retries */
    int timeBetweenProbesInSeconds();

    /**
     * @return HTTP response code ranges in the format ###-### returned by the backend which the probe considers
     *     healthy.
     */
    Set healthyHttpResponseStatusCodeRanges();

    /**
     * @return the body contents of an HTTP response to a probe to check for to determine backend health, or null if
     *     none specified
     */
    String healthyHttpResponseBodyContents();

    /** @return the relative path to be called by the probe */
    String path();

    /**
     * @return the number of seconds waiting for a response after which the probe times out and it is marked as failed
     *     

Acceptable values are from 1 to 86400 seconds. */ int timeoutInSeconds(); /** * @return the number of failed retry probes before the backend server is marked as being down *

Acceptable values are from 1 second to 20. */ int retriesBeforeUnhealthy(); /** @return host name to send the probe to */ String host(); /** * Whether probe uses the host name from the HTTP settings to which this probe is associated. * * @return Whether probe uses the host name from the HTTP settings. */ Boolean isHostNameFromBackendHttpSettings(); /** Grouping of application gateway probe definition stages. */ interface DefinitionStages { /** * The first stage of an application gateway probe definition. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface Blank extends WithHost { } /** * Stage of an application gateway probe definition allowing to specify the host to send the probe to. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithHost { /** * Specifies the host name to send the probe to. * * @param host a host name * @return the next stage of the definition */ WithPath withHost(String host); /** * Specifies using the host name from the HTTP settings to which this probe is associated. * * @return the next stage of the definition */ WithPath withHostNameFromBackendHttpSettings(); } /** * Stage of an application gateway probe definition allowing to specify the relative path to send the probe to. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithPath { /** * Specifies the relative path for the probe to call. * *

A probe is sent to <protocol>://<host>:<port><path>. * * @param path a relative path * @return the next stage of the definition */ WithProtocol withPath(String path); } /** * Stage of an application gateway probe update allowing to specify the protocol of the probe. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithProtocol extends HasProtocol.DefinitionStages.WithProtocol, ApplicationGatewayProtocol> { /** * Specifies HTTP as the probe protocol. * * @return the next stage of the definition */ WithTimeout withHttp(); /** * Specifies HTTPS as the probe protocol. * * @return the next stage of the definition */ WithTimeout withHttps(); } /** * Stage of an application gateway probe definition allowing to specify the amount of time to after which the * probe is considered failed. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithTimeout { /** * Specifies the amount of time in seconds waiting for a response before the probe is considered failed. * * @param seconds a number of seconds, between 1 and 86400 * @return the next stage of the definition */ WithAttach withTimeoutInSeconds(int seconds); } /** * Stage of an application gateway probe definition allowing to specify the time interval between consecutive * probes. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithInterval { /** * Specifies the time interval in seconds between consecutive probes. * * @param seconds a number of seconds between 1 and 86400 * @return the next stage of the definition */ WithAttach withTimeBetweenProbesInSeconds(int seconds); } /** * Stage of an application gateway probe definition allowing to specify the number of retries before the server * is considered unhealthy. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithRetries { /** * Specifies the number of retries before the server is considered unhealthy. * * @param retryCount a number between 1 and 20 * @return the next stage of the definition */ WithAttach withRetriesBeforeUnhealthy(int retryCount); } /** * The stage of an application gateway probe definition allowing to specify healthy HTTP response status code * ranges. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithHealthyHttpResponseStatusCodeRanges { /** * Specifies the ranges of the backend's HTTP response status codes that are to be considered healthy. * * @param ranges number ranges expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRanges(Set ranges); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param range a number range expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRange(String range); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param from the lowest number in the range * @param to the highest number in the range * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRange(int from, int to); } /** * The stage of an application gateway probe definition allowing to specify the body contents of a healthy HTTP * response to a probe. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithHealthyHttpResponseBodyContents { /** * Specifies the content, if any, to look for in the body of an HTTP response to a probe to determine the * health status of the backend. * * @param text contents to look for * @return the next stage of the definition */ WithAttach withHealthyHttpResponseBodyContents(String text); } /** * The final stage of an application gateway probe definition. * *

At this stage, any remaining optional settings can be specified, or the probe definition can be attached * to the parent application gateway definition. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithAttach extends Attachable.InDefinitionAlt, WithInterval, WithRetries, WithHealthyHttpResponseStatusCodeRanges, WithHealthyHttpResponseBodyContents { } } /** * The entirety of an application gateway probe definition. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithAttach, DefinitionStages.WithProtocol, DefinitionStages.WithPath, DefinitionStages.WithHost, DefinitionStages.WithTimeout { } /** Grouping of application gateway probe update stages. */ interface UpdateStages { /** Stage of an application gateway probe update allowing to specify the host to send the probe to. */ interface WithHost { /** * Specifies the host name to send the probe to. * * @param host a host name * @return the next stage of the update */ Update withHost(String host); /** * Specifies using the host name from the HTTP settings to which this probe is associated. * * @return the next stage of the definition */ Update withHostNameFromBackendHttpSettings(); /** * Specifies not using the host name from the HTTP settings. * * @return the next stage of the definition */ Update withoutHostNameFromBackendHttpSettings(); } /** Stage of an application gateway probe update allowing to specify the protocol of the probe. */ interface WithProtocol extends HasProtocol.UpdateStages.WithProtocol { /** * Specifies HTTP as the probe protocol. * * @return the next stage of the update */ Update withHttp(); /** * Specifies HTTPS as the probe protocol. * * @return the next stage of the update */ Update withHttps(); } /** Stage of an application gateway probe update allowing to specify the path to send the probe to. */ interface WithPath { /** * Specifies the relative path for the probe to call. * *

A probe is sent to <protocol>://<host>:<port><path>. * * @param path a relative path * @return the next stage of the update */ Update withPath(String path); } /** * Stage of an application gateway probe update allowing to specify the amount of time to after which the probe * is considered failed. */ interface WithTimeout { /** * Specifies the amount of time in seconds waiting for a response before the probe is considered failed. * * @param seconds a number of seconds between 1 and 86400 * @return the next stage of the update */ Update withTimeoutInSeconds(int seconds); } /** * Stage of an application gateway probe update allowing to specify the time interval between consecutive * probes. */ interface WithInterval { /** * Specifies the time interval in seconds between consecutive probes. * * @param seconds a number of seconds between 1 and 86400 * @return the next stage of the update */ Update withTimeBetweenProbesInSeconds(int seconds); } /** * Stage of an application gateway probe update allowing to specify the number of retries before the server is * considered unhealthy. */ interface WithRetries { /** * Specifies the number of retries before the server is considered unhealthy. * * @param retryCount a number between 1 and 20 * @return the next stage of the update */ Update withRetriesBeforeUnhealthy(int retryCount); } /** * The stage of an application gateway probe update allowing to specify healthy HTTP response status code * ranges. */ interface WithHealthyHttpResponseStatusCodeRanges { /** * Specifies the ranges of the backend's HTTP response status codes that are to be considered healthy. * * @param ranges number ranges expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the update */ Update withHealthyHttpResponseStatusCodeRanges(Set ranges); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param range a number range expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the update */ Update withHealthyHttpResponseStatusCodeRange(String range); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param from the lowest number in the range * @param to the highest number in the range * @return the next stage of the update */ Update withHealthyHttpResponseStatusCodeRange(int from, int to); /** * Removes all healthy HTTP status response code ranges. * * @return the next stage of the update */ Update withoutHealthyHttpResponseStatusCodeRanges(); } /** * The stage of an application gateway probe update allowing to specify the body contents of a healthy HTTP * response to a probe. */ interface WithHealthyHttpResponseBodyContents { /** * Specifies the content, if any, to look for in the body of an HTTP response to a probe to determine the * health status of the backend. * * @param text contents to look for * @return the next stage of the definition */ Update withHealthyHttpResponseBodyContents(String text); } } /** The entirety of an application gateway probe update as part of an application gateway update. */ interface Update extends Settable, UpdateStages.WithProtocol, UpdateStages.WithPath, UpdateStages.WithHost, UpdateStages.WithTimeout, UpdateStages.WithInterval, UpdateStages.WithRetries, UpdateStages.WithHealthyHttpResponseStatusCodeRanges, UpdateStages.WithHealthyHttpResponseBodyContents { } /** Grouping of application gateway probe definition stages applicable as part of an application gateway update. */ interface UpdateDefinitionStages { /** * The first stage of an application gateway probe definition. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface Blank extends WithHost { } /** * Stage of an application gateway probe definition allowing to specify the host to send the probe to. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithHost { /** * Specifies the host name to send the probe to. * * @param host a host name * @return the next stage of the definition */ WithPath withHost(String host); /** * Specifies using the host name from the HTTP settings to which this probe is associated. * * @return the next stage of the definition */ WithPath withHostNameFromBackendHttpSettings(); } /** * Stage of an application gateway probe definition allowing to specify the protocol of the probe. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithProtocol extends HasProtocol.UpdateDefinitionStages.WithProtocol, ApplicationGatewayProtocol> { /** * Specifies HTTP as the probe protocol. * * @return the next stage of the definition */ WithTimeout withHttp(); /** * Specifies HTTPS as the probe protocol. * * @return the next stage of the definition */ WithTimeout withHttps(); } /** * Stage of an application gateway probe definition allowing to specify the amount of time to after which the * probe is considered failed. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithTimeout { /** * Specifies the amount of time in seconds waiting for a response before the probe is considered failed. * * @param seconds a number of seconds between 1 and 86400 * @return the next stage of the definition */ WithAttach withTimeoutInSeconds(int seconds); } /** * Stage of an application gateway probe definition allowing to specify the path to send the probe to. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithPath { /** * Specifies the relative path for the probe to call. * *

A probe is sent to <protocol>://<host>:<port><path>. * * @param path a relative path * @return the next stage of the definition */ WithProtocol withPath(String path); } /** * Stage of an application gateway probe definition allowing to specify the time interval between consecutive * probes. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithInterval { /** * Specifies the time interval in seconds between consecutive probes. * * @param seconds a number of seconds between 1 and 86400 * @return the next stage of the definition */ WithAttach withTimeBetweenProbesInSeconds(int seconds); } /** * Stage of an application gateway probe definition allowing to specify the number of retries before the server * is considered unhealthy. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithRetries { /** * Specifies the number of retries before the server is considered unhealthy. * * @param retryCount a number between 1 and 20 * @return the next stage of the definition */ WithAttach withRetriesBeforeUnhealthy(int retryCount); } /** * The stage of an application gateway probe definition allowing to specify healthy HTTP response status code * ranges. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithHealthyHttpResponseStatusCodeRanges { /** * Specifies the ranges of the backend's HTTP response status codes that are to be considered healthy. * * @param ranges number ranges expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRanges(Set ranges); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param range a number range expressed in the format "###-###", for example "200-399", which is the * default * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRange(String range); /** * Adds the specified range of the backend's HTTP response status codes that are to be considered healthy. * * @param from the lowest number in the range * @param to the highest number in the range * @return the next stage of the definition */ WithAttach withHealthyHttpResponseStatusCodeRange(int from, int to); } /** * The stage of an application gateway probe definition allowing to specify the body contents of a healthy HTTP * response to a probe. * * @param the stage of the parent application gateway update to return to after attaching this * definition */ interface WithHealthyHttpResponseBodyContents { /** * Specifies the content, if any, to look for in the body of an HTTP response to a probe to determine the * health status of the backend. * * @param text contents to look for * @return the next stage of the definition */ WithAttach withHealthyHttpResponseBodyContents(String text); } /** * The final stage of an application gateway probe definition. * *

At this stage, any remaining optional settings can be specified, or the probe definition can be attached * to the parent application gateway definition. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface WithAttach extends Attachable.InUpdateAlt, WithInterval, WithRetries, WithHealthyHttpResponseStatusCodeRanges, WithHealthyHttpResponseBodyContents { } } /** * The entirety of an application gateway probe definition as part of an application gateway update. * * @param the stage of the parent application gateway definition to return to after attaching this * definition */ interface UpdateDefinition extends UpdateDefinitionStages.Blank, UpdateDefinitionStages.WithAttach, UpdateDefinitionStages.WithProtocol, UpdateDefinitionStages.WithPath, UpdateDefinitionStages.WithHost, UpdateDefinitionStages.WithTimeout, UpdateDefinitionStages.WithInterval { } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy