ListenerConfig
- class aws_cdk.aws_ecs.ListenerConfig
Bases:
object
Base class for configuring listener when registering targets.
- ExampleMetadata:
infused
Example:
# cluster: ecs.Cluster # task_definition: ecs.TaskDefinition # vpc: ec2.Vpc service = ecs.FargateService(self, "Service", cluster=cluster, task_definition=task_definition) lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc, internet_facing=True) listener = lb.add_listener("Listener", port=80) service.register_load_balancer_targets( container_name="web", container_port=80, new_target_group_id="ECS", listener=ecs.ListenerConfig.application_listener(listener, protocol=elbv2.ApplicationProtocol.HTTPS ) )
Methods
- abstract add_targets(id, target, service)
Create and attach a target group to listener.
- Parameters:
id (
str
) –target (
Union
[LoadBalancerTargetOptions
,Dict
[str
,Any
]]) –service (
BaseService
) –
- Return type:
None
Static Methods
- classmethod application_listener(listener, *, deregistration_delay=None, enable_anomaly_mitigation=None, health_check=None, load_balancing_algorithm_type=None, port=None, protocol=None, protocol_version=None, slow_start=None, stickiness_cookie_duration=None, stickiness_cookie_name=None, target_group_name=None, targets=None, conditions=None, priority=None)
Create a config for adding target group to ALB listener.
- Parameters:
listener (
ApplicationListener
) –deregistration_delay (
Optional
[Duration
]) – The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)enable_anomaly_mitigation (
Optional
[bool
]) – Indicates whether anomaly mitigation is enabled. Only available whenloadBalancingAlgorithmType
isTargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM
Default: falsehealth_check (
Union
[HealthCheck
,Dict
[str
,Any
],None
]) – Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.load_balancing_algorithm_type (
Optional
[TargetGroupLoadBalancingAlgorithmType
]) – The load balancing algorithm to select targets for routing requests. Default: round_robin.port (
Union
[int
,float
,None
]) – The port on which the listener listens for requests. Default: Determined from protocol if knownprotocol (
Optional
[ApplicationProtocol
]) – The protocol to use. Default: Determined from port if knownprotocol_version (
Optional
[ApplicationProtocolVersion
]) – The protocol version to use. Default: ApplicationProtocolVersion.HTTP1slow_start (
Optional
[Duration
]) – The time period during which the load balancer sends a newly registered target a linearly increasing share of the traffic to the target group. The range is 30-900 seconds (15 minutes). Default: 0stickiness_cookie_duration (
Optional
[Duration
]) – The stickiness cookie expiration period. 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). Default: Stickiness disabledstickiness_cookie_name (
Optional
[str
]) – The name of an application-based stickiness cookie. 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 ofstickinessCookieDuration
parameter. IfstickinessCookieDuration
is not set,stickinessCookieName
will be omitted. Default: - IfstickinessCookieDuration
is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.target_group_name (
Optional
[str
]) – The name of the target group. 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. Default: Automatically generatedtargets (
Optional
[Sequence
[IApplicationLoadBalancerTarget
]]) – The targets to add to this target group. Can beInstance
,IPAddress
, or any self-registering load balancing target. All target must be of the same type.conditions (
Optional
[Sequence
[ListenerCondition
]]) – Rule applies if matches the conditions. Default: - No conditions.priority (
Union
[int
,float
,None
]) – Priority of this target group. 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. Default: Target groups are used as defaults
- Return type:
- classmethod network_listener(listener, *, port, deregistration_delay=None, health_check=None, preserve_client_ip=None, protocol=None, proxy_protocol_v2=None, target_group_name=None, targets=None)
Create a config for adding target group to NLB listener.
- Parameters:
listener (
NetworkListener
) –port (
Union
[int
,float
]) – The port on which the target receives traffic. Default: Determined from protocol if knownderegistration_delay (
Optional
[Duration
]) – The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)health_check (
Union
[HealthCheck
,Dict
[str
,Any
],None
]) – Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.preserve_client_ip (
Optional
[bool
]) – Indicates whether client IP preservation is enabled. Default: false if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, true.protocol (
Optional
[Protocol
]) – Protocol for target group, expects TCP, TLS, UDP, or TCP_UDP. Default: - inherits the protocol of the listenerproxy_protocol_v2 (
Optional
[bool
]) – Indicates whether Proxy Protocol version 2 is enabled. Default: falsetarget_group_name (
Optional
[str
]) – The name of the target group. 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. Default: Automatically generatedtargets (
Optional
[Sequence
[INetworkLoadBalancerTarget
]]) – The targets to add to this target group. Can beInstance
,IPAddress
, or any self-registering load balancing target. If you use eitherInstance
orIPAddress
as targets, all target must be of the same type.
- Return type: