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:
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["DBSecurityGroups"] = options[:db_security_groups] if options.has?(: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