code: def get_spot_price_history(self, start_time=None, end_time=None,
                                 instance_type=None, product_description=None,
                                 availability_zone=None):
          
          params = {}
          if start_time:
              params['StartTime'] = start_time
          if end_time:
              params['EndTime'] = end_time
          if instance_type:
              params['InstanceType'] = instance_type
          if product_description:
              params['ProductDescription'] = product_description
          if availability_zone:
              params['AvailabilityZone'] = availability_zone
          return self.get_list('DescribeSpotPriceHistory', params,
                               [('item', SpotPriceHistory)], verb='POST')
docs: Retrieve the recent history of spot instances pricing.
  
          :type start_time: str
          :param start_time: An indication of how far back to provide price
                             changes for. An ISO8601 DateTime string.
  
          :type end_time: str
          :param end_time: An indication of how far forward to provide price
                           changes for.  An ISO8601 DateTime string.
  
          :type instance_type: str
          :param instance_type: Filter responses to a particular instance type.
  
          :type product_description: str
          :param product_description: Filter responses to a particular platform.
                                      Valid values are currently: "Linux/UNIX",
                                      "SUSE Linux", and "Windows"
  
          :type availability_zone: str
          :param availability_zone: The availability zone for which prices
                                    should be returned
  
          :rtype: list
          :return: A list tuples containing price and timestamp.