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

com.azure.resourcemanager.network.models.LoadBalancerTcpProbe 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 a TCP load balancing probe. */
@Fluent()
public interface LoadBalancerTcpProbe extends LoadBalancerProbe {

    /** 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 WithPort {
        }

        /**
         * The stage of the TCP probe definition allowing to specify the port number 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 TCP 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 TCP 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 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, WithIntervalInSeconds, WithNumberOfProbes { } } /** * 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.WithPort { } /** Grouping of probe update stages. */ interface UpdateStages { /** The stage of the TCP 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 TCP 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 TCP 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 entirety of a probe update as part of a load balancer update. */ interface Update extends Settable, UpdateStages.WithPort, UpdateStages.WithIntervalInSeconds, UpdateStages.WithNumberOfProbes { } /** 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 WithPort { } /** * The stage of the TCP probe definition allowing to specify the port number to monitor. * * @param the parent resource type */ 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 TCP probe definition allowing to specify the probe interval. * * @param the parent resource type */ 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 TCP probe definition allowing to specify the number of unsuccessful probes before failure is * determined. * * @param the parent resource type */ 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 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, WithNumberOfProbes, WithIntervalInSeconds { } } /** * 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.WithPort { } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy