def _get_access_param(self, context, protocol, creds):
if const.PROTOCOL_SNMP in protocol:
if not uuidutils.is_uuid_like(creds):
access_parameters = db.get_snmp_cred_by_name_and_protocol(
context, creds, protocol)
else:
access_parameters = db.get_snmp_cred_by_id(context, creds)
else:
if not uuidutils.is_uuid_like(creds):
access_parameters = db.get_netconf_cred_by_name_and_protocol(
context, creds, protocol)
else:
access_parameters = db.get_netconf_cred_by_id(context, creds)
if not access_parameters:
raise webob.exc.HTTPBadRequest(
_("Credentials not found for Id or name: %s") % creds)
if isinstance(access_parameters, list) and len(access_parameters) > 1:
raise webob.exc.HTTPBadRequest(
_("Multiple credentials matches found "
"for name: %s, use an ID to be more specific.") % creds)
if isinstance(access_parameters, list):
access_parameters = access_parameters[0]
if access_parameters['protocol_type'] != protocol:
raise webob.exc.HTTPBadRequest(
_("Credentials not found for Id or name: %s") % creds)
return access_parameters
评论列表
文章目录