Add repository attribute to a site definition

This commit is contained in:
Scott Hussey 2017-05-05 09:49:55 -05:00
parent da8af42600
commit 7760769b25

View File

@ -35,6 +35,7 @@ class Site(base.DrydockPersistentObject, base.DrydockObject):
'source': hd_fields.ModelSourceField(),
'tag_definitions': ovo_fields.ObjectField('NodeTagDefinitionList',
nullable=True),
'repositories': ovo_fields.ObjectField('RepositoryList', nullable=True),
}
def __init__(self, **kwargs):
@ -77,6 +78,33 @@ class NodeTagDefinitionList(base.DrydockObjectListBase, base.DrydockObject):
'objects': ovo_fields.ListOfObjectsField('NodeTagDefinition'),
}
# Need to determine how best to define a repository that can encompass
# all repositories needed
@base.DrydockObjectRegistry.register
class Repository(base.DrydockObject):
VERSION = '1.0'
fields = {
'name': ovo_fields.StringField(),
}
def __init__(self, **kwargs):
super(Repository, self).__init__(**kwargs)
# TagDefinition keyed by tag
def get_id(self):
return self.name
@base.DrydockObjectRegistry.register
class RepositoryList(base.DrydockObjectListBase, base.DrydockObject):
VERSION = '1.0'
fields = {
'objects': ovo_fields.ListOfObjectsField('Repository'),
}
@base.DrydockObjectRegistry.register
class SiteDesign(base.DrydockPersistentObject, base.DrydockObject):