def get_resource_definition(id_or_name, environment_id):
query = db.ResourceDefinition.query.join(db.Component). \
join(db.Environment.environment_components_table). \
filter_by(environment_id=environment_id)
if isinstance(id_or_name, int):
query = query.filter(db.ResourceDefinition.id == id_or_name)
else:
query = query.filter(db.ResourceDefinition.name == id_or_name)
result = query.all()
if not result:
raise errors.TuningboxNotFound(
"{0} not found by {1} in environment {2}".format(
db.ResourceDefinition.__tablename__,
id_or_name,
environment_id
)
)
elif len(result) > 1:
raise sa_exc.MultipleResultsFound
return result[0]
评论列表
文章目录