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

com.microsoft.azure.management.network.ApplicationGatewayProbe Maven / Gradle / Ivy

/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */
package com.microsoft.azure.management.network;

import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.network.implementation.ApplicationGatewayProbeInner;
import com.microsoft.azure.management.network.model.HasProtocol;
import com.microsoft.azure.management.resources.fluentcore.arm.models.ChildResource;
import com.microsoft.azure.management.resources.fluentcore.model.Attachable;
import com.microsoft.azure.management.resources.fluentcore.model.Settable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;

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

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

    /**
     * @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(); /** * 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); } /** * 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 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 { } } /** * 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); } /** * 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 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 { } /** * 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 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); } /** * Stage of an application gateway probe definition 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.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 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 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 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 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 { } } /** 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