code: def create_spot_requests(self,
                               price,
                               instance_type='default',
                               root_device_type='ebs',
                               size='default',
                               vol_type='gp2',
                               delete_on_termination=False,
                               timeout=None):
          
          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]
docs: 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