Module Rudy::AWS::EC2::Zones

  1. lib/rudy/aws/ec2/zone.rb

Methods

public class

  1. from_hash

public instance

  1. any?
  2. get
  3. list
  4. list_as_hash
  5. zone?

Included modules

  1. Rudy::AWS::EC2

Public class methods

from_hash (h)
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 40
40:       def self.from_hash(h)
41:         zone = Rudy::AWS::EC2::Zone.new
42:         zone.name = h['zoneName']
43:         zone.region = h['regionName']
44:         zone.state = h['zoneState']
45:         zone
46:       end

Public instance methods

any? ()
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 48
48:       def any?
49:         zones = list || []
50:         !zones.empty?
51:       end
get (name)
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 53
53:       def get(name)
54:         zones = list(name) || []
55:         return if zones.empty?
56:         zones.first
57:       end
list (*names)
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 21
21:       def list(*names)
22:         zones = list_as_hash(names)
23:         zones &&= zones.values
24:         zones
25:       end
list_as_hash (*names)
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 27
27:       def list_as_hash(*names)
28:         names = names.flatten
29:         zlist = @@ec2.describe_availability_zones(:zone_name => names)
30:         return unless zlist['availabilityZoneInfo'].is_a?(Hash)
31:         zones = {}
32:         zlist['availabilityZoneInfo']['item'].each do |zhash| 
33:           zon = Zones.from_hash(zhash)
34:           zones[zon.name] = zon
35:         end
36:         zones = nil if zones.empty?
37:         zones
38:       end
zone? (name)
[show source]
    # File lib/rudy/aws/ec2/zone.rb, line 59
59:       def zone?(name)
60:         begin
61:           kp = get(name)
62:           kp.is_a?(Rudy::AWS::EC2::Zone)
63:         rescue => ex
64:           false
65:         end
66:       end