1. Packages
  2. AWS Classic
  3. API Docs
  4. lb
  5. TargetGroup

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi

aws.lb.TargetGroup

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi

    Provides a Target Group resource for use with Load Balancer resources.

    Note: aws.alb.TargetGroup is known as aws.lb.TargetGroup. The functionality is identical.

    Example Usage

    Instance Target Group

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const main = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});
    const test = new aws.lb.TargetGroup("test", {
        name: "tf-example-lb-tg",
        port: 80,
        protocol: "HTTP",
        vpcId: main.id,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
    test = aws.lb.TargetGroup("test",
        name="tf-example-lb-tg",
        port=80,
        protocol="HTTP",
        vpc_id=main.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
    			CidrBlock: pulumi.String("10.0.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = lb.NewTargetGroup(ctx, "test", &lb.TargetGroupArgs{
    			Name:     pulumi.String("tf-example-lb-tg"),
    			Port:     pulumi.Int(80),
    			Protocol: pulumi.String("HTTP"),
    			VpcId:    main.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Aws.Ec2.Vpc("main", new()
        {
            CidrBlock = "10.0.0.0/16",
        });
    
        var test = new Aws.LB.TargetGroup("test", new()
        {
            Name = "tf-example-lb-tg",
            Port = 80,
            Protocol = "HTTP",
            VpcId = main.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ec2.Vpc;
    import com.pulumi.aws.ec2.VpcArgs;
    import com.pulumi.aws.lb.TargetGroup;
    import com.pulumi.aws.lb.TargetGroupArgs;
    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 main = new Vpc("main", VpcArgs.builder()        
                .cidrBlock("10.0.0.0/16")
                .build());
    
            var test = new TargetGroup("test", TargetGroupArgs.builder()        
                .name("tf-example-lb-tg")
                .port(80)
                .protocol("HTTP")
                .vpcId(main.id())
                .build());
    
        }
    }
    
    resources:
      test:
        type: aws:lb:TargetGroup
        properties:
          name: tf-example-lb-tg
          port: 80
          protocol: HTTP
          vpcId: ${main.id}
      main:
        type: aws:ec2:Vpc
        properties:
          cidrBlock: 10.0.0.0/16
    

    IP Target Group

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const main = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});
    const ip_example = new aws.lb.TargetGroup("ip-example", {
        name: "tf-example-lb-tg",
        port: 80,
        protocol: "HTTP",
        targetType: "ip",
        vpcId: main.id,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
    ip_example = aws.lb.TargetGroup("ip-example",
        name="tf-example-lb-tg",
        port=80,
        protocol="HTTP",
        target_type="ip",
        vpc_id=main.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
    			CidrBlock: pulumi.String("10.0.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = lb.NewTargetGroup(ctx, "ip-example", &lb.TargetGroupArgs{
    			Name:       pulumi.String("tf-example-lb-tg"),
    			Port:       pulumi.Int(80),
    			Protocol:   pulumi.String("HTTP"),
    			TargetType: pulumi.String("ip"),
    			VpcId:      main.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Aws.Ec2.Vpc("main", new()
        {
            CidrBlock = "10.0.0.0/16",
        });
    
        var ip_example = new Aws.LB.TargetGroup("ip-example", new()
        {
            Name = "tf-example-lb-tg",
            Port = 80,
            Protocol = "HTTP",
            TargetType = "ip",
            VpcId = main.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ec2.Vpc;
    import com.pulumi.aws.ec2.VpcArgs;
    import com.pulumi.aws.lb.TargetGroup;
    import com.pulumi.aws.lb.TargetGroupArgs;
    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 main = new Vpc("main", VpcArgs.builder()        
                .cidrBlock("10.0.0.0/16")
                .build());
    
            var ip_example = new TargetGroup("ip-example", TargetGroupArgs.builder()        
                .name("tf-example-lb-tg")
                .port(80)
                .protocol("HTTP")
                .targetType("ip")
                .vpcId(main.id())
                .build());
    
        }
    }
    
    resources:
      ip-example:
        type: aws:lb:TargetGroup
        properties:
          name: tf-example-lb-tg
          port: 80
          protocol: HTTP
          targetType: ip
          vpcId: ${main.id}
      main:
        type: aws:ec2:Vpc
        properties:
          cidrBlock: 10.0.0.0/16
    

    Lambda Target Group

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const lambda_example = new aws.lb.TargetGroup("lambda-example", {
        name: "tf-example-lb-tg",
        targetType: "lambda",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    lambda_example = aws.lb.TargetGroup("lambda-example",
        name="tf-example-lb-tg",
        target_type="lambda")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lb.NewTargetGroup(ctx, "lambda-example", &lb.TargetGroupArgs{
    			Name:       pulumi.String("tf-example-lb-tg"),
    			TargetType: pulumi.String("lambda"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var lambda_example = new Aws.LB.TargetGroup("lambda-example", new()
        {
            Name = "tf-example-lb-tg",
            TargetType = "lambda",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lb.TargetGroup;
    import com.pulumi.aws.lb.TargetGroupArgs;
    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 lambda_example = new TargetGroup("lambda-example", TargetGroupArgs.builder()        
                .name("tf-example-lb-tg")
                .targetType("lambda")
                .build());
    
        }
    }
    
    resources:
      lambda-example:
        type: aws:lb:TargetGroup
        properties:
          name: tf-example-lb-tg
          targetType: lambda
    

    ALB Target Group

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const alb_example = new aws.lb.TargetGroup("alb-example", {
        name: "tf-example-lb-alb-tg",
        targetType: "alb",
        port: 80,
        protocol: "TCP",
        vpcId: main.id,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    alb_example = aws.lb.TargetGroup("alb-example",
        name="tf-example-lb-alb-tg",
        target_type="alb",
        port=80,
        protocol="TCP",
        vpc_id=main["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lb.NewTargetGroup(ctx, "alb-example", &lb.TargetGroupArgs{
    			Name:       pulumi.String("tf-example-lb-alb-tg"),
    			TargetType: pulumi.String("alb"),
    			Port:       pulumi.Int(80),
    			Protocol:   pulumi.String("TCP"),
    			VpcId:      pulumi.Any(main.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var alb_example = new Aws.LB.TargetGroup("alb-example", new()
        {
            Name = "tf-example-lb-alb-tg",
            TargetType = "alb",
            Port = 80,
            Protocol = "TCP",
            VpcId = main.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lb.TargetGroup;
    import com.pulumi.aws.lb.TargetGroupArgs;
    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 alb_example = new TargetGroup("alb-example", TargetGroupArgs.builder()        
                .name("tf-example-lb-alb-tg")
                .targetType("alb")
                .port(80)
                .protocol("TCP")
                .vpcId(main.id())
                .build());
    
        }
    }
    
    resources:
      alb-example:
        type: aws:lb:TargetGroup
        properties:
          name: tf-example-lb-alb-tg
          targetType: alb
          port: 80
          protocol: TCP
          vpcId: ${main.id}
    

    Target group with unhealthy connection termination disabled

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const tcp_example = new aws.lb.TargetGroup("tcp-example", {
        name: "tf-example-lb-nlb-tg",
        port: 25,
        protocol: "TCP",
        vpcId: main.id,
        targetHealthStates: [{
            enableUnhealthyConnectionTermination: false,
        }],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    tcp_example = aws.lb.TargetGroup("tcp-example",
        name="tf-example-lb-nlb-tg",
        port=25,
        protocol="TCP",
        vpc_id=main["id"],
        target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(
            enable_unhealthy_connection_termination=False,
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lb.NewTargetGroup(ctx, "tcp-example", &lb.TargetGroupArgs{
    			Name:     pulumi.String("tf-example-lb-nlb-tg"),
    			Port:     pulumi.Int(25),
    			Protocol: pulumi.String("TCP"),
    			VpcId:    pulumi.Any(main.Id),
    			TargetHealthStates: lb.TargetGroupTargetHealthStateArray{
    				&lb.TargetGroupTargetHealthStateArgs{
    					EnableUnhealthyConnectionTermination: pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var tcp_example = new Aws.LB.TargetGroup("tcp-example", new()
        {
            Name = "tf-example-lb-nlb-tg",
            Port = 25,
            Protocol = "TCP",
            VpcId = main.Id,
            TargetHealthStates = new[]
            {
                new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs
                {
                    EnableUnhealthyConnectionTermination = false,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lb.TargetGroup;
    import com.pulumi.aws.lb.TargetGroupArgs;
    import com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;
    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 tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder()        
                .name("tf-example-lb-nlb-tg")
                .port(25)
                .protocol("TCP")
                .vpcId(main.id())
                .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()
                    .enableUnhealthyConnectionTermination(false)
                    .build())
                .build());
    
        }
    }
    
    resources:
      tcp-example:
        type: aws:lb:TargetGroup
        properties:
          name: tf-example-lb-nlb-tg
          port: 25
          protocol: TCP
          vpcId: ${main.id}
          targetHealthStates:
            - enableUnhealthyConnectionTermination: false
    

    Create TargetGroup Resource

    new TargetGroup(name: string, args?: TargetGroupArgs, opts?: CustomResourceOptions);
    @overload
    def TargetGroup(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    connection_termination: Optional[bool] = None,
                    deregistration_delay: Optional[int] = None,
                    health_check: Optional[TargetGroupHealthCheckArgs] = None,
                    ip_address_type: Optional[str] = None,
                    lambda_multi_value_headers_enabled: Optional[bool] = None,
                    load_balancing_algorithm_type: Optional[str] = None,
                    load_balancing_anomaly_mitigation: Optional[str] = None,
                    load_balancing_cross_zone_enabled: Optional[str] = None,
                    name: Optional[str] = None,
                    name_prefix: Optional[str] = None,
                    port: Optional[int] = None,
                    preserve_client_ip: Optional[str] = None,
                    protocol: Optional[str] = None,
                    protocol_version: Optional[str] = None,
                    proxy_protocol_v2: Optional[bool] = None,
                    slow_start: Optional[int] = None,
                    stickiness: Optional[TargetGroupStickinessArgs] = None,
                    tags: Optional[Mapping[str, str]] = None,
                    target_failovers: Optional[Sequence[TargetGroupTargetFailoverArgs]] = None,
                    target_health_states: Optional[Sequence[TargetGroupTargetHealthStateArgs]] = None,
                    target_type: Optional[str] = None,
                    vpc_id: Optional[str] = None)
    @overload
    def TargetGroup(resource_name: str,
                    args: Optional[TargetGroupArgs] = None,
                    opts: Optional[ResourceOptions] = None)
    func NewTargetGroup(ctx *Context, name string, args *TargetGroupArgs, opts ...ResourceOption) (*TargetGroup, error)
    public TargetGroup(string name, TargetGroupArgs? args = null, CustomResourceOptions? opts = null)
    public TargetGroup(String name, TargetGroupArgs args)
    public TargetGroup(String name, TargetGroupArgs args, CustomResourceOptions options)
    
    type: aws:lb:TargetGroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args TargetGroupArgs
    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 TargetGroupArgs
    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 TargetGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TargetGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TargetGroupArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    TargetGroup Resource Properties

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

    Inputs

    The TargetGroup resource accepts the following input properties:

    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    HealthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    IpAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    LambdaMultiValueHeadersEnabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    LoadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    LoadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    LoadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    Name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    ProtocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    Stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TargetFailovers List<TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates List<TargetGroupTargetHealthState>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    VpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    HealthCheck TargetGroupHealthCheckArgs
    Health Check configuration block. Detailed below.
    IpAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    LambdaMultiValueHeadersEnabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    LoadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    LoadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    LoadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    Name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    ProtocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    Stickiness TargetGroupStickinessArgs
    Stickiness configuration block. Detailed below.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TargetFailovers []TargetGroupTargetFailoverArgs
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates []TargetGroupTargetHealthStateArgs
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    VpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Integer
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType String
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled Boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancingAlgorithmType String
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation String
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled String
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name String
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Integer
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion String
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Integer
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    targetFailovers List<TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<TargetGroupTargetHealthState>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId String
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    connectionTermination boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay number
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port number
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart number
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    targetFailovers TargetGroupTargetFailover[]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates TargetGroupTargetHealthState[]
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    connection_termination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistration_delay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    health_check TargetGroupHealthCheckArgs
    Health Check configuration block. Detailed below.
    ip_address_type str
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambda_multi_value_headers_enabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    load_balancing_algorithm_type str
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    load_balancing_anomaly_mitigation str
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    load_balancing_cross_zone_enabled str
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name str
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserve_client_ip str
    Whether client IP preservation is enabled. See doc for more information.
    protocol str
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocol_version str
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxy_protocol_v2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slow_start int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickinessArgs
    Stickiness configuration block. Detailed below.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    target_failovers Sequence[TargetGroupTargetFailoverArgs]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    target_health_states Sequence[TargetGroupTargetHealthStateArgs]
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    target_type str

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpc_id str
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Number
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck Property Map
    Health Check configuration block. Detailed below.
    ipAddressType String
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled Boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancingAlgorithmType String
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation String
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled String
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name String
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Number
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion String
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Number
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness Property Map
    Stickiness configuration block. Detailed below.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    targetFailovers List<Property Map>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<Property Map>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId String
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.

    Outputs

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

    Arn string
    ARN of the Target Group (matches id).
    ArnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    Id string
    The provider-assigned unique ID for this managed resource.
    LoadBalancerArns List<string>
    ARNs of the Load Balancers associated with the Target Group.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    Arn string
    ARN of the Target Group (matches id).
    ArnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    Id string
    The provider-assigned unique ID for this managed resource.
    LoadBalancerArns []string
    ARNs of the Load Balancers associated with the Target Group.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn String
    ARN of the Target Group (matches id).
    arnSuffix String
    ARN suffix for use with CloudWatch Metrics.
    id String
    The provider-assigned unique ID for this managed resource.
    loadBalancerArns List<String>
    ARNs of the Load Balancers associated with the Target Group.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn string
    ARN of the Target Group (matches id).
    arnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    id string
    The provider-assigned unique ID for this managed resource.
    loadBalancerArns string[]
    ARNs of the Load Balancers associated with the Target Group.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn str
    ARN of the Target Group (matches id).
    arn_suffix str
    ARN suffix for use with CloudWatch Metrics.
    id str
    The provider-assigned unique ID for this managed resource.
    load_balancer_arns Sequence[str]
    ARNs of the Load Balancers associated with the Target Group.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn String
    ARN of the Target Group (matches id).
    arnSuffix String
    ARN suffix for use with CloudWatch Metrics.
    id String
    The provider-assigned unique ID for this managed resource.
    loadBalancerArns List<String>
    ARNs of the Load Balancers associated with the Target Group.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    Look up Existing TargetGroup Resource

    Get an existing TargetGroup 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?: TargetGroupState, opts?: CustomResourceOptions): TargetGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            arn_suffix: Optional[str] = None,
            connection_termination: Optional[bool] = None,
            deregistration_delay: Optional[int] = None,
            health_check: Optional[TargetGroupHealthCheckArgs] = None,
            ip_address_type: Optional[str] = None,
            lambda_multi_value_headers_enabled: Optional[bool] = None,
            load_balancer_arns: Optional[Sequence[str]] = None,
            load_balancing_algorithm_type: Optional[str] = None,
            load_balancing_anomaly_mitigation: Optional[str] = None,
            load_balancing_cross_zone_enabled: Optional[str] = None,
            name: Optional[str] = None,
            name_prefix: Optional[str] = None,
            port: Optional[int] = None,
            preserve_client_ip: Optional[str] = None,
            protocol: Optional[str] = None,
            protocol_version: Optional[str] = None,
            proxy_protocol_v2: Optional[bool] = None,
            slow_start: Optional[int] = None,
            stickiness: Optional[TargetGroupStickinessArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            target_failovers: Optional[Sequence[TargetGroupTargetFailoverArgs]] = None,
            target_health_states: Optional[Sequence[TargetGroupTargetHealthStateArgs]] = None,
            target_type: Optional[str] = None,
            vpc_id: Optional[str] = None) -> TargetGroup
    func GetTargetGroup(ctx *Context, name string, id IDInput, state *TargetGroupState, opts ...ResourceOption) (*TargetGroup, error)
    public static TargetGroup Get(string name, Input<string> id, TargetGroupState? state, CustomResourceOptions? opts = null)
    public static TargetGroup get(String name, Output<String> id, TargetGroupState 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:
    Arn string
    ARN of the Target Group (matches id).
    ArnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    HealthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    IpAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    LambdaMultiValueHeadersEnabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    LoadBalancerArns List<string>
    ARNs of the Load Balancers associated with the Target Group.
    LoadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    LoadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    LoadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    Name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    ProtocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    Stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    TargetFailovers List<TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates List<TargetGroupTargetHealthState>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    VpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    Arn string
    ARN of the Target Group (matches id).
    ArnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    HealthCheck TargetGroupHealthCheckArgs
    Health Check configuration block. Detailed below.
    IpAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    LambdaMultiValueHeadersEnabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    LoadBalancerArns []string
    ARNs of the Load Balancers associated with the Target Group.
    LoadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    LoadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    LoadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    Name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    ProtocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    Stickiness TargetGroupStickinessArgs
    Stickiness configuration block. Detailed below.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    TargetFailovers []TargetGroupTargetFailoverArgs
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates []TargetGroupTargetHealthStateArgs
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    VpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    arn String
    ARN of the Target Group (matches id).
    arnSuffix String
    ARN suffix for use with CloudWatch Metrics.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Integer
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType String
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled Boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancerArns List<String>
    ARNs of the Load Balancers associated with the Target Group.
    loadBalancingAlgorithmType String
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation String
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled String
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name String
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Integer
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion String
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Integer
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    targetFailovers List<TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<TargetGroupTargetHealthState>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId String
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    arn string
    ARN of the Target Group (matches id).
    arnSuffix string
    ARN suffix for use with CloudWatch Metrics.
    connectionTermination boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay number
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType string
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancerArns string[]
    ARNs of the Load Balancers associated with the Target Group.
    loadBalancingAlgorithmType string
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation string
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled string
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name string
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port number
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    protocol string
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion string
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart number
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    targetFailovers TargetGroupTargetFailover[]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates TargetGroupTargetHealthState[]
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType string

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId string
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    arn str
    ARN of the Target Group (matches id).
    arn_suffix str
    ARN suffix for use with CloudWatch Metrics.
    connection_termination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistration_delay int
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    health_check TargetGroupHealthCheckArgs
    Health Check configuration block. Detailed below.
    ip_address_type str
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambda_multi_value_headers_enabled bool
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    load_balancer_arns Sequence[str]
    ARNs of the Load Balancers associated with the Target Group.
    load_balancing_algorithm_type str
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    load_balancing_anomaly_mitigation str
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    load_balancing_cross_zone_enabled str
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name str
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port int
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserve_client_ip str
    Whether client IP preservation is enabled. See doc for more information.
    protocol str
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocol_version str
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxy_protocol_v2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slow_start int
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness TargetGroupStickinessArgs
    Stickiness configuration block. Detailed below.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    target_failovers Sequence[TargetGroupTargetFailoverArgs]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    target_health_states Sequence[TargetGroupTargetHealthStateArgs]
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    target_type str

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpc_id str
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    arn String
    ARN of the Target Group (matches id).
    arnSuffix String
    ARN suffix for use with CloudWatch Metrics.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Number
    Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
    healthCheck Property Map
    Health Check configuration block. Detailed below.
    ipAddressType String
    The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6.
    lambdaMultiValueHeadersEnabled Boolean
    Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when target_type is lambda. Default is false.
    loadBalancerArns List<String>
    ARNs of the Load Balancers associated with the Target Group.
    loadBalancingAlgorithmType String
    Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.
    loadBalancingAnomalyMitigation String
    Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
    loadBalancingCrossZoneEnabled String
    Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "use_load_balancer_configuration". The default is "use_load_balancer_configuration".
    name String
    Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Number
    Port on which targets receive traffic, unless overridden when registering a specific target. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDP. Required when target_type is instance, ip, or alb. Does not apply when target_type is lambda.
    protocolVersion String
    Only applicable when protocol is HTTP or HTTPS. The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Number
    Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
    stickiness Property Map
    Stickiness configuration block. Detailed below.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    targetFailovers List<Property Map>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<Property Map>
    Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See target_health_state for more information.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc for supported values. The default is instance.

    Note that you can't specify targets for a target group using both instance IDs and IP addresses.

    If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

    Network Load Balancers do not support the lambda target type.

    Application Load Balancers do not support the alb target type.

    vpcId String
    Identifier of the VPC in which to create the target group. Required when target_type is instance, ip or alb. Does not apply when target_type is lambda.

    Supporting Types

    TargetGroupHealthCheck, TargetGroupHealthCheckArgs

    Enabled bool
    Whether health checks are enabled. Defaults to true.
    HealthyThreshold int
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    Interval int
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    Matcher string
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    Path string
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    Port string
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    Protocol string
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    Timeout int
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    UnhealthyThreshold int
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.
    Enabled bool
    Whether health checks are enabled. Defaults to true.
    HealthyThreshold int
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    Interval int
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    Matcher string
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    Path string
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    Port string
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    Protocol string
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    Timeout int
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    UnhealthyThreshold int
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.
    enabled Boolean
    Whether health checks are enabled. Defaults to true.
    healthyThreshold Integer
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    interval Integer
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    matcher String
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    path String
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    port String
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    protocol String
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    timeout Integer
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    unhealthyThreshold Integer
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.
    enabled boolean
    Whether health checks are enabled. Defaults to true.
    healthyThreshold number
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    interval number
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    matcher string
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    path string
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    port string
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    protocol string
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    timeout number
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    unhealthyThreshold number
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.
    enabled bool
    Whether health checks are enabled. Defaults to true.
    healthy_threshold int
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    interval int
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    matcher str
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    path str
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    port str
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    protocol str
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    timeout int
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    unhealthy_threshold int
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.
    enabled Boolean
    Whether health checks are enabled. Defaults to true.
    healthyThreshold Number
    Number of consecutive health check successes required before considering a target healthy. The range is 2-10. Defaults to 3.
    interval Number
    Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. For lambda target groups, it needs to be greater than the timeout of the underlying lambda. Defaults to 30.
    matcher String
    The HTTP or gRPC codes to use when checking for a successful response from a target. The health_check.protocol must be one of HTTP or HTTPS or the target_type must be lambda. Values can be comma-separated individual values (e.g., "200,202") or a range of values (e.g., "200-299").

    • For gRPC-based target groups (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is GRPC), values can be between 0 and 99. The default is 12.
    • When used with an Application Load Balancer (i.e., the protocol is one of HTTP or HTTPS and the protocol_version is not GRPC), values can be between 200 and 499. The default is 200.
    • When used with a Network Load Balancer (i.e., the protocol is one of TCP, TCP_UDP, UDP, or TLS), values can be between 200 and 599. The default is 200-399.
    • When the target_type is lambda, values can be between 200 and 499. The default is 200.
    path String
    Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

    • For HTTP and HTTPS health checks, the default is /.
    • For gRPC health checks, the default is /Amazon Web Services.ALB/healthcheck.
    port String
    The port the load balancer uses when performing health checks on targets. Valid values are either traffic-port, to use the same port as the target group, or a valid port number between 1 and 65536. Default is traffic-port.
    protocol String
    Protocol the load balancer uses when performing health checks on targets. Must be one of TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Default is HTTP. Cannot be specified when the target_type is lambda.
    timeout Number
    Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.
    unhealthyThreshold Number
    Number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. Defaults to 3.

    TargetGroupStickiness, TargetGroupStickinessArgs

    Type string
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    CookieDuration int
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    CookieName string
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    Enabled bool
    Boolean to enable / disable stickiness. Default is true.
    Type string
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    CookieDuration int
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    CookieName string
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    Enabled bool
    Boolean to enable / disable stickiness. Default is true.
    type String
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    cookieDuration Integer
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    cookieName String
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    enabled Boolean
    Boolean to enable / disable stickiness. Default is true.
    type string
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    cookieDuration number
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    cookieName string
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    enabled boolean
    Boolean to enable / disable stickiness. Default is true.
    type str
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    cookie_duration int
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    cookie_name str
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    enabled bool
    Boolean to enable / disable stickiness. Default is true.
    type String
    The type of sticky sessions. The only current possible values are lb_cookie, app_cookie for ALBs, source_ip for NLBs, and source_ip_dest_ip, source_ip_dest_ip_proto for GWLBs.
    cookieDuration Number
    Only used when the type is lb_cookie. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
    cookieName String
    Name of the application based cookie. AWSALB, AWSALBAPP, and AWSALBTG prefixes are reserved and cannot be used. Only needed when type is app_cookie.
    enabled Boolean
    Boolean to enable / disable stickiness. Default is true.

    TargetGroupTargetFailover, TargetGroupTargetFailoverArgs

    OnDeregistration string
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    OnUnhealthy string
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.
    OnDeregistration string
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    OnUnhealthy string
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.
    onDeregistration String
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    onUnhealthy String
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.
    onDeregistration string
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    onUnhealthy string
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.
    on_deregistration str
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    on_unhealthy str
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.
    onDeregistration String
    Indicates how the GWLB handles existing flows when a target is deregistered. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_unhealthy. Default: no_rebalance.
    onUnhealthy String
    Indicates how the GWLB handles existing flows when a target is unhealthy. Possible values are rebalance and no_rebalance. Must match the attribute value set for on_deregistration. Default: no_rebalance.

    TargetGroupTargetHealthState, TargetGroupTargetHealthStateArgs

    EnableUnhealthyConnectionTermination bool
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.
    EnableUnhealthyConnectionTermination bool
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.
    enableUnhealthyConnectionTermination Boolean
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.
    enableUnhealthyConnectionTermination boolean
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.
    enable_unhealthy_connection_termination bool
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.
    enableUnhealthyConnectionTermination Boolean
    Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are true or false. Default: true.

    Import

    Using pulumi import, import Target Groups using their ARN. For example:

    $ pulumi import aws:lb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314
    

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi