# File lib/aws/auto_scaling/launch_configuration_collection.rb, line 67
      def create name, image, instance_type, options = {}

        client_opts = {}
        client_opts[:launch_configuration_name] = name
        client_opts[:image_id] = image_id_opt(image)
        client_opts[:instance_type] = instance_type
        client_opts[:instance_monitoring] = instance_monitoring_opt(options) if
          options.key?(:detailed_instance_monitoring)
        client_opts[:key_name] = key_name_opt(options) if options[:key_pair]
        client_opts[:security_groups] = security_groups_opt(options) if
          options.key?(:security_groups)
        client_opts[:user_data] = user_data_opt(options) if options[:user_data]

        [
          :iam_instance_profile,
          :spot_price,
          :kernel_id,
          :ramdisk_id,
          :block_device_mappings,
        ].each do |opt|
          client_opts[opt] = options[opt] if options.key?(opt)
        end

        client.create_launch_configuration(client_opts)

        LaunchConfiguration.new(name,
          :image_id => client_opts[:image_id],
          :instance_type => client_opts[:instance_type],
          :config => config)

      end