# File lib/chef/knife/slicehost_server_create.rb, line 59
      def run 
        require 'fog'
        require 'highline'
        require 'net/ssh/multi'
        require 'readline'

        slicehost = Fog::Slicehost.new(
          :slicehost_password => Chef::Config[:knife][:slicehost_password]
        )

        flavors = slicehost.flavors.inject({}) { |h,f| h[f.id] = f.name; h }
        images  = slicehost.images.inject({}) { |h,i| h[i.id] = i.name; h }

        response = slicehost.create_slice(config[:flavor],
                               config[:image],
                               config[:server_name])
        $stdout.sync = true

        puts "#{h.color("Name", :cyan)}: #{response.body['name']}"
        puts "#{h.color("Flavor", :cyan)}: #{flavors[response.body['flavor-id']]}"
        puts "#{h.color("Image", :cyan)}: #{images[response.body['image-id']]}"
        puts "#{h.color("Public Address", :cyan)}: #{response.body['addresses'][1]}"
        puts "#{h.color("Private Address", :cyan)}: #{response.body['addresses'][0]}"
        puts "#{h.color("Password", :cyan)}: #{response.body['root-password']}"
     
        print "\n#{h.color("Requesting status of #{response.body['name']}", :magenta)}"
        saved_password = response.body['root-password']

        # wait for it to be ready to do stuff
        loop do
          sleep 15
          host = slicehost.get_slice(response.body['id'])
          if host.body['status'] == 'active'
            break
          end
        end

        puts "\nServer ready!!"
      
      end