AwsElasticloadbalancingTargetGroupArgs

interface AwsElasticloadbalancingTargetGroupArgs extends Omit<aws.lb.TargetGroupArgs, 'name' | 'namePrefix' | 'tags'> { connectionTermination?: Input<boolean | undefined>; deregistrationDelay?: Input<number | undefined>; healthCheck?: Input<TargetGroupHealthCheck | undefined>; ipAddressType?: Input<string | undefined>; lambdaMultiValueHeadersEnabled?: Input<boolean | undefined>; loadBalancingAlgorithmType?: Input<string | undefined>; loadBalancingAnomalyMitigation?: Input<string | undefined>; loadBalancingCrossZoneEnabled?: Input<string | undefined>; name: string; port?: Input<number | undefined>; preserveClientIp?: Input<string | undefined>; protocol?: Input<string | undefined>; protocolVersion?: Input<string | undefined>; proxyProtocolV2?: Input<boolean | undefined>; region?: Input<string | undefined>; slowStart?: Input<number | undefined>; stickiness?: Input<TargetGroupStickiness | undefined>; tags?: Input<Record<string, Input<string>>>; targetControlPort?: Input<number | undefined>; targetFailovers?: Input<Input<TargetGroupTargetFailover>[] | undefined>; targetGroupHealth?: Input<TargetGroupTargetGroupHealth | undefined>; targetHealthStates?: Input<Input<TargetGroupTargetHealthState>[] | undefined>; targetType?: Input<string | undefined>; vpcId?: Input<string | undefined>; }

Target group arguments accepted by the Elastic Load Balancing component.

Remarks

This extends aws.lb.TargetGroupArgs with a required purpose name and default tags.

Example

CODE
const targetGroup = {
  name: 'api',
  protocol: 'HTTP',
  port: 8080,
  targetType: 'ip',
  vpcId: 'vpc-123456',
};

Hierarchy

  • TargetGroupArgs, "name" | "namePrefix" | "tags">
  • AwsElasticloadbalancingTargetGroupArgs

Properties

connectionTermination: Input<boolean | undefined>

Inherited from connectionTermination

Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.

deregistrationDelay: Input<number | undefined>

Inherited from deregistrationDelay

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: Input<TargetGroupHealthCheck | undefined>

Inherited from healthCheck

Health Check configuration block. Detailed below.

ipAddressType: Input<string | undefined>

Inherited from ipAddressType

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: Input<boolean | undefined>

Inherited from lambdaMultiValueHeadersEnabled

Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when targetType is lambda. Default is false.

loadBalancingAlgorithmType: Input<string | undefined>

Inherited from loadBalancingAlgorithmType

Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is roundRobin, leastOutstandingRequests, or weightedRandom. The default is roundRobin.

loadBalancingAnomalyMitigation: Input<string | undefined>

Inherited from loadBalancingAnomalyMitigation

Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weightedRandom load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".

loadBalancingCrossZoneEnabled: Input<string | undefined>

Inherited from loadBalancingCrossZoneEnabled

Indicates whether cross zone load balancing is enabled. The value is "true", "false" or "useLoadBalancerConfiguration". The default is "useLoadBalancerConfiguration".

name: string

Required target-group purpose used for naming style 2 and logical identity derivation.

port: Input<number | undefined>

Inherited from port

Port on which targets receive traffic, unless overridden when registering a specific target. Required when targetType is instance, ip or alb. Does not apply when targetType is lambda.

preserveClientIp: Input<string | undefined>

Inherited from preserveClientIp

Whether client IP preservation is enabled. See doc for more information.

protocol: Input<string | undefined>

Inherited from protocol

Protocol to use for routing traffic to the targets. Should be one of GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, UDP, QUIC, or TCP_QUIC. Required when targetType is instance, ip, or alb. Does not apply when targetType is lambda.

protocolVersion: Input<string | undefined>

Inherited from protocolVersion

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: Input<boolean | undefined>

Inherited from proxyProtocolV2

Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.

region: Input<string | undefined>

Inherited from region

Region where this resource will be managed. Defaults to the Region set in the provider configuration.

slowStart: Input<number | undefined>

Inherited from slowStart

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: Input<TargetGroupStickiness | undefined>

Inherited from stickiness

Stickiness configuration block. Detailed below.

tags: Input<Record<string, Input<string>>>

Additional tags merged with default project/environment tags.

targetControlPort: Input<number | undefined>

Inherited from targetControlPort

Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when targetType is instance or ip.

targetFailovers: Input<Input<TargetGroupTargetFailover>[] | undefined>

Inherited from targetFailovers

Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information.

targetGroupHealth: Input<TargetGroupTargetGroupHealth | undefined>

Inherited from targetGroupHealth

Target health requirements block. See targetGroupHealth for more information.

targetHealthStates: Input<Input<TargetGroupTargetHealthState>[] | undefined>

Inherited from targetHealthStates

Target health state block. Only applicable for Network Load Balancer target groups when protocol is TCP or TLS. See targetHealthState for more information.

targetType: Input<string | undefined>

Inherited from targetType

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

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

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

Network Load Balancers do not support the lambda target type.

Application Load Balancers do not support the alb target type.

vpcId: Input<string | undefined>

Inherited from vpcId

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