diff options
| author | Scott Moser <smoser@ubuntu.com> | 2015-08-06 18:19:46 -0500 |
|---|---|---|
| committer | Scott Moser <smoser@ubuntu.com> | 2015-08-06 18:19:46 -0500 |
| commit | 6fdb23b6cbc8de14ebcffc17e9e49342b7bf193d (patch) | |
| tree | 09968b96312b43aedbc4a5c44f089eaeaa0e872e /cloudinit/registry.py | |
| parent | 963647d5197523fabe319df5f0502ec6dce64bd6 (diff) | |
| download | vyos-cloud-init-6fdb23b6cbc8de14ebcffc17e9e49342b7bf193d.tar.gz vyos-cloud-init-6fdb23b6cbc8de14ebcffc17e9e49342b7bf193d.zip | |
sync with cloudinit 2.0 for registry and reporting
Diffstat (limited to 'cloudinit/registry.py')
| -rw-r--r-- | cloudinit/registry.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cloudinit/registry.py b/cloudinit/registry.py index 46cf0585..04368ddf 100644 --- a/cloudinit/registry.py +++ b/cloudinit/registry.py @@ -1,3 +1,7 @@ +# Copyright 2015 Canonical Ltd. +# This file is part of cloud-init. See LICENCE file for license information. +# +# vi: ts=4 expandtab import copy @@ -5,6 +9,9 @@ class DictRegistry(object): """A simple registry for a mapping of objects.""" def __init__(self): + self.reset() + + def reset(self): self._items = {} def register_item(self, key, item): @@ -14,6 +21,13 @@ class DictRegistry(object): 'Item already registered with key {0}'.format(key)) self._items[key] = item + def unregister_item(self, key, force=True): + """Remove item from the registry.""" + if key in self._items: + del self._items[key] + elif not force: + raise KeyError("%s: key not present to unregister" % key) + @property def registered_items(self): """All the items that have been registered. |
