def self.create(options = {:retry_auth => true})
connection = new(options)
case connection.service_type
when "compute"
OpenStack::Compute::Connection.new(connection)
when "object-store"
OpenStack::Swift::Connection.new(connection)
when "volume"
OpenStack::Volume::Connection.new(connection)
when "image"
OpenStack::Image::Connection.new(connection)
when "network"
OpenStack::Network::Connection.new(connection)
when "metering"
OpenStack::Metering::Connection.new(connection)
when "identity"
OpenStack::Identity::Connection.new(connection)
else
raise Exception::InvalidArgument, "Invalid :service_type parameter: #{@service_type}"
end
end