add services accessors and clarify vocab by not reusing service
This commit is contained in:
parent
fd755e042b
commit
dce5893555
16
bin/fog
16
bin/fog
|
@ -24,17 +24,17 @@ else
|
||||||
@irb.context.prompt_mode = :FOG
|
@irb.context.prompt_mode = :FOG
|
||||||
@irb.context.workspace = IRB::WorkSpace.new(binding)
|
@irb.context.workspace = IRB::WorkSpace.new(binding)
|
||||||
|
|
||||||
services = Fog.services.map{|service| service.to_s}
|
modules = Fog.modules.map{|_module_| _module_.to_s}
|
||||||
available_services = if services.length > 1
|
modules = if modules.length > 1
|
||||||
services[0...-1].join(', ') << ' and ' << services[-1]
|
modules[0...-1].join(', ') << ' and ' << modules[-1]
|
||||||
else
|
else
|
||||||
services.first
|
modules.first
|
||||||
end
|
end
|
||||||
print "Welcome to fog interactive!\n"
|
print "Welcome to fog interactive!\n"
|
||||||
print "Your '#{Fog.credential.to_s}' configuration provides access to #{available_services}.\n"
|
print "Your '#{Fog.credential.to_s}' configuration provides access to #{modules}.\n"
|
||||||
Fog.services.each do |service|
|
Fog.modules.each do |_module_|
|
||||||
if service.respond_to?(:startup_notice)
|
if _module_.respond_to?(:startup_notice)
|
||||||
service.send(:startup_notice)
|
_module_.send(:startup_notice)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,10 @@ module AWS
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:ec2, :elb, :simpledb, :s3]
|
||||||
|
end
|
||||||
|
|
||||||
for collection in Fog::AWS::EC2.collections
|
for collection in Fog::AWS::EC2.collections
|
||||||
module_eval <<-EOS, __FILE__, __LINE__
|
module_eval <<-EOS, __FILE__, __LINE__
|
||||||
def #{collection}
|
def #{collection}
|
||||||
|
|
|
@ -14,54 +14,20 @@ require 'fog/bluebox/bin'
|
||||||
module Fog
|
module Fog
|
||||||
class << self
|
class << self
|
||||||
|
|
||||||
def services
|
def modules
|
||||||
services = []
|
[
|
||||||
[::AWS, ::GoGrid, ::Linode, ::Local, ::NewServers, ::Rackspace, ::Slicehost, ::Terremark, ::Vcloud, ::Bluebox].each do |service|
|
::AWS,
|
||||||
if service.initialized?
|
::GoGrid,
|
||||||
services << service
|
::Linode,
|
||||||
end
|
::Local,
|
||||||
end
|
::NewServers,
|
||||||
services
|
::Rackspace,
|
||||||
end
|
::Slicehost,
|
||||||
|
::Terremark,
|
||||||
|
::Vcloud,
|
||||||
|
::Bluebox
|
||||||
|
].select {|_module_| _module_.initialized?}
|
||||||
|
|
||||||
def directories
|
|
||||||
directories = {}
|
|
||||||
services.each do |service|
|
|
||||||
if service.respond_to?(:directories)
|
|
||||||
directories[service] = service.directories
|
|
||||||
end
|
|
||||||
end
|
|
||||||
directories
|
|
||||||
end
|
|
||||||
|
|
||||||
def flavors
|
|
||||||
flavors = {}
|
|
||||||
services.each do |service|
|
|
||||||
if service.respond_to?(:flavors)
|
|
||||||
flavors[service] = service.flavors
|
|
||||||
end
|
|
||||||
end
|
|
||||||
flavors
|
|
||||||
end
|
|
||||||
|
|
||||||
def images
|
|
||||||
images = {}
|
|
||||||
services.each do |service|
|
|
||||||
if service.respond_to?(:images)
|
|
||||||
images[service] = service.images
|
|
||||||
end
|
|
||||||
end
|
|
||||||
images
|
|
||||||
end
|
|
||||||
|
|
||||||
def servers
|
|
||||||
servers = {}
|
|
||||||
services.each do |service|
|
|
||||||
if service.respond_to?(:servers)
|
|
||||||
servers[service] = service.servers
|
|
||||||
end
|
|
||||||
end
|
|
||||||
servers
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,6 +17,10 @@ module Bluebox
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:blocks]
|
||||||
|
end
|
||||||
|
|
||||||
for collection in Fog::Bluebox.collections
|
for collection in Fog::Bluebox.collections
|
||||||
module_eval <<-EOS, __FILE__, __LINE__
|
module_eval <<-EOS, __FILE__, __LINE__
|
||||||
def #{collection}
|
def #{collection}
|
||||||
|
|
|
@ -16,6 +16,10 @@ module GoGrid
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:go_grid]
|
||||||
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
def initialized?
|
def initialized?
|
||||||
|
|
|
@ -16,6 +16,10 @@ module Linode
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:linode]
|
||||||
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
def initialized?
|
def initialized?
|
||||||
|
|
|
@ -16,6 +16,10 @@ module Local
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:files]
|
||||||
|
end
|
||||||
|
|
||||||
for collection in Fog::Local.collections
|
for collection in Fog::Local.collections
|
||||||
module_eval <<-EOS, __FILE__, __LINE__
|
module_eval <<-EOS, __FILE__, __LINE__
|
||||||
def #{collection}
|
def #{collection}
|
||||||
|
|
|
@ -16,6 +16,10 @@ module NewServers
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:new_servers]
|
||||||
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
def initialized?
|
def initialized?
|
||||||
|
|
|
@ -18,6 +18,10 @@ module Rackspace
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:files, :servers]
|
||||||
|
end
|
||||||
|
|
||||||
for collection in Fog::Rackspace::Files.collections
|
for collection in Fog::Rackspace::Files.collections
|
||||||
module_eval <<-EOS, __FILE__, __LINE__
|
module_eval <<-EOS, __FILE__, __LINE__
|
||||||
def #{collection}
|
def #{collection}
|
||||||
|
|
|
@ -16,6 +16,10 @@ module Slicehost
|
||||||
@@connections[service]
|
@@connections[service]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
[:slices]
|
||||||
|
end
|
||||||
|
|
||||||
for collection in Fog::Slicehost.collections
|
for collection in Fog::Slicehost.collections
|
||||||
module_eval <<-EOS, __FILE__, __LINE__
|
module_eval <<-EOS, __FILE__, __LINE__
|
||||||
def #{collection}
|
def #{collection}
|
||||||
|
|
Loading…
Reference in New Issue