diff options
Diffstat (limited to 'vicn/core/resource.py')
-rw-r--r-- | vicn/core/resource.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/vicn/core/resource.py b/vicn/core/resource.py index 53ad2181..9355cd07 100644 --- a/vicn/core/resource.py +++ b/vicn/core/resource.py @@ -196,8 +196,14 @@ class BaseResource(BaseType, ABC, metaclass=ResourceMetaclass): if mandatory: raise VICNException('Mandatory attributes not set: %r' % (mandatory,)) - # Check requirements + # Check requirements and default values for attr in self.iter_attributes(): + if attr.name not in kwargs: + default = self.get_default_collection(attr) if attr.is_collection else \ + self.get_default(attr) + if vars(attr)['default'] != NEVER_SET: + #import pdb; pdb.set_trace() + self.set(attr.name, default, blocking=False) if issubclass(attr.type, Resource) and attr.requirements: for req in attr.requirements: instance = self.get(attr.name) |