attachTrafficSources method
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
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.
May throw InstanceRefreshInProgressFault.
May throw ResourceContentionFault.
May throw ServiceLinkedRoleFailure.
Parameter autoScalingGroupName :
The name of the Auto Scaling group.
Parameter trafficSources :
The unique identifiers of one or more traffic sources. You can specify up
to 10 traffic sources.
Parameter skipZonalShiftValidation :
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.
Implementation
Future<void> attachTrafficSources({
required String autoScalingGroupName,
required List<TrafficSourceIdentifier> trafficSources,
bool? skipZonalShiftValidation,
}) async {
final $request = <String, String>{
'AutoScalingGroupName': autoScalingGroupName,
if (trafficSources.isEmpty)
'TrafficSources': ''
else
for (var i1 = 0; i1 < trafficSources.length; i1++)
for (var e3 in trafficSources[i1].toQueryMap().entries)
'TrafficSources.member.${i1 + 1}.${e3.key}': e3.value,
if (skipZonalShiftValidation != null)
'SkipZonalShiftValidation': skipZonalShiftValidation.toString(),
};
await _protocol.send(
$request,
action: 'AttachTrafficSources',
version: '2011-01-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'AttachTrafficSourcesResult',
);
}