def deployable_get(self, context, uuid): query = model_query( context, models.Deployable).filter_by(uuid=uuid) try: return query.one() except NoResultFound: raise exception.DeployableNotFound(uuid=uuid)
def deployable_delete(self, context, uuid): with _session_for_write(): query = model_query(context, models.Deployable) query = add_identity_filter(query, uuid) query.update({'root_id': None}) count = query.delete() if count != 1: raise exception.DeployableNotFound(uuid=uuid)
def _do_update_deployable(self, context, uuid, values): with _session_for_write(): query = model_query(context, models.Deployable) query = add_identity_filter(query, uuid) try: ref = query.with_lockmode('update').one() except NoResultFound: raise exception.DeployableNotFound(uuid=uuid) ref.update(values) return ref