NetworkTargetGroup

class aws_cdk.aws_elasticloadbalancingv2.NetworkTargetGroup(scope, id, *, port, preserve_client_ip=None, protocol=None, proxy_protocol_v2=None, targets=None, deregistration_delay=None, health_check=None, target_group_name=None, target_type=None, vpc=None)

Bases: TargetGroupBase

Define a Network Target Group.

ExampleMetadata:

infused

Example:

# listener: elbv2.NetworkListener
# asg1: autoscaling.AutoScalingGroup
# asg2: autoscaling.AutoScalingGroup


group = listener.add_targets("AppFleet",
    port=443,
    targets=[asg1]
)

group.add_target(asg2)
Parameters:
  • scope (Construct) –

  • id (str) –

  • port (Union[int, float]) – The port on which the listener listens for requests.

  • 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: - TCP

  • proxy_protocol_v2 (Optional[bool]) – Indicates whether Proxy Protocol version 2 is enabled. Default: false

  • targets (Optional[Sequence[INetworkLoadBalancerTarget]]) – The targets to add to this target group. Can be Instance, IPAddress, or any self-registering load balancing target. If you use either Instance or IPAddress as targets, all target must be of the same type. Default: - No targets.

  • 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: 300

  • 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.

  • 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 generated.

  • target_type (Optional[TargetType]) – The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.

  • vpc (Optional[IVpc]) – The virtual private cloud (VPC). only if TargetType is Ip or InstanceId Default: - undefined

Methods

add_target(*targets)

Add a load balancing target to this target group.

Parameters:

targets (INetworkLoadBalancerTarget) –

Return type:

None

configure_health_check(*, enabled=None, healthy_grpc_codes=None, healthy_http_codes=None, healthy_threshold_count=None, interval=None, path=None, port=None, protocol=None, timeout=None, unhealthy_threshold_count=None)

Set/replace the target group’s health check.

Parameters:
  • enabled (Optional[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 or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.

  • healthy_grpc_codes (Optional[str]) – GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, “0,1”) or a range of values (for example, “0-5”). Default: - 12

  • healthy_http_codes (Optional[str]) – HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, “200,202”) or a range of values (for example, “200-299”).

  • healthy_threshold_count (Union[int, float, None]) – The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs

  • interval (Optional[Duration]) – The approximate number of seconds between health checks for an individual target. Default: Duration.seconds(30)

  • path (Optional[str]) – The ping path destination where Elastic Load Balancing sends health check requests. Default: /

  • port (Optional[str]) – The port that the load balancer uses when performing health checks on the targets. Default: ‘traffic-port’

  • protocol (Optional[Protocol]) – The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: HTTP for ALBs, TCP for NLBs

  • timeout (Optional[Duration]) – The amount of time, in seconds, during which no response from a target means a failed health check. For Application Load Balancers, the range is 2-60 seconds and the default is 5 seconds. For Network Load Balancers, this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks. Default: Duration.seconds(5) for ALBs, Duration.seconds(10) or Duration.seconds(6) for NLBs

  • unhealthy_threshold_count (Union[int, float, None]) – The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. Default: 2

Return type:

None

metric_healthy_host_count(*, account=None, color=None, dimensions=None, dimensions_map=None, label=None, period=None, region=None, statistic=None, unit=None)

The number of targets that are considered healthy.

Parameters:
  • account (Optional[str]) – Account which this metric comes from. Default: - Deployment account.

  • color (Optional[str]) – The hex color code, prefixed with ‘#’ (e.g. ‘#00ff00’), to use when this metric is rendered on a graph. The Color class has a set of standard colors that can be used here. Default: - Automatic color

  • dimensions (Optional[Mapping[str, Any]]) – (deprecated) Dimensions of the metric. Default: - No dimensions.

  • dimensions_map (Optional[Mapping[str, str]]) – Dimensions of the metric. Default: - No dimensions.

  • label (Optional[str]) – Label for this metric when added to a Graph in a Dashboard. You can use dynamic labels to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph’s legend. Default: - No label

  • period (Optional[Duration]) – The period over which the specified statistic is applied. Default: Duration.minutes(5)

  • region (Optional[str]) – Region which this metric comes from. Default: - Deployment region.

  • statistic (Optional[str]) – What function to use for aggregating. Can be one of the following: - “Minimum” | “min” - “Maximum” | “max” - “Average” | “avg” - “Sum” | “sum” - “SampleCount | “n” - “pNN.NN” Default: Average

  • unit (Optional[Unit]) – Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream

Default:

Average over 5 minutes

Return type:

Metric

metric_un_healthy_host_count(*, account=None, color=None, dimensions=None, dimensions_map=None, label=None, period=None, region=None, statistic=None, unit=None)

The number of targets that are considered unhealthy.

Parameters:
  • account (Optional[str]) – Account which this metric comes from. Default: - Deployment account.

  • color (Optional[str]) – The hex color code, prefixed with ‘#’ (e.g. ‘#00ff00’), to use when this metric is rendered on a graph. The Color class has a set of standard colors that can be used here. Default: - Automatic color

  • dimensions (Optional[Mapping[str, Any]]) – (deprecated) Dimensions of the metric. Default: - No dimensions.

  • dimensions_map (Optional[Mapping[str, str]]) – Dimensions of the metric. Default: - No dimensions.

  • label (Optional[str]) –

    Label for this metric when added to a Graph in a Dashboard. You can use dynamic labels to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph’s legend. Default: - No label

  • period (Optional[Duration]) – The period over which the specified statistic is applied. Default: Duration.minutes(5)

  • region (Optional[str]) – Region which this metric comes from. Default: - Deployment region.

  • statistic (Optional[str]) – What function to use for aggregating. Can be one of the following: - “Minimum” | “min” - “Maximum” | “max” - “Average” | “avg” - “Sum” | “sum” - “SampleCount | “n” - “pNN.NN” Default: Average

  • unit (Optional[Unit]) – Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream

Default:

Average over 5 minutes

Return type:

Metric

register_listener(listener)

Register a listener that is load balancing to this target group.

Don’t call this directly. It will be called by listeners.

Parameters:

listener (INetworkListener) –

Return type:

None

set_attribute(key, value=None)

Set a non-standard attribute on the target group.

Parameters:
  • key (str) –

  • value (Optional[str]) –

See:

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes

Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Attributes

first_load_balancer_full_name

Full name of first load balancer.

health_check
load_balancer_arns

A token representing a list of ARNs of the load balancers that route traffic to this target group.

load_balancer_attached

List of constructs that need to be depended on to ensure the TargetGroup is associated to a load balancer.

node

The construct tree node associated with this construct.

target_group_arn

The ARN of the target group.

target_group_full_name

The full name of the target group.

target_group_load_balancer_arns

ARNs of load balancers load balancing to this TargetGroup.

target_group_name

The name of the target group.

Static Methods

classmethod from_target_group_attributes(scope, id, *, target_group_arn, default_port=None, load_balancer_arns=None)

Import an existing target group.

Parameters:
  • scope (Construct) –

  • id (str) –

  • target_group_arn (str) – ARN of the target group.

  • default_port (Optional[str]) – (deprecated) Port target group is listening on.

  • load_balancer_arns (Optional[str]) – A Token representing the list of ARNs for the load balancer routing to this target group.

Return type:

INetworkTargetGroup

classmethod import_(scope, id, *, target_group_arn, default_port=None, load_balancer_arns=None)

(deprecated) Import an existing listener.

Parameters:
  • scope (Construct) –

  • id (str) –

  • target_group_arn (str) – ARN of the target group.

  • default_port (Optional[str]) – (deprecated) Port target group is listening on.

  • load_balancer_arns (Optional[str]) – A Token representing the list of ARNs for the load balancer routing to this target group.

Deprecated:

Use fromTargetGroupAttributes instead

Stability:

deprecated

Return type:

INetworkTargetGroup

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool