# File lib/AWS/RDS/rds.rb, line 23
23:       def create_db_instance( options = {})
24:         raise ArgumentError, "No :db_instance_identifier provided" if options.does_not_have?(:db_instance_identifier)
25:         raise ArgumentError, "No :allocated_storage provided" if options.does_not_have?(:allocated_storage)
26:         raise ArgumentError, "No :db_instance_class provided" if options.does_not_have?(:db_instance_class)
27:         raise ArgumentError, "No :engine provided" if options.does_not_have?(:engine)
28:         raise ArgumentError, "No :master_username provided" if options.does_not_have?(:master_username)
29:         raise ArgumentError, "No :master_user_password provided" if options.does_not_have?(:master_user_password)
30:         raise ArgumentError, "No :db_instance_class provided" if options.does_not_have?(:db_instance_class)
31: 
32:         # handle a former argument that was misspelled
33:         raise ArgumentError, "Perhaps you meant :backup_retention_period" if options.has?(:backend_retention_period)
34: 
35:         params = {}
36:         params['DBInstanceIdentifier'] = options[:db_instance_identifier]
37:         params["AllocatedStorage"] = options[:allocated_storage].to_s
38:         params["DBInstanceClass"] = options[:db_instance_class]
39:         params["Engine"] = options[:engine]
40:         params["MasterUsername"] = options[:master_username]
41:         params["MasterUserPassword"] = options[:master_user_password]
42: 
43:         params["Port"] = options[:port].to_s if options.has?(:port)
44:         params["DBName"] = options[:db_name] if options.has?(:db_name)
45:         params["DBParameterGroup"] = options[:db_parameter_group] if options.has?(:db_parameter_group)
46:         params.merge!(pathlist("DBSecurityGroups.member", [options[:db_security_groups]].flatten)) if options.has_key?(:db_security_groups)
47:         params["AvailabilityZone"] = options[:availability_zone] if options.has?(:availability_zone)
48:         params["PreferredMaintenanceWindow"] = options[:preferred_maintenance_window] if options.has?(:preferred_maintenance_window)
49:         params["BackupRetentionPeriod"] = options[:backup_retention_period].to_s if options.has?(:backup_retention_period)
50:         params["PreferredBackupWindow"] = options[:preferred_backup_window] if options.has?(:preferred_backup_window)
51: 
52:         return response_generator(:action => "CreateDBInstance", :params => params)
53:       end