ElasticLoadBalancingv2 / Client / describe_target_groups

describe_target_groups#

ElasticLoadBalancingv2.Client.describe_target_groups(**kwargs)#

Describes the specified target groups or all of your target groups. By default, all target groups are described. Alternatively, you can specify one of the following to filter the results: the ARN of the load balancer, the names of one or more target groups, or the ARNs of one or more target groups.

See also: AWS API Documentation

Request Syntax

response = client.describe_target_groups(
    LoadBalancerArn='string',
    TargetGroupArns=[
        'string',
    ],
    Names=[
        'string',
    ],
    Marker='string',
    PageSize=123
)
Parameters:
  • LoadBalancerArn (string) – The Amazon Resource Name (ARN) of the load balancer.

  • TargetGroupArns (list) –

    The Amazon Resource Names (ARN) of the target groups.

    • (string) –

  • Names (list) –

    The names of the target groups.

    • (string) –

  • Marker (string) – The marker for the next set of results. (You received this marker from a previous call.)

  • PageSize (integer) – The maximum number of results to return with this call.

Return type:

dict

Returns:

Response Syntax

{
    'TargetGroups': [
        {
            'TargetGroupArn': 'string',
            'TargetGroupName': 'string',
            'Protocol': 'HTTP'|'HTTPS'|'TCP'|'TLS'|'UDP'|'TCP_UDP'|'GENEVE',
            'Port': 123,
            'VpcId': 'string',
            'HealthCheckProtocol': 'HTTP'|'HTTPS'|'TCP'|'TLS'|'UDP'|'TCP_UDP'|'GENEVE',
            'HealthCheckPort': 'string',
            'HealthCheckEnabled': True|False,
            'HealthCheckIntervalSeconds': 123,
            'HealthCheckTimeoutSeconds': 123,
            'HealthyThresholdCount': 123,
            'UnhealthyThresholdCount': 123,
            'HealthCheckPath': 'string',
            'Matcher': {
                'HttpCode': 'string',
                'GrpcCode': 'string'
            },
            'LoadBalancerArns': [
                'string',
            ],
            'TargetType': 'instance'|'ip'|'lambda'|'alb',
            'ProtocolVersion': 'string',
            'IpAddressType': 'ipv4'|'ipv6'
        },
    ],
    'NextMarker': 'string'
}

Response Structure

  • (dict) –

    • TargetGroups (list) –

      Information about the target groups.

      • (dict) –

        Information about a target group.

        • TargetGroupArn (string) –

          The Amazon Resource Name (ARN) of the target group.

        • TargetGroupName (string) –

          The name of the target group.

        • Protocol (string) –

          The protocol to use for routing traffic to the targets.

        • Port (integer) –

          The port on which the targets are listening. This parameter is not used if the target is a Lambda function.

        • VpcId (string) –

          The ID of the VPC for the targets.

        • HealthCheckProtocol (string) –

          The protocol to use to connect with the target. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.

        • HealthCheckPort (string) –

          The port to use to connect with the target.

        • HealthCheckEnabled (boolean) –

          Indicates whether health checks are enabled.

        • HealthCheckIntervalSeconds (integer) –

          The approximate amount of time, in seconds, between health checks of an individual target.

        • HealthCheckTimeoutSeconds (integer) –

          The amount of time, in seconds, during which no response means a failed health check.

        • HealthyThresholdCount (integer) –

          The number of consecutive health checks successes required before considering an unhealthy target healthy.

        • UnhealthyThresholdCount (integer) –

          The number of consecutive health check failures required before considering the target unhealthy.

        • HealthCheckPath (string) –

          The destination for health checks on the targets.

        • Matcher (dict) –

          The HTTP or gRPC codes to use when checking for a successful response from a target.

          • HttpCode (string) –

            For Application Load Balancers, you can specify values between 200 and 499, with the default value being 200. You can specify multiple values (for example, “200,202”) or a range of values (for example, “200-299”).

            For Network Load Balancers, you can specify values between 200 and 599, with the default value being 200-399. You can specify multiple values (for example, “200,202”) or a range of values (for example, “200-299”).

            For Gateway Load Balancers, this must be “200–399”.

            Note that when using shorthand syntax, some values such as commas need to be escaped.

          • GrpcCode (string) –

            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”). The default value is 12.

        • LoadBalancerArns (list) –

          The Amazon Resource Name (ARN) of the load balancer that routes traffic to this target group. You can use each target group with only one load balancer.

          • (string) –

        • TargetType (string) –

          The type of target that you must specify when registering targets with this target group. The possible values are instance (register targets by instance ID), ip (register targets by IP address), lambda (register a single Lambda function as a target), or alb (register a single Application Load Balancer as a target).

        • ProtocolVersion (string) –

          [HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, HTTP1, and HTTP2.

        • IpAddressType (string) –

          The IP address type. The default value is ipv4.

    • NextMarker (string) –

      If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

Exceptions

  • ElasticLoadBalancingv2.Client.exceptions.LoadBalancerNotFoundException

  • ElasticLoadBalancingv2.Client.exceptions.TargetGroupNotFoundException

Examples

This example describes the specified target group.

response = client.describe_target_groups(
    TargetGroupArns=[
        'arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067',
    ],
)

print(response)

Expected Output:

{
    'TargetGroups': [
        {
            'HealthCheckIntervalSeconds': 30,
            'HealthCheckPath': '/',
            'HealthCheckPort': 'traffic-port',
            'HealthCheckProtocol': 'HTTP',
            'HealthCheckTimeoutSeconds': 5,
            'HealthyThresholdCount': 5,
            'LoadBalancerArns': [
                'arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188',
            ],
            'Matcher': {
                'HttpCode': '200',
            },
            'Port': 80,
            'Protocol': 'HTTP',
            'TargetGroupArn': 'arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067',
            'TargetGroupName': 'my-targets',
            'UnhealthyThresholdCount': 2,
            'VpcId': 'vpc-3ac0fb5f',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}