'This uploads the rules to the foreman and, thus, starts the hunt.'

def Start(self):

    if (self.hunt_obj.Get(self.hunt_obj.Schema.STATE) == 'STARTED'):
        return
    self.context.expires = self.runner_args.expiry_time.Expiry()
    self.context.next_client_due = rdfvalue.RDFDatetime.Now()
    self._CreateAuditEvent('HUNT_STARTED')
    self.hunt_obj.Set(self.hunt_obj.Schema.STATE('STARTED'))
    self.hunt_obj.Flush()
    if self.runner_args.add_foreman_rules:
        self._AddForemanRule()
