# File lib/aws/ec2/instance_collection.rb, line 171
      def create options = {}

        if image = options.delete(:image)
          options[:image_id] = image.id
        end

        if kernel = options.delete(:kernel)
          options[:kernel_id] = kernel.id
        end

        if ramdisk = options.delete(:ramdisk)
          options[:ramdisk_id] = ramdisk.id
        end

        if key_pair = options.delete(:key_pair)
          options[:key_name] = key_pair.name
        end

        options = count_options(options).merge(options)
        options.delete(:count)

        options[:user_data] = Base64.encode64(options[:user_data]).strip if
          options[:user_data]

        options[:block_device_mappings] =
          translate_block_device_mappings(options[:block_device_mappings]) if
          options[:block_device_mappings]

        options[:monitoring] = { :enabled => true } if
          options[:monitoring_enabled]
        options.delete(:monitoring_enabled)

        options[:placement] = {
          :availability_zone => options[:availability_zone].to_s
        } if options[:availability_zone]
        options.delete(:availability_zone)

        options[:security_groups] = group_opts(options[:security_groups]) if
          options[:security_groups]

        options[:client_token] = UUIDTools::UUID.timestamp_create.to_s

        resp = client.run_instances(options)

        if options[:min_count] == options[:max_count] and
            options[:min_count] == 1
          self[resp.instances_set.first.instance_id]
        else
          resp.instances_set.map do |i|
            self[i.instance_id]
          end
        end
      end