# File lib/AWS/EC2/images.rb, line 73
73:       def register_image( options = {} )
74:         params = {}
75:         if options.does_not_have?(:image_location) && options.does_not_have?(:root_device_name)
76:           raise ArgumentError, "No :image_location or :root_device_name"
77:         end
78:         params["ImageLocation"] = options[:image_location].to_s unless options[:image_location].nil?
79:         params["Name"] = options[:name].to_s unless options[:name].nil?
80:         params["Description"] = options[:description].to_s unless options[:description].nil?
81:         params["Architecture"] = options[:architecture].to_s unless options[:architecture].nil?
82:         params["KernelId"] = options[:kernel_id].to_s unless options[:kernel_id].nil?
83:         params["RamdiskId"] = options[:ramdisk_id].to_s unless options[:ramdisk_id].nil?
84:         params["RootDeviceName"] = options[:root_device_name].to_s unless options[:root_device_name].nil?
85:         if options[:block_device_mapping]
86:           params.merge!(pathhashlist("BlockDeviceMapping", options[:block_device_mapping].flatten, {
87:             :device_name => "DeviceName",
88:             :virtual_name => "VirtualName",
89:             :ebs_snapshot_id => "Ebs.SnapshotId",
90:             :ebs_volume_size => "Ebs.VolumeSize",
91:             :ebs_delete_on_termination => "Ebs.DeleteOnTermination"
92:           }))
93:         end
94:         return response_generator(:action => "RegisterImage", :params => params)
95:       end