AutoScaling / Client / attach_traffic_sources

attach_traffic_sources#

AutoScaling.Client.attach_traffic_sources(**kwargs)#

Attaches one or more traffic sources to the specified Auto Scaling group.

You can use any of the following as traffic sources for an Auto Scaling group:

  • Application Load Balancer

  • Classic Load Balancer

  • Gateway Load Balancer

  • Network Load Balancer

  • VPC Lattice

This operation is additive and does not detach existing traffic sources from the Auto Scaling group.

After the operation completes, use the DescribeTrafficSources API to return details about the state of the attachments between traffic sources and your Auto Scaling group. To detach a traffic source from the Auto Scaling group, call the DetachTrafficSources API.

See also: AWS API Documentation

Request Syntax

response = client.attach_traffic_sources(
    AutoScalingGroupName='string',
    TrafficSources=[
        {
            'Identifier': 'string',
            'Type': 'string'
        },
    ],
    SkipZonalShiftValidation=True|False
)
Parameters:
  • AutoScalingGroupName (string) –

    [REQUIRED]

    The name of the Auto Scaling group.

  • TrafficSources (list) –

    [REQUIRED]

    The unique identifiers of one or more traffic sources. You can specify up to 10 traffic sources.

    • (dict) –

      Identifying information for a traffic source.

      • Identifier (string) – [REQUIRED]

        Identifies the traffic source.

        For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.

        For example:

        • Application Load Balancer ARN: arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456

        • Classic Load Balancer name: my-classic-load-balancer

        • VPC Lattice ARN: arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456

        To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups and DescribeLoadBalancers API operations.

        To get the ARN of a target group for VPC Lattice, use the VPC Lattice GetTargetGroup API operation.

      • Type (string) –

        Provides additional context for the value of Identifier.

        The following lists the valid values:

        • elb if Identifier is the name of a Classic Load Balancer.

        • elbv2 if Identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.

        • vpc-lattice if Identifier is the ARN of a VPC Lattice target group.

        Required if the identifier is the name of a Classic Load Balancer.

  • SkipZonalShiftValidation (boolean) – If you enable zonal shift with cross-zone disabled load balancers, capacity could become imbalanced across Availability Zones. To skip the validation, specify true. For more information, see Auto Scaling group zonal shift in the Amazon EC2 Auto Scaling User Guide.

Return type:

dict

Returns:

Response Syntax

{}

Response Structure

  • (dict) –

Exceptions

  • AutoScaling.Client.exceptions.ResourceContentionFault

  • AutoScaling.Client.exceptions.ServiceLinkedRoleFailure

Examples

This example attaches the specified target group to the specified Auto Scaling group.

response = client.attach_traffic_sources(
    AutoScalingGroupName='my-auto-scaling-group',
    TrafficSources=[
        {
            'Identifier': 'arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067',
        },
    ],
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}