AddApplicationTargetsProps Struct
Properties for adding new targets to a listener.
Example
import { AutoScalingGroup } from 'aws-cdk-lib/aws-autoscaling';
declare const asg: AutoScalingGroup;
declare const vpc: ec2.Vpc;
// Create the load balancer in a VPC. 'internetFacing' is 'false'
// by default, which creates an internal load balancer.
const lb = new elbv2.ApplicationLoadBalancer(this, 'LB', {
vpc,
internetFacing: true
});
// Add a listener and open up the load balancer's security group
// to the world.
const listener = lb.addListener('Listener', {
port: 80,
// 'open: true' is the default, you can leave it out if you want. Set it
// to 'false' and use `listener.connections` if you want to be selective
// about who can access the load balancer.
open: true,
});
// Create an AutoScaling group and add it as a load balancing
// target to the listener.
listener.addTargets('ApplicationFleet', {
port: 8080,
targets: [asg]
});
Properties
conditionsoptionalListenerCondition[]conditionsoptionaltyping.List[ListenerCondition]conditionsoptionalList<ListenerCondition>ConditionsoptionalListenerCondition[]Conditionsoptional*[]ListenerCondition#Default: No conditions.
deregistrationDelayoptionalDurationderegistration_delayoptionalDurationderegistrationDelayoptionalDurationDeregistrationDelayoptionalDurationDeregistrationDelayoptionalDuration= Duration.minutes(5)#The range is 0-3600 seconds.
enableAnomalyMitigationoptionalbooleanenable_anomaly_mitigationoptionalboolenableAnomalyMitigationoptionalBooleanEnableAnomalyMitigationoptionalboolEnableAnomalyMitigationoptional*bool= false#Only available when loadBalancingAlgorithmType is TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM
healthCheckoptionalHealthCheckhealth_checkoptionalHealthCheckhealthCheckoptionalHealthCheckHealthCheckoptionalHealthCheckHealthCheckoptionalHealthCheck#Default: The default value for each property in this configuration varies depending on the target.
loadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeload_balancing_algorithm_typeoptionalTargetGroupLoadBalancingAlgorithmTypeloadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeLoadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeLoadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmType= round_robin.#Default: Determined from protocol if known
priorityoptionalnumberpriorityoptionalint | floatpriorityoptionalNumberPriorityoptionaldoublePriorityoptional*float64#Default: Target groups are used as defaults
The rule with the lowest priority will be used for every request. If priority is not given, these target groups will be added as defaults, and must not have conditions.
Priorities must be unique.
protocoloptionalApplicationProtocolprotocoloptionalApplicationProtocolprotocoloptionalApplicationProtocolProtocoloptionalApplicationProtocolProtocoloptionalApplicationProtocol#Default: Determined from port if known
protocolVersionoptionalApplicationProtocolVersionprotocol_versionoptionalApplicationProtocolVersionprotocolVersionoptionalApplicationProtocolVersionProtocolVersionoptionalApplicationProtocolVersionProtocolVersionoptionalApplicationProtocolVersion= ApplicationProtocolVersion.HTTP1#slowStartoptionalDurationslow_startoptionalDurationslowStartoptionalDurationSlowStartoptionalDurationSlowStartoptionalDuration= 0#The range is 30-900 seconds (15 minutes).
stickinessCookieDurationoptionalDurationstickiness_cookie_durationoptionalDurationstickinessCookieDurationoptionalDurationStickinessCookieDurationoptionalDurationStickinessCookieDurationoptionalDuration#Default: Stickiness disabled
Setting this value enables load balancer stickiness.
After this period, the cookie is considered stale. The minimum value is 1 second and the maximum value is 7 days (604800 seconds).
stickinessCookieNameoptionalstringstickiness_cookie_nameoptionalstrstickinessCookieNameoptionalStringStickinessCookieNameoptionalstringStickinessCookieNameoptional*string#Default: If stickinessCookieDuration is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.
notes
Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.
Note: stickinessCookieName parameter depends on the presence of stickinessCookieDuration parameter. If stickinessCookieDuration is not set, stickinessCookieName will be omitted.
targetGroupNameoptionalstringtarget_group_nameoptionalstrtargetGroupNameoptionalStringTargetGroupNameoptionalstringTargetGroupNameoptional*string#Default: Automatically generated
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.
targetsoptionalIApplicationLoadBalancerTarget[]targetsoptionaltyping.List[IApplicationLoadBalancerTarget]targetsoptionalList<IApplicationLoadBalancerTarget>TargetsoptionalIApplicationLoadBalancerTarget[]Targetsoptional*[]IApplicationLoadBalancerTarget#Can be Instance, IPAddress, or any self-registering load balancing target. All target must be of the same type.