com.azure.resourcemanager.network.models.LoadBalancerHttpProbe Maven / Gradle / Ivy
Show all versions of azure-resourcemanager-network Show documentation
// 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.resources.fluentcore.model.Attachable;
import com.azure.resourcemanager.resources.fluentcore.model.Settable;
/** A client-side representation of an HTTP load balancing probe. */
@Fluent()
public interface LoadBalancerHttpProbe extends LoadBalancerProbe {
/** @return the HTTP request path for the HTTP probe to call to check the health status */
String requestPath();
/** Grouping of probe definition stages. */
interface DefinitionStages {
/**
* The first stage of the probe definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface Blank extends WithRequestPath {
}
/**
* The final stage of the probe definition.
*
* At this stage, any remaining optional settings can be specified, or the probe definition can be attached
* to the parent load balancer definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithAttach
extends Attachable.InDefinition,
WithPort,
WithIntervalInSeconds,
WithNumberOfProbes {
}
/**
* The stage of the probe definition allowing to specify the HTTP request path for the probe to monitor.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithRequestPath {
/**
* Specifies the request path.
*
* @param requestPath the request path
* @return the next stage of the definition
*/
WithAttach withRequestPath(String requestPath);
}
/**
* The stage of the HTTP probe definition allowing to specify the probe interval.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithIntervalInSeconds {
/**
* Specifies the interval between probes, in seconds.
*
* @param seconds number of seconds
* @return the next stage of the definition
*/
WithAttach withIntervalInSeconds(int seconds);
}
/**
* The stage of the probe definition allowing to specify the port to monitor.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithPort {
/**
* Specifies the port number to call for health monitoring.
*
* @param port a port number
* @return the next stage of the definition
*/
WithAttach withPort(int port);
}
/**
* The stage of the HTTP probe definition allowing to specify the number of unsuccessful probes before failure
* is determined.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithNumberOfProbes {
/**
* Specifies the number of unsuccessful probes before failure is determined.
*
* @param probes number of probes
* @return the next stage of the definition
*/
WithAttach withNumberOfProbes(int probes);
}
}
/**
* The entirety of a probe definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface Definition
extends DefinitionStages.Blank,
DefinitionStages.WithAttach,
DefinitionStages.WithRequestPath {
}
/** Grouping of probe update stages. */
interface UpdateStages {
/** The stage of the HTTP probe update allowing to modify the port number to monitor. */
interface WithPort {
/**
* Specifies the port number to call for health monitoring.
*
* @param port a port number
* @return the next stage of the update
*/
Update withPort(int port);
}
/** The stage of the HTTP probe update allowing to modify the probe interval. */
interface WithIntervalInSeconds {
/**
* Specifies the interval between probes, in seconds.
*
* @param seconds number of seconds
* @return the next stage of the update
*/
Update withIntervalInSeconds(int seconds);
}
/**
* The stage of the HTTP probe update allowing to modify the number of unsuccessful probes before failure is
* determined.
*/
interface WithNumberOfProbes {
/**
* Specifies the number of unsuccessful probes before failure is determined.
*
* @param probes number of probes
* @return the next stage of the update
*/
Update withNumberOfProbes(int probes);
}
/** The stage of the HTTP probe update allowing to modify the HTTP request path for the probe to monitor. */
interface WithRequestPath {
/**
* Specifies the HTTP request path for the probe to monitor.
*
* @param requestPath a request path
* @return the next stage of the definition
*/
Update withRequestPath(String requestPath);
}
}
/** The entirety of a probe update as part of a load balancer update. */
interface Update
extends Settable,
UpdateStages.WithIntervalInSeconds,
UpdateStages.WithNumberOfProbes,
UpdateStages.WithPort,
UpdateStages.WithRequestPath {
}
/** Grouping of probe definition stages applicable as part of a load balancer update. */
interface UpdateDefinitionStages {
/**
* The first stage of the probe definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface Blank extends WithRequestPath {
}
/**
* The final stage of the probe definition.
*
* At this stage, any remaining optional settings can be specified, or the probe definition can be attached
* to the parent load balancer definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithAttach
extends Attachable.InUpdate,
WithPort,
WithIntervalInSeconds,
WithNumberOfProbes {
}
/**
* The stage of the probe definition allowing to specify the HTTP request path for the probe to monitor.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithRequestPath {
/**
* Specifies the HTTP request path for the probe to monitor.
*
* @param requestPath a request path
* @return the next stage of the definition
*/
WithAttach withRequestPath(String requestPath);
}
/**
* The stage of the HTTP probe definition allowing to specify the probe interval.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithIntervalInSeconds {
/**
* Specifies the interval between probes, in seconds.
*
* @param seconds number of seconds
* @return the next stage of the definition
*/
WithAttach withIntervalInSeconds(int seconds);
}
/**
* The stage of the probe definition allowing to specify the port to monitor.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithPort {
/**
* Specifies the port number to call for health monitoring.
*
* @param port a port number
* @return the next stage of the definition
*/
WithAttach withPort(int port);
}
/**
* The stage of the HTTP probe definition allowing to specify the number of unsuccessful probes before failure
* is determined.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithNumberOfProbes {
/**
* Specifies the number of unsuccessful probes before failure is determined.
*
* @param probes number of probes
* @return the next stage of the definition
*/
WithAttach withNumberOfProbes(int probes);
}
}
/**
* The entirety of a probe definition as part of a load balancer update.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface UpdateDefinition
extends UpdateDefinitionStages.Blank,
UpdateDefinitionStages.WithAttach,
UpdateDefinitionStages.WithRequestPath {
}
}