Method: Deltacloud::Drivers::Eucalyptus::EucalyptusDriver#realms

Defined in:
lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb

#realms(credentials, opts = {}) ⇒ Object

override ec2 driver realms - euca API doesn’t support vpc/subnet concepts docs.aws.amazon.com/AWSEC2/2009-04-04/DeveloperGuide/



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb', line 123

def realms(credentials, opts={})
  ec2 = new_client(credentials)
  realms = []
  safely do
    if opts[:id] and !opts[:id].empty?
      begin
        ec2.describe_availability_zones([opts[:id]]).collect do |realm|
          realms << convert_realm(realm) unless realm.empty?
        end
      rescue => e
        raise e unless e.message =~ /Invalid availability zone/
        realms = []
      end
    else
      realms = ec2.describe_availability_zones.collect do |realm|
        convert_realm(realm) unless realm.empty?
      end
    end
  end
  realms
end