def database_insert_server(self, instance_id, status=None, launched_at=None, life_time=None, image_key=None, token=None, ip=None): logging.debug('Insert instance %s', instance_id) query = self.database.query(Instance).filter( Instance.provider_id == instance_id ) if query.count() > 0: data_instance = query.first() else: data_instance = Instance() data_instance.launched_at = datetime.datetime.now() data_instance.provider_id = instance_id data_instance.status = status if ip: data_instance.ip = ip if image_key: data_instance.image_key = image_key # Overwrite launched if launched_at is not None: data_instance.launched_at = launched_at if life_time is not None: data_instance.life_time = life_time if token is not None: data_instance.token = token self.database.merge(data_instance) self.database.commit() return data_instance