Return a dictionary with two datetime objects, start_time and end_time,
        covering the interval of the training job

def _determine_timeinterval(self):
        """Return a dictionary with two datetime objects, start_time and end_time,
        covering the interval of the training job
        """
        description = self._sage_client.describe_training_job(TrainingJobName=self.name)
        start_time = self._start_time or description[u'TrainingStartTime']  # datetime object
        # Incrementing end time by 1 min since CloudWatch drops seconds before finding the logs.
        # This results in logs being searched in the time range in which the correct log line was not present.
        # Example - Log time - 2018-10-22 08:25:55
        #           Here calculated end time would also be 2018-10-22 08:25:55 (without 1 min addition)
        #           CW will consider end time as 2018-10-22 08:25 and will not be able to search the correct log.
        end_time = self._end_time or description.get(
            u'TrainingEndTime', datetime.datetime.utcnow()) + datetime.timedelta(minutes=1)

        return {
            'start_time': start_time,
            'end_time': end_time,
        }