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

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

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





© 2015 - 2024 Weber Informatics LLC | Privacy Policy