<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_spot_requests(self, price, instance_type='default', root_device_type='ebs', size='default', vol_type='gp2', delete_on_termination=False, timeout=None):
 """Request creation of one or more EC2 spot instances. :param size: :param vol_type: :param delete_on_termination: :param root_device_type: The type of the root device. :type root_device_type: str :param price: Max price to pay for spot instance per hour. :type price: float :param instance_type: A section name in amazon.json :type instance_type: str :param timeout: Seconds to keep the request open (cancelled if not fulfilled). :type timeout: int :return: List of requests created :rtype: list """

        name, size = self._get_default_name_size(instance_type, size)

        if root_device_type == 'ebs':
            self.images[instance_type]['block_device_map'] = \
                self._configure_ebs_volume(vol_type, name, size, delete_on_termination)

        valid_until = None
        if timeout is not None:
            valid_until = (datetime.datetime.now() + datetime.timedelta(seconds=timeout)).isoformat()

        requests = self.ec2.request_spot_instances(price, valid_until=valid_until, **self.images[instance_type])
        return [r.id for r in requests]