Beispiel #1
0
    def database_insert_server(self, instance_id, status=None,
                               launched_at=None, life_time=None,
                               image_key=None, token=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 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