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

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

// 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.network.fluent.models.ApplicationGatewayRequestRoutingRuleInner;
import com.azure.resourcemanager.resources.fluentcore.arm.models.ChildResource;
import com.azure.resourcemanager.resources.fluentcore.model.Attachable;
import com.azure.resourcemanager.resources.fluentcore.model.HasInnerModel;
import com.azure.resourcemanager.resources.fluentcore.model.Settable;

import java.util.Collection;

/** A client-side representation of an application gateway request routing rule. */
@Fluent()
public interface ApplicationGatewayRequestRoutingRule
    extends HasInnerModel,
        ChildResource,
        HasPublicIpAddress,
        HasSslCertificate,
        HasFrontendPort,
        HasBackendPort,
        HasHostname,
        HasCookieBasedAffinity,
        HasServerNameIndication {

    /** @return the redirect configuration associated with this request routing rule, if any */
    ApplicationGatewayRedirectConfiguration redirectConfiguration();

    /** @return the frontend protocol */
    ApplicationGatewayProtocol frontendProtocol();

    /** @return rule type */
    ApplicationGatewayRequestRoutingRuleType ruleType();

    /** @return the associated backend address pool */
    ApplicationGatewayBackend backend();

    /** @return the associated backend HTTP settings configuration */
    ApplicationGatewayBackendHttpConfiguration backendHttpConfiguration();

    /** @return the associated frontend HTTP listener */
    ApplicationGatewayListener listener();

    /** @return the addresses assigned to the associated backend */
    Collection backendAddresses();

    /** @return the associated URL path map */
    ApplicationGatewayUrlPathMap urlPathMap();

    /** @return the priority of the rule
                only available for {@link ApplicationGatewaySkuName#STANDARD_V2} and {@link ApplicationGatewaySkuName#WAF_V2} */
    Integer priority();

    /** Grouping of application gateway request routing rule definition stages. */
    interface DefinitionStages {
        /**
         * The first stage of an application gateway request routing rule definition.
         *
         * @param  the stage of the application gateway definition to return to after attaching this definition
         */
        interface Blank extends WithListenerOrFrontend {
        }

        /**
         * The final stage of an application gateway request routing rule definition.
         *
         * 

At this stage, any remaining optional settings can be specified, or the definition can be attached to the * parent application gateway definition. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithAttach extends Attachable.InDefinition, WithHostname, WithCookieBasedAffinity, WithUrlPathMap, WithPriority { } /** * The stage of an application gateway request routing rule definition allowing to specify an existing listener * to associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithListener { /** * Associates the request routing rule with a frontend listener. * *

If the listener with the specified name does not yet exist, it must be defined separately in the * optional stages of the application gateway definition. This only adds a reference to the listener by its * name. * *

Also, note that a given listener can be used by no more than one request routing rule at a time. * * @param name the name of a listener to reference * @return the next stage of the definition */ WithBackendHttpConfigOrRedirect fromListener(String name); } /** * The stage of an application gateway request routing rule definition allowing to associate an existing * listener with the rule, or create a new one implicitly by specifying the frontend to listen to. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithListenerOrFrontend extends WithListener, WithFrontend { } /** * The stage of an application gateway request routing rule definition allowing to specify the frontend for the * rule to apply to. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithFrontend { /** * Enables the rule to apply to the application gateway's public (Internet-facing) frontend. * *

If the public frontend IP configuration does not yet exist, it will be created under an auto-generated * name. * *

If the application gateway does not have a public IP address specified for its public frontend, one * will be created automatically, unless a specific public IP address is specified in the application * gateway definition's optional settings. * * @return the next stage of the definition */ WithFrontendPort fromPublicFrontend(); /** * Enables the rule to apply to the application gateway's private (internal) frontend. * *

If the private frontend IP configuration does not yet exist, it will be created under an * auto-generated name. * *

If the application gateway does not have a subnet specified for its private frontend, one will be * created automatically, unless a specific subnet is specified in the application gateway definition's * optional settings. * * @return the next stage of the definition */ WithFrontendPort fromPrivateFrontend(); } /** * The stage of an application gateway request routing rule definition allowing to create an associate listener * and frontend for a specific port number and protocol. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithFrontendPort { /** * Associates a new listener for the specified port number and the HTTP protocol with this rule. * * @param portNumber the port number to listen to * @return the next stage of the definition, or null if the specified port number is already used for a * different protocol */ WithBackendHttpConfigOrRedirect fromFrontendHttpPort(int portNumber); /** * Associates a new listener for the specified port number and the HTTPS protocol with this rule. * * @param portNumber the port number to listen to * @return the next stage of the definition, or null if the specified port number is already used for a * different protocol */ WithSslCertificate fromFrontendHttpsPort(int portNumber); } /** * The stage of an application gateway request routing rule allowing to specify an SSL certificate. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithSslCertificate extends HasSslCertificate.DefinitionStages.WithSslCertificate< WithBackendHttpConfigOrSniOrRedirect> { } /** * The stage of an application gateway request routing rule allowing to specify backend HTTP settings, or SNI, * or a redirect configuration. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfigOrSniOrRedirect extends WithBackendHttpConfigurationOrSni, WithRedirectConfig { } /** * The stage of an application gateway request routing rule allowing to specify an SSL certificate. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithSslPassword extends HasSslCertificate.DefinitionStages.WithSslPassword { } /** * The stage of an application gateway request routing rule allowing to enable cookie based affinity. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithCookieBasedAffinity extends HasCookieBasedAffinity.DefinitionStages.WithCookieBasedAffinity> { } /** * The stage of an application gateway request routing rule definition allowing to specify the backend to * associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackend { /** * Associates the request routing rule with a backend on this application gateway. * *

If the backend does not yet exist, it will be automatically created. * * @param name the name of an existing backend * @return the next stage of the definition */ WithAttach toBackend(String name); } /** * The stage of an application gateway request routing rule definition allowing to add an address to the backend * used by this request routing rule. * *

A new backend will be created if none is associated with this rule yet. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendAddress { /** * Adds an IP address to the backend associated with this rule. * *

If no backend has been associated with this rule yet, a new one will be created with an auto-generated * name. * *

This call can be used in a sequence to add multiple IP addresses. * * @param ipAddress an IP address * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendIPAddress(String ipAddress); /** * Adds the specified IP addresses to the backend associated with this rule. * * @param ipAddresses IP addresses to add * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendIPAddresses(String... ipAddresses); /** * Adds an FQDN (fully qualified domain name) to the backend associated with this rule. * *

If no backend has been associated with this rule yet, a new one will be created with an auto-generated * name. * *

This call can be used in a sequence to add multiple FQDNs. * * @param fqdn a fully qualified domain name * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendFqdn(String fqdn); } /** * The stage of an application gateway request routing rule definition allowing to add more backend addresses, * start specifying optional settings, or finish the definition by attaching it to the parent application * gateway. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendAddressOrAttach extends WithBackendAddress, WithAttach { } /** * The stage of an application gateway request routing rule definition allowing to add an address to specify an * existing backend to associate with this request routing rule or create a new backend with an auto-generated * name and addresses to it. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendOrAddress extends WithBackend, WithBackendAddress { } /** * The stage of an application gateway request routing rule definition allowing to require server name * indication if the application gateway is serving multiple websites in its backends and SSL is required. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfigurationOrSni extends WithBackendHttpConfiguration, HasServerNameIndication.DefinitionStages.WithServerNameIndication< WithBackendHttpConfiguration> { } /** * The stage of an application gateway request routing rule definition allowing to specify the backend HTTP * settings configuration to associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfiguration { /** * Associates the specified backend HTTP settings configuration with this request routing rule. * *

If the backend configuration does not exist yet, it must be defined in the optional part of the * application gateway definition. The request routing rule references it only by name. * * @param name the name of a backend HTTP settings configuration * @return the next stage of the definition */ WithBackendOrAddress toBackendHttpConfiguration(String name); /** * Creates a backend HTTP settings configuration for the specified backend port and the HTTP protocol, and * associates it with this request routing rule. * *

An auto-generated name will be used for this newly created configuration. * * @param portNumber the port number for a new backend HTTP settings configuration * @return the next stage of the definition */ WithBackendOrAddress toBackendHttpPort(int portNumber); // TODO: toBackendHttpsPort(int portNumber) ? } /** * The stage of an application gateway request routing rule definition allowing to select either a backend or a * redirect configuration. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfigOrRedirect extends WithBackendHttpConfiguration, WithRedirectConfig { } /** * The stage of an application gateway request routing rule definition allowing to specify the host name of a * backend website for the listener to receive traffic for. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithHostname extends HasHostname.DefinitionStages.WithHostname> { } /** * The stage of an application gateway request routing rule definition allowing to require server name * indication. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithServerNameIndication extends HasServerNameIndication.DefinitionStages.WithServerNameIndication> { } /** * The stage of an application gateway request routing rule definition allowing to associate the rule with a * redirect configuration. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithRedirectConfig { /** * Associates the specified redirect configuration with this request routing rule. * * @param name the name of a redirect configuration on this application gateway * @return the next stage of the definition */ WithAttach withRedirectConfiguration(String name); } /** * The stage of an application gateway request routing rule definition allowing to associate the rule with a * URL path map. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithUrlPathMap { /** * Associates the specified URL path map with this request routing rule. * * @param urlPathMapName the name of a URL path map on this application gateway * @return the next stage of the definition */ WithAttach withUrlPathMap(String urlPathMapName); } /** * The stage of an application gateway request routing rule definition allowing to associate the rule with a * priority. * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithPriority { /** * Specifies a unique priority value for the request routing rule. It is required and only available for * {@link ApplicationGatewaySkuName#STANDARD_V2} and {@link ApplicationGatewaySkuName#WAF_V2}。 *

You should always specify the priority, if applicable. *

If you don't specify, SDK will automatically assign a unique value for you (ranging from 10010 to 20000) * in the ordering of definition. Those which defined later will have larger priority values (lower priority) * over those which defined earlier. This auto-assignment feature is meant for working with your existing * code only. You should avoid relying on it and always specify priorities for all rules whenever possible.

* @param priority unique priority value of the request routing rule ranging from 1(highest) to 20000(lowest) * @return the next stage of the definition */ WithAttach withPriority(int priority); } } /** * The entirety of an application gateway request routing rule definition. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithAttach, DefinitionStages.WithFrontend, DefinitionStages.WithListener, DefinitionStages.WithFrontendPort, DefinitionStages.WithListenerOrFrontend, DefinitionStages.WithBackend, DefinitionStages.WithBackendAddress, DefinitionStages.WithBackendOrAddress, DefinitionStages.WithBackendAddressOrAttach, DefinitionStages.WithBackendHttpConfigOrRedirect, DefinitionStages.WithBackendHttpConfiguration, DefinitionStages.WithBackendHttpConfigurationOrSni, DefinitionStages.WithSslCertificate, DefinitionStages.WithBackendHttpConfigOrSniOrRedirect, DefinitionStages.WithSslPassword>, DefinitionStages.WithUrlPathMap { } /** Grouping of application gateway request routing rule update stages. */ interface UpdateStages { /** * The stage of an application gateway request routing rule update allowing to associate the rule with a * redirect configuration. */ interface WithRedirectConfig { /** * Associates the specified redirect configuration with this request routing rule. * *

Note that no backend can be associated with this request routing rule if it has a redirect * configuration assigned to it, so this will also remove any backend and backend HTTP settings * configuration. * * @param name the name of a redirect configuration on this application gateway * @return the next stage of the update */ Update withRedirectConfiguration(String name); /** * Removes the association with a redirect configuration, if any. * * @return the next stage of the update */ Update withoutRedirectConfiguration(); } /** * The stage of an application gateway request routing rule update allowing to specify an existing listener to * associate the routing rule with. */ interface WithListener { /** * Associates the request routing rule with an existing frontend listener. * *

Also, note that a given listener can be used by no more than one request routing rule at a time. * * @param name the name of a listener to reference * @return the next stage of the update */ Update fromListener(String name); } /** * The stage of an application gateway request routing rule update allowing to specify the backend to associate * the routing rule with. */ interface WithBackend { /** * Associates the request routing rule with a backend on this application gateway. * *

If the specified backend does not yet exist, it will be automatically created. * * @param name the name of a backend * @return the next stage of the update */ Update toBackend(String name); } /** * The stage of an application gateway request routing rule update allowing to specify the backend HTTP settings * configuration to associate the routing rule with. */ interface WithBackendHttpConfiguration { /** * Associates the specified backend HTTP settings configuration with this request routing rule. * * @param name the name of a backend HTTP settings configuration * @return the next stage of the update */ Update toBackendHttpConfiguration(String name); } /** The stage of an application gateway request routing rule allowing to specify an SSL certificate. */ interface WithSslCertificate extends HasSslCertificate.UpdateStages.WithSslCertificate { } /** * The stage of an application gateway request routing rule allowing to specify password of the SSL certificate * pfx file. */ interface WithSslPassword extends HasSslCertificate.UpdateStages.WithSslPassword { } /** * The stage of an application gateway request routing rule allowing to associate the rule with a priority. */ interface WithPriority { /** * Updates with a unique priority value for the request routing rule. It is required and only available for * {@link ApplicationGatewaySkuName#STANDARD_V2} and {@link ApplicationGatewaySkuName#WAF_V2}。 *

Rules with no priorities before will be auto-assigned with values ranging from 10010 to 20000.

*

For updating rules with auto-assigned priorities, consider updating all existing ones for that Gateway. * Otherwise, it would lead to unexpected ordering.

* @param priority unique priority value of the request routing rule ranging from 1(highest) to 20000(lowest) * @return the next stage of the update */ Update withPriority(int priority); } } /** The entirety of an application gateway request routing rule update as part of an application gateway update. */ interface Update extends Settable, UpdateStages.WithListener, UpdateStages.WithBackend, UpdateStages.WithBackendHttpConfiguration, UpdateStages.WithSslCertificate, UpdateStages.WithSslPassword, UpdateStages.WithRedirectConfig, UpdateStages.WithPriority { } /** * Grouping of application gateway request routing rule definition stages applicable as part of an application * gateway update. */ interface UpdateDefinitionStages { /** * The first stage of an application gateway request routing rule definition. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface Blank extends WithListenerOrFrontend { } /** * The final stage of an application gateway request routing rule definition. * *

At this stage, any remaining optional settings can be specified, or the definition can be attached to the * parent application gateway definition. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithAttach extends Attachable.InUpdate, WithHostname, WithCookieBasedAffinity, WithRedirectConfig, WithPriority { } /** * The stage of an application gateway request routing rule definition allowing to select either a backend or a * redirect configuration. * * @param the stage of the application gateway update to return to after attaching this definition */ interface WithBackendHttpConfigOrRedirect extends WithBackendHttpConfiguration, WithRedirectConfig { } /** * The stage of an application gateway request routing rule definition allowing to associate the rule with a * redirect configuration. * * @param the stage of the application gateway update to return to after attaching this definition */ interface WithRedirectConfig { /** * Associates the specified redirect configuration with this request routing rule. * * @param name the name of a redirect configuration on this application gateway * @return the next stage of the definition */ WithAttach withRedirectConfiguration(String name); } /** * The stage of an application gateway request routing rule definition allowing to associate the rule with a * priority. * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithPriority { /** * Specifies a unique priority value for the request routing rule. It is required and only available for * {@link ApplicationGatewaySkuName#STANDARD_V2} and {@link ApplicationGatewaySkuName#WAF_V2}。 *

You should always specify the priority, if applicable. *

If you don't specify, SDK will automatically assign a unique value for you (ranging from 10010 to 20000) * in the ordering of definition. Those which defined later will have larger priority values (lower priority) * over those which defined earlier. This auto-assignment feature is meant for working with your existing * code only. You should avoid relying on it and always specify priorities for all rules whenever possible.

* @param priority unique priority value of the request routing rule ranging from 1(highest) to 20000(lowest) * @return the next stage of the definition */ WithAttach withPriority(int priority); } /** * The stage of an application gateway request routing rule definition allowing to specify an existing listener * to associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithListener { /** * Associates the request routing rule with a frontend listener. * *

If the listener with the specified name does not yet exist, it must be defined separately in the * optional part of the application gateway definition. This only adds a reference to the listener by its * name. * *

Also, note that a given listener can be used by no more than one request routing rule at a time. * * @param name the name of a listener to reference * @return the next stage of the definition */ WithBackendHttpConfigOrRedirect fromListener(String name); } /** * The stage of an application gateway request routing rule definition allowing to associate an existing * listener with the rule, or create a new one implicitly by specifying the frontend to listen to. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithListenerOrFrontend extends WithListener, WithFrontend { } /** * The stage of an application gateway request routing rule definition allowing to specify the frontend for the * rule to apply to. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithFrontend { /** * Enables the rule to apply to the application gateway's public (Internet-facing) frontend. * *

If the public frontend IP configuration does not yet exist, it will be created under an auto-generated * name. * *

If the application gateway does not have a public IP address specified for its public frontend, one * will be created automatically, unless a specific public IP address is specified in the application * gateway definition's optional settings. * * @return the next stage of the definition */ WithFrontendPort fromPublicFrontend(); /** * Enables the rule to apply to the application gateway's private (internal) frontend. * *

If the private frontend IP configuration does not yet exist, it will be created under an * auto-generated name. * *

If the application gateway does not have a subnet specified for its private frontend, one will be * created automatically, unless a specific subnet is specified in the application gateway definition's * optional settings. * * @return the next stage of the definition */ WithFrontendPort fromPrivateFrontend(); } /** * The stage of an application gateway request routing rule definition allowing to create an associate listener * and frontend for a specific port number and protocol. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithFrontendPort { /** * Associates a new listener for the specified port number and the HTTP protocol with this rule. * * @param portNumber the port number to listen to * @return the next stage of the definition, or null if the specified port number is already used for a * different protocol */ WithBackendHttpConfigOrRedirect fromFrontendHttpPort(int portNumber); /** * Associates a new listener for the specified port number and the HTTPS protocol with this rule. * * @param portNumber the port number to listen to * @return the next stage of the definition, or null if the specified port number is already used for a * different protocol */ WithSslCertificate fromFrontendHttpsPort(int portNumber); } /** * The stage of an application gateway request routing rule allowing to specify an SSL certificate. * * @param the next stage of the definition */ interface WithSslCertificate extends HasSslCertificate.UpdateDefinitionStages.WithSslCertificate< WithBackendHttpConfigOrSniOrRedirect> { } /** * The stage of an application gateway request routing rule allowing to specify an SSL certificate. * * @param the next stage of the definition */ interface WithSslPassword extends HasSslCertificate.UpdateDefinitionStages.WithSslPassword { } /** * The stage of an application gateway request routing rule allowing to enable cookie based affinity. * * @param the next stage of the definition */ interface WithCookieBasedAffinity extends HasCookieBasedAffinity.UpdateDefinitionStages.WithCookieBasedAffinity> { } /** * The stage of an application gateway request routing rule definition allowing to specify the backend to * associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackend { /** * Associates the request routing rule with a backend on this application gateway. * *

If the backend does not yet exist, it will be automatically created. * * @param name the name of an existing backend * @return the next stage of the definition */ WithAttach toBackend(String name); } /** * The stage of an application gateway request routing rule definition allowing to add an address to the backend * used by this request routing rule. * *

A new backend will be created if none is associated with this rule yet. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendAddress { /** * Adds an IP address to the backend associated with this rule. * *

If no backend has been associated with this rule yet, a new one will be created with an auto-generated * name. * *

This call can be used in a sequence to add multiple IP addresses. * * @param ipAddress an IP address * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendIPAddress(String ipAddress); /** * Adds the specified IP addresses to the backend associated with this rule. * * @param ipAddresses IP addresses to add * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendIPAddresses(String... ipAddresses); /** * Adds an FQDN (fully qualified domain name) to the backend associated with this rule. * *

If no backend has been associated with this rule yet, a new one will be created with an auto-generated * name. * *

This call can be used in a sequence to add multiple FQDNs. * * @param fqdn a fully qualified domain name * @return the next stage of the definition */ WithBackendAddressOrAttach toBackendFqdn(String fqdn); } /** * The stage of an application gateway request routing rule definition allowing to add more backend addresses, * start specifying optional settings, or finish the definition by attaching it to the parent application * gateway. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendAddressOrAttach extends WithBackendAddress, WithAttach { } /** * The stage of an application gateway request routing rule definition allowing to add an address to specify an * existing backend to associate with this request routing rule or create a new backend with an auto-generated * name and addresses to it. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendOrAddress extends WithBackend, WithBackendAddress { } /** * The stage of an application gateway request routing rule definition allowing to require server name * indication if the application gateway is serving multiple websites in its backends and SSL is required. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfigurationOrSni extends WithBackendHttpConfiguration, HasServerNameIndication.UpdateDefinitionStages.WithServerNameIndication< WithBackendHttpConfiguration> { } /** * The stage of an application gateway request routing rule allowing to specify backend HTTP settings, or SNI, * or a redirect configuration. * * @param the stage of the application gateway update to return to after attaching this definition */ interface WithBackendHttpConfigOrSniOrRedirect extends WithBackendHttpConfigurationOrSni, WithRedirectConfig { } /** * The stage of an application gateway request routing rule definition allowing to specify the backend HTTP * settings configuration to associate the routing rule with. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithBackendHttpConfiguration { /** * Associates the specified backend HTTP settings configuration with this request routing rule. * *

If the backend configuration does not exist yet, it must be defined in the optional part of the * application gateway definition. The request routing rule references it only by name. * * @param name the name of a backend HTTP settings configuration * @return the next stage of the definition */ WithBackendOrAddress toBackendHttpConfiguration(String name); /** * Creates a backend HTTP settings configuration for the specified backend port and the HTTP protocol, and * associates it with this request routing rule. * *

An auto-generated name will be used for this newly created configuration. * * @param portNumber the port number for a new backend HTTP settings configuration * @return the next stage of the definition */ WithBackendOrAddress toBackendHttpPort(int portNumber); // TODO: toBackendHttpsPort(int portNumber) ? } /** * The stage of an application gateway request routing rule definition allowing to specify the host name of a * backend website for the listener to receive traffic for. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithHostname extends HasHostname.UpdateDefinitionStages.WithHostname> { } /** * The stage of an application gateway request routing rule definition allowing to require server name * indication. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface WithServerNameIndication extends HasServerNameIndication.UpdateDefinitionStages.WithServerNameIndication> { } } /** * The entirety of an application gateway request routing rule definition as part of an application gateway update. * * @param the stage of the application gateway definition to return to after attaching this definition */ interface UpdateDefinition extends UpdateDefinitionStages.Blank, UpdateDefinitionStages.WithAttach, UpdateDefinitionStages.WithFrontend, UpdateDefinitionStages.WithListener, UpdateDefinitionStages.WithFrontendPort, UpdateDefinitionStages.WithListenerOrFrontend, UpdateDefinitionStages.WithBackend, UpdateDefinitionStages.WithBackendAddress, UpdateDefinitionStages.WithBackendOrAddress, UpdateDefinitionStages.WithBackendAddressOrAttach, UpdateDefinitionStages.WithBackendHttpConfiguration, UpdateDefinitionStages.WithBackendHttpConfigOrRedirect, UpdateDefinitionStages.WithBackendHttpConfigurationOrSni, UpdateDefinitionStages.WithBackendHttpConfigOrSniOrRedirect, UpdateDefinitionStages.WithSslCertificate, UpdateDefinitionStages.WithSslPassword< UpdateDefinitionStages.WithBackendHttpConfigOrSniOrRedirect> { } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy