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

com.pulumi.azure.network.inputs.ApplicationGatewayUrlPathMapPathRuleArgs 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.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ApplicationGatewayUrlPathMapPathRuleArgs Empty = new ApplicationGatewayUrlPathMapPathRuleArgs();

    /**
     * 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 to use for this Path 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 to use for this Path 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 to use for this Path 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 to use for this Path Rule. Cannot be set if `redirect_configuration_name` is set.
     * 
     */
    public Optional> backendHttpSettingsName() {
        return Optional.ofNullable(this.backendHttpSettingsName);
    }

    /**
     * The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
     * 
     */
    @Import(name="firewallPolicyId")
    private @Nullable Output firewallPolicyId;

    /**
     * @return The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
     * 
     */
    public Optional> firewallPolicyId() {
        return Optional.ofNullable(this.firewallPolicyId);
    }

    /**
     * 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 the Path Rule.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

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

    /**
     * A list of Paths used in this Path Rule.
     * 
     */
    @Import(name="paths", required=true)
    private Output> paths;

    /**
     * @return A list of Paths used in this Path Rule.
     * 
     */
    public Output> paths() {
        return this.paths;
    }

    /**
     * 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 a Redirect Configuration to use for this Path Rule. Cannot be set if `backend_address_pool_name` or `backend_http_settings_name` is set.
     * 
     */
    @Import(name="redirectConfigurationName")
    private @Nullable Output redirectConfigurationName;

    /**
     * @return The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if `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 URL Path Map. Only valid for v2 SKUs.
     * 
     */
    @Import(name="rewriteRuleSetName")
    private @Nullable Output rewriteRuleSetName;

    /**
     * @return The Name of the Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
     * 
     */
    public Optional> rewriteRuleSetName() {
        return Optional.ofNullable(this.rewriteRuleSetName);
    }

    private ApplicationGatewayUrlPathMapPathRuleArgs() {}

    private ApplicationGatewayUrlPathMapPathRuleArgs(ApplicationGatewayUrlPathMapPathRuleArgs $) {
        this.backendAddressPoolId = $.backendAddressPoolId;
        this.backendAddressPoolName = $.backendAddressPoolName;
        this.backendHttpSettingsId = $.backendHttpSettingsId;
        this.backendHttpSettingsName = $.backendHttpSettingsName;
        this.firewallPolicyId = $.firewallPolicyId;
        this.id = $.id;
        this.name = $.name;
        this.paths = $.paths;
        this.redirectConfigurationId = $.redirectConfigurationId;
        this.redirectConfigurationName = $.redirectConfigurationName;
        this.rewriteRuleSetId = $.rewriteRuleSetId;
        this.rewriteRuleSetName = $.rewriteRuleSetName;
    }

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

    public static final class Builder {
        private ApplicationGatewayUrlPathMapPathRuleArgs $;

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

        public Builder(ApplicationGatewayUrlPathMapPathRuleArgs defaults) {
            $ = new ApplicationGatewayUrlPathMapPathRuleArgs(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 to use for this Path 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 to use for this Path 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 to use for this Path 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 to use for this Path Rule. Cannot be set if `redirect_configuration_name` is set.
         * 
         * @return builder
         * 
         */
        public Builder backendHttpSettingsName(String backendHttpSettingsName) {
            return backendHttpSettingsName(Output.of(backendHttpSettingsName));
        }

        /**
         * @param firewallPolicyId The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
         * 
         * @return builder
         * 
         */
        public Builder firewallPolicyId(@Nullable Output firewallPolicyId) {
            $.firewallPolicyId = firewallPolicyId;
            return this;
        }

        /**
         * @param firewallPolicyId The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
         * 
         * @return builder
         * 
         */
        public Builder firewallPolicyId(String firewallPolicyId) {
            return firewallPolicyId(Output.of(firewallPolicyId));
        }

        /**
         * @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 the Path Rule.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

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

        /**
         * @param paths A list of Paths used in this Path Rule.
         * 
         * @return builder
         * 
         */
        public Builder paths(Output> paths) {
            $.paths = paths;
            return this;
        }

        /**
         * @param paths A list of Paths used in this Path Rule.
         * 
         * @return builder
         * 
         */
        public Builder paths(List paths) {
            return paths(Output.of(paths));
        }

        /**
         * @param paths A list of Paths used in this Path Rule.
         * 
         * @return builder
         * 
         */
        public Builder paths(String... paths) {
            return paths(List.of(paths));
        }

        /**
         * @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 a Redirect Configuration to use for this Path Rule. Cannot be set if `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 a Redirect Configuration to use for this Path Rule. Cannot be set if `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 URL Path Map. Only valid for v2 SKUs.
         * 
         * @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 URL Path Map. Only valid for v2 SKUs.
         * 
         * @return builder
         * 
         */
        public Builder rewriteRuleSetName(String rewriteRuleSetName) {
            return rewriteRuleSetName(Output.of(rewriteRuleSetName));
        }

        public ApplicationGatewayUrlPathMapPathRuleArgs build() {
            if ($.name == null) {
                throw new MissingRequiredPropertyException("ApplicationGatewayUrlPathMapPathRuleArgs", "name");
            }
            if ($.paths == null) {
                throw new MissingRequiredPropertyException("ApplicationGatewayUrlPathMapPathRuleArgs", "paths");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy