From ca532db0bef64df90d4a7c8540cb1bc1ee244366 Mon Sep 17 00:00:00 2001 From: "geemus (Wesley Beary)" Date: Sat, 6 Feb 2010 15:43:02 -0800 Subject: [PATCH] add slicehost to bin --- bin/fog | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/bin/fog b/bin/fog index fd8321f95..19e59f67e 100755 --- a/bin/fog +++ b/bin/fog @@ -127,12 +127,55 @@ module Rackspace end end +module Slicehost + class << self + if Fog.credentials[:slicehost_password] + + def ready? + true + end + + def [](service) + @@connections ||= Hash.new do |hash, key| + credentials = Fog.credentials.reject do |k,v| + ![:slicehost_password].include?(k) + end + hash[key] = case key + when :slices + Fog::Slicehost.new(credentials) + end + end + @@connections[service] + end + + def flavors + self[:slices].flavors + end + + def images + self[:slices].images + end + + def servers + self[:slices].servers + end + + else + + def ready? + true + end + + end + end +end + module Fog class << self def services services = [] - [::AWS, ::Rackspace].each do |service| + [::AWS, ::Rackspace, ::Slicehost].each do |service| if service.ready? services << service end