# File lib/fog/bin/rackspace.rb, line 29
    def [](service)
      @@connections ||= Hash.new do |hash, key|
        hash[key] = case key
        when :cdn
          Fog::Logger.warning("Rackspace[:cdn] is not recommended, use CDN[:rackspace] for portability")
          Fog::CDN.new(:provider => 'Rackspace')
        when :compute
          Fog::Logger.warning("Rackspace[:compute] is not recommended, use Compute[:rackspace] for portability")
          Fog::Compute.new(:provider => 'Rackspace')
        when :compute_v2
          Fog::Logger.warning("Rackspace[:compute] is not recommended, use Compute[:rackspace] for portability")
          Fog::Compute.new(:provider => 'Rackspace', :version => 'v2')
        when :dns
          Fog::DNS.new(:provider => 'Rackspace')
        when :load_balancers
          Fog::Rackspace::LoadBalancers.new
        when :storage
          Fog::Logger.warning("Rackspace[:storage] is not recommended, use Storage[:rackspace] for portability")
          Fog::Storage.new(:provider => 'Rackspace')
        when :identity
          Fog::Logger.warning("Rackspace[:identity] is not recommended, use Identity[:rackspace] for portability")
          Fog::Identity.new(:provider => 'Rackspace')
        when :databases
          Fog::Rackspace::Databases.new
        when :block_storage
          Fog::Rackspace::BlockStorage.new
        else
          raise ArgumentError, "Unrecognized service: #{key.inspect}"
        end
      end
      @@connections[service]
    end