disableAvailabilityZonesForLoadBalancer method

Future<RemoveAvailabilityZonesOutput> disableAvailabilityZonesForLoadBalancer({
  1. required List<String> availabilityZones,
  2. required String loadBalancerName,
})

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.

For load balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

May throw AccessPointNotFoundException. May throw InvalidConfigurationRequestException.

Parameter availabilityZones : The Availability Zones.

Parameter loadBalancerName : The name of the load balancer.

Implementation

Future<RemoveAvailabilityZonesOutput>
    disableAvailabilityZonesForLoadBalancer({
  required List<String> availabilityZones,
  required String loadBalancerName,
}) async {
  ArgumentError.checkNotNull(availabilityZones, 'availabilityZones');
  ArgumentError.checkNotNull(loadBalancerName, 'loadBalancerName');
  final $request = <String, dynamic>{};
  $request['AvailabilityZones'] = availabilityZones;
  $request['LoadBalancerName'] = loadBalancerName;
  final $result = await _protocol.send(
    $request,
    action: 'DisableAvailabilityZonesForLoadBalancer',
    version: '2012-06-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['RemoveAvailabilityZonesInput'],
    shapes: shapes,
    resultWrapper: 'DisableAvailabilityZonesForLoadBalancerResult',
  );
  return RemoveAvailabilityZonesOutput.fromXml($result);
}