IApplicationListener
- class aws_cdk.aws_elasticloadbalancingv2.IApplicationListener(*args, **kwargs)
Bases:
IResource
,IConnectable
,Protocol
Properties to reference an existing listener.
Methods
- add_action(id, *, action, conditions=None, host_header=None, path_pattern=None, path_patterns=None, priority=None)
Perform the given action on incoming requests.
This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the
ListenerAction
class for all options.It’s possible to add routing conditions to the Action added in this way.
It is not possible to add a default action to an imported IApplicationListener. In order to add actions to an imported IApplicationListener a
priority
must be provided.- Parameters:
id (
str
)action (
ListenerAction
) – Action to perform.conditions (
Optional
[Sequence
[ListenerCondition
]]) – Rule applies if matches the conditions. Default: - No conditions.host_header (
Optional
[str
]) – (deprecated) Rule applies if the requested host matches the indicated host. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No host conditionpath_pattern (
Optional
[str
]) – (deprecated) Rule applies if the requested path matches the given path pattern. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No path conditionpath_patterns (
Optional
[Sequence
[str
]]) – (deprecated) Rule applies if the requested path matches any of the given patterns. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: - No path condition.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:
None
- add_certificate_arns(id, arns)
(deprecated) Add one or more certificates to this listener.
- Parameters:
id (
str
)arns (
Sequence
[str
])
- Deprecated:
use
addCertificates()
- Stability:
deprecated
- Return type:
None
- add_certificates(id, certificates)
Add one or more certificates to this listener.
- Parameters:
id (
str
)certificates (
Sequence
[IListenerCertificate
])
- Return type:
None
- add_target_groups(id, *, target_groups, conditions=None, host_header=None, path_pattern=None, path_patterns=None, priority=None)
Load balance incoming requests to the given target groups.
It’s possible to add conditions to the TargetGroups added in this way. At least one TargetGroup must be added without conditions.
- Parameters:
id (
str
)target_groups (
Sequence
[IApplicationTargetGroup
]) – Target groups to forward requests to.conditions (
Optional
[Sequence
[ListenerCondition
]]) – Rule applies if matches the conditions. Default: - No conditions.host_header (
Optional
[str
]) – (deprecated) Rule applies if the requested host matches the indicated host. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No host conditionpath_pattern (
Optional
[str
]) – (deprecated) Rule applies if the requested path matches the given path pattern. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No path conditionpath_patterns (
Optional
[Sequence
[str
]]) – (deprecated) Rule applies if the requested path matches any of the given patterns. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: - No path condition.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:
None
- add_targets(id, *, deregistration_delay=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, host_header=None, path_pattern=None, path_patterns=None, priority=None)
Load balance incoming requests to the given load balancing targets.
This method implicitly creates an ApplicationTargetGroup for the targets involved.
It’s possible to add conditions to the targets added in this way. At least one set of targets must be added without conditions.
- Parameters:
id (
str
)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)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.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.host_header (
Optional
[str
]) – (deprecated) Rule applies if the requested host matches the indicated host. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No host conditionpath_pattern (
Optional
[str
]) – (deprecated) Rule applies if the requested path matches the given path pattern. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: No path conditionpath_patterns (
Optional
[Sequence
[str
]]) – (deprecated) Rule applies if the requested path matches any of the given patterns. May contain up to three ‘*’ wildcards. Requires that priority is set. Default: - No path condition.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:
- Returns:
The newly created target group
- apply_removal_policy(policy)
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters:
policy (
RemovalPolicy
)- Return type:
None
- register_connectable(connectable, port_range)
Register that a connectable that has been added to this load balancer.
Don’t call this directly. It is called by ApplicationTargetGroup.
- Parameters:
connectable (
IConnectable
)port_range (
Port
)
- Return type:
None
Attributes
- connections
The network connections associated with this resource.
- env
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
- listener_arn
ARN of the listener.
- Attribute:
true
- node
The construct tree node for this construct.
- stack
The stack in which this resource is defined.