def resource_get_by_id(
context, resources, resource_id, session=None, for_update=False
):
"""Get resource for the unique resource id."""
model = _get_resource_model(resources)
query = model_query(context, model, project_only=True, session=session)
if resources in ("hosts", "network-devices"):
query = query.filter_by(type=resources.replace("-", "_"))
query = query.filter_by(id=resource_id)
if for_update:
query = query.with_for_update()
try:
resource = query.one()
except sa_exc.NoResultFound:
raise exceptions.NotFound()
else:
return resource
评论列表
文章目录