The watcher.objects.base Module

The watcher.objects.base Module

Watcher common internal object model

class watcher.objects.base.WatcherComparableObject[source]

Bases: oslo_versionedobjects.base.ComparableVersionedObject

class watcher.objects.base.WatcherObject(context=None, **kwargs)[source]

Bases: oslo_versionedobjects.base.VersionedObject

Base class and object factory.

This forms the base of all objects that can be remoted or instantiated via RPC. Simply defining a class that inherits from this base class will make it remotely instantiatable. Objects should implement the necessary “get” classmethod routines as well as “save” object methods as appropriate.

as_dict()[source]
class watcher.objects.base.WatcherObjectDictCompat[source]

Bases: oslo_versionedobjects.base.VersionedObjectDictCompat

class watcher.objects.base.WatcherObjectRegistry[source]

Bases: oslo_versionedobjects.base.VersionedObjectRegistry

classmethod register_notification(notification_cls)[source]

Register a class as notification.

Use only to register concrete notification or payload classes, do not register base classes intended for inheritance only.

classmethod register_notification_objects()[source]

Register previously decorated notification as normal ovos.

This is not intended for production use but only for testing and document generation purposes.

registration_hook(cls, index)[source]
class watcher.objects.base.WatcherObjectSerializer[source]

Bases: oslo_versionedobjects.base.VersionedObjectSerializer

OBJ_BASE_CLASS

alias of WatcherObject

class watcher.objects.base.WatcherPersistentObject[source]

Bases: object

Mixin class for Persistent objects.

This adds the fields that we use in common for all persistent objects.

obj_refresh(loaded_object)[source]

Applies updates for objects that inherit from base.WatcherObject.

Checks for updated attributes in an object. Updates are applied from the loaded object column by column in comparison with the current object.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.