1. Packages
  2. Cloudflare Provider
  3. API Docs
  4. LoadBalancer
Viewing docs for Cloudflare v4.16.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
cloudflare logo
Viewing docs for Cloudflare v4.16.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Provides a Cloudflare Load Balancer resource. This sits in front of a number of defined pools of origins and provides various options for geographically-aware load balancing. Note that the load balancing feature must be enabled in your Cloudflare account before you can use this resource.

    Example Usage

    using System.Collections.Generic;
    using Pulumi;
    using Cloudflare = Pulumi.Cloudflare;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleLoadBalancerPool = new Cloudflare.LoadBalancerPool("exampleLoadBalancerPool", new()
        {
            Name = "example-lb-pool",
            Origins = new[]
            {
                new Cloudflare.Inputs.LoadBalancerPoolOriginArgs
                {
                    Name = "example-1",
                    Address = "192.0.2.1",
                    Enabled = false,
                },
            },
        });
    
        // Define a load balancer which always points to a pool we define below.
        // In normal usage, would have different pools set for different pops
        // (cloudflare points-of-presence) and/or for different regions.
        // Within each pop or region we can define multiple pools in failover order.
        var exampleLoadBalancer = new Cloudflare.LoadBalancer("exampleLoadBalancer", new()
        {
            ZoneId = "0da42c8d2132a9ddaf714f9e7c920711",
            Name = "example-load-balancer.example.com",
            FallbackPoolId = exampleLoadBalancerPool.Id,
            DefaultPoolIds = new[]
            {
                exampleLoadBalancerPool.Id,
            },
            Description = "example load balancer using geo-balancing",
            Proxied = true,
            SteeringPolicy = "geo",
            PopPools = new[]
            {
                new Cloudflare.Inputs.LoadBalancerPopPoolArgs
                {
                    Pop = "LAX",
                    PoolIds = new[]
                    {
                        exampleLoadBalancerPool.Id,
                    },
                },
            },
            CountryPools = new[]
            {
                new Cloudflare.Inputs.LoadBalancerCountryPoolArgs
                {
                    Country = "US",
                    PoolIds = new[]
                    {
                        exampleLoadBalancerPool.Id,
                    },
                },
            },
            RegionPools = new[]
            {
                new Cloudflare.Inputs.LoadBalancerRegionPoolArgs
                {
                    Region = "WNAM",
                    PoolIds = new[]
                    {
                        exampleLoadBalancerPool.Id,
                    },
                },
            },
            Rules = new[]
            {
                new Cloudflare.Inputs.LoadBalancerRuleArgs
                {
                    Name = "example rule",
                    Condition = "http.request.uri.path contains \"testing\"",
                    FixedResponse = new Cloudflare.Inputs.LoadBalancerRuleFixedResponseArgs
                    {
                        MessageBody = "hello",
                        StatusCode = 200,
                        ContentType = "html",
                        Location = "www.example.com",
                    },
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudflare/sdk/v4/go/cloudflare"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleLoadBalancerPool, err := cloudflare.NewLoadBalancerPool(ctx, "exampleLoadBalancerPool", &cloudflare.LoadBalancerPoolArgs{
    			Name: pulumi.String("example-lb-pool"),
    			Origins: cloudflare.LoadBalancerPoolOriginArray{
    				&cloudflare.LoadBalancerPoolOriginArgs{
    					Name:    pulumi.String("example-1"),
    					Address: pulumi.String("192.0.2.1"),
    					Enabled: pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudflare.NewLoadBalancer(ctx, "exampleLoadBalancer", &cloudflare.LoadBalancerArgs{
    			ZoneId:         pulumi.String("0da42c8d2132a9ddaf714f9e7c920711"),
    			Name:           pulumi.String("example-load-balancer.example.com"),
    			FallbackPoolId: exampleLoadBalancerPool.ID(),
    			DefaultPoolIds: pulumi.StringArray{
    				exampleLoadBalancerPool.ID(),
    			},
    			Description:    pulumi.String("example load balancer using geo-balancing"),
    			Proxied:        pulumi.Bool(true),
    			SteeringPolicy: pulumi.String("geo"),
    			PopPools: cloudflare.LoadBalancerPopPoolArray{
    				&cloudflare.LoadBalancerPopPoolArgs{
    					Pop: pulumi.String("LAX"),
    					PoolIds: pulumi.StringArray{
    						exampleLoadBalancerPool.ID(),
    					},
    				},
    			},
    			CountryPools: cloudflare.LoadBalancerCountryPoolArray{
    				&cloudflare.LoadBalancerCountryPoolArgs{
    					Country: pulumi.String("US"),
    					PoolIds: pulumi.StringArray{
    						exampleLoadBalancerPool.ID(),
    					},
    				},
    			},
    			RegionPools: cloudflare.LoadBalancerRegionPoolArray{
    				&cloudflare.LoadBalancerRegionPoolArgs{
    					Region: pulumi.String("WNAM"),
    					PoolIds: pulumi.StringArray{
    						exampleLoadBalancerPool.ID(),
    					},
    				},
    			},
    			Rules: cloudflare.LoadBalancerRuleArray{
    				&cloudflare.LoadBalancerRuleArgs{
    					Name:      pulumi.String("example rule"),
    					Condition: pulumi.String("http.request.uri.path contains \"testing\""),
    					FixedResponse: &cloudflare.LoadBalancerRuleFixedResponseArgs{
    						MessageBody: pulumi.String("hello"),
    						StatusCode:  pulumi.Int(200),
    						ContentType: pulumi.String("html"),
    						Location:    pulumi.String("www.example.com"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudflare.LoadBalancerPool;
    import com.pulumi.cloudflare.LoadBalancerPoolArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerPoolOriginArgs;
    import com.pulumi.cloudflare.LoadBalancer;
    import com.pulumi.cloudflare.LoadBalancerArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerPopPoolArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerCountryPoolArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerRegionPoolArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerRuleArgs;
    import com.pulumi.cloudflare.inputs.LoadBalancerRuleFixedResponseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleLoadBalancerPool = new LoadBalancerPool("exampleLoadBalancerPool", LoadBalancerPoolArgs.builder()        
                .name("example-lb-pool")
                .origins(LoadBalancerPoolOriginArgs.builder()
                    .name("example-1")
                    .address("192.0.2.1")
                    .enabled(false)
                    .build())
                .build());
    
            var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()        
                .zoneId("0da42c8d2132a9ddaf714f9e7c920711")
                .name("example-load-balancer.example.com")
                .fallbackPoolId(exampleLoadBalancerPool.id())
                .defaultPoolIds(exampleLoadBalancerPool.id())
                .description("example load balancer using geo-balancing")
                .proxied(true)
                .steeringPolicy("geo")
                .popPools(LoadBalancerPopPoolArgs.builder()
                    .pop("LAX")
                    .poolIds(exampleLoadBalancerPool.id())
                    .build())
                .countryPools(LoadBalancerCountryPoolArgs.builder()
                    .country("US")
                    .poolIds(exampleLoadBalancerPool.id())
                    .build())
                .regionPools(LoadBalancerRegionPoolArgs.builder()
                    .region("WNAM")
                    .poolIds(exampleLoadBalancerPool.id())
                    .build())
                .rules(LoadBalancerRuleArgs.builder()
                    .name("example rule")
                    .condition("http.request.uri.path contains \"testing\"")
                    .fixedResponse(LoadBalancerRuleFixedResponseArgs.builder()
                        .messageBody("hello")
                        .statusCode(200)
                        .contentType("html")
                        .location("www.example.com")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudflare from "@pulumi/cloudflare";
    
    const exampleLoadBalancerPool = new cloudflare.LoadBalancerPool("exampleLoadBalancerPool", {
        name: "example-lb-pool",
        origins: [{
            name: "example-1",
            address: "192.0.2.1",
            enabled: false,
        }],
    });
    // Define a load balancer which always points to a pool we define below.
    // In normal usage, would have different pools set for different pops
    // (cloudflare points-of-presence) and/or for different regions.
    // Within each pop or region we can define multiple pools in failover order.
    const exampleLoadBalancer = new cloudflare.LoadBalancer("exampleLoadBalancer", {
        zoneId: "0da42c8d2132a9ddaf714f9e7c920711",
        name: "example-load-balancer.example.com",
        fallbackPoolId: exampleLoadBalancerPool.id,
        defaultPoolIds: [exampleLoadBalancerPool.id],
        description: "example load balancer using geo-balancing",
        proxied: true,
        steeringPolicy: "geo",
        popPools: [{
            pop: "LAX",
            poolIds: [exampleLoadBalancerPool.id],
        }],
        countryPools: [{
            country: "US",
            poolIds: [exampleLoadBalancerPool.id],
        }],
        regionPools: [{
            region: "WNAM",
            poolIds: [exampleLoadBalancerPool.id],
        }],
        rules: [{
            name: "example rule",
            condition: "http.request.uri.path contains \"testing\"",
            fixedResponse: {
                messageBody: "hello",
                statusCode: 200,
                contentType: "html",
                location: "www.example.com",
            },
        }],
    });
    
    import pulumi
    import pulumi_cloudflare as cloudflare
    
    example_load_balancer_pool = cloudflare.LoadBalancerPool("exampleLoadBalancerPool",
        name="example-lb-pool",
        origins=[cloudflare.LoadBalancerPoolOriginArgs(
            name="example-1",
            address="192.0.2.1",
            enabled=False,
        )])
    # Define a load balancer which always points to a pool we define below.
    # In normal usage, would have different pools set for different pops
    # (cloudflare points-of-presence) and/or for different regions.
    # Within each pop or region we can define multiple pools in failover order.
    example_load_balancer = cloudflare.LoadBalancer("exampleLoadBalancer",
        zone_id="0da42c8d2132a9ddaf714f9e7c920711",
        name="example-load-balancer.example.com",
        fallback_pool_id=example_load_balancer_pool.id,
        default_pool_ids=[example_load_balancer_pool.id],
        description="example load balancer using geo-balancing",
        proxied=True,
        steering_policy="geo",
        pop_pools=[cloudflare.LoadBalancerPopPoolArgs(
            pop="LAX",
            pool_ids=[example_load_balancer_pool.id],
        )],
        country_pools=[cloudflare.LoadBalancerCountryPoolArgs(
            country="US",
            pool_ids=[example_load_balancer_pool.id],
        )],
        region_pools=[cloudflare.LoadBalancerRegionPoolArgs(
            region="WNAM",
            pool_ids=[example_load_balancer_pool.id],
        )],
        rules=[cloudflare.LoadBalancerRuleArgs(
            name="example rule",
            condition="http.request.uri.path contains \"testing\"",
            fixed_response=cloudflare.LoadBalancerRuleFixedResponseArgs(
                message_body="hello",
                status_code=200,
                content_type="html",
                location="www.example.com",
            ),
        )])
    
    resources:
      # Define a load balancer which always points to a pool we define below.
      # In normal usage, would have different pools set for different pops
      # (cloudflare points-of-presence) and/or for different regions.
      # Within each pop or region we can define multiple pools in failover order.
      exampleLoadBalancer:
        type: cloudflare:LoadBalancer
        properties:
          zoneId: 0da42c8d2132a9ddaf714f9e7c920711
          name: example-load-balancer.example.com
          fallbackPoolId: ${exampleLoadBalancerPool.id}
          defaultPoolIds:
            - ${exampleLoadBalancerPool.id}
          description: example load balancer using geo-balancing
          proxied: true
          steeringPolicy: geo
          popPools:
            - pop: LAX
              poolIds:
                - ${exampleLoadBalancerPool.id}
          countryPools:
            - country: US
              poolIds:
                - ${exampleLoadBalancerPool.id}
          regionPools:
            - region: WNAM
              poolIds:
                - ${exampleLoadBalancerPool.id}
          rules:
            - name: example rule
              condition: http.request.uri.path contains "testing"
              fixedResponse:
                messageBody: hello
                statusCode: 200
                contentType: html
                location: www.example.com
      exampleLoadBalancerPool:
        type: cloudflare:LoadBalancerPool
        properties:
          name: example-lb-pool
          origins:
            - name: example-1
              address: 192.0.2.1
              enabled: false
    

    Create LoadBalancer Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: CustomResourceOptions);
    @overload
    def LoadBalancer(resource_name: str,
                     args: LoadBalancerArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def LoadBalancer(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     fallback_pool_id: Optional[str] = None,
                     zone_id: Optional[str] = None,
                     default_pool_ids: Optional[Sequence[str]] = None,
                     name: Optional[str] = None,
                     pop_pools: Optional[Sequence[LoadBalancerPopPoolArgs]] = None,
                     region_pools: Optional[Sequence[LoadBalancerRegionPoolArgs]] = None,
                     location_strategies: Optional[Sequence[LoadBalancerLocationStrategyArgs]] = None,
                     description: Optional[str] = None,
                     adaptive_routings: Optional[Sequence[LoadBalancerAdaptiveRoutingArgs]] = None,
                     proxied: Optional[bool] = None,
                     random_steerings: Optional[Sequence[LoadBalancerRandomSteeringArgs]] = None,
                     enabled: Optional[bool] = None,
                     rules: Optional[Sequence[LoadBalancerRuleArgs]] = None,
                     session_affinity: Optional[str] = None,
                     session_affinity_attributes: Optional[Mapping[str, str]] = None,
                     session_affinity_ttl: Optional[int] = None,
                     steering_policy: Optional[str] = None,
                     ttl: Optional[int] = None,
                     country_pools: Optional[Sequence[LoadBalancerCountryPoolArgs]] = None)
    func NewLoadBalancer(ctx *Context, name string, args LoadBalancerArgs, opts ...ResourceOption) (*LoadBalancer, error)
    public LoadBalancer(string name, LoadBalancerArgs args, CustomResourceOptions? opts = null)
    public LoadBalancer(String name, LoadBalancerArgs args)
    public LoadBalancer(String name, LoadBalancerArgs args, CustomResourceOptions options)
    
    type: cloudflare:LoadBalancer
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var loadBalancerResource = new Cloudflare.LoadBalancer("loadBalancerResource", new()
    {
        FallbackPoolId = "string",
        ZoneId = "string",
        DefaultPoolIds = new[]
        {
            "string",
        },
        Name = "string",
        PopPools = new[]
        {
            new Cloudflare.Inputs.LoadBalancerPopPoolArgs
            {
                PoolIds = new[]
                {
                    "string",
                },
                Pop = "string",
            },
        },
        RegionPools = new[]
        {
            new Cloudflare.Inputs.LoadBalancerRegionPoolArgs
            {
                PoolIds = new[]
                {
                    "string",
                },
                Region = "string",
            },
        },
        LocationStrategies = new[]
        {
            new Cloudflare.Inputs.LoadBalancerLocationStrategyArgs
            {
                Mode = "string",
                PreferEcs = "string",
            },
        },
        Description = "string",
        AdaptiveRoutings = new[]
        {
            new Cloudflare.Inputs.LoadBalancerAdaptiveRoutingArgs
            {
                FailoverAcrossPools = false,
            },
        },
        Proxied = false,
        RandomSteerings = new[]
        {
            new Cloudflare.Inputs.LoadBalancerRandomSteeringArgs
            {
                DefaultWeight = 0,
                PoolWeights = 
                {
                    { "string", 0 },
                },
            },
        },
        Enabled = false,
        Rules = new[]
        {
            new Cloudflare.Inputs.LoadBalancerRuleArgs
            {
                Name = "string",
                Condition = "string",
                Disabled = false,
                FixedResponse = new Cloudflare.Inputs.LoadBalancerRuleFixedResponseArgs
                {
                    ContentType = "string",
                    Location = "string",
                    MessageBody = "string",
                    StatusCode = 0,
                },
                Overrides = new[]
                {
                    new Cloudflare.Inputs.LoadBalancerRuleOverrideArgs
                    {
                        AdaptiveRoutings = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideAdaptiveRoutingArgs
                            {
                                FailoverAcrossPools = false,
                            },
                        },
                        CountryPools = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideCountryPoolArgs
                            {
                                Country = "string",
                                PoolIds = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        DefaultPools = new[]
                        {
                            "string",
                        },
                        FallbackPool = "string",
                        LocationStrategies = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideLocationStrategyArgs
                            {
                                Mode = "string",
                                PreferEcs = "string",
                            },
                        },
                        PopPools = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverridePopPoolArgs
                            {
                                PoolIds = new[]
                                {
                                    "string",
                                },
                                Pop = "string",
                            },
                        },
                        RandomSteerings = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideRandomSteeringArgs
                            {
                                DefaultWeight = 0,
                                PoolWeights = 
                                {
                                    { "string", 0 },
                                },
                            },
                        },
                        RegionPools = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideRegionPoolArgs
                            {
                                PoolIds = new[]
                                {
                                    "string",
                                },
                                Region = "string",
                            },
                        },
                        SessionAffinity = "string",
                        SessionAffinityAttributes = 
                        {
                            { "string", "string" },
                        },
                        SessionAffinityTtl = 0,
                        SteeringPolicy = "string",
                        Ttl = 0,
                    },
                },
                Priority = 0,
                Terminates = false,
            },
        },
        SessionAffinity = "string",
        SessionAffinityAttributes = 
        {
            { "string", "string" },
        },
        SessionAffinityTtl = 0,
        SteeringPolicy = "string",
        Ttl = 0,
        CountryPools = new[]
        {
            new Cloudflare.Inputs.LoadBalancerCountryPoolArgs
            {
                Country = "string",
                PoolIds = new[]
                {
                    "string",
                },
            },
        },
    });
    
    example, err := cloudflare.NewLoadBalancer(ctx, "loadBalancerResource", &cloudflare.LoadBalancerArgs{
    	FallbackPoolId: pulumi.String("string"),
    	ZoneId:         pulumi.String("string"),
    	DefaultPoolIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	PopPools: cloudflare.LoadBalancerPopPoolArray{
    		&cloudflare.LoadBalancerPopPoolArgs{
    			PoolIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Pop: pulumi.String("string"),
    		},
    	},
    	RegionPools: cloudflare.LoadBalancerRegionPoolArray{
    		&cloudflare.LoadBalancerRegionPoolArgs{
    			PoolIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Region: pulumi.String("string"),
    		},
    	},
    	LocationStrategies: cloudflare.LoadBalancerLocationStrategyArray{
    		&cloudflare.LoadBalancerLocationStrategyArgs{
    			Mode:      pulumi.String("string"),
    			PreferEcs: pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	AdaptiveRoutings: cloudflare.LoadBalancerAdaptiveRoutingArray{
    		&cloudflare.LoadBalancerAdaptiveRoutingArgs{
    			FailoverAcrossPools: pulumi.Bool(false),
    		},
    	},
    	Proxied: pulumi.Bool(false),
    	RandomSteerings: cloudflare.LoadBalancerRandomSteeringArray{
    		&cloudflare.LoadBalancerRandomSteeringArgs{
    			DefaultWeight: pulumi.Float64(0),
    			PoolWeights: pulumi.Float64Map{
    				"string": pulumi.Float64(0),
    			},
    		},
    	},
    	Enabled: pulumi.Bool(false),
    	Rules: cloudflare.LoadBalancerRuleArray{
    		&cloudflare.LoadBalancerRuleArgs{
    			Name:      pulumi.String("string"),
    			Condition: pulumi.String("string"),
    			Disabled:  pulumi.Bool(false),
    			FixedResponse: &cloudflare.LoadBalancerRuleFixedResponseArgs{
    				ContentType: pulumi.String("string"),
    				Location:    pulumi.String("string"),
    				MessageBody: pulumi.String("string"),
    				StatusCode:  pulumi.Int(0),
    			},
    			Overrides: cloudflare.LoadBalancerRuleOverrideArray{
    				&cloudflare.LoadBalancerRuleOverrideArgs{
    					AdaptiveRoutings: cloudflare.LoadBalancerRuleOverrideAdaptiveRoutingArray{
    						&cloudflare.LoadBalancerRuleOverrideAdaptiveRoutingArgs{
    							FailoverAcrossPools: pulumi.Bool(false),
    						},
    					},
    					CountryPools: cloudflare.LoadBalancerRuleOverrideCountryPoolArray{
    						&cloudflare.LoadBalancerRuleOverrideCountryPoolArgs{
    							Country: pulumi.String("string"),
    							PoolIds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					DefaultPools: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					FallbackPool: pulumi.String("string"),
    					LocationStrategies: cloudflare.LoadBalancerRuleOverrideLocationStrategyArray{
    						&cloudflare.LoadBalancerRuleOverrideLocationStrategyArgs{
    							Mode:      pulumi.String("string"),
    							PreferEcs: pulumi.String("string"),
    						},
    					},
    					PopPools: cloudflare.LoadBalancerRuleOverridePopPoolArray{
    						&cloudflare.LoadBalancerRuleOverridePopPoolArgs{
    							PoolIds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Pop: pulumi.String("string"),
    						},
    					},
    					RandomSteerings: cloudflare.LoadBalancerRuleOverrideRandomSteeringArray{
    						&cloudflare.LoadBalancerRuleOverrideRandomSteeringArgs{
    							DefaultWeight: pulumi.Float64(0),
    							PoolWeights: pulumi.Float64Map{
    								"string": pulumi.Float64(0),
    							},
    						},
    					},
    					RegionPools: cloudflare.LoadBalancerRuleOverrideRegionPoolArray{
    						&cloudflare.LoadBalancerRuleOverrideRegionPoolArgs{
    							PoolIds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Region: pulumi.String("string"),
    						},
    					},
    					SessionAffinity: pulumi.String("string"),
    					SessionAffinityAttributes: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					SessionAffinityTtl: pulumi.Int(0),
    					SteeringPolicy:     pulumi.String("string"),
    					Ttl:                pulumi.Int(0),
    				},
    			},
    			Priority:   pulumi.Int(0),
    			Terminates: pulumi.Bool(false),
    		},
    	},
    	SessionAffinity: pulumi.String("string"),
    	SessionAffinityAttributes: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	SessionAffinityTtl: pulumi.Int(0),
    	SteeringPolicy:     pulumi.String("string"),
    	Ttl:                pulumi.Int(0),
    	CountryPools: cloudflare.LoadBalancerCountryPoolArray{
    		&cloudflare.LoadBalancerCountryPoolArgs{
    			Country: pulumi.String("string"),
    			PoolIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    })
    
    var loadBalancerResource = new LoadBalancer("loadBalancerResource", LoadBalancerArgs.builder()
        .fallbackPoolId("string")
        .zoneId("string")
        .defaultPoolIds("string")
        .name("string")
        .popPools(LoadBalancerPopPoolArgs.builder()
            .poolIds("string")
            .pop("string")
            .build())
        .regionPools(LoadBalancerRegionPoolArgs.builder()
            .poolIds("string")
            .region("string")
            .build())
        .locationStrategies(LoadBalancerLocationStrategyArgs.builder()
            .mode("string")
            .preferEcs("string")
            .build())
        .description("string")
        .adaptiveRoutings(LoadBalancerAdaptiveRoutingArgs.builder()
            .failoverAcrossPools(false)
            .build())
        .proxied(false)
        .randomSteerings(LoadBalancerRandomSteeringArgs.builder()
            .defaultWeight(0.0)
            .poolWeights(Map.of("string", 0.0))
            .build())
        .enabled(false)
        .rules(LoadBalancerRuleArgs.builder()
            .name("string")
            .condition("string")
            .disabled(false)
            .fixedResponse(LoadBalancerRuleFixedResponseArgs.builder()
                .contentType("string")
                .location("string")
                .messageBody("string")
                .statusCode(0)
                .build())
            .overrides(LoadBalancerRuleOverrideArgs.builder()
                .adaptiveRoutings(LoadBalancerRuleOverrideAdaptiveRoutingArgs.builder()
                    .failoverAcrossPools(false)
                    .build())
                .countryPools(LoadBalancerRuleOverrideCountryPoolArgs.builder()
                    .country("string")
                    .poolIds("string")
                    .build())
                .defaultPools("string")
                .fallbackPool("string")
                .locationStrategies(LoadBalancerRuleOverrideLocationStrategyArgs.builder()
                    .mode("string")
                    .preferEcs("string")
                    .build())
                .popPools(LoadBalancerRuleOverridePopPoolArgs.builder()
                    .poolIds("string")
                    .pop("string")
                    .build())
                .randomSteerings(LoadBalancerRuleOverrideRandomSteeringArgs.builder()
                    .defaultWeight(0.0)
                    .poolWeights(Map.of("string", 0.0))
                    .build())
                .regionPools(LoadBalancerRuleOverrideRegionPoolArgs.builder()
                    .poolIds("string")
                    .region("string")
                    .build())
                .sessionAffinity("string")
                .sessionAffinityAttributes(Map.of("string", "string"))
                .sessionAffinityTtl(0)
                .steeringPolicy("string")
                .ttl(0)
                .build())
            .priority(0)
            .terminates(false)
            .build())
        .sessionAffinity("string")
        .sessionAffinityAttributes(Map.of("string", "string"))
        .sessionAffinityTtl(0)
        .steeringPolicy("string")
        .ttl(0)
        .countryPools(LoadBalancerCountryPoolArgs.builder()
            .country("string")
            .poolIds("string")
            .build())
        .build());
    
    load_balancer_resource = cloudflare.LoadBalancer("loadBalancerResource",
        fallback_pool_id="string",
        zone_id="string",
        default_pool_ids=["string"],
        name="string",
        pop_pools=[{
            "pool_ids": ["string"],
            "pop": "string",
        }],
        region_pools=[{
            "pool_ids": ["string"],
            "region": "string",
        }],
        location_strategies=[{
            "mode": "string",
            "prefer_ecs": "string",
        }],
        description="string",
        adaptive_routings=[{
            "failover_across_pools": False,
        }],
        proxied=False,
        random_steerings=[{
            "default_weight": 0,
            "pool_weights": {
                "string": 0,
            },
        }],
        enabled=False,
        rules=[{
            "name": "string",
            "condition": "string",
            "disabled": False,
            "fixed_response": {
                "content_type": "string",
                "location": "string",
                "message_body": "string",
                "status_code": 0,
            },
            "overrides": [{
                "adaptive_routings": [{
                    "failover_across_pools": False,
                }],
                "country_pools": [{
                    "country": "string",
                    "pool_ids": ["string"],
                }],
                "default_pools": ["string"],
                "fallback_pool": "string",
                "location_strategies": [{
                    "mode": "string",
                    "prefer_ecs": "string",
                }],
                "pop_pools": [{
                    "pool_ids": ["string"],
                    "pop": "string",
                }],
                "random_steerings": [{
                    "default_weight": 0,
                    "pool_weights": {
                        "string": 0,
                    },
                }],
                "region_pools": [{
                    "pool_ids": ["string"],
                    "region": "string",
                }],
                "session_affinity": "string",
                "session_affinity_attributes": {
                    "string": "string",
                },
                "session_affinity_ttl": 0,
                "steering_policy": "string",
                "ttl": 0,
            }],
            "priority": 0,
            "terminates": False,
        }],
        session_affinity="string",
        session_affinity_attributes={
            "string": "string",
        },
        session_affinity_ttl=0,
        steering_policy="string",
        ttl=0,
        country_pools=[{
            "country": "string",
            "pool_ids": ["string"],
        }])
    
    const loadBalancerResource = new cloudflare.LoadBalancer("loadBalancerResource", {
        fallbackPoolId: "string",
        zoneId: "string",
        defaultPoolIds: ["string"],
        name: "string",
        popPools: [{
            poolIds: ["string"],
            pop: "string",
        }],
        regionPools: [{
            poolIds: ["string"],
            region: "string",
        }],
        locationStrategies: [{
            mode: "string",
            preferEcs: "string",
        }],
        description: "string",
        adaptiveRoutings: [{
            failoverAcrossPools: false,
        }],
        proxied: false,
        randomSteerings: [{
            defaultWeight: 0,
            poolWeights: {
                string: 0,
            },
        }],
        enabled: false,
        rules: [{
            name: "string",
            condition: "string",
            disabled: false,
            fixedResponse: {
                contentType: "string",
                location: "string",
                messageBody: "string",
                statusCode: 0,
            },
            overrides: [{
                adaptiveRoutings: [{
                    failoverAcrossPools: false,
                }],
                countryPools: [{
                    country: "string",
                    poolIds: ["string"],
                }],
                defaultPools: ["string"],
                fallbackPool: "string",
                locationStrategies: [{
                    mode: "string",
                    preferEcs: "string",
                }],
                popPools: [{
                    poolIds: ["string"],
                    pop: "string",
                }],
                randomSteerings: [{
                    defaultWeight: 0,
                    poolWeights: {
                        string: 0,
                    },
                }],
                regionPools: [{
                    poolIds: ["string"],
                    region: "string",
                }],
                sessionAffinity: "string",
                sessionAffinityAttributes: {
                    string: "string",
                },
                sessionAffinityTtl: 0,
                steeringPolicy: "string",
                ttl: 0,
            }],
            priority: 0,
            terminates: false,
        }],
        sessionAffinity: "string",
        sessionAffinityAttributes: {
            string: "string",
        },
        sessionAffinityTtl: 0,
        steeringPolicy: "string",
        ttl: 0,
        countryPools: [{
            country: "string",
            poolIds: ["string"],
        }],
    });
    
    type: cloudflare:LoadBalancer
    properties:
        adaptiveRoutings:
            - failoverAcrossPools: false
        countryPools:
            - country: string
              poolIds:
                - string
        defaultPoolIds:
            - string
        description: string
        enabled: false
        fallbackPoolId: string
        locationStrategies:
            - mode: string
              preferEcs: string
        name: string
        popPools:
            - poolIds:
                - string
              pop: string
        proxied: false
        randomSteerings:
            - defaultWeight: 0
              poolWeights:
                string: 0
        regionPools:
            - poolIds:
                - string
              region: string
        rules:
            - condition: string
              disabled: false
              fixedResponse:
                contentType: string
                location: string
                messageBody: string
                statusCode: 0
              name: string
              overrides:
                - adaptiveRoutings:
                    - failoverAcrossPools: false
                  countryPools:
                    - country: string
                      poolIds:
                        - string
                  defaultPools:
                    - string
                  fallbackPool: string
                  locationStrategies:
                    - mode: string
                      preferEcs: string
                  popPools:
                    - poolIds:
                        - string
                      pop: string
                  randomSteerings:
                    - defaultWeight: 0
                      poolWeights:
                        string: 0
                  regionPools:
                    - poolIds:
                        - string
                      region: string
                  sessionAffinity: string
                  sessionAffinityAttributes:
                    string: string
                  sessionAffinityTtl: 0
                  steeringPolicy: string
                  ttl: 0
              priority: 0
              terminates: false
        sessionAffinity: string
        sessionAffinityAttributes:
            string: string
        sessionAffinityTtl: 0
        steeringPolicy: string
        ttl: 0
        zoneId: string
    

    LoadBalancer Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The LoadBalancer resource accepts the following input properties:

    DefaultPoolIds List<string>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    FallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    Name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    ZoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    AdaptiveRoutings List<LoadBalancerAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools List<LoadBalancerCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    Description string
    Free text description.
    Enabled bool
    Enable or disable the load balancer. Defaults to true.
    LocationStrategies List<LoadBalancerLocationStrategy>
    Controls location-based steering for non-proxied requests.
    PopPools List<LoadBalancerPopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    Proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    RandomSteerings List<LoadBalancerRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools List<LoadBalancerRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    Rules List<LoadBalancerRule>
    A list of rules for this load balancer to execute.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes Dictionary<string, string>
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    DefaultPoolIds []string
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    FallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    Name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    ZoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    AdaptiveRoutings []LoadBalancerAdaptiveRoutingArgs
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools []LoadBalancerCountryPoolArgs
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    Description string
    Free text description.
    Enabled bool
    Enable or disable the load balancer. Defaults to true.
    LocationStrategies []LoadBalancerLocationStrategyArgs
    Controls location-based steering for non-proxied requests.
    PopPools []LoadBalancerPopPoolArgs
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    Proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    RandomSteerings []LoadBalancerRandomSteeringArgs
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools []LoadBalancerRegionPoolArgs
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    Rules []LoadBalancerRuleArgs
    A list of rules for this load balancer to execute.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes map[string]string
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    defaultPoolIds List<String>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPoolId String
    The pool ID to use when all other pools are detected as unhealthy.
    name String
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    zoneId String
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings List<LoadBalancerAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<LoadBalancerCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    description String
    Free text description.
    enabled Boolean
    Enable or disable the load balancer. Defaults to true.
    locationStrategies List<LoadBalancerLocationStrategy>
    Controls location-based steering for non-proxied requests.
    popPools List<LoadBalancerPopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied Boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings List<LoadBalancerRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<LoadBalancerRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules List<LoadBalancerRule>
    A list of rules for this load balancer to execute.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String,String>
    See session_affinity_attributes.
    sessionAffinityTtl Integer
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Integer
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    defaultPoolIds string[]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    zoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings LoadBalancerAdaptiveRouting[]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools LoadBalancerCountryPool[]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    description string
    Free text description.
    enabled boolean
    Enable or disable the load balancer. Defaults to true.
    locationStrategies LoadBalancerLocationStrategy[]
    Controls location-based steering for non-proxied requests.
    popPools LoadBalancerPopPool[]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings LoadBalancerRandomSteering[]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools LoadBalancerRegionPool[]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules LoadBalancerRule[]
    A list of rules for this load balancer to execute.
    sessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes {[key: string]: string}
    See session_affinity_attributes.
    sessionAffinityTtl number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    default_pool_ids Sequence[str]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallback_pool_id str
    The pool ID to use when all other pools are detected as unhealthy.
    name str
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    zone_id str
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptive_routings Sequence[LoadBalancerAdaptiveRoutingArgs]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    country_pools Sequence[LoadBalancerCountryPoolArgs]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    description str
    Free text description.
    enabled bool
    Enable or disable the load balancer. Defaults to true.
    location_strategies Sequence[LoadBalancerLocationStrategyArgs]
    Controls location-based steering for non-proxied requests.
    pop_pools Sequence[LoadBalancerPopPoolArgs]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    random_steerings Sequence[LoadBalancerRandomSteeringArgs]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    region_pools Sequence[LoadBalancerRegionPoolArgs]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules Sequence[LoadBalancerRuleArgs]
    A list of rules for this load balancer to execute.
    session_affinity str
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    session_affinity_attributes Mapping[str, str]
    See session_affinity_attributes.
    session_affinity_ttl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steering_policy str
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    defaultPoolIds List<String>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPoolId String
    The pool ID to use when all other pools are detected as unhealthy.
    name String
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    zoneId String
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings List<Property Map>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<Property Map>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    description String
    Free text description.
    enabled Boolean
    Enable or disable the load balancer. Defaults to true.
    locationStrategies List<Property Map>
    Controls location-based steering for non-proxied requests.
    popPools List<Property Map>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied Boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings List<Property Map>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<Property Map>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules List<Property Map>
    A list of rules for this load balancer to execute.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String>
    See session_affinity_attributes.
    sessionAffinityTtl Number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the LoadBalancer resource produces the following output properties:

    CreatedOn string
    The RFC3339 timestamp of when the load balancer was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    ModifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    CreatedOn string
    The RFC3339 timestamp of when the load balancer was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    ModifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    createdOn String
    The RFC3339 timestamp of when the load balancer was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modifiedOn String
    The RFC3339 timestamp of when the load balancer was last modified.
    createdOn string
    The RFC3339 timestamp of when the load balancer was created.
    id string
    The provider-assigned unique ID for this managed resource.
    modifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    created_on str
    The RFC3339 timestamp of when the load balancer was created.
    id str
    The provider-assigned unique ID for this managed resource.
    modified_on str
    The RFC3339 timestamp of when the load balancer was last modified.
    createdOn String
    The RFC3339 timestamp of when the load balancer was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modifiedOn String
    The RFC3339 timestamp of when the load balancer was last modified.

    Look up Existing LoadBalancer Resource

    Get an existing LoadBalancer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: LoadBalancerState, opts?: CustomResourceOptions): LoadBalancer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            adaptive_routings: Optional[Sequence[LoadBalancerAdaptiveRoutingArgs]] = None,
            country_pools: Optional[Sequence[LoadBalancerCountryPoolArgs]] = None,
            created_on: Optional[str] = None,
            default_pool_ids: Optional[Sequence[str]] = None,
            description: Optional[str] = None,
            enabled: Optional[bool] = None,
            fallback_pool_id: Optional[str] = None,
            location_strategies: Optional[Sequence[LoadBalancerLocationStrategyArgs]] = None,
            modified_on: Optional[str] = None,
            name: Optional[str] = None,
            pop_pools: Optional[Sequence[LoadBalancerPopPoolArgs]] = None,
            proxied: Optional[bool] = None,
            random_steerings: Optional[Sequence[LoadBalancerRandomSteeringArgs]] = None,
            region_pools: Optional[Sequence[LoadBalancerRegionPoolArgs]] = None,
            rules: Optional[Sequence[LoadBalancerRuleArgs]] = None,
            session_affinity: Optional[str] = None,
            session_affinity_attributes: Optional[Mapping[str, str]] = None,
            session_affinity_ttl: Optional[int] = None,
            steering_policy: Optional[str] = None,
            ttl: Optional[int] = None,
            zone_id: Optional[str] = None) -> LoadBalancer
    func GetLoadBalancer(ctx *Context, name string, id IDInput, state *LoadBalancerState, opts ...ResourceOption) (*LoadBalancer, error)
    public static LoadBalancer Get(string name, Input<string> id, LoadBalancerState? state, CustomResourceOptions? opts = null)
    public static LoadBalancer get(String name, Output<String> id, LoadBalancerState state, CustomResourceOptions options)
    resources:  _:    type: cloudflare:LoadBalancer    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdaptiveRoutings List<LoadBalancerAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools List<LoadBalancerCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    CreatedOn string
    The RFC3339 timestamp of when the load balancer was created.
    DefaultPoolIds List<string>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    Description string
    Free text description.
    Enabled bool
    Enable or disable the load balancer. Defaults to true.
    FallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    LocationStrategies List<LoadBalancerLocationStrategy>
    Controls location-based steering for non-proxied requests.
    ModifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    Name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    PopPools List<LoadBalancerPopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    Proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    RandomSteerings List<LoadBalancerRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools List<LoadBalancerRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    Rules List<LoadBalancerRule>
    A list of rules for this load balancer to execute.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes Dictionary<string, string>
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    ZoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    AdaptiveRoutings []LoadBalancerAdaptiveRoutingArgs
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools []LoadBalancerCountryPoolArgs
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    CreatedOn string
    The RFC3339 timestamp of when the load balancer was created.
    DefaultPoolIds []string
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    Description string
    Free text description.
    Enabled bool
    Enable or disable the load balancer. Defaults to true.
    FallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    LocationStrategies []LoadBalancerLocationStrategyArgs
    Controls location-based steering for non-proxied requests.
    ModifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    Name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    PopPools []LoadBalancerPopPoolArgs
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    Proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    RandomSteerings []LoadBalancerRandomSteeringArgs
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools []LoadBalancerRegionPoolArgs
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    Rules []LoadBalancerRuleArgs
    A list of rules for this load balancer to execute.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes map[string]string
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    ZoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings List<LoadBalancerAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<LoadBalancerCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    createdOn String
    The RFC3339 timestamp of when the load balancer was created.
    defaultPoolIds List<String>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    description String
    Free text description.
    enabled Boolean
    Enable or disable the load balancer. Defaults to true.
    fallbackPoolId String
    The pool ID to use when all other pools are detected as unhealthy.
    locationStrategies List<LoadBalancerLocationStrategy>
    Controls location-based steering for non-proxied requests.
    modifiedOn String
    The RFC3339 timestamp of when the load balancer was last modified.
    name String
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    popPools List<LoadBalancerPopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied Boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings List<LoadBalancerRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<LoadBalancerRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules List<LoadBalancerRule>
    A list of rules for this load balancer to execute.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String,String>
    See session_affinity_attributes.
    sessionAffinityTtl Integer
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Integer
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    zoneId String
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings LoadBalancerAdaptiveRouting[]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools LoadBalancerCountryPool[]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    createdOn string
    The RFC3339 timestamp of when the load balancer was created.
    defaultPoolIds string[]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    description string
    Free text description.
    enabled boolean
    Enable or disable the load balancer. Defaults to true.
    fallbackPoolId string
    The pool ID to use when all other pools are detected as unhealthy.
    locationStrategies LoadBalancerLocationStrategy[]
    Controls location-based steering for non-proxied requests.
    modifiedOn string
    The RFC3339 timestamp of when the load balancer was last modified.
    name string
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    popPools LoadBalancerPopPool[]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings LoadBalancerRandomSteering[]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools LoadBalancerRegionPool[]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules LoadBalancerRule[]
    A list of rules for this load balancer to execute.
    sessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes {[key: string]: string}
    See session_affinity_attributes.
    sessionAffinityTtl number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    zoneId string
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptive_routings Sequence[LoadBalancerAdaptiveRoutingArgs]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    country_pools Sequence[LoadBalancerCountryPoolArgs]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    created_on str
    The RFC3339 timestamp of when the load balancer was created.
    default_pool_ids Sequence[str]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    description str
    Free text description.
    enabled bool
    Enable or disable the load balancer. Defaults to true.
    fallback_pool_id str
    The pool ID to use when all other pools are detected as unhealthy.
    location_strategies Sequence[LoadBalancerLocationStrategyArgs]
    Controls location-based steering for non-proxied requests.
    modified_on str
    The RFC3339 timestamp of when the load balancer was last modified.
    name str
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    pop_pools Sequence[LoadBalancerPopPoolArgs]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied bool
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    random_steerings Sequence[LoadBalancerRandomSteeringArgs]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    region_pools Sequence[LoadBalancerRegionPoolArgs]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules Sequence[LoadBalancerRuleArgs]
    A list of rules for this load balancer to execute.
    session_affinity str
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    session_affinity_attributes Mapping[str, str]
    See session_affinity_attributes.
    session_affinity_ttl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steering_policy str
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    zone_id str
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.
    adaptiveRoutings List<Property Map>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<Property Map>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    createdOn String
    The RFC3339 timestamp of when the load balancer was created.
    defaultPoolIds List<String>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    description String
    Free text description.
    enabled Boolean
    Enable or disable the load balancer. Defaults to true.
    fallbackPoolId String
    The pool ID to use when all other pools are detected as unhealthy.
    locationStrategies List<Property Map>
    Controls location-based steering for non-proxied requests.
    modifiedOn String
    The RFC3339 timestamp of when the load balancer was last modified.
    name String
    The DNS hostname to associate with your load balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the load balancer will take precedence and the DNS record will not be used.
    popPools List<Property Map>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    proxied Boolean
    Whether the hostname gets Cloudflare's origin protection. Defaults to false. Conflicts with ttl.
    randomSteerings List<Property Map>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<Property Map>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    rules List<Property Map>
    A list of rules for this load balancer to execute.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String>
    See session_affinity_attributes.
    sessionAffinityTtl Number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    zoneId String
    The zone ID to add the load balancer to. Modifying this attribute will force creation of a new resource.

    Supporting Types

    LoadBalancerAdaptiveRouting, LoadBalancerAdaptiveRoutingArgs

    FailoverAcrossPools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    FailoverAcrossPools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools Boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failover_across_pools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools Boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.

    LoadBalancerCountryPool, LoadBalancerCountryPoolArgs

    Country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    PoolIds List<string>
    A list of pool IDs in failover priority to use in the given country.
    Country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    PoolIds []string
    A list of pool IDs in failover priority to use in the given country.
    country String
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given country.
    country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds string[]
    A list of pool IDs in failover priority to use in the given country.
    country str
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use in the given country.
    country String
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given country.

    LoadBalancerLocationStrategy, LoadBalancerLocationStrategyArgs

    Mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    PreferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    Mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    PreferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode String
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs String
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode str
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    prefer_ecs str
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode String
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs String
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.

    LoadBalancerPopPool, LoadBalancerPopPoolArgs

    PoolIds List<string>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    Pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    PoolIds []string
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    Pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds List<String>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop String
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds string[]
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop str
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds List<String>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop String
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.

    LoadBalancerRandomSteering, LoadBalancerRandomSteeringArgs

    DefaultWeight double
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    PoolWeights Dictionary<string, double>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    DefaultWeight float64
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    PoolWeights map[string]float64
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight Double
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights Map<String,Double>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight number
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights {[key: string]: number}
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    default_weight float
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    pool_weights Mapping[str, float]
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight Number
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights Map<Number>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.

    LoadBalancerRegionPool, LoadBalancerRegionPoolArgs

    PoolIds List<string>
    A list of pool IDs in failover priority to use in the given region.
    Region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    PoolIds []string
    A list of pool IDs in failover priority to use in the given region.
    Region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given region.
    region String
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds string[]
    A list of pool IDs in failover priority to use in the given region.
    region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use in the given region.
    region str
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given region.
    region String
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.

    LoadBalancerRule, LoadBalancerRuleArgs

    Name string
    Human readable name for this rule.
    Condition string
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    Disabled bool
    A disabled rule will not be executed.
    FixedResponse LoadBalancerRuleFixedResponse
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    Overrides List<LoadBalancerRuleOverride>
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    Priority int
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    Terminates bool
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.
    Name string
    Human readable name for this rule.
    Condition string
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    Disabled bool
    A disabled rule will not be executed.
    FixedResponse LoadBalancerRuleFixedResponse
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    Overrides []LoadBalancerRuleOverride
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    Priority int
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    Terminates bool
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.
    name String
    Human readable name for this rule.
    condition String
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    disabled Boolean
    A disabled rule will not be executed.
    fixedResponse LoadBalancerRuleFixedResponse
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    overrides List<LoadBalancerRuleOverride>
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    priority Integer
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    terminates Boolean
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.
    name string
    Human readable name for this rule.
    condition string
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    disabled boolean
    A disabled rule will not be executed.
    fixedResponse LoadBalancerRuleFixedResponse
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    overrides LoadBalancerRuleOverride[]
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    priority number
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    terminates boolean
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.
    name str
    Human readable name for this rule.
    condition str
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    disabled bool
    A disabled rule will not be executed.
    fixed_response LoadBalancerRuleFixedResponse
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    overrides Sequence[LoadBalancerRuleOverride]
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    priority int
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    terminates bool
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.
    name String
    Human readable name for this rule.
    condition String
    The statement to evaluate to determine if this rule's effects should be applied. An empty condition is always true. See load balancing rules.
    disabled Boolean
    A disabled rule will not be executed.
    fixedResponse Property Map
    Settings for a HTTP response to return directly to the eyeball if the condition is true. Note: overrides or fixed_response must be set.
    overrides List<Property Map>
    The load balancer settings to alter if this rule's condition is true. Note: overrides or fixed_response must be set.
    priority Number
    Priority used when determining the order of rule execution. Lower values are executed first. If not provided, the list order will be used.
    terminates Boolean
    Terminates indicates that if this rule is true no further rules should be executed. Note: setting a fixed_response forces this field to true.

    LoadBalancerRuleFixedResponse, LoadBalancerRuleFixedResponseArgs

    contentType String
    location String
    messageBody String
    statusCode Integer
    contentType string
    location string
    messageBody string
    statusCode number
    contentType String
    location String
    messageBody String
    statusCode Number

    LoadBalancerRuleOverride, LoadBalancerRuleOverrideArgs

    AdaptiveRoutings List<LoadBalancerRuleOverrideAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools List<LoadBalancerRuleOverrideCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    DefaultPools List<string>
    FallbackPool string
    LocationStrategies List<LoadBalancerRuleOverrideLocationStrategy>
    Controls location-based steering for non-proxied requests.
    PopPools List<LoadBalancerRuleOverridePopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    RandomSteerings List<LoadBalancerRuleOverrideRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools List<LoadBalancerRuleOverrideRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes Dictionary<string, string>
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    AdaptiveRoutings []LoadBalancerRuleOverrideAdaptiveRouting
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    CountryPools []LoadBalancerRuleOverrideCountryPool
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    DefaultPools []string
    FallbackPool string
    LocationStrategies []LoadBalancerRuleOverrideLocationStrategy
    Controls location-based steering for non-proxied requests.
    PopPools []LoadBalancerRuleOverridePopPool
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    RandomSteerings []LoadBalancerRuleOverrideRandomSteering
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    RegionPools []LoadBalancerRuleOverrideRegionPool
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    SessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    SessionAffinityAttributes map[string]string
    See session_affinity_attributes.
    SessionAffinityTtl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    SteeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    Ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    adaptiveRoutings List<LoadBalancerRuleOverrideAdaptiveRouting>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<LoadBalancerRuleOverrideCountryPool>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    defaultPools List<String>
    fallbackPool String
    locationStrategies List<LoadBalancerRuleOverrideLocationStrategy>
    Controls location-based steering for non-proxied requests.
    popPools List<LoadBalancerRuleOverridePopPool>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    randomSteerings List<LoadBalancerRuleOverrideRandomSteering>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<LoadBalancerRuleOverrideRegionPool>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String,String>
    See session_affinity_attributes.
    sessionAffinityTtl Integer
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Integer
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    adaptiveRoutings LoadBalancerRuleOverrideAdaptiveRouting[]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools LoadBalancerRuleOverrideCountryPool[]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    defaultPools string[]
    fallbackPool string
    locationStrategies LoadBalancerRuleOverrideLocationStrategy[]
    Controls location-based steering for non-proxied requests.
    popPools LoadBalancerRuleOverridePopPool[]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    randomSteerings LoadBalancerRuleOverrideRandomSteering[]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools LoadBalancerRuleOverrideRegionPool[]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    sessionAffinity string
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes {[key: string]: string}
    See session_affinity_attributes.
    sessionAffinityTtl number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy string
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    adaptive_routings Sequence[LoadBalancerRuleOverrideAdaptiveRouting]
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    country_pools Sequence[LoadBalancerRuleOverrideCountryPool]
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    default_pools Sequence[str]
    fallback_pool str
    location_strategies Sequence[LoadBalancerRuleOverrideLocationStrategy]
    Controls location-based steering for non-proxied requests.
    pop_pools Sequence[LoadBalancerRuleOverridePopPool]
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    random_steerings Sequence[LoadBalancerRuleOverrideRandomSteering]
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    region_pools Sequence[LoadBalancerRuleOverrideRegionPool]
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    session_affinity str
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    session_affinity_attributes Mapping[str, str]
    See session_affinity_attributes.
    session_affinity_ttl int
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steering_policy str
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl int
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.
    adaptiveRoutings List<Property Map>
    Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests.
    countryPools List<Property Map>
    A set containing mappings of country codes to a list of pool IDs (ordered by their failover priority) for the given country.
    defaultPools List<String>
    fallbackPool String
    locationStrategies List<Property Map>
    Controls location-based steering for non-proxied requests.
    popPools List<Property Map>
    A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers.
    randomSteerings List<Property Map>
    Configures pool weights for random steering. When the steering_policy="random", a random pool is selected with probability proportional to these pool weights.
    regionPools List<Property Map>
    A set containing mappings of region codes to a list of pool IDs (ordered by their failover priority) for the given region.
    sessionAffinity String
    Specifies the type of session affinity the load balancer should use unless specified as none or "" (default). With value cookie, on the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. Value ip_cookie behaves the same as cookie except the initial origin selection is stable and based on the client's IP address. Available values: "", none, cookie, ip_cookie. Defaults to none.
    sessionAffinityAttributes Map<String>
    See session_affinity_attributes.
    sessionAffinityTtl Number
    Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 82800 (23 hours) will be used unless session_affinity_ttl is explicitly set. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. Valid values are between 1800 and 604800.
    steeringPolicy String
    The method the load balancer uses to determine the route to your origin. Value off uses default_pool_ids. Value geo uses pop_pools/country_pools/region_pools. For non-proxied requests, the country for country_pools is determined by location_strategy. Value random selects a pool randomly. Value dynamic_latency uses round trip time to select the closest pool in default_pool_ids (requires pool health checks). Value proximity uses the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by location_strategy for non-proxied requests. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, "" Defaults to "".
    ttl Number
    Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This cannot be set for proxied load balancers. Defaults to 30. Conflicts with proxied.

    LoadBalancerRuleOverrideAdaptiveRouting, LoadBalancerRuleOverrideAdaptiveRoutingArgs

    FailoverAcrossPools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    FailoverAcrossPools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools Boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failover_across_pools bool
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.
    failoverAcrossPools Boolean
    Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false, zero-downtime failover will only occur between origins within the same pool. Defaults to false.

    LoadBalancerRuleOverrideCountryPool, LoadBalancerRuleOverrideCountryPoolArgs

    Country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    PoolIds List<string>
    A list of pool IDs in failover priority to use in the given country.
    Country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    PoolIds []string
    A list of pool IDs in failover priority to use in the given country.
    country String
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given country.
    country string
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds string[]
    A list of pool IDs in failover priority to use in the given country.
    country str
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use in the given country.
    country String
    A country code which can be determined with the Load Balancing Regions API described here. Multiple entries should not be specified with the same country.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given country.

    LoadBalancerRuleOverrideLocationStrategy, LoadBalancerRuleOverrideLocationStrategyArgs

    Mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    PreferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    Mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    PreferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode String
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs String
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode string
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs string
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode str
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    prefer_ecs str
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.
    mode String
    Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful. Value pop will use the Cloudflare PoP location. Value resolver_ip will use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, it will use the Cloudflare PoP location. Available values: pop, resolver_ip. Defaults to pop.
    preferEcs String
    Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location. Value always will always prefer ECS, never will never prefer ECS, proximity will prefer ECS only when steering_policy="proximity", and geo will prefer ECS only when steering_policy="geo". Available values: always, never, proximity, geo. Defaults to proximity.

    LoadBalancerRuleOverridePopPool, LoadBalancerRuleOverridePopPoolArgs

    PoolIds List<string>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    Pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    PoolIds []string
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    Pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds List<String>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop String
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds string[]
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop string
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop str
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.
    poolIds List<String>
    A list of pool IDs in failover priority to use for traffic reaching the given PoP.
    pop String
    A 3-letter code for the Point-of-Presence. Allowed values can be found in the list of datacenters on the status page. Multiple entries should not be specified with the same PoP.

    LoadBalancerRuleOverrideRandomSteering, LoadBalancerRuleOverrideRandomSteeringArgs

    DefaultWeight double
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    PoolWeights Dictionary<string, double>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    DefaultWeight float64
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    PoolWeights map[string]float64
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight Double
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights Map<String,Double>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight number
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights {[key: string]: number}
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    default_weight float
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    pool_weights Mapping[str, float]
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
    defaultWeight Number
    The default weight for pools in the load balancer that are not specified in the pool_weights map.
    poolWeights Map<Number>
    A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.

    LoadBalancerRuleOverrideRegionPool, LoadBalancerRuleOverrideRegionPoolArgs

    PoolIds List<string>
    A list of pool IDs in failover priority to use in the given region.
    Region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    PoolIds []string
    A list of pool IDs in failover priority to use in the given region.
    Region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given region.
    region String
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds string[]
    A list of pool IDs in failover priority to use in the given region.
    region string
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    pool_ids Sequence[str]
    A list of pool IDs in failover priority to use in the given region.
    region str
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.
    poolIds List<String>
    A list of pool IDs in failover priority to use in the given region.
    region String
    A region code which must be in the list defined here. Multiple entries should not be specified with the same region.

    Import

     $ pulumi import cloudflare:index/loadBalancer:LoadBalancer example <zone_id>/<load_balancer_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Cloudflare pulumi/pulumi-cloudflare
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cloudflare Terraform Provider.
    cloudflare logo
    Viewing docs for Cloudflare v4.16.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.