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

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

Go to download

This package contains Microsoft Azure Network Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt

There is a newer version: 2.44.0
Show newest version
// 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 { } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy