Пример #1
0
 def _validate_category(self, category):
     try:
         if category.type_id != self.parsed_obj["category"]:
             raise exception.OCCISchemaMismatch(
                 expected=category.type_id,
                 found=self.parsed_obj["category"])
     except KeyError:
         raise exception.OCCIMissingType(type_id=category.type_id)
Пример #2
0
 def _validate_optional_links(self, expected, links):
     for uri, l in links.items():
         try:
             rel = l['rel']
         except KeyError:
             raise exception.OCCIMissingType(type_id=uri)
         for ex in expected:
             if rel == ex.type_id:
                 break
         else:
             expected_types = ', '.join([e.type_id for e in expected])
             raise exception.OCCISchemaMismatch(expected=expected_types,
                                                found=l['rel'])
Пример #3
0
 def _validate_mandatory_mixins(self, mixins, unmatched):
     for m in mixins:
         for um in unmatched:
             if self._compare_schemes(m, um):
                 unmatched[um] -= 1
                 break
         else:
             # NOTE(aloga): I am not sure of this...
             expected = m.scheme
             if hasattr(m, "term"):
                 expected += m.term
             raise exception.OCCIMissingType(type_id=expected)
     return unmatched