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

com.pulumi.azure.frontdoor.inputs.FrontdoorState 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.frontdoor.inputs;

import com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolHealthProbeArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolLoadBalancingArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolSettingArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorExplicitResourceOrderArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorFrontendEndpointArgs;
import com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FrontdoorState Empty = new FrontdoorState();

    /**
     * A `backend_pool_health_probe` block as defined below.
     * 
     */
    @Import(name="backendPoolHealthProbes")
    private @Nullable Output> backendPoolHealthProbes;

    /**
     * @return A `backend_pool_health_probe` block as defined below.
     * 
     */
    public Optional>> backendPoolHealthProbes() {
        return Optional.ofNullable(this.backendPoolHealthProbes);
    }

    /**
     * A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)
     * 
     */
    @Import(name="backendPoolHealthProbesMap")
    private @Nullable Output> backendPoolHealthProbesMap;

    /**
     * @return A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)
     * 
     */
    public Optional>> backendPoolHealthProbesMap() {
        return Optional.ofNullable(this.backendPoolHealthProbesMap);
    }

    /**
     * A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)
     * 
     */
    @Import(name="backendPoolLoadBalancingSettingsMap")
    private @Nullable Output> backendPoolLoadBalancingSettingsMap;

    /**
     * @return A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)
     * 
     */
    public Optional>> backendPoolLoadBalancingSettingsMap() {
        return Optional.ofNullable(this.backendPoolLoadBalancingSettingsMap);
    }

    /**
     * A `backend_pool_load_balancing` block as defined below.
     * 
     */
    @Import(name="backendPoolLoadBalancings")
    private @Nullable Output> backendPoolLoadBalancings;

    /**
     * @return A `backend_pool_load_balancing` block as defined below.
     * 
     */
    public Optional>> backendPoolLoadBalancings() {
        return Optional.ofNullable(this.backendPoolLoadBalancings);
    }

    /**
     * A `backend_pool_settings` block as defined below.
     * 
     */
    @Import(name="backendPoolSettings")
    private @Nullable Output> backendPoolSettings;

    /**
     * @return A `backend_pool_settings` block as defined below.
     * 
     */
    public Optional>> backendPoolSettings() {
        return Optional.ofNullable(this.backendPoolSettings);
    }

    /**
     * A `backend_pool` block as defined below.
     * 
     * > Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.
     * 
     */
    @Import(name="backendPools")
    private @Nullable Output> backendPools;

    /**
     * @return A `backend_pool` block as defined below.
     * 
     * > Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.
     * 
     */
    public Optional>> backendPools() {
        return Optional.ofNullable(this.backendPools);
    }

    /**
     * A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)
     * 
     */
    @Import(name="backendPoolsMap")
    private @Nullable Output> backendPoolsMap;

    /**
     * @return A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)
     * 
     */
    public Optional>> backendPoolsMap() {
        return Optional.ofNullable(this.backendPoolsMap);
    }

    /**
     * The host that each frontendEndpoint must CNAME to.
     * 
     */
    @Import(name="cname")
    private @Nullable Output cname;

    /**
     * @return The host that each frontendEndpoint must CNAME to.
     * 
     */
    public Optional> cname() {
        return Optional.ofNullable(this.cname);
    }

    @Import(name="explicitResourceOrders")
    private @Nullable Output> explicitResourceOrders;

    public Optional>> explicitResourceOrders() {
        return Optional.ofNullable(this.explicitResourceOrders);
    }

    /**
     * A friendly name for the Front Door service.
     * 
     */
    @Import(name="friendlyName")
    private @Nullable Output friendlyName;

    /**
     * @return A friendly name for the Front Door service.
     * 
     */
    public Optional> friendlyName() {
        return Optional.ofNullable(this.friendlyName);
    }

    /**
     * A `frontend_endpoint` block as defined below.
     * 
     */
    @Import(name="frontendEndpoints")
    private @Nullable Output> frontendEndpoints;

    /**
     * @return A `frontend_endpoint` block as defined below.
     * 
     */
    public Optional>> frontendEndpoints() {
        return Optional.ofNullable(this.frontendEndpoints);
    }

    /**
     * A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)
     * 
     */
    @Import(name="frontendEndpointsMap")
    private @Nullable Output> frontendEndpointsMap;

    /**
     * @return A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)
     * 
     */
    public Optional>> frontendEndpointsMap() {
        return Optional.ofNullable(this.frontendEndpointsMap);
    }

    /**
     * The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.
     * 
     */
    @Import(name="headerFrontdoorId")
    private @Nullable Output headerFrontdoorId;

    /**
     * @return The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.
     * 
     */
    public Optional> headerFrontdoorId() {
        return Optional.ofNullable(this.headerFrontdoorId);
    }

    /**
     * Should the Front Door Load Balancer be Enabled? Defaults to `true`.
     * 
     */
    @Import(name="loadBalancerEnabled")
    private @Nullable Output loadBalancerEnabled;

    /**
     * @return Should the Front Door Load Balancer be Enabled? Defaults to `true`.
     * 
     */
    public Optional> loadBalancerEnabled() {
        return Optional.ofNullable(this.loadBalancerEnabled);
    }

    /**
     * Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * A `routing_rule` block as defined below.
     * 
     */
    @Import(name="routingRules")
    private @Nullable Output> routingRules;

    /**
     * @return A `routing_rule` block as defined below.
     * 
     */
    public Optional>> routingRules() {
        return Optional.ofNullable(this.routingRules);
    }

    /**
     * A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)
     * 
     */
    @Import(name="routingRulesMap")
    private @Nullable Output> routingRulesMap;

    /**
     * @return A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)
     * 
     */
    public Optional>> routingRulesMap() {
        return Optional.ofNullable(this.routingRulesMap);
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private FrontdoorState() {}

    private FrontdoorState(FrontdoorState $) {
        this.backendPoolHealthProbes = $.backendPoolHealthProbes;
        this.backendPoolHealthProbesMap = $.backendPoolHealthProbesMap;
        this.backendPoolLoadBalancingSettingsMap = $.backendPoolLoadBalancingSettingsMap;
        this.backendPoolLoadBalancings = $.backendPoolLoadBalancings;
        this.backendPoolSettings = $.backendPoolSettings;
        this.backendPools = $.backendPools;
        this.backendPoolsMap = $.backendPoolsMap;
        this.cname = $.cname;
        this.explicitResourceOrders = $.explicitResourceOrders;
        this.friendlyName = $.friendlyName;
        this.frontendEndpoints = $.frontendEndpoints;
        this.frontendEndpointsMap = $.frontendEndpointsMap;
        this.headerFrontdoorId = $.headerFrontdoorId;
        this.loadBalancerEnabled = $.loadBalancerEnabled;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.routingRules = $.routingRules;
        this.routingRulesMap = $.routingRulesMap;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private FrontdoorState $;

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

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

        /**
         * @param backendPoolHealthProbes A `backend_pool_health_probe` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolHealthProbes(@Nullable Output> backendPoolHealthProbes) {
            $.backendPoolHealthProbes = backendPoolHealthProbes;
            return this;
        }

        /**
         * @param backendPoolHealthProbes A `backend_pool_health_probe` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolHealthProbes(List backendPoolHealthProbes) {
            return backendPoolHealthProbes(Output.of(backendPoolHealthProbes));
        }

        /**
         * @param backendPoolHealthProbes A `backend_pool_health_probe` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolHealthProbes(FrontdoorBackendPoolHealthProbeArgs... backendPoolHealthProbes) {
            return backendPoolHealthProbes(List.of(backendPoolHealthProbes));
        }

        /**
         * @param backendPoolHealthProbesMap A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolHealthProbesMap(@Nullable Output> backendPoolHealthProbesMap) {
            $.backendPoolHealthProbesMap = backendPoolHealthProbesMap;
            return this;
        }

        /**
         * @param backendPoolHealthProbesMap A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolHealthProbesMap(Map backendPoolHealthProbesMap) {
            return backendPoolHealthProbesMap(Output.of(backendPoolHealthProbesMap));
        }

        /**
         * @param backendPoolLoadBalancingSettingsMap A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolLoadBalancingSettingsMap(@Nullable Output> backendPoolLoadBalancingSettingsMap) {
            $.backendPoolLoadBalancingSettingsMap = backendPoolLoadBalancingSettingsMap;
            return this;
        }

        /**
         * @param backendPoolLoadBalancingSettingsMap A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolLoadBalancingSettingsMap(Map backendPoolLoadBalancingSettingsMap) {
            return backendPoolLoadBalancingSettingsMap(Output.of(backendPoolLoadBalancingSettingsMap));
        }

        /**
         * @param backendPoolLoadBalancings A `backend_pool_load_balancing` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolLoadBalancings(@Nullable Output> backendPoolLoadBalancings) {
            $.backendPoolLoadBalancings = backendPoolLoadBalancings;
            return this;
        }

        /**
         * @param backendPoolLoadBalancings A `backend_pool_load_balancing` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolLoadBalancings(List backendPoolLoadBalancings) {
            return backendPoolLoadBalancings(Output.of(backendPoolLoadBalancings));
        }

        /**
         * @param backendPoolLoadBalancings A `backend_pool_load_balancing` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolLoadBalancings(FrontdoorBackendPoolLoadBalancingArgs... backendPoolLoadBalancings) {
            return backendPoolLoadBalancings(List.of(backendPoolLoadBalancings));
        }

        /**
         * @param backendPoolSettings A `backend_pool_settings` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolSettings(@Nullable Output> backendPoolSettings) {
            $.backendPoolSettings = backendPoolSettings;
            return this;
        }

        /**
         * @param backendPoolSettings A `backend_pool_settings` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolSettings(List backendPoolSettings) {
            return backendPoolSettings(Output.of(backendPoolSettings));
        }

        /**
         * @param backendPoolSettings A `backend_pool_settings` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder backendPoolSettings(FrontdoorBackendPoolSettingArgs... backendPoolSettings) {
            return backendPoolSettings(List.of(backendPoolSettings));
        }

        /**
         * @param backendPools A `backend_pool` block as defined below.
         * 
         * > Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.
         * 
         * @return builder
         * 
         */
        public Builder backendPools(@Nullable Output> backendPools) {
            $.backendPools = backendPools;
            return this;
        }

        /**
         * @param backendPools A `backend_pool` block as defined below.
         * 
         * > Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.
         * 
         * @return builder
         * 
         */
        public Builder backendPools(List backendPools) {
            return backendPools(Output.of(backendPools));
        }

        /**
         * @param backendPools A `backend_pool` block as defined below.
         * 
         * > Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.
         * 
         * @return builder
         * 
         */
        public Builder backendPools(FrontdoorBackendPoolArgs... backendPools) {
            return backendPools(List.of(backendPools));
        }

        /**
         * @param backendPoolsMap A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolsMap(@Nullable Output> backendPoolsMap) {
            $.backendPoolsMap = backendPoolsMap;
            return this;
        }

        /**
         * @param backendPoolsMap A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)
         * 
         * @return builder
         * 
         */
        public Builder backendPoolsMap(Map backendPoolsMap) {
            return backendPoolsMap(Output.of(backendPoolsMap));
        }

        /**
         * @param cname The host that each frontendEndpoint must CNAME to.
         * 
         * @return builder
         * 
         */
        public Builder cname(@Nullable Output cname) {
            $.cname = cname;
            return this;
        }

        /**
         * @param cname The host that each frontendEndpoint must CNAME to.
         * 
         * @return builder
         * 
         */
        public Builder cname(String cname) {
            return cname(Output.of(cname));
        }

        public Builder explicitResourceOrders(@Nullable Output> explicitResourceOrders) {
            $.explicitResourceOrders = explicitResourceOrders;
            return this;
        }

        public Builder explicitResourceOrders(List explicitResourceOrders) {
            return explicitResourceOrders(Output.of(explicitResourceOrders));
        }

        public Builder explicitResourceOrders(FrontdoorExplicitResourceOrderArgs... explicitResourceOrders) {
            return explicitResourceOrders(List.of(explicitResourceOrders));
        }

        /**
         * @param friendlyName A friendly name for the Front Door service.
         * 
         * @return builder
         * 
         */
        public Builder friendlyName(@Nullable Output friendlyName) {
            $.friendlyName = friendlyName;
            return this;
        }

        /**
         * @param friendlyName A friendly name for the Front Door service.
         * 
         * @return builder
         * 
         */
        public Builder friendlyName(String friendlyName) {
            return friendlyName(Output.of(friendlyName));
        }

        /**
         * @param frontendEndpoints A `frontend_endpoint` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder frontendEndpoints(@Nullable Output> frontendEndpoints) {
            $.frontendEndpoints = frontendEndpoints;
            return this;
        }

        /**
         * @param frontendEndpoints A `frontend_endpoint` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder frontendEndpoints(List frontendEndpoints) {
            return frontendEndpoints(Output.of(frontendEndpoints));
        }

        /**
         * @param frontendEndpoints A `frontend_endpoint` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder frontendEndpoints(FrontdoorFrontendEndpointArgs... frontendEndpoints) {
            return frontendEndpoints(List.of(frontendEndpoints));
        }

        /**
         * @param frontendEndpointsMap A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)
         * 
         * @return builder
         * 
         */
        public Builder frontendEndpointsMap(@Nullable Output> frontendEndpointsMap) {
            $.frontendEndpointsMap = frontendEndpointsMap;
            return this;
        }

        /**
         * @param frontendEndpointsMap A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)
         * 
         * @return builder
         * 
         */
        public Builder frontendEndpointsMap(Map frontendEndpointsMap) {
            return frontendEndpointsMap(Output.of(frontendEndpointsMap));
        }

        /**
         * @param headerFrontdoorId The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.
         * 
         * @return builder
         * 
         */
        public Builder headerFrontdoorId(@Nullable Output headerFrontdoorId) {
            $.headerFrontdoorId = headerFrontdoorId;
            return this;
        }

        /**
         * @param headerFrontdoorId The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.
         * 
         * @return builder
         * 
         */
        public Builder headerFrontdoorId(String headerFrontdoorId) {
            return headerFrontdoorId(Output.of(headerFrontdoorId));
        }

        /**
         * @param loadBalancerEnabled Should the Front Door Load Balancer be Enabled? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerEnabled(@Nullable Output loadBalancerEnabled) {
            $.loadBalancerEnabled = loadBalancerEnabled;
            return this;
        }

        /**
         * @param loadBalancerEnabled Should the Front Door Load Balancer be Enabled? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerEnabled(Boolean loadBalancerEnabled) {
            return loadBalancerEnabled(Output.of(loadBalancerEnabled));
        }

        /**
         * @param name Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param routingRules A `routing_rule` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder routingRules(@Nullable Output> routingRules) {
            $.routingRules = routingRules;
            return this;
        }

        /**
         * @param routingRules A `routing_rule` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder routingRules(List routingRules) {
            return routingRules(Output.of(routingRules));
        }

        /**
         * @param routingRules A `routing_rule` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder routingRules(FrontdoorRoutingRuleArgs... routingRules) {
            return routingRules(List.of(routingRules));
        }

        /**
         * @param routingRulesMap A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)
         * 
         * @return builder
         * 
         */
        public Builder routingRulesMap(@Nullable Output> routingRulesMap) {
            $.routingRulesMap = routingRulesMap;
            return this;
        }

        /**
         * @param routingRulesMap A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)
         * 
         * @return builder
         * 
         */
        public Builder routingRulesMap(Map routingRulesMap) {
            return routingRulesMap(Output.of(routingRulesMap));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public FrontdoorState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy