module Rudy::AWS::EC2::Zones

Public Class Methods

from_hash(h) click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 40
def self.from_hash(h)
  zone = Rudy::AWS::EC2::Zone.new
  zone.name = h['zoneName']
  zone.region = h['regionName']
  zone.state = h['zoneState']
  zone
end

Public Instance Methods

any?() click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 48
def any?
  zones = list || []
  !zones.empty?
end
get(name) click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 53
def get(name)
  zones = list(name) || []
  return if zones.empty?
  zones.first
end
list(*names) click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 21
def list(*names)
  zones = list_as_hash(names)
  zones &&= zones.values
  zones
end
list_as_hash(*names) click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 27
def list_as_hash(*names)
  names = names.flatten
  zlist = @@ec2.describe_availability_zones(:zone_name => names)
  return unless zlist['availabilityZoneInfo'].is_a?(Hash)
  zones = {}
  zlist['availabilityZoneInfo']['item'].each do |zhash| 
    zon = Zones.from_hash(zhash)
    zones[zon.name] = zon
  end
  zones = nil if zones.empty?
  zones
end
zone?(name) click to toggle source
# File lib/rudy/aws/ec2/zone.rb, line 59
def zone?(name)
  begin
    kp = get(name)
    kp.is_a?(Rudy::AWS::EC2::Zone)
  rescue => ex
    false
  end
end