
com.microsoft.azure.management.network.LoadBalancerHttpProbe Maven / Gradle / Ivy
Show all versions of azure-mgmt-network Show documentation
/**
* 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.resources.fluentcore.model.Attachable;
import com.microsoft.azure.management.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 {
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 {
}
}