Method: AWS::ELB::AvailabilityZoneCollection#disable
- Defined in:
- lib/aws/elb/availability_zone_collection.rb
#disable(*availability_zones) ⇒ nil
Removes the specified EC2 availability zones from the set of configured availability zones for the load balancer.
load_balancer.availability_zones.disable("us-east-1a", "us-east-1b")
You can also pass AWS::EC2::AvailabilityZone objects:
# disable all availabilty zones
zones = AWS::EC2.new.availability_zones.to_a
load_balancer.availability_zones.disable(zones)
There must be at least one availability zone registered with a load balancer at all times. A client cannot remove all the availability zones from a load balancer. Once an availability zone is removed, all the instances registered with the load balancer that are in the removed availability zone go into the out of service state.
Upon availability zone removal, the load balancer attempts to equally balance the traffic among its remaining usable availability zones. Trying to remove an availability zone that was not associated with the load balancer does nothing.
110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/aws/elb/availability_zone_collection.rb', line 110 def disable *availability_zones names = availability_zones.flatten.collect do |av| av.is_a?(EC2::AvailabilityZone) ? av.name : av.to_s end client.disable_availability_zones_for_load_balancer( :load_balancer_name => load_balancer.name, :availability_zones => names) nil end |