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

com.azure.resourcemanager.network.models.HasFrontend 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.Creatable;

/** An interface representing a model's ability to references a frontend. */
@Fluent
public interface HasFrontend {
    /** @return the associated frontend */
    LoadBalancerFrontend frontend();

    /** Grouping of definition stages involving specifying the frontend. */
    interface DefinitionStages {
        /**
         * The stage of a definition allowing to specify a load balancer frontend.
         *
         * @param  the next stage of the definition
         */
        interface WithFrontend {
            /**
             * Specifies the frontend to receive network traffic from.
             *
             * @param frontendName an existing frontend name on this load balancer
             * @return the next stage of the definition
             */
            ReturnT fromFrontend(String frontendName);

            /**
             * Specifies that network traffic should be received on a new public IP address that is to be created along
             * with the load balancer in the same region and resource group but under the provided leaf DNS label,
             * assuming it is available.
             *
             * 

A new automatically-named public frontend will be implicitly created on this load balancer for each * such new public IP address, so make sure to use a unique DNS label. * * @param leafDnsLabel a unique leaf DNS label to create the public IP address under * @return the next stage of the definition */ ReturnT fromNewPublicIPAddress(String leafDnsLabel); /** * Specifies that network traffic should be received on a new public IP address that is to be created along * with the load balancer based on the provided definition. * *

A new automatically-named public frontend will be implicitly created on this load balancer for each * such new public IP address. * * @param pipDefinition a definition for the new public IP * @return the next stage of the definition */ ReturnT fromNewPublicIPAddress(Creatable pipDefinition); /** * Specifies that network traffic should be received on a new public IP address that is to be automatically * created woth default settings along with the load balancer. * *

A new automatically-named public frontend will be implicitly created on this load balancer for each * such new public IP address. * * @return the next stage of the definition */ ReturnT fromNewPublicIPAddress(); /** * Specifies an existing public IP address to receive network traffic from. * *

If this load balancer already has a frontend referencing this public IP address, that is the frontend * that will be used. Else, an automatically named new public frontend will be created implicitly on the * load balancer. * * @param publicIPAddress an existing public IP address * @return the next stage of the definition */ ReturnT fromExistingPublicIPAddress(PublicIpAddress publicIPAddress); /** * Specifies an existing public IP address to receive network traffic from. * *

If this load balancer already has a frontend referencing this public IP address, that is the frontend * that will be used. Else, an automatically named new public frontend will be created implicitly on the * load balancer. * * @param resourceId the resource ID of an existing public IP address * @return the next stage of the definition */ ReturnT fromExistingPublicIPAddress(String resourceId); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param network an existing network * @param subnetName the name of an existing subnet within the specified network * @return the next stage of the definition */ ReturnT fromExistingSubnet(Network network, String subnetName); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param networkResourceId the resource ID of an existing network * @param subnetName the name of an existing subnet within the specified network * @return the next stage of the definition */ ReturnT fromExistingSubnet(String networkResourceId, String subnetName); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param subnet an existing subnet * @return the next stage of the definition */ ReturnT fromExistingSubnet(Subnet subnet); } } /** Grouping of update stages involving specifying the frontend. */ interface UpdateStages { /** * The stage of an update allowing to specify a frontend. * * @param the next stage of the update */ interface WithFrontend { /** * Specifies the frontend. * * @param frontendName an existing frontend name from this load balancer * @return the next stage of the update */ ReturnT fromFrontend(String frontendName); } } /** Grouping of definition stages applicable as part of a resource update involving modifying the frontend. */ interface UpdateDefinitionStages { /** * The stage of a definition allowing to specify a frontend from to associate. * * @param the next stage of the definition */ interface WithFrontend { /** * Specifies the frontend to associate. * * @param frontendName an existing frontend name * @return the next stage of the definition */ ReturnT fromFrontend(String frontendName); /** * Specifies an existing public IP address to receive network traffic from. * *

If this load balancer already has a frontend referencing this public IP address, that is the frontend * that will be used. Else, an automatically named new public frontend will be created implicitly on the * load balancer. * * @param publicIPAddress an existing public IP address * @return the next stage of the definition */ ReturnT fromExistingPublicIPAddress(PublicIpAddress publicIPAddress); /** * Specifies an existing public IP address to receive network traffic from. * *

If this load balancer already has a frontend referencing this public IP address, that is the frontend * that will be used. Else, an automatically named new public frontend will be created implicitly on the * load balancer. * * @param resourceId the resource ID of an existing public IP address * @return the next stage of the definition */ ReturnT fromExistingPublicIPAddress(String resourceId); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param network an existing network * @param subnetName the name of an existing subnet within the specified network * @return the next stage of the definition */ ReturnT fromExistingSubnet(Network network, String subnetName); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param networkResourceId the resource ID of an existing network * @param subnetName the name of an existing subnet within the specified network * @return the next stage of the definition */ ReturnT fromExistingSubnet(String networkResourceId, String subnetName); /** * Specifies an existing private subnet to receive network traffic from. * *

If this load balancer already has a frontend referencing this subnet, that is the frontend that will * be used. Else, an automatically named new private frontend will be created implicitly on the load * balancer. * * @param subnet an existing subnet * @return the next stage of the definition */ ReturnT fromExistingSubnet(Subnet subnet); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy