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

com.pulumi.azure.network.inputs.ApplicationGatewayRequestRoutingRuleArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.network.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ApplicationGatewayRequestRoutingRuleArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationGatewayRequestRoutingRuleArgs Empty = new ApplicationGatewayRequestRoutingRuleArgs();

    /**
     * The ID of the associated Backend Address Pool.
     * 
     */
    @Import(name="backendAddressPoolId")
    private @Nullable Output backendAddressPoolId;

    /**
     * @return The ID of the associated Backend Address Pool.
     * 
     */
    public Optional> backendAddressPoolId() {
        return Optional.ofNullable(this.backendAddressPoolId);
    }

    /**
     * The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
     * 
     */
    @Import(name="backendAddressPoolName")
    private @Nullable Output backendAddressPoolName;

    /**
     * @return The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
     * 
     */
    public Optional> backendAddressPoolName() {
        return Optional.ofNullable(this.backendAddressPoolName);
    }

    /**
     * The ID of the associated Backend HTTP Settings Configuration.
     * 
     */
    @Import(name="backendHttpSettingsId")
    private @Nullable Output backendHttpSettingsId;

    /**
     * @return The ID of the associated Backend HTTP Settings Configuration.
     * 
     */
    public Optional> backendHttpSettingsId() {
        return Optional.ofNullable(this.backendHttpSettingsId);
    }

    /**
     * The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
     * 
     */
    @Import(name="backendHttpSettingsName")
    private @Nullable Output backendHttpSettingsName;

    /**
     * @return The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
     * 
     */
    public Optional> backendHttpSettingsName() {
        return Optional.ofNullable(this.backendHttpSettingsName);
    }

    /**
     * The ID of the associated HTTP Listener.
     * 
     */
    @Import(name="httpListenerId")
    private @Nullable Output httpListenerId;

    /**
     * @return The ID of the associated HTTP Listener.
     * 
     */
    public Optional> httpListenerId() {
        return Optional.ofNullable(this.httpListenerId);
    }

    /**
     * The Name of the HTTP Listener which should be used for this Routing Rule.
     * 
     */
    @Import(name="httpListenerName", required=true)
    private Output httpListenerName;

    /**
     * @return The Name of the HTTP Listener which should be used for this Routing Rule.
     * 
     */
    public Output httpListenerName() {
        return this.httpListenerName;
    }

    /**
     * The ID of the Rewrite Rule Set
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return The ID of the Rewrite Rule Set
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * The Name of this Request Routing Rule.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return The Name of this Request Routing Rule.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.
     * 
     * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.
     * 
     * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * The ID of the associated Redirect Configuration.
     * 
     */
    @Import(name="redirectConfigurationId")
    private @Nullable Output redirectConfigurationId;

    /**
     * @return The ID of the associated Redirect Configuration.
     * 
     */
    public Optional> redirectConfigurationId() {
        return Optional.ofNullable(this.redirectConfigurationId);
    }

    /**
     * The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set.
     * 
     */
    @Import(name="redirectConfigurationName")
    private @Nullable Output redirectConfigurationName;

    /**
     * @return The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set.
     * 
     */
    public Optional> redirectConfigurationName() {
        return Optional.ofNullable(this.redirectConfigurationName);
    }

    /**
     * The ID of the associated Rewrite Rule Set.
     * 
     */
    @Import(name="rewriteRuleSetId")
    private @Nullable Output rewriteRuleSetId;

    /**
     * @return The ID of the associated Rewrite Rule Set.
     * 
     */
    public Optional> rewriteRuleSetId() {
        return Optional.ofNullable(this.rewriteRuleSetId);
    }

    /**
     * The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.
     * 
     * > **NOTE:** `backend_address_pool_name`, `backend_http_settings_name`, `redirect_configuration_name`, and `rewrite_rule_set_name` are applicable only when `rule_type` is `Basic`.
     * 
     */
    @Import(name="rewriteRuleSetName")
    private @Nullable Output rewriteRuleSetName;

    /**
     * @return The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.
     * 
     * > **NOTE:** `backend_address_pool_name`, `backend_http_settings_name`, `redirect_configuration_name`, and `rewrite_rule_set_name` are applicable only when `rule_type` is `Basic`.
     * 
     */
    public Optional> rewriteRuleSetName() {
        return Optional.ofNullable(this.rewriteRuleSetName);
    }

    /**
     * The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.
     * 
     */
    @Import(name="ruleType", required=true)
    private Output ruleType;

    /**
     * @return The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.
     * 
     */
    public Output ruleType() {
        return this.ruleType;
    }

    /**
     * The ID of the associated URL Path Map.
     * 
     */
    @Import(name="urlPathMapId")
    private @Nullable Output urlPathMapId;

    /**
     * @return The ID of the associated URL Path Map.
     * 
     */
    public Optional> urlPathMapId() {
        return Optional.ofNullable(this.urlPathMapId);
    }

    /**
     * The Name of the URL Path Map which should be associated with this Routing Rule.
     * 
     */
    @Import(name="urlPathMapName")
    private @Nullable Output urlPathMapName;

    /**
     * @return The Name of the URL Path Map which should be associated with this Routing Rule.
     * 
     */
    public Optional> urlPathMapName() {
        return Optional.ofNullable(this.urlPathMapName);
    }

    private ApplicationGatewayRequestRoutingRuleArgs() {}

    private ApplicationGatewayRequestRoutingRuleArgs(ApplicationGatewayRequestRoutingRuleArgs $) {
        this.backendAddressPoolId = $.backendAddressPoolId;
        this.backendAddressPoolName = $.backendAddressPoolName;
        this.backendHttpSettingsId = $.backendHttpSettingsId;
        this.backendHttpSettingsName = $.backendHttpSettingsName;
        this.httpListenerId = $.httpListenerId;
        this.httpListenerName = $.httpListenerName;
        this.id = $.id;
        this.name = $.name;
        this.priority = $.priority;
        this.redirectConfigurationId = $.redirectConfigurationId;
        this.redirectConfigurationName = $.redirectConfigurationName;
        this.rewriteRuleSetId = $.rewriteRuleSetId;
        this.rewriteRuleSetName = $.rewriteRuleSetName;
        this.ruleType = $.ruleType;
        this.urlPathMapId = $.urlPathMapId;
        this.urlPathMapName = $.urlPathMapName;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ApplicationGatewayRequestRoutingRuleArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ApplicationGatewayRequestRoutingRuleArgs $;

        public Builder() {
            $ = new ApplicationGatewayRequestRoutingRuleArgs();
        }

        public Builder(ApplicationGatewayRequestRoutingRuleArgs defaults) {
            $ = new ApplicationGatewayRequestRoutingRuleArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param backendAddressPoolId The ID of the associated Backend Address Pool.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolId(@Nullable Output backendAddressPoolId) {
            $.backendAddressPoolId = backendAddressPoolId;
            return this;
        }

        /**
         * @param backendAddressPoolId The ID of the associated Backend Address Pool.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolId(String backendAddressPoolId) {
            return backendAddressPoolId(Output.of(backendAddressPoolId));
        }

        /**
         * @param backendAddressPoolName The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolName(@Nullable Output backendAddressPoolName) {
            $.backendAddressPoolName = backendAddressPoolName;
            return this;
        }

        /**
         * @param backendAddressPoolName The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolName(String backendAddressPoolName) {
            return backendAddressPoolName(Output.of(backendAddressPoolName));
        }

        /**
         * @param backendHttpSettingsId The ID of the associated Backend HTTP Settings Configuration.
         * 
         * @return builder
         * 
         */
        public Builder backendHttpSettingsId(@Nullable Output backendHttpSettingsId) {
            $.backendHttpSettingsId = backendHttpSettingsId;
            return this;
        }

        /**
         * @param backendHttpSettingsId The ID of the associated Backend HTTP Settings Configuration.
         * 
         * @return builder
         * 
         */
        public Builder backendHttpSettingsId(String backendHttpSettingsId) {
            return backendHttpSettingsId(Output.of(backendHttpSettingsId));
        }

        /**
         * @param backendHttpSettingsName The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder backendHttpSettingsName(@Nullable Output backendHttpSettingsName) {
            $.backendHttpSettingsName = backendHttpSettingsName;
            return this;
        }

        /**
         * @param backendHttpSettingsName The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder backendHttpSettingsName(String backendHttpSettingsName) {
            return backendHttpSettingsName(Output.of(backendHttpSettingsName));
        }

        /**
         * @param httpListenerId The ID of the associated HTTP Listener.
         * 
         * @return builder
         * 
         */
        public Builder httpListenerId(@Nullable Output httpListenerId) {
            $.httpListenerId = httpListenerId;
            return this;
        }

        /**
         * @param httpListenerId The ID of the associated HTTP Listener.
         * 
         * @return builder
         * 
         */
        public Builder httpListenerId(String httpListenerId) {
            return httpListenerId(Output.of(httpListenerId));
        }

        /**
         * @param httpListenerName The Name of the HTTP Listener which should be used for this Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder httpListenerName(Output httpListenerName) {
            $.httpListenerName = httpListenerName;
            return this;
        }

        /**
         * @param httpListenerName The Name of the HTTP Listener which should be used for this Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder httpListenerName(String httpListenerName) {
            return httpListenerName(Output.of(httpListenerName));
        }

        /**
         * @param id The ID of the Rewrite Rule Set
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id The ID of the Rewrite Rule Set
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param name The Name of this Request Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The Name of this Request Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param priority Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.
         * 
         * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.
         * 
         * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param redirectConfigurationId The ID of the associated Redirect Configuration.
         * 
         * @return builder
         * 
         */
        public Builder redirectConfigurationId(@Nullable Output redirectConfigurationId) {
            $.redirectConfigurationId = redirectConfigurationId;
            return this;
        }

        /**
         * @param redirectConfigurationId The ID of the associated Redirect Configuration.
         * 
         * @return builder
         * 
         */
        public Builder redirectConfigurationId(String redirectConfigurationId) {
            return redirectConfigurationId(Output.of(redirectConfigurationId));
        }

        /**
         * @param redirectConfigurationName The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder redirectConfigurationName(@Nullable Output redirectConfigurationName) {
            $.redirectConfigurationName = redirectConfigurationName;
            return this;
        }

        /**
         * @param redirectConfigurationName The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder redirectConfigurationName(String redirectConfigurationName) {
            return redirectConfigurationName(Output.of(redirectConfigurationName));
        }

        /**
         * @param rewriteRuleSetId The ID of the associated Rewrite Rule Set.
         * 
         * @return builder
         * 
         */
        public Builder rewriteRuleSetId(@Nullable Output rewriteRuleSetId) {
            $.rewriteRuleSetId = rewriteRuleSetId;
            return this;
        }

        /**
         * @param rewriteRuleSetId The ID of the associated Rewrite Rule Set.
         * 
         * @return builder
         * 
         */
        public Builder rewriteRuleSetId(String rewriteRuleSetId) {
            return rewriteRuleSetId(Output.of(rewriteRuleSetId));
        }

        /**
         * @param rewriteRuleSetName The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.
         * 
         * > **NOTE:** `backend_address_pool_name`, `backend_http_settings_name`, `redirect_configuration_name`, and `rewrite_rule_set_name` are applicable only when `rule_type` is `Basic`.
         * 
         * @return builder
         * 
         */
        public Builder rewriteRuleSetName(@Nullable Output rewriteRuleSetName) {
            $.rewriteRuleSetName = rewriteRuleSetName;
            return this;
        }

        /**
         * @param rewriteRuleSetName The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.
         * 
         * > **NOTE:** `backend_address_pool_name`, `backend_http_settings_name`, `redirect_configuration_name`, and `rewrite_rule_set_name` are applicable only when `rule_type` is `Basic`.
         * 
         * @return builder
         * 
         */
        public Builder rewriteRuleSetName(String rewriteRuleSetName) {
            return rewriteRuleSetName(Output.of(rewriteRuleSetName));
        }

        /**
         * @param ruleType The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.
         * 
         * @return builder
         * 
         */
        public Builder ruleType(Output ruleType) {
            $.ruleType = ruleType;
            return this;
        }

        /**
         * @param ruleType The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.
         * 
         * @return builder
         * 
         */
        public Builder ruleType(String ruleType) {
            return ruleType(Output.of(ruleType));
        }

        /**
         * @param urlPathMapId The ID of the associated URL Path Map.
         * 
         * @return builder
         * 
         */
        public Builder urlPathMapId(@Nullable Output urlPathMapId) {
            $.urlPathMapId = urlPathMapId;
            return this;
        }

        /**
         * @param urlPathMapId The ID of the associated URL Path Map.
         * 
         * @return builder
         * 
         */
        public Builder urlPathMapId(String urlPathMapId) {
            return urlPathMapId(Output.of(urlPathMapId));
        }

        /**
         * @param urlPathMapName The Name of the URL Path Map which should be associated with this Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder urlPathMapName(@Nullable Output urlPathMapName) {
            $.urlPathMapName = urlPathMapName;
            return this;
        }

        /**
         * @param urlPathMapName The Name of the URL Path Map which should be associated with this Routing Rule.
         * 
         * @return builder
         * 
         */
        public Builder urlPathMapName(String urlPathMapName) {
            return urlPathMapName(Output.of(urlPathMapName));
        }

        public ApplicationGatewayRequestRoutingRuleArgs build() {
            if ($.httpListenerName == null) {
                throw new MissingRequiredPropertyException("ApplicationGatewayRequestRoutingRuleArgs", "httpListenerName");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("ApplicationGatewayRequestRoutingRuleArgs", "name");
            }
            if ($.ruleType == null) {
                throw new MissingRequiredPropertyException("ApplicationGatewayRequestRoutingRuleArgs", "ruleType");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy