def create!(archive, stack, cnames, settings=[])
      params = {
        application_name: archive.app_name,
        version_label: archive.version,
        environment_name: self.name,
        solution_stack_name: stack,
        option_settings: settings
      }
      cnames.each do |c|
        if dns_available(c)
          params[:cname_prefix] = c
          break
        else
          puts "CNAME #{c} is unavailable."
        end
      end
      @beanstalk.create_environment(params)
    end
def create!(archive, stack, cnames, settings=[])
      params = {
        application_name: archive.app_name,
        version_label: archive.version,
        environment_name: self.name,
        solution_stack_name: stack,
        option_settings: settings
      }
      cnames.each do |c|
        if dns_available(c)
          params[:cname_prefix] = c
          break
        else
          puts "CNAME #{c} is unavailable."
        end
      end
      @beanstalk.create_environment(params)
    end
Assuming the archive has already been uploaded,
 create a new environment with the app deployed onto the provided stack.
 Attempts to use the first available cname in the cnames array.