diff --git a/lib/fog/rackspace/models/servers/flavor.rb b/lib/fog/rackspace/models/servers/flavor.rb new file mode 100644 index 000000000..cfd46a245 --- /dev/null +++ b/lib/fog/rackspace/models/servers/flavor.rb @@ -0,0 +1,18 @@ +module Fog + module Rackspace + class Servers + + class Flavor < Fog::Model + + identity :id + + attribute :disk + attribute :id + attribute :name + attribute :ram + + end + + end + end +end diff --git a/lib/fog/rackspace/models/servers/flavors.rb b/lib/fog/rackspace/models/servers/flavors.rb new file mode 100644 index 000000000..dd1e05013 --- /dev/null +++ b/lib/fog/rackspace/models/servers/flavors.rb @@ -0,0 +1,37 @@ +module Fog + module Rackspace + class Servers + + def flavors + Fog::Rackspace::Servers::Flavors.new(:connection => self) + end + + class Flavors < Fog::Collection + + model Fog::Rackspace::Servers::Flavor + + def all + data = connection.list_flavors_detail.body + flavors = Fog::Rackspace::Servers::Flavors.new({ + :connection => connection + }) + for flavor in data['flavors'] + flavors << Fog::Rackspace::Servers::Flavor.new({ + :collection => flavors, + :connection => connection + }.merge!(flavor)) + end + flavors + end + + def get(flavor_id) + connection.get_flavor_details(flavor_id) + rescue Excon::Errors::NotFound + nil + end + + end + + end + end +end diff --git a/lib/fog/rackspace/models/servers/servers.rb b/lib/fog/rackspace/models/servers/servers.rb index 484b788f0..0ebbf74c6 100644 --- a/lib/fog/rackspace/models/servers/servers.rb +++ b/lib/fog/rackspace/models/servers/servers.rb @@ -24,8 +24,8 @@ module Fog servers end - def get(id) - connection.get_server_details(id) + def get(server_id) + connection.get_server_details(server_id) rescue Excon::Errors::NotFound nil end diff --git a/lib/fog/rackspace/servers.rb b/lib/fog/rackspace/servers.rb index 02b49c4b4..36f0ae2d9 100644 --- a/lib/fog/rackspace/servers.rb +++ b/lib/fog/rackspace/servers.rb @@ -15,6 +15,8 @@ module Fog end def self.reload + load "fog/rackspace/models/servers/flavor.rb" + load "fog/rackspace/models/servers/flavors.rb" load "fog/rackspace/models/servers/server.rb" load "fog/rackspace/models/servers/servers.rb"