aws logo
AWS Classic v5.41.0, May 15 23

aws.applicationloadbalancing.TargetGroup

Explore with Pulumi AI

Deprecated:

aws.applicationloadbalancing.TargetGroup has been deprecated in favor of aws.alb.TargetGroup

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

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()
    {
        Port = 80,
        Protocol = "HTTP",
        VpcId = main.Id,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi-aws/sdk/v5/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{
			Port:     pulumi.Int(80),
			Protocol: pulumi.String("HTTP"),
			VpcId:    main.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.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()        
            .port(80)
            .protocol("HTTP")
            .vpcId(main.id())
            .build());

    }
}
import pulumi
import pulumi_aws as aws

main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
test = aws.lb.TargetGroup("test",
    port=80,
    protocol="HTTP",
    vpc_id=main.id)
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", {
    port: 80,
    protocol: "HTTP",
    vpcId: main.id,
});
resources:
  test:
    type: aws:lb:TargetGroup
    properties:
      port: 80
      protocol: HTTP
      vpcId: ${main.id}
  main:
    type: aws:ec2:Vpc
    properties:
      cidrBlock: 10.0.0.0/16

IP Target Group

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()
    {
        Port = 80,
        Protocol = "HTTP",
        TargetType = "ip",
        VpcId = main.Id,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi-aws/sdk/v5/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{
			Port:       pulumi.Int(80),
			Protocol:   pulumi.String("HTTP"),
			TargetType: pulumi.String("ip"),
			VpcId:      main.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.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()        
            .port(80)
            .protocol("HTTP")
            .targetType("ip")
            .vpcId(main.id())
            .build());

    }
}
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",
    port=80,
    protocol="HTTP",
    target_type="ip",
    vpc_id=main.id)
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", {
    port: 80,
    protocol: "HTTP",
    targetType: "ip",
    vpcId: main.id,
});
resources:
  ip-example:
    type: aws:lb:TargetGroup
    properties:
      port: 80
      protocol: HTTP
      targetType: ip
      vpcId: ${main.id}
  main:
    type: aws:ec2:Vpc
    properties:
      cidrBlock: 10.0.0.0/16

Lambda Target Group

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()
    {
        TargetType = "lambda",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/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{
			TargetType: pulumi.String("lambda"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.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()        
            .targetType("lambda")
            .build());

    }
}
import pulumi
import pulumi_aws as aws

lambda_example = aws.lb.TargetGroup("lambda-example", target_type="lambda")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const lambda_example = new aws.lb.TargetGroup("lambda-example", {targetType: "lambda"});
resources:
  lambda-example:
    type: aws:lb:TargetGroup
    properties:
      targetType: lambda

ALB Target Group

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()
    {
        TargetType = "alb",
        Port = 80,
        Protocol = "TCP",
        VpcId = aws_vpc.Main.Id,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/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{
			TargetType: pulumi.String("alb"),
			Port:       pulumi.Int(80),
			Protocol:   pulumi.String("TCP"),
			VpcId:      pulumi.Any(aws_vpc.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.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()        
            .targetType("alb")
            .port(80)
            .protocol("TCP")
            .vpcId(aws_vpc.main().id())
            .build());

    }
}
import pulumi
import pulumi_aws as aws

alb_example = aws.lb.TargetGroup("alb-example",
    target_type="alb",
    port=80,
    protocol="TCP",
    vpc_id=aws_vpc["main"]["id"])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const alb_example = new aws.lb.TargetGroup("alb-example", {
    targetType: "alb",
    port: 80,
    protocol: "TCP",
    vpcId: aws_vpc.main.id,
});
resources:
  alb-example:
    type: aws:lb:TargetGroup
    properties:
      targetType: alb
      port: 80
      protocol: TCP
      vpcId: ${aws_vpc.main.id}

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_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_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:applicationloadbalancing: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 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 or least_outstanding_requests. The default is round_robin.

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

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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 or least_outstanding_requests. The default is round_robin.

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.

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.

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 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 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 or least_outstanding_requests. The default is round_robin.

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 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 List<TargetGroupTargetFailoverArgs>

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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 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 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 or least_outstanding_requests. The default is round_robin.

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 TargetGroupStickinessArgs

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 TargetGroupTargetFailoverArgs[]

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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 or least_outstanding_requests. The default is round_robin.

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

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 or least_outstanding_requests. The default is round_robin.

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.

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.

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.

TagsAll Dictionary<string, string>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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.

TagsAll map[string]string

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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.

tagsAll Map<String,String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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.

tagsAll {[key: string]: string}

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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.

tags_all Mapping[str, str]

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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.

tagsAll Map<String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

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_balancing_algorithm_type: 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_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 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 or least_outstanding_requests. The default is round_robin.

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

TargetFailovers List<TargetGroupTargetFailoverArgs>

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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.

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 or least_outstanding_requests. The default is round_robin.

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.

TargetFailovers []TargetGroupTargetFailoverArgs

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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 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 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 or least_outstanding_requests. The default is round_robin.

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

targetFailovers List<TargetGroupTargetFailoverArgs>

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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 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 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 or least_outstanding_requests. The default is round_robin.

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 TargetGroupStickinessArgs

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.

targetFailovers TargetGroupTargetFailoverArgs[]

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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_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 or least_outstanding_requests. The default is round_robin.

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.

target_failovers Sequence[TargetGroupTargetFailoverArgs]

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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.

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 or least_outstanding_requests. The default is round_robin.

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.

targetFailovers List<Property Map>

Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover 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.

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

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

Path string

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

Port string

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

Protocol string

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

Path string

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

Port string

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

Protocol string

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

path String

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

port String

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

protocol String

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

path string

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

port string

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

protocol string

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

path str

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

port str

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

protocol str

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

Response codes to use when checking for a healthy responses from a target. You can specify multiple values (for example, "200,202" for HTTP(s) or "0,12" for GRPC) or a range of values (for example, "200-299" or "0-99"). Required for HTTP/HTTPS/GRPC ALB. Only applies to Application Load Balancers (i.e., HTTP/HTTPS/GRPC) not Network Load Balancers (i.e., TCP).

path String

Destination for the health check request. Required for HTTP/HTTPS ALB and HTTP NLB. Only applies to HTTP/HTTPS.

port String

The port the load balancer uses when performing health checks on targets. Default is traffic-port.

protocol String

Protocol the load balancer uses when performing health checks on targets. Must be either TCP, HTTP, or HTTPS. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. Defaults to HTTP.

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

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

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.

Import

Target Groups can be imported using their ARN, e.g.,

 $ pulumi import aws:applicationloadbalancing/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.