1. Packages
  2. Cloudflare Provider
  3. API Docs
  4. LoadBalancer
Cloudflare v5.43.0 published on Wednesday, Nov 13, 2024 by Pulumi

cloudflare.LoadBalancer

Explore with Pulumi AI

cloudflare logo
Cloudflare v5.43.0 published on Wednesday, Nov 13, 2024 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

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudflare from "@pulumi/cloudflare";
    
    const exampleLoadBalancerPool = new cloudflare.LoadBalancerPool("example", {
        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 example = new cloudflare.LoadBalancer("example", {
        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("example",
        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.
    example = cloudflare.LoadBalancer("example",
        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=[{
            "pop": "LAX",
            "pool_ids": [example_load_balancer_pool.id],
        }],
        country_pools=[{
            "country": "US",
            "pool_ids": [example_load_balancer_pool.id],
        }],
        region_pools=[{
            "region": "WNAM",
            "pool_ids": [example_load_balancer_pool.id],
        }],
        rules=[{
            "name": "example rule",
            "condition": "http.request.uri.path contains \"testing\"",
            "fixed_response": {
                "message_body": "hello",
                "status_code": 200,
                "content_type": "html",
                "location": "www.example.com",
            },
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleLoadBalancerPool, err := cloudflare.NewLoadBalancerPool(ctx, "example", &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
    		}
    		// 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.
    		_, err = cloudflare.NewLoadBalancer(ctx, "example", &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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cloudflare = Pulumi.Cloudflare;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleLoadBalancerPool = new Cloudflare.LoadBalancerPool("example", 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 example = new Cloudflare.LoadBalancer("example", 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 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());
    
            // 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 example = new LoadBalancer("example", 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());
    
        }
    }
    
    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.
      example:
        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
        name: example
        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[Sequence[LoadBalancerSessionAffinityAttributeArgs]] = 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 = new[]
                        {
                            new Cloudflare.Inputs.LoadBalancerRuleOverrideSessionAffinityAttributeArgs
                            {
                                Headers = new[]
                                {
                                    "string",
                                },
                                RequireAllHeaders = false,
                                Samesite = "string",
                                Secure = "string",
                                ZeroDowntimeFailover = "string",
                            },
                        },
                        SessionAffinityTtl = 0,
                        SteeringPolicy = "string",
                        Ttl = 0,
                    },
                },
                Priority = 0,
                Terminates = false,
            },
        },
        SessionAffinity = "string",
        SessionAffinityAttributes = new[]
        {
            new Cloudflare.Inputs.LoadBalancerSessionAffinityAttributeArgs
            {
                DrainDuration = 0,
                Headers = new[]
                {
                    "string",
                },
                RequireAllHeaders = false,
                Samesite = "string",
                Secure = "string",
                ZeroDowntimeFailover = "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: cloudflare.LoadBalancerRuleOverrideSessionAffinityAttributeArray{
    						&cloudflare.LoadBalancerRuleOverrideSessionAffinityAttributeArgs{
    							Headers: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							RequireAllHeaders:    pulumi.Bool(false),
    							Samesite:             pulumi.String("string"),
    							Secure:               pulumi.String("string"),
    							ZeroDowntimeFailover: 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: cloudflare.LoadBalancerSessionAffinityAttributeArray{
    		&cloudflare.LoadBalancerSessionAffinityAttributeArgs{
    			DrainDuration: pulumi.Int(0),
    			Headers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			RequireAllHeaders:    pulumi.Bool(false),
    			Samesite:             pulumi.String("string"),
    			Secure:               pulumi.String("string"),
    			ZeroDowntimeFailover: 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)
            .poolWeights(Map.of("string", 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)
                    .poolWeights(Map.of("string", 0))
                    .build())
                .regionPools(LoadBalancerRuleOverrideRegionPoolArgs.builder()
                    .poolIds("string")
                    .region("string")
                    .build())
                .sessionAffinity("string")
                .sessionAffinityAttributes(LoadBalancerRuleOverrideSessionAffinityAttributeArgs.builder()
                    .headers("string")
                    .requireAllHeaders(false)
                    .samesite("string")
                    .secure("string")
                    .zeroDowntimeFailover("string")
                    .build())
                .sessionAffinityTtl(0)
                .steeringPolicy("string")
                .ttl(0)
                .build())
            .priority(0)
            .terminates(false)
            .build())
        .sessionAffinity("string")
        .sessionAffinityAttributes(LoadBalancerSessionAffinityAttributeArgs.builder()
            .drainDuration(0)
            .headers("string")
            .requireAllHeaders(false)
            .samesite("string")
            .secure("string")
            .zeroDowntimeFailover("string")
            .build())
        .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": [{
                    "headers": ["string"],
                    "require_all_headers": False,
                    "samesite": "string",
                    "secure": "string",
                    "zero_downtime_failover": "string",
                }],
                "session_affinity_ttl": 0,
                "steering_policy": "string",
                "ttl": 0,
            }],
            "priority": 0,
            "terminates": False,
        }],
        session_affinity="string",
        session_affinity_attributes=[{
            "drain_duration": 0,
            "headers": ["string"],
            "require_all_headers": False,
            "samesite": "string",
            "secure": "string",
            "zero_downtime_failover": "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: [{
                    headers: ["string"],
                    requireAllHeaders: false,
                    samesite: "string",
                    secure: "string",
                    zeroDowntimeFailover: "string",
                }],
                sessionAffinityTtl: 0,
                steeringPolicy: "string",
                ttl: 0,
            }],
            priority: 0,
            terminates: false,
        }],
        sessionAffinity: "string",
        sessionAffinityAttributes: [{
            drainDuration: 0,
            headers: ["string"],
            requireAllHeaders: false,
            samesite: "string",
            secure: "string",
            zeroDowntimeFailover: "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:
                    - headers:
                        - string
                      requireAllHeaders: false
                      samesite: string
                      secure: string
                      zeroDowntimeFailover: string
                  sessionAffinityTtl: 0
                  steeringPolicy: string
                  ttl: 0
              priority: 0
              terminates: false
        sessionAffinity: string
        sessionAffinityAttributes:
            - drainDuration: 0
              headers:
                - string
              requireAllHeaders: false
              samesite: string
              secure: string
              zeroDowntimeFailover: 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    SessionAffinityAttributes List<LoadBalancerSessionAffinityAttribute>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    SessionAffinityAttributes []LoadBalancerSessionAffinityAttributeArgs
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes List<LoadBalancerSessionAffinityAttribute>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes LoadBalancerSessionAffinityAttribute[]
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    session_affinity_attributes Sequence[LoadBalancerSessionAffinityAttributeArgs]
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes List<Property Map>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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[Sequence[LoadBalancerSessionAffinityAttributeArgs]] = 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)
    Resource lookup is not supported in YAML
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    SessionAffinityAttributes List<LoadBalancerSessionAffinityAttribute>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    SessionAffinityAttributes []LoadBalancerSessionAffinityAttributeArgs
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes List<LoadBalancerSessionAffinityAttribute>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes LoadBalancerSessionAffinityAttribute[]
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    session_affinity_attributes Sequence[LoadBalancerSessionAffinityAttributeArgs]
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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, header. Defaults to none.
    sessionAffinityAttributes List<Property Map>
    Configure attributes for session affinity.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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
    The value of the HTTP context-type header for this fixed response.
    Location string
    The value of the HTTP location header for this fixed response.
    MessageBody string
    The text used as the html body for this fixed response.
    StatusCode int
    The HTTP status code used for this fixed response.
    ContentType string
    The value of the HTTP context-type header for this fixed response.
    Location string
    The value of the HTTP location header for this fixed response.
    MessageBody string
    The text used as the html body for this fixed response.
    StatusCode int
    The HTTP status code used for this fixed response.
    contentType String
    The value of the HTTP context-type header for this fixed response.
    location String
    The value of the HTTP location header for this fixed response.
    messageBody String
    The text used as the html body for this fixed response.
    statusCode Integer
    The HTTP status code used for this fixed response.
    contentType string
    The value of the HTTP context-type header for this fixed response.
    location string
    The value of the HTTP location header for this fixed response.
    messageBody string
    The text used as the html body for this fixed response.
    statusCode number
    The HTTP status code used for this fixed response.
    content_type str
    The value of the HTTP context-type header for this fixed response.
    location str
    The value of the HTTP location header for this fixed response.
    message_body str
    The text used as the html body for this fixed response.
    status_code int
    The HTTP status code used for this fixed response.
    contentType String
    The value of the HTTP context-type header for this fixed response.
    location String
    The value of the HTTP location header for this fixed response.
    messageBody String
    The text used as the html body for this fixed response.
    statusCode Number
    The HTTP status code used for this fixed response.

    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>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    FallbackPool string
    The pool ID to use when all other pools are detected as unhealthy.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    SessionAffinityAttributes List<LoadBalancerRuleOverrideSessionAffinityAttribute>
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.
    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
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    FallbackPool string
    The pool ID to use when all other pools are detected as unhealthy.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    SessionAffinityAttributes []LoadBalancerRuleOverrideSessionAffinityAttribute
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.
    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>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPool String
    The pool ID to use when all other pools are detected as unhealthy.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    sessionAffinityAttributes List<LoadBalancerRuleOverrideSessionAffinityAttribute>
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.
    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[]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPool string
    The pool ID to use when all other pools are detected as unhealthy.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    sessionAffinityAttributes LoadBalancerRuleOverrideSessionAffinityAttribute[]
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.
    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]
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallback_pool str
    The pool ID to use when all other pools are detected as unhealthy.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    session_affinity_attributes Sequence[LoadBalancerRuleOverrideSessionAffinityAttribute]
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.
    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>
    A list of pool IDs ordered by their failover priority. Used whenever pop_pools/country_pools/region_pools are not defined.
    fallbackPool 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.
    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. When steering_policy="random", a random pool is selected with probability proportional to pool weights. When steering_policy="least_outstanding_requests", pool weights are used to scale each pool's outstanding requests. When steering_policy="least_connections", pool weights are used to scale each pool's open connections.
    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
    Configure attributes for session affinity.
    sessionAffinityAttributes List<Property Map>
    Configure attributes for session affinity. Note that the property drain_duration is not currently supported as a rule override.
    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 least_outstanding_requests selects a pool by taking into consideration random_steering weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others. Value least_connections selects a pool by taking into consideration random_steering weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections. Value "" maps to geo if you use pop_pools/country_pools/region_pools otherwise off. Available values: off, geo, dynamic_latency, random, proximity, least_outstanding_requests, least_connections, "" 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.

    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.
    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.
    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.
    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.
    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.
    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.

    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.

    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.

    LoadBalancerRuleOverrideSessionAffinityAttribute, LoadBalancerRuleOverrideSessionAffinityAttributeArgs

    Headers List<string>
    Configures the HTTP header names to use when header session affinity is enabled.
    RequireAllHeaders bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    Samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    Secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    ZeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.
    Headers []string
    Configures the HTTP header names to use when header session affinity is enabled.
    RequireAllHeaders bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    Samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    Secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    ZeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.
    headers List<String>
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders Boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite String
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    secure String
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    zeroDowntimeFailover String
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.
    headers string[]
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    zeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.
    headers Sequence[str]
    Configures the HTTP header names to use when header session affinity is enabled.
    require_all_headers bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite str
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    secure str
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    zero_downtime_failover str
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.
    headers List<String>
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders Boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite String
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict.
    secure String
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never.
    zeroDowntimeFailover String
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky.

    LoadBalancerSessionAffinityAttribute, LoadBalancerSessionAffinityAttributeArgs

    DrainDuration int
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    Headers List<string>
    Configures the HTTP header names to use when header session affinity is enabled.
    RequireAllHeaders bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    Samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    Secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    ZeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.
    DrainDuration int
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    Headers []string
    Configures the HTTP header names to use when header session affinity is enabled.
    RequireAllHeaders bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    Samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    Secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    ZeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.
    drainDuration Integer
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    headers List<String>
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders Boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite String
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    secure String
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    zeroDowntimeFailover String
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.
    drainDuration number
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    headers string[]
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite string
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    secure string
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    zeroDowntimeFailover string
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.
    drain_duration int
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    headers Sequence[str]
    Configures the HTTP header names to use when header session affinity is enabled.
    require_all_headers bool
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite str
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    secure str
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    zero_downtime_failover str
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.
    drainDuration Number
    Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. Defaults to 0.
    headers List<String>
    Configures the HTTP header names to use when header session affinity is enabled.
    requireAllHeaders Boolean
    Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to false.
    samesite String
    Configures the SameSite attribute on session affinity cookie. Value Auto will be translated to Lax or None depending if Always Use HTTPS is enabled. Note: when using value None, then you can not set secure="Never". Available values: Auto, Lax, None, Strict. Defaults to Auto.
    secure String
    Configures the Secure attribute on session affinity cookie. Value Always indicates the Secure attribute will be set in the Set-Cookie header, Never indicates the Secure attribute will not be set, and Auto will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: Auto, Always, Never. Defaults to Auto.
    zeroDowntimeFailover String
    Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value none means no failover takes place for sessions pinned to the origin. Value temporary means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value sticky means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: none, temporary, sticky. Defaults to none.

    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
    Cloudflare v5.43.0 published on Wednesday, Nov 13, 2024 by Pulumi