1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. elasticloadbalancingv2
  5. TargetGroup

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

aws-native.elasticloadbalancingv2.TargetGroup

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup

Create TargetGroup Resource

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

Constructor syntax

new TargetGroup(name: string, args?: TargetGroupArgs, opts?: CustomResourceOptions);
@overload
def TargetGroup(resource_name: str,
                args: Optional[TargetGroupArgs] = None,
                opts: Optional[ResourceOptions] = None)

@overload
def TargetGroup(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                health_check_enabled: Optional[bool] = None,
                health_check_interval_seconds: Optional[int] = None,
                health_check_path: Optional[str] = None,
                health_check_port: Optional[str] = None,
                health_check_protocol: Optional[str] = None,
                health_check_timeout_seconds: Optional[int] = None,
                healthy_threshold_count: Optional[int] = None,
                ip_address_type: Optional[str] = None,
                matcher: Optional[TargetGroupMatcherArgs] = None,
                name: Optional[str] = None,
                port: Optional[int] = None,
                protocol: Optional[str] = None,
                protocol_version: Optional[str] = None,
                tags: Optional[Sequence[_root_inputs.TagArgs]] = None,
                target_group_attributes: Optional[Sequence[TargetGroupAttributeArgs]] = None,
                target_type: Optional[str] = None,
                targets: Optional[Sequence[TargetGroupTargetDescriptionArgs]] = None,
                unhealthy_threshold_count: Optional[int] = None,
                vpc_id: Optional[str] = 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-native:elasticloadbalancingv2:TargetGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
The unique name of the resource.
args This property is required. 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

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

The TargetGroup resource accepts the following input properties:

HealthCheckEnabled bool
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
HealthCheckIntervalSeconds int
The approximate amount of time, in seconds, between health checks of an individual target.
HealthCheckPath string
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
HealthCheckPort string
The port the load balancer uses when performing health checks on targets.
HealthCheckProtocol string
The protocol the load balancer uses when performing health checks on targets.
HealthCheckTimeoutSeconds int
The amount of time, in seconds, during which no response from a target means a failed health check.
HealthyThresholdCount int
The number of consecutive health checks successes required before considering an unhealthy target healthy.
IpAddressType string
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
Matcher Pulumi.AwsNative.ElasticLoadBalancingV2.Inputs.TargetGroupMatcher
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
Name string
The name of the target group.
Port int
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
Protocol string
The protocol to use for routing traffic to the targets.
ProtocolVersion string
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
Tags List<Pulumi.AwsNative.Inputs.Tag>
The tags.
TargetGroupAttributes List<Pulumi.AwsNative.ElasticLoadBalancingV2.Inputs.TargetGroupAttribute>
The attributes.
TargetType string
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
Targets List<Pulumi.AwsNative.ElasticLoadBalancingV2.Inputs.TargetGroupTargetDescription>
The targets.
UnhealthyThresholdCount int
The number of consecutive health check failures required before considering a target unhealthy.
VpcId string
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.
HealthCheckEnabled bool
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
HealthCheckIntervalSeconds int
The approximate amount of time, in seconds, between health checks of an individual target.
HealthCheckPath string
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
HealthCheckPort string
The port the load balancer uses when performing health checks on targets.
HealthCheckProtocol string
The protocol the load balancer uses when performing health checks on targets.
HealthCheckTimeoutSeconds int
The amount of time, in seconds, during which no response from a target means a failed health check.
HealthyThresholdCount int
The number of consecutive health checks successes required before considering an unhealthy target healthy.
IpAddressType string
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
Matcher TargetGroupMatcherArgs
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
Name string
The name of the target group.
Port int
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
Protocol string
The protocol to use for routing traffic to the targets.
ProtocolVersion string
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
Tags TagArgs
The tags.
TargetGroupAttributes []TargetGroupAttributeArgs
The attributes.
TargetType string
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
Targets []TargetGroupTargetDescriptionArgs
The targets.
UnhealthyThresholdCount int
The number of consecutive health check failures required before considering a target unhealthy.
VpcId string
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.
healthCheckEnabled Boolean
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
healthCheckIntervalSeconds Integer
The approximate amount of time, in seconds, between health checks of an individual target.
healthCheckPath String
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
healthCheckPort String
The port the load balancer uses when performing health checks on targets.
healthCheckProtocol String
The protocol the load balancer uses when performing health checks on targets.
healthCheckTimeoutSeconds Integer
The amount of time, in seconds, during which no response from a target means a failed health check.
healthyThresholdCount Integer
The number of consecutive health checks successes required before considering an unhealthy target healthy.
ipAddressType String
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
matcher TargetGroupMatcher
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name String
The name of the target group.
port Integer
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
protocol String
The protocol to use for routing traffic to the targets.
protocolVersion String
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
tags List<Tag>
The tags.
targetGroupAttributes List<TargetGroupAttribute>
The attributes.
targetType String
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
targets List<TargetGroupTargetDescription>
The targets.
unhealthyThresholdCount Integer
The number of consecutive health check failures required before considering a target unhealthy.
vpcId String
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.
healthCheckEnabled boolean
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
healthCheckIntervalSeconds number
The approximate amount of time, in seconds, between health checks of an individual target.
healthCheckPath string
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
healthCheckPort string
The port the load balancer uses when performing health checks on targets.
healthCheckProtocol string
The protocol the load balancer uses when performing health checks on targets.
healthCheckTimeoutSeconds number
The amount of time, in seconds, during which no response from a target means a failed health check.
healthyThresholdCount number
The number of consecutive health checks successes required before considering an unhealthy target healthy.
ipAddressType string
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
matcher TargetGroupMatcher
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name string
The name of the target group.
port number
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
protocol string
The protocol to use for routing traffic to the targets.
protocolVersion string
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
tags Tag[]
The tags.
targetGroupAttributes TargetGroupAttribute[]
The attributes.
targetType string
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
targets TargetGroupTargetDescription[]
The targets.
unhealthyThresholdCount number
The number of consecutive health check failures required before considering a target unhealthy.
vpcId string
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.
health_check_enabled bool
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
health_check_interval_seconds int
The approximate amount of time, in seconds, between health checks of an individual target.
health_check_path str
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
health_check_port str
The port the load balancer uses when performing health checks on targets.
health_check_protocol str
The protocol the load balancer uses when performing health checks on targets.
health_check_timeout_seconds int
The amount of time, in seconds, during which no response from a target means a failed health check.
healthy_threshold_count int
The number of consecutive health checks successes required before considering an unhealthy target healthy.
ip_address_type str
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
matcher TargetGroupMatcherArgs
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name str
The name of the target group.
port int
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
protocol str
The protocol to use for routing traffic to the targets.
protocol_version str
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
tags Sequence[TagArgs]
The tags.
target_group_attributes Sequence[TargetGroupAttributeArgs]
The attributes.
target_type str
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
targets Sequence[TargetGroupTargetDescriptionArgs]
The targets.
unhealthy_threshold_count int
The number of consecutive health check failures required before considering a target unhealthy.
vpc_id str
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.
healthCheckEnabled Boolean
Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and cannot be disabled.
healthCheckIntervalSeconds Number
The approximate amount of time, in seconds, between health checks of an individual target.
healthCheckPath String
[HTTP/HTTPS health checks] The destination for health checks on the targets. [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /AWS.ALB/healthcheck.
healthCheckPort String
The port the load balancer uses when performing health checks on targets.
healthCheckProtocol String
The protocol the load balancer uses when performing health checks on targets.
healthCheckTimeoutSeconds Number
The amount of time, in seconds, during which no response from a target means a failed health check.
healthyThresholdCount Number
The number of consecutive health checks successes required before considering an unhealthy target healthy.
ipAddressType String
The type of IP address used for this target group. The possible values are ipv4 and ipv6.
matcher Property Map
[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name String
The name of the target group.
port Number
The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.
protocol String
The protocol to use for routing traffic to the targets.
protocolVersion String
[HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.
tags List<Property Map>
The tags.
targetGroupAttributes List<Property Map>
The attributes.
targetType String
The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
targets List<Property Map>
The targets.
unhealthyThresholdCount Number
The number of consecutive health check failures required before considering a target unhealthy.
vpcId String
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply.

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
LoadBalancerArns List<string>
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
TargetGroupArn string
The ARN of the Target Group
TargetGroupFullName string
The full name of the target group.
TargetGroupName string
The name of the target group.
Id string
The provider-assigned unique ID for this managed resource.
LoadBalancerArns []string
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
TargetGroupArn string
The ARN of the Target Group
TargetGroupFullName string
The full name of the target group.
TargetGroupName string
The name of the target group.
id String
The provider-assigned unique ID for this managed resource.
loadBalancerArns List<String>
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
targetGroupArn String
The ARN of the Target Group
targetGroupFullName String
The full name of the target group.
targetGroupName String
The name of the target group.
id string
The provider-assigned unique ID for this managed resource.
loadBalancerArns string[]
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
targetGroupArn string
The ARN of the Target Group
targetGroupFullName string
The full name of the target group.
targetGroupName string
The name of the target group.
id str
The provider-assigned unique ID for this managed resource.
load_balancer_arns Sequence[str]
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
target_group_arn str
The ARN of the Target Group
target_group_full_name str
The full name of the target group.
target_group_name str
The name of the target group.
id String
The provider-assigned unique ID for this managed resource.
loadBalancerArns List<String>
The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.
targetGroupArn String
The ARN of the Target Group
targetGroupFullName String
The full name of the target group.
targetGroupName String
The name of the target group.

Supporting Types

Tag
, TagArgs

Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag
key This property is required. string
The key name of the tag
value This property is required. string
The value of the tag
key This property is required. str
The key name of the tag
value This property is required. str
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag

TargetGroupAttribute
, TargetGroupAttributeArgs

Key string
The value of the attribute.
Value string
The name of the attribute.
Key string
The value of the attribute.
Value string
The name of the attribute.
key String
The value of the attribute.
value String
The name of the attribute.
key string
The value of the attribute.
value string
The name of the attribute.
key str
The value of the attribute.
value str
The name of the attribute.
key String
The value of the attribute.
value String
The name of the attribute.

TargetGroupMatcher
, TargetGroupMatcherArgs

GrpcCode string
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
HttpCode string
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.
GrpcCode string
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
HttpCode string
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.
grpcCode String
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
httpCode String
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.
grpcCode string
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
httpCode string
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.
grpc_code str
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
http_code str
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.
grpcCode String
You can specify values between 0 and 99. You can specify multiple values, or a range of values. The default value is 12.
httpCode String
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values or a range of values.

TargetGroupTargetDescription
, TargetGroupTargetDescriptionArgs

Id This property is required. string
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
AvailabilityZone string
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
Port int
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
Id This property is required. string
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
AvailabilityZone string
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
Port int
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
id This property is required. String
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
availabilityZone String
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
port Integer
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
id This property is required. string
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
availabilityZone string
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
port number
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
id This property is required. str
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
availability_zone str
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
port int
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
id This property is required. String
The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
availabilityZone String
An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
port Number
The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi